Main Page   Modules   Compound List   File List   Compound Members   File Members  

Eigendecomposition of a General Size Matrix
[General Size MatricesGeneral Size Matrices and Vectors]


Compounds

struct  EigenStuff
struct  EigenStuff
struct  Gan_SymMatEigenStruct
 Structure for eigendecomposition of an accumulated symmetric matrix. More...


Functions

Gan_Bool gan_symmat_eigen (Gan_SquMatrix *A, Gan_SquMatrix *W, Gan_Matrix *Z, Gan_Bool sort, double *work, unsigned long work_size)
 Computes eigenvalues and eigenvectors of a symmetric matrix.

Gan_Bool gan_symmatf_eigen (Gan_SquMatrix_f *A, Gan_SquMatrix_f *W, Gan_Matrix_f *Z, Gan_Bool sort, float *work, unsigned long work_size)
 Computes eigenvalues and eigenvectors of a symmetric matrix.

Gan_SymMatEigenStructgan_symeigen_form_data (Gan_SymMatEigenStruct *sme, long max_size, double *work_data, unsigned long work_data_size)
 Forms a symmetric matrix eigendecomposition structure.

void gan_symeigen_free (Gan_SymMatEigenStruct *sme)
 Frees a symmetric matrix eigendecomposition structure.

Gan_Bool gan_symeigen_reset (Gan_SymMatEigenStruct *sme, long size)
 Initialises an accumulated outer product matrix to zero.

Gan_Bool gan_symeigen_increment (Gan_SymMatEigenStruct *sme, double scale,...)
 Increments an accumulated outer product matrix.

Gan_Bool gan_symeigen_solve (Gan_SymMatEigenStruct *sme)
 Eigendecomposes a matrix accumulated by summing outer products.

Gan_SymMatEigenStructgan_symeigen_form (Gan_SymMatEigenStruct *sme, long max_size)
 Macro: Forms a symmetric matrix eigendecomposition structure.

Gan_SymMatEigenStructgan_symeigen_alloc (long max_size)
 Macro: Allocates a symmetric matrix eigendecomposition structure.


Function Documentation

Gan_SymMatEigenStruct* gan_symeigen_alloc long    max_size
 

Macro: Allocates a symmetric matrix eigendecomposition structure.

Parameters:
max_size The envisaged largest size of matrix
Returns:
Pointer to the allocated structure, or NULL on failure.
Allocates a structure with initial values to compute the eigendecomposition of a sum of vector outer products.

Macro call to gan_symeigen_form_data().

See also:
gan_symeigen_form_data(), gan_symeigen_form().

Gan_SymMatEigenStruct* gan_symeigen_form Gan_SymMatEigenStruct   sme,
long    max_size
 

Macro: Forms a symmetric matrix eigendecomposition structure.

Parameters:
sme A pointer to a structure or NULL
max_size The envisaged largest size of matrix
Returns:
Pointer to the formed structure, or NULL on failure.
Allocates/fills a structure with initial values to compute the eigendecomposition of a sum of vector outer products.

Macro call to gan_symeigen_form_data().

See also:
gan_symeigen_form_data(), gan_symeigen_alloc().

Gan_SymMatEigenStruct* gan_symeigen_form_data Gan_SymMatEigenStruct   sme,
long    max_size,
double *    work_data,
unsigned long    work_data_size
 

Forms a symmetric matrix eigendecomposition structure.

Parameters:
sme A pointer to a structure or NULL
max_size The envisaged largest size of matrix
work_data Workspace array for CLAPACK eigendecomposition
work_data_size Size of work_data array
Returns:
Pointer to structure, or NULL on failure.
Allocates/fills a structure with initial values to compute the eigendecomposition of a sum of vector outer products.

See also:
gan_symeigen_form(), gan_symeigen_alloc().

void gan_symeigen_free Gan_SymMatEigenStruct   sme
 

Frees a symmetric matrix eigendecomposition structure.

Parameters:
sme A pointer to a structure
Returns:
No value.
Frees a structure created to compute the eigenvalues and eigenvectors of a symmetric matrix accumulated as a sum of vector outer products.

See also:
gan_symeigen_alloc().

Gan_Bool gan_symeigen_increment Gan_SymMatEigenStruct   sme,
double    scale,
...   
 

Increments an accumulated outer product matrix.

Parameters:
sme A pointer to a structure
scale A scaling for the outer product
... A variable argument list of vector components
Returns:
GAN_TRUE on success, GAN_FALSE on failure.
Increments an accumulated outer product matrix stored inside the sme structure with the outer product of a vector passed into the function in a variable argument list. The outer product is scaled by the given scaling factor scale before the matrix is incremented (equivalent to scaling the vector by the square-root of scale).

See also:
gan_symeigen_alloc().

Gan_Bool gan_symeigen_reset Gan_SymMatEigenStruct   sme,
long    size
 

Initialises an accumulated outer product matrix to zero.

Parameters:
sme A pointer to a structure
size The size of the matrix
Returns:
GAN_TRUE on success, GAN_FALSE on failure.
Initialises an accumulated outer product matrix to zero. The size of the matrix is also set.

See also:
gan_symeigen_alloc().

Gan_Bool gan_symeigen_solve Gan_SymMatEigenStruct   sme
 

Eigendecomposes a matrix accumulated by summing outer products.

Parameters:
sme A pointer to a structure
Returns:
GAN_TRUE on success, GAN_FALSE on failure.
Solves for the eigenvalues and eigenvectors of a matrix accumulated within the sme structure as a sum of vector outer products.

See also:
gan_symeigen_alloc(), gan_symeigen_increment().

Gan_Bool gan_symmat_eigen Gan_SquMatrix   A,
Gan_SquMatrix   W,
Gan_Matrix   Z,
Gan_Bool    sort,
double *    work,
unsigned long    work_size
 

Computes eigenvalues and eigenvectors of a symmetric matrix.

Parameters:
A Input matrix, overwritten on output
W Diagonal matrix of eigenvalues
Z Matrix of eigenvectors or NULL
sort Whether to sort eigenvalues and eigenvectors
work Workspace array
work_size size of workspace
Returns:
GAN_TRUE on success, or GAN_FALSE on failure.
If Z is non-NULL it is filled with the eigenvectors of symmetric matrix A. The eigenvalues of A are written into W. If work is not NULL and LAPACK is being used, the size of the work array (work_size) must be at least 3 times the size of A.

If sort is passed as GAN_TRUE, the eigenvalues are sorted into ascending order.

Gan_Bool gan_symmatf_eigen Gan_SquMatrix_f   A,
Gan_SquMatrix_f   W,
Gan_Matrix_f   Z,
Gan_Bool    sort,
float *    work,
unsigned long    work_size
 

Computes eigenvalues and eigenvectors of a symmetric matrix.

Parameters:
A Input matrix, overwritten on output
W Diagonal matrix of eigenvalues
Z Matrix of eigenvectors or NULL
sort Whether to sort eigenvalues and eigenvectors
work Workspace array
work_size size of workspace
Returns:
GAN_TRUE on success, or GAN_FALSE on failure.
If Z is non-NULL it is filled with the eigenvectors of symmetric matrix A. The eigenvalues of A are written into W. If work is not NULL and LAPACK is being used, the size of the work array (work_size) must be at least 3 times the size of A.

If sort is passed as GAN_TRUE, the eigenvalues are sorted into ascending order.


Generated on Mon Oct 13 16:14:58 2003 by doxygen1.3-rc1