Meta Matrix Library
Home About FAQ Install Documentation To Do Download Related Links


Tutorial   Modules   Alphabetical List   Data Structures   File List   Data Fields   Globals   Related Pages (e.g. ToDo)  

Functions for matrix-manipulation (Changing single Elements, columms etc.)


Functions

void meml_matrix_ceil (ME_MATRIX *M)
ME_MATRIXmeml_matrix_convert (const M_TYPE type, const ME_MATRIX *A)
 B := A.
void meml_matrix_erase (ME_MATRIX *M, const MEML_FLOAT border)
MEML_FLOAT meml_matrix_element_get (const ME_MATRIX *A, const MEML_INT x, const MEML_INT y)
 alpha := A(x,y)
MEML_FLOAT meml_matrix_element_get_f (const ME_MATRIX *A, const MEML_INT x, const MEML_INT y)
void meml_matrix_element_set (ME_MATRIX *A, const MEML_INT x, const MEML_INT y, MEML_FLOAT value)
 A(x,y) := value.
void meml_matrix_element_set_f (ME_MATRIX *A, const MEML_INT x, const MEML_INT y, const MEML_FLOAT value)
void meml_matrix_element_add (ME_MATRIX *A, const MEML_INT x, const MEML_INT y, const MEML_FLOAT value)
 A(x,y) := A(x,y) + value.
void meml_matrix_element_add_f (ME_MATRIX *A, const MEML_INT x, const MEML_INT y, const MEML_FLOAT value)
 A(x,y) := A(x,y) + value.
void meml_matrix_element_mul (ME_MATRIX *A, const MEML_INT x, const MEML_INT y, const MEML_FLOAT alpha)
 A(x,y) := A(x,y) * alpha.
void meml_matrix_element_mul_f (ME_MATRIX *A, MEML_INT x, MEML_INT y, MEML_FLOAT alpha)
 A(x,y) := A(x,y) * alpha.
void meml_matrix_set_row_2_unit_vector (ME_MATRIX *M, const MEML_INT row)
void meml_matrix_set_col_2_unit_vector (ME_MATRIX *M, const MEML_INT col)
VECTORmeml_matrix_row_get (const ME_MATRIX *M, const MEML_INT row)
 $ v := M(row , :) $
void meml_matrix_row_get_f (const ME_MATRIX *M, VECTOR *v, const MEML_INT row)
 $ v := M(row , :) $
VECTORmeml_matrix_col_get (const ME_MATRIX *M, const MEML_INT col)
 $ v := M(: , col) $
void meml_matrix_col_get_f (const ME_MATRIX *M, VECTOR *v, const MEML_INT col)
 $ v := M(: , col) $
void meml_matrix_resize (ME_MATRIX **M, MEML_INT row, MEML_INT col)
ME_MATRIXmeml_matrix_copy (const ME_MATRIX *A)
int meml_matrix_part_copy_f (const ME_MATRIX *M, const MEML_INT xm1, const MEML_INT ym1, const MEML_INT xm2, const MEML_INT ym2, ME_MATRIX *D, const MEML_INT xd1, const MEML_INT yd1)
 $ D(xd1 : xd1+(xm2-xm1),yd1 : yd1+(ym2-ym1) ) := M(xm1:xm2 , ym1:ym2) $
int meml_matrix_col_set (ME_MATRIX *M, const VECTOR *v, const MEML_INT col)
 $ M(:,col) := v $
int meml_matrix_row_set (ME_MATRIX *M, const VECTOR *v, const MEML_INT row)
 $ M(row,;) := v $
void meml_matrix_clear (ME_MATRIX *M)
 $ M :=0 $

Function Documentation

void meml_matrix_ceil ME_MATRIX M  ) 
 

Round towards plus infinity

Todo:
'quick and dirty' . Not optimized for the different matrix

meml_matrix_ceil rounds the elements of X to the nearest integers towards infinity

void meml_matrix_clear ME_MATRIX M  ) 
 

$ M :=0 $

Todo:
'quick and dirty' . Not optimized for the different matrix types.

VECTOR* meml_matrix_col_get const ME_MATRIX M,
const MEML_INT  col
 

$ v := M(: , col) $

void meml_matrix_col_get_f const ME_MATRIX M,
VECTOR v,
const MEML_INT  col
 

$ v := M(: , col) $

int meml_matrix_col_set ME_MATRIX M,
const VECTOR v,
const MEML_INT  col
 

$ M(:,col) := v $

ME_MATRIX* meml_matrix_convert const M_TYPE  type,
const ME_MATRIX A
 

B := A.

ME_MATRIX* meml_matrix_copy const ME_MATRIX A  ) 
 

M:=A;

void meml_matrix_element_add ME_MATRIX A,
const MEML_INT  x,
const MEML_INT  y,
const MEML_FLOAT  value
 

A(x,y) := A(x,y) + value.

Adds value to A(x,y)

Parameters:
A 
x row
y col
value 

void meml_matrix_element_add_f ME_MATRIX A,
MEML_INT  x,
MEML_INT  y,
MEML_FLOAT  value
 

A(x,y) := A(x,y) + value.

Adds value to A(x,y)

Parameters:
A 
x row
y col
value 

MEML_FLOAT meml_matrix_element_get const ME_MATRIX A,
const MEML_INT  x,
const MEML_INT  y
 

alpha := A(x,y)

Returns the value of the matix A at the positon (x,y)

Parameters:
A 
x row
y col

MEML_FLOAT meml_matrix_element_get_f const ME_MATRIX A,
const MEML_INT  x,
const MEML_INT  y
 

Todo:
'quick and dirty' . Just a wapper over the normal version

void meml_matrix_element_mul ME_MATRIX A,
const MEML_INT  x,
const MEML_INT  y,
const MEML_FLOAT  alpha
 

A(x,y) := A(x,y) * alpha.

Adds value to A(x,y)

Parameters:
A 
x row
y col
alpha 

void meml_matrix_element_mul_f ME_MATRIX A,
MEML_INT  x,
MEML_INT  y,
MEML_FLOAT  alpha
 

A(x,y) := A(x,y) * alpha.

Adds value to A(x,y)

Parameters:
A 
x row
y col
alpha 

void meml_matrix_element_set ME_MATRIX A,
const MEML_INT  x,
const MEML_INT  y,
const MEML_FLOAT  value
 

A(x,y) := value.

Parameters:
A ME_MATRIX
x row
y col
value 

void meml_matrix_element_set_f ME_MATRIX A,
const MEML_INT  x,
const MEML_INT  y,
const MEML_FLOAT  value
 

Todo:
'quick and dirty' . Just a wapper over the normal version

void meml_matrix_erase ME_MATRIX M,
const MEML_FLOAT  border
 

Todo:
'quick and dirty' . Not optimized for the different matrix types.
if M[i][j] < border then M[i][j]=0

int meml_matrix_part_copy_f const ME_MATRIX M,
const MEML_INT  xm1,
const MEML_INT  ym1,
const MEML_INT  xm2,
const MEML_INT  ym2,
ME_MATRIX D,
const MEML_INT  xd1,
const MEML_INT  yd1
 

$ D(xd1 : xd1+(xm2-xm1),yd1 : yd1+(ym2-ym1) ) := M(xm1:xm2 , ym1:ym2) $

void meml_matrix_resize ME_MATRIX **  M,
const MEML_INT  row,
const MEML_INT  col
 

M:=M[0:row-1,0:col-1]

VECTOR* meml_matrix_row_get const ME_MATRIX M,
const MEML_INT  row
 

$ v := M(row , :) $

void meml_matrix_row_get_f const ME_MATRIX M,
VECTOR v,
const MEML_INT  row
 

$ v := M(row , :) $

int meml_matrix_row_set ME_MATRIX M,
const VECTOR v,
const MEML_INT  row
 

$ M(row,;) := v $

void meml_matrix_set_col_2_unit_vector ME_MATRIX M,
const MEML_INT  col
 

Changes the collum 'col' to the col'th unit vector

void meml_matrix_set_row_2_unit_vector ME_MATRIX M,
const MEML_INT  row
 

Changes the row 'row' to the row'th unit vector


Generated on Tue Mar 28 14:10:38 2006 by  doxygen 1.4.1