#include <math.h>
#include <AR/config.h>
Data Structures | |
| struct | ARMat |
| matrix structure. More... | |
| struct | ARVec |
| vector structure. More... | |
Defines | |
| #define | ARELEM0(mat, r, c) ((mat)->m[(r)*((mat)->clm)+(c)]) |
| macro function that give direct access to an element (0 origin) | |
| #define | ARELEM1(mat, row, clm) ARELEM0(mat,row-1,clm-1) |
| macro function that give direct access to an element (1 origin) | |
Functions | |
| ARMat * | arMatrixAlloc (int row, int clm) |
| creates a new matrix. | |
| int | arMatrixFree (ARMat *m) |
| deletes a matrix. | |
| int | arMatrixDup (ARMat *dest, ARMat *source) |
| copy a matrix | |
| ARMat * | arMatrixAllocDup (ARMat *source) |
| dumps a new matrix | |
| int | arMatrixUnit (ARMat *unit) |
| Creates a unit matrix. | |
| ARMat * | arMatrixAllocUnit (int dim) |
| Creates a unit matrix. | |
| int | arMatrixMul (ARMat *dest, ARMat *a, ARMat *b) |
| Multiply two matrix. | |
| ARMat * | arMatrixAllocMul (ARMat *a, ARMat *b) |
| Multiply two matrix with memory allocation. | |
| int | arMatrixTrans (ARMat *dest, ARMat *source) |
| transposes a matrix. | |
| ARMat * | arMatrixAllocTrans (ARMat *source) |
| transposes a matrix with allocation. | |
| int | arMatrixInv (ARMat *dest, ARMat *source) |
| inverse a matrix. | |
| int | arMatrixSelfInv (ARMat *m) |
| inverses a matrix. | |
| ARMat * | arMatrixAllocInv (ARMat *source) |
| inverses a matrix. | |
| double | arMatrixDet (ARMat *m) |
| compute determinant of a matrix. | |
| int | arMatrixPCA (ARMat *input, ARMat *evec, ARVec *ev, ARVec *mean) |
| compute the PCA of a matrix. | |
| int | arMatrixPCA2 (ARMat *input, ARMat *evec, ARVec *ev) |
| compute the PCA of a matrix. | |
| int | arMatrixDisp (ARMat *m) |
| display content of a matrix. | |
| ARVec * | arVecAlloc (int clm) |
| creates a new vector. | |
| int | arVecFree (ARVec *v) |
| delete a vector. | |
| int | arVecDisp (ARVec *v) |
| display a vector. | |
| double | arVecHousehold (ARVec *x) |
| XXXBK. | |
| double | arVecInnerproduct (ARVec *x, ARVec *y) |
| Computes the inner product of 2 vectors. | |
| int | arVecTridiagonalize (ARMat *a, ARVec *d, ARVec *e) |
| XXXBK. | |
This package include matrix, vector manipulation routine. In complement to must classical routines (inversion, innerproduct), it includes a PCA (Principal) Component Analysis) routine. For the structure of the matrix see ARMat.
|
||||||||||||
|
creates a new matrix. Allocate and initialize a new matrix structure. XXXBK initializing ?? to 0 m ??
|
|
|
dumps a new matrix Allocates and recopy the original source matrix.
|
|
|
inverses a matrix. Inverses a matrix and copy the result in in a new allocated structure.
|
|
||||||||||||
|
Multiply two matrix with memory allocation. multiply two matrix and copy the result in a new allocate matrix (the source matrix is unmodified). the product is this one : dest = a * b
|
|
|
transposes a matrix with allocation. transposes a matrix and copy the result in a new allocate matrix (the source matrix is unmodified).
|
|
|
Creates a unit matrix. Allocates and initializes a matrix to a an identity matrix.
|
|
|
compute determinant of a matrix. Compute the determinant of a matrix.
|
|
|
display content of a matrix. Display in current console, the content of the matrix. The display is done line by line.
|
|
||||||||||||
|
copy a matrix copy one matrix to another. The two ARMat must be allocated.
|
|
|
deletes a matrix. Delete a matrix structure (deallocate used memory).
|
|
||||||||||||
|
inverse a matrix. inverse a matrix and copy the result in a new one (the source matrix is unmodified). the destination matrix must be allocated. the source matrix need to be a square matrix.
|
|
||||||||||||||||
|
Multiply two matrix. Multiply two matrix and copy the result in another the product is this one : dest = a * b. The destination matrix must be allocated. Matrix a and b need to have the same size (the source matrix is unmodified).
|
|
||||||||||||||||||||
|
compute the PCA of a matrix. Compute the Principal Component Analysis (PCA) of a matrix.
|
|
||||||||||||||||
|
compute the PCA of a matrix. Compute the Principal Component Analysis (PCA) of a matrix.
|
|
|
inverses a matrix. Inverses a matrix and copy the result in the same structure.
|
|
||||||||||||
|
transposes a matrix. Transposes a matrix. The destination matrix must be allocated (the source matrix is unmodified).
|
|
|
Creates a unit matrix. Transforms the source parameter matrix to a unit matrix (all values are modified). the unit matrix needs to be allocated.
|
|
|
creates a new vector. Allocates and initializes new vector structure.
|
|
|
display a vector. Display element of a vector.
|
|
|
delete a vector. Delete a vector structure (deallocate used memory).
|
|
|
XXXBK. XXXBK: for QR decomposition ?? (can't success to find french translation of this term)
|
|
||||||||||||
|
Computes the inner product of 2 vectors. computes the inner product of the two argument vectors. the operation done is a=x.y (and a is return)
|
|
||||||||||||||||
|
XXXBK. XXXBK
|