OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
ComplexEigen Class Reference

Complex eigenvector routines. More...

#include <ComplexEigen.h>

Collaboration diagram for ComplexEigen:
Collaboration graph
[legend]

Public Member Functions

 ComplexEigen (const Matrix< complex< double > > &m, bool vec=false)
 Constructor. More...
 
 ComplexEigen ()
 
 ComplexEigen (const ComplexEigen &)
 
 ~ComplexEigen ()
 
const Vector< complex< double > > & eigenValues () const
 Get eigenvalues. More...
 
const Matrix< complex< double > > & eigenVectors () const
 Get eigenvectors. More...
 

Private Member Functions

void operator= (const ComplexEigen &)
 
void balbak (int low, int high, const Array1D< double > &scale)
 
int hqr (Matrix< complex< double > > &, int low, int high)
 
int hqr2 (Matrix< complex< double > > &, int low, int high, Array1D< complex< double > > &ort)
 

Static Private Member Functions

static void balance (Matrix< complex< double > > &, int &low, int &high, Array1D< double > &)
 
static void exchange (Matrix< complex< double > > &, int j, int m, int low, int high)
 
static void orthes (Matrix< complex< double > > &, int low, int high, Array1D< complex< double > > &ort)
 

Private Attributes

Vector< complex< double > > lambda
 
Matrix< complex< double > > vectors
 

Detailed Description

Complex eigenvector routines.

Definition at line 36 of file ComplexEigen.h.

Constructor & Destructor Documentation

ComplexEigen::ComplexEigen ( const Matrix< complex< double > > &  m,
bool  vec = false 
)

Constructor.

Definition at line 58 of file ComplexEigen.cpp.

References balance(), balbak(), hqr(), hqr2(), Hypervolume::n, and orthes().

Here is the call graph for this function:

ComplexEigen::ComplexEigen ( )

Definition at line 48 of file ComplexEigen.cpp.

ComplexEigen::ComplexEigen ( const ComplexEigen rhs)

Definition at line 53 of file ComplexEigen.cpp.

ComplexEigen::~ComplexEigen ( )

Definition at line 90 of file ComplexEigen.cpp.

Member Function Documentation

void ComplexEigen::balance ( Matrix< complex< double > > &  copy,
int &  low,
int &  high,
Array1D< double > &  scale 
)
staticprivate

Definition at line 104 of file ComplexEigen.cpp.

References Physics::c, exchange(), and Hypervolume::n.

Referenced by ComplexEigen().

Here is the call graph for this function:

void ComplexEigen::balbak ( int  low,
int  high,
const Array1D< double > &  scale 
)
private

Definition at line 257 of file ComplexEigen.cpp.

References Hypervolume::n, Array2D< T >::nrows(), Array2D< T >::swapRows(), and vectors.

Referenced by ComplexEigen().

Here is the call graph for this function:

const Vector< complex< double > > & ComplexEigen::eigenValues ( ) const

Get eigenvalues.

Definition at line 94 of file ComplexEigen.cpp.

References lambda.

const Matrix< complex< double > > & ComplexEigen::eigenVectors ( ) const

Get eigenvectors.

Definition at line 99 of file ComplexEigen.cpp.

References vectors.

void ComplexEigen::exchange ( Matrix< complex< double > > &  copy,
int  j,
int  m,
int  low,
int  high 
)
staticprivate

Definition at line 309 of file ComplexEigen.cpp.

References Hypervolume::n.

Referenced by balance().

int ComplexEigen::hqr ( Matrix< complex< double > > &  h,
int  low,
int  high 
)
private

Definition at line 319 of file ComplexEigen.cpp.

References abs(), interpolation::conj(), imag(), lambda, Hypervolume::n, real(), and sqrt().

Referenced by ComplexEigen().

Here is the call graph for this function:

int ComplexEigen::hqr2 ( Matrix< complex< double > > &  h,
int  low,
int  high,
Array1D< complex< double > > &  ort 
)
private

Definition at line 479 of file ComplexEigen.cpp.

References abs(), interpolation::conj(), imag(), lambda, Hypervolume::n, real(), sqrt(), and vectors.

Referenced by ComplexEigen().

Here is the call graph for this function:

void ComplexEigen::operator= ( const ComplexEigen )
private
void ComplexEigen::orthes ( Matrix< complex< double > > &  copy,
int  low,
int  high,
Array1D< complex< double > > &  ort 
)
staticprivate

Definition at line 750 of file ComplexEigen.cpp.

References abs(), interpolation::conj(), Hypervolume::n, and sqrt().

Referenced by ComplexEigen().

Here is the call graph for this function:

Member Data Documentation

Vector<complex<double> > ComplexEigen::lambda
private

Definition at line 80 of file ComplexEigen.h.

Referenced by eigenValues(), hqr(), and hqr2().

Matrix<complex<double> > ComplexEigen::vectors
private

Definition at line 81 of file ComplexEigen.h.

Referenced by balbak(), eigenVectors(), and hqr2().


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