Main Page | Modules | Class List | File List | Class Members | File Members

Eigendecomposition of a General Size Matrix
[General Size Matrices]


Classes

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 Fri Mar 17 12:44:58 2006 by  doxygen 1.3.9.1