Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

vnl_complex_eigensystem Class Reference

#include <vnl_complex_eigensystem.h>

List of all members.


Detailed Description

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 37 of file 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< vcl_complex< double > > const &A, bool right=true, bool left=false)
vcl_complex< double > eigen_value (unsigned i) const
vnl_vector< vcl_complex< double > > left_eigen_vector (unsigned i) const
vnl_vector< vcl_complex< double > > right_eigen_vector (unsigned i) const

Public Attributes

unsigned int const N
vnl_matrix< vcl_complex< double > > L
vnl_matrix< vcl_complex< double > > R
vnl_vector< vcl_complex< double > > W

Private Member Functions

void compute (vnl_matrix< vcl_complex< double > > const &, bool, bool)


Constructor & Destructor Documentation

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 100 of file vnl_complex_eigensystem.cxx.

vnl_complex_eigensystem::vnl_complex_eigensystem vnl_matrix< vcl_complex< double > > const &  A,
bool  right = true,
bool  left = false
 

Definition at line 89 of file vnl_complex_eigensystem.cxx.


Member Function Documentation

void vnl_complex_eigensystem::compute vnl_matrix< vcl_complex< double > > const &  ,
bool  ,
bool 
[private]
 

Definition at line 12 of file vnl_complex_eigensystem.cxx.

vcl_complex<double> vnl_complex_eigensystem::eigen_value unsigned  i  )  const [inline]
 

Definition at line 55 of file vnl_complex_eigensystem.h.

vnl_vector<vcl_complex<double> > vnl_complex_eigensystem::left_eigen_vector unsigned  i  )  const [inline]
 

Definition at line 56 of file vnl_complex_eigensystem.h.

vnl_vector<vcl_complex<double> > vnl_complex_eigensystem::right_eigen_vector unsigned  i  )  const [inline]
 

Definition at line 58 of file vnl_complex_eigensystem.h.


Member Data Documentation

vnl_matrix<vcl_complex<double> > vnl_complex_eigensystem::L
 

Definition at line 42 of file vnl_complex_eigensystem.h.

unsigned int const vnl_complex_eigensystem::N
 

Definition at line 41 of file vnl_complex_eigensystem.h.

vnl_matrix<vcl_complex<double> > vnl_complex_eigensystem::R
 

Definition at line 43 of file vnl_complex_eigensystem.h.

vnl_vector<vcl_complex<double> > vnl_complex_eigensystem::W
 

Definition at line 44 of file vnl_complex_eigensystem.h.


The documentation for this class was generated from the following files:
Generated on Thu Jan 10 14:37:39 2008 for core/vnl by  doxygen 1.4.4