Public Member Functions | Public Attributes
vnl_generalized_eigensystem Class Reference

Solves the generalized eigenproblem Ax=Bx. More...

#include <vnl_generalized_eigensystem.h>

List of all members.

Public Member Functions

 vnl_generalized_eigensystem (const vnl_matrix< double > &A, const vnl_matrix< double > &B)
 Solves the generalized eigenproblem Ax=Bx.

Public Attributes

long n
vnl_matrix< double > V
 Public eigenvectors.
vnl_diag_matrix< double > D
 Public eigenvalues.

Detailed Description

Solves the generalized eigenproblem Ax=Bx.

Solves the generalized eigenproblem of $A x = \lambda B x$, with $A$ symmetric and $B$ positive definite.
See Golub and van Loan, Section 8.7.

Definition at line 26 of file vnl_generalized_eigensystem.h.


Constructor & Destructor Documentation

vnl_generalized_eigensystem::vnl_generalized_eigensystem ( const vnl_matrix< double > &  A,
const vnl_matrix< double > &  B 
)

Solves the generalized eigenproblem Ax=Bx.

Solve real generalized eigensystem $A x = \lambda B x$ for $\lambda$ and $x$, where $A$ symmetric, $B$ positive definite. Initializes storage for the matrix $V = [ x_0 x_1 .. x_n ]$ and the vnl_diag_matrix $D = [ \lambda_0 \lambda_1 ... \lambda_n ]$. The eigenvalues are sorted into increasing order (of value, not absolute value).

Uses vnl_cholesky decomposition $C^\top C = B$, to convert to $C^{-\top} A C^{-1} x = \lambda x$ and then uses the symmetric eigensystem code. It will print a verbose warning if $B$ is not positive definite.

Definition at line 24 of file vnl_generalized_eigensystem.cxx.


Member Data Documentation

Public eigenvalues.

After construction, this contains the diagonal matrix of eigenvalues, stored as a vector.

Definition at line 54 of file vnl_generalized_eigensystem.h.

Definition at line 30 of file vnl_generalized_eigensystem.h.

Public eigenvectors.

After construction, this contains the matrix of eigenvectors.

Definition at line 50 of file vnl_generalized_eigensystem.h.


The documentation for this class was generated from the following files: