Calculates eigenvalues and eigenvectors of a square complex matrix. More...
#include <vnl_complex_eigensystem.h>
Public Member Functions | |
| vnl_complex_eigensystem (vnl_matrix< double > const &A_real, vnl_matrix< double > const &A_imag, bool right=true, bool left=false) | |
| vnl_complex_eigensystem (vnl_matrix< std::complex< double > > const &A, bool right=true, bool left=false) | |
| std::complex< double > | eigen_value (unsigned i) const |
| vnl_vector< std::complex< double > > | left_eigen_vector (unsigned i) const |
| vnl_vector< std::complex< double > > | right_eigen_vector (unsigned i) const |
Public Attributes | |
| unsigned int const | N |
| vnl_matrix< std::complex< double > > | L |
| vnl_matrix< std::complex< double > > | R |
| vnl_vector< std::complex< double > > | W |
Private Member Functions | |
| void | compute (vnl_matrix< std::complex< double > > const &, bool, bool) |
Calculates eigenvalues and eigenvectors of a square complex matrix.
Class to compute and hold the eigenvalues and (optionally) eigenvectors of a square complex matrix, using the LAPACK routine zgeev.
Default behaviour is to compute the eigenvalues and the right eigenvectors.
The input NxN matrix A is passed into the constructor. The flags right,left request the calculation of right and left eigenvectors respectively. The compute eigenvalues are stored in the member 'W'.
Computed right eigenvectors are stored in the ROWS of the member 'R' and computed left eigenvectors are stored in the ROWS of the member 'L'. When eigenvectors are not requested, the corresponding matrices L and R will be empty.
The ith right eigenvector v satisfies A*v = W[i]*v
The ith left eigenvector u satisfies u*A = W[i]*u (no conjugation)
Definition at line 42 of file vnl_complex_eigensystem.h.
| vnl_complex_eigensystem::vnl_complex_eigensystem | ( | vnl_matrix< double > const & | A_real, |
| vnl_matrix< double > const & | A_imag, | ||
| bool | right = true, |
||
| bool | left = false |
||
| ) |
Definition at line 99 of file vnl_complex_eigensystem.cxx.
| vnl_complex_eigensystem::vnl_complex_eigensystem | ( | vnl_matrix< std::complex< double > > const & | A, |
| bool | right = true, |
||
| bool | left = false |
||
| ) |
Definition at line 88 of file vnl_complex_eigensystem.cxx.
|
private |
Definition at line 11 of file vnl_complex_eigensystem.cxx.
|
inline |
Definition at line 60 of file vnl_complex_eigensystem.h.
|
inline |
Definition at line 61 of file vnl_complex_eigensystem.h.
|
inline |
Definition at line 63 of file vnl_complex_eigensystem.h.
| vnl_matrix<std::complex<double> > vnl_complex_eigensystem::L |
Definition at line 47 of file vnl_complex_eigensystem.h.
| unsigned int const vnl_complex_eigensystem::N |
Definition at line 46 of file vnl_complex_eigensystem.h.
| vnl_matrix<std::complex<double> > vnl_complex_eigensystem::R |
Definition at line 48 of file vnl_complex_eigensystem.h.
| vnl_vector<std::complex<double> > vnl_complex_eigensystem::W |
Definition at line 49 of file vnl_complex_eigensystem.h.
1.8.15