Public Member Functions | Public Attributes | List of all members
vnl_generalized_eigensystem Class Reference

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

#include <vnl_generalized_eigensystem.h>

Public Member Functions

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

Public Attributes

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

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 24 of file vnl_generalized_eigensystem.h.

Constructor & Destructor Documentation

◆ vnl_generalized_eigensystem()

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 17 of file vnl_generalized_eigensystem.cxx.

Member Data Documentation

◆ D

vnl_diag_matrix<double> vnl_generalized_eigensystem::D

Public eigenvalues.

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

Definition at line 52 of file vnl_generalized_eigensystem.h.

◆ n

long vnl_generalized_eigensystem::n

Definition at line 28 of file vnl_generalized_eigensystem.h.

◆ V

vnl_matrix<double> vnl_generalized_eigensystem::V

Public eigenvectors.

After construction, this contains the matrix of eigenvectors.

Definition at line 48 of file vnl_generalized_eigensystem.h.


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