OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
OPAL
|
Double eigenvector routines. More...
#include <DoubleEigen.h>
Public Member Functions | |
DoubleEigen (const Matrix< double > &m, bool vec=false) | |
Constructor. More... | |
DoubleEigen () | |
DoubleEigen (const DoubleEigen &) | |
~DoubleEigen () | |
Vector< complex< double > > | eigenValues () const |
Get eigenvalues. More... | |
Matrix< complex< double > > | eigenVectors () const |
Get eigenvectors. More... | |
Matrix< double > | packedEigenVectors () const |
Get eigenvectors. More... | |
Private Member Functions | |
void | operator= (const DoubleEigen &) |
void | elmtran (Matrix< double > &, int low, int high, Array1D< int > &index) |
int | hqr (Matrix< double > &, int low, int high) |
int | hqr2 (Matrix< double > &, int low, int high) |
void | balbak (int low, int high, Vector< double > &scale) |
Static Private Member Functions | |
static void | balance (Matrix< double > &, int &low, int &high, Vector< double > &) |
static void | exchange (Matrix< double > &, int j, int m, int low, int high) |
static void | elmhes (Matrix< double > &, int low, int high, Array1D< int > &index) |
Private Attributes | |
Vector< complex< double > > | lambda |
Matrix< double > | vectors |
Double eigenvector routines.
Definition at line 36 of file DoubleEigen.h.
DoubleEigen::DoubleEigen | ( | const Matrix< double > & | m, |
bool | vec = false |
||
) |
Constructor.
Definition at line 70 of file DoubleEigen.cpp.
References balance(), balbak(), elmhes(), elmtran(), hqr(), hqr2(), Hypervolume::n, Array2D< T >::ncols(), and Array2D< T >::nrows().
DoubleEigen::DoubleEigen | ( | ) |
Definition at line 60 of file DoubleEigen.cpp.
DoubleEigen::DoubleEigen | ( | const DoubleEigen & | M | ) |
Definition at line 65 of file DoubleEigen.cpp.
DoubleEigen::~DoubleEigen | ( | ) |
Definition at line 115 of file DoubleEigen.cpp.
|
staticprivate |
Definition at line 163 of file DoubleEigen.cpp.
References abs(), Physics::c, Hypervolume::n, and Array2D< T >::nrows().
Referenced by DoubleEigen().
|
private |
Definition at line 288 of file DoubleEigen.cpp.
References Hypervolume::n, Array2D< T >::nrows(), Array2D< T >::swapRows(), and vectors.
Referenced by DoubleEigen().
Vector< complex< double > > DoubleEigen::eigenValues | ( | ) | const |
Get eigenvalues.
Definition at line 119 of file DoubleEigen.cpp.
References lambda.
Referenced by NormalForm::NormalForm().
Matrix< complex< double > > DoubleEigen::eigenVectors | ( | ) | const |
Get eigenvectors.
Definition at line 126 of file DoubleEigen.cpp.
References imag(), lambda, Hypervolume::n, Array2D< T >::nrows(), Attrib::Distribution::R, and vectors.
|
staticprivate |
Definition at line 335 of file DoubleEigen.cpp.
References abs(), Hypervolume::n, and Array2D< T >::nrows().
Referenced by DoubleEigen().
|
staticprivate |
Definition at line 447 of file DoubleEigen.cpp.
References Hypervolume::n, and Array2D< T >::nrows().
|
private |
Definition at line 458 of file DoubleEigen.cpp.
References abs(), lambda, Hypervolume::n, Array2D< T >::nrows(), and sqrt().
Referenced by DoubleEigen().
|
private |
Definition at line 655 of file DoubleEigen.cpp.
References abs(), cdiv(), imag(), lambda, max(), Hypervolume::n, Array2D< T >::nrows(), real(), sqrt(), and vectors.
Referenced by DoubleEigen().
|
private |
Matrix< double > DoubleEigen::packedEigenVectors | ( | ) | const |
Get eigenvectors.
Definition at line 152 of file DoubleEigen.cpp.
References vectors.
Referenced by NormalForm::NormalForm().
|
private |
Definition at line 91 of file DoubleEigen.h.
Referenced by eigenValues(), eigenVectors(), hqr(), and hqr2().
|
private |
Definition at line 92 of file DoubleEigen.h.
Referenced by balbak(), eigenVectors(), elmtran(), hqr2(), and packedEigenVectors().