Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

vnl_complex_eigensystem Class Reference

#include <vnl_complex_eigensystem.h>

Collaboration diagram for vnl_complex_eigensystem:

Collaboration graph
[legend]
List of all members.

Public Methods

 vnl_complex_eigensystem (const vnl_matrix< double > &A_real, const vnl_matrix< double > &A_imag, bool right=true, bool left=false)
 vnl_complex_eigensystem (const vnl_matrix< vcl_complex< double > > &A, bool right=true, bool left=false)
 ~vnl_complex_eigensystem ()
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

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

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 corre- sponding 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 43 of file vnl_complex_eigensystem.h.


Constructor & Destructor Documentation

vnl_complex_eigensystem::vnl_complex_eigensystem const vnl_matrix< double > &    A_real,
const vnl_matrix< double > &    A_imag,
bool    right = true,
bool    left = false
 

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

vnl_complex_eigensystem::~vnl_complex_eigensystem  
 


Member Function Documentation

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

Definition at line 62 of file vnl_complex_eigensystem.h.

References vnl_matrix< T >::get_row().

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

Definition at line 63 of file vnl_complex_eigensystem.h.

References vnl_matrix< T >::get_row().

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

Definition at line 65 of file vnl_complex_eigensystem.h.


Member Data Documentation

vnl_matrix<vcl_complex<double> > vnl_complex_eigensystem::L
 

Definition at line 57 of file vnl_complex_eigensystem.h.

int const vnl_complex_eigensystem::N
 

Definition at line 56 of file vnl_complex_eigensystem.h.

vnl_matrix<vcl_complex<double> > vnl_complex_eigensystem::R
 

Definition at line 58 of file vnl_complex_eigensystem.h.

vnl_vector<vcl_complex<double> > vnl_complex_eigensystem::W
 

Definition at line 59 of file vnl_complex_eigensystem.h.


The documentation for this class was generated from the following file:
Generated at Fri May 21 01:16:39 2004 for ITK by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2000