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
FComplexEigen< N > Class Template Reference

Eigenvalues and eigenvectors for a complex general matrix. More...

#include <FComplexEigen.h>

Collaboration diagram for FComplexEigen< N >:
Collaboration graph
[legend]

Public Member Functions

 FComplexEigen (const FMatrix< complex< double >, N, N > &M, bool vec=false)
 Constructor. More...
 
 FComplexEigen ()
 
 FComplexEigen (const FComplexEigen &)
 
 ~FComplexEigen ()
 
const FVector< complex< double >
, N > & 
eigenValues () const
 Get eigenvalues. More...
 
const FMatrix< complex< double >
, N, N > & 
eigenVectors () const
 Get eigenvectors. More...
 

Private Member Functions

void operator= (const FComplexEigen &)
 
void balbak (int low, int high, const double scale[N])
 
int hqr (FMatrix< complex< double >, N, N > &, int low, int high)
 
int hqr2 (FMatrix< complex< double >, N, N > &, int low, int high, complex< double > ort[N])
 

Static Private Member Functions

static void balance (FMatrix< complex< double >, N, N > &, int &low, int &high, double scale[N])
 
static void exchange (FMatrix< complex< double >, N, N > &, int j, int m, int low, int high)
 
static void orthes (FMatrix< complex< double >, N, N > &, int low, int high, complex< double > ort[N])
 

Private Attributes

FVector< complex< double >, N > lambda
 
FMatrix< complex< double >, N, N > vectors
 

Detailed Description

template<int N>
class FComplexEigen< N >

Eigenvalues and eigenvectors for a complex general matrix.

Definition at line 45 of file FComplexEigen.h.

Constructor & Destructor Documentation

template<int N>
FComplexEigen< N >::FComplexEigen ( const FMatrix< complex< double >, N, N > &  M,
bool  vec = false 
)
template<int N>
FComplexEigen< N >::FComplexEigen ( )

Definition at line 111 of file FComplexEigen.h.

template<int N>
FComplexEigen< N >::FComplexEigen ( const FComplexEigen< N > &  rhs)

Definition at line 117 of file FComplexEigen.h.

template<int N>
FComplexEigen< N >::~FComplexEigen ( )

Definition at line 153 of file FComplexEigen.h.

Member Function Documentation

template<int N>
void FComplexEigen< N >::balance ( FMatrix< complex< double >, N, N > &  copy,
int &  low,
int &  high,
double  scale[N] 
)
staticprivate

Definition at line 171 of file FComplexEigen.h.

References Physics::c.

Referenced by FComplexEigen< N >::FComplexEigen().

template<int N>
void FComplexEigen< N >::balbak ( int  low,
int  high,
const double  scale[N] 
)
private

Definition at line 300 of file FComplexEigen.h.

Referenced by FComplexEigen< N >::FComplexEigen().

template<int N>
const FVector< complex< double >, N > & FComplexEigen< N >::eigenValues ( ) const

Get eigenvalues.

Definition at line 159 of file FComplexEigen.h.

template<int N>
const FMatrix< complex< double >, N, N > & FComplexEigen< N >::eigenVectors ( ) const

Get eigenvectors.

Definition at line 165 of file FComplexEigen.h.

template<int N>
void FComplexEigen< N >::exchange ( FMatrix< complex< double >, N, N > &  copy,
int  j,
int  m,
int  low,
int  high 
)
staticprivate

Definition at line 348 of file FComplexEigen.h.

template<int N>
int FComplexEigen< N >::hqr ( FMatrix< complex< double >, N, N > &  h,
int  low,
int  high 
)
private

Definition at line 357 of file FComplexEigen.h.

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

Referenced by FComplexEigen< N >::FComplexEigen().

Here is the call graph for this function:

template<int N>
int FComplexEigen< N >::hqr2 ( FMatrix< complex< double >, N, N > &  h,
int  low,
int  high,
complex< double >  ort[N] 
)
private

Definition at line 515 of file FComplexEigen.h.

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

Referenced by FComplexEigen< N >::FComplexEigen().

Here is the call graph for this function:

template<int N>
void FComplexEigen< N >::operator= ( const FComplexEigen< N > &  )
private
template<int N>
void FComplexEigen< N >::orthes ( FMatrix< complex< double >, N, N > &  copy,
int  low,
int  high,
complex< double >  ort[N] 
)
staticprivate

Definition at line 783 of file FComplexEigen.h.

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

Referenced by FComplexEigen< N >::FComplexEigen().

Here is the call graph for this function:

Member Data Documentation

template<int N>
FVector<complex<double>, N> FComplexEigen< N >::lambda
private

Definition at line 89 of file FComplexEigen.h.

template<int N>
FMatrix<complex<double>, N, N> FComplexEigen< N >::vectors
private

Definition at line 90 of file FComplexEigen.h.

Referenced by FComplexEigen< N >::FComplexEigen().


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