OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
OPAL
|
Resonance-free normal form. More...
#include <NormalForm.h>
Public Member Functions | |
NormalForm (const VpsInvMap< double > &map) | |
Constructor. More... | |
NormalForm () | |
NormalForm (const NormalForm &) | |
~NormalForm () | |
int | degreesOfFreedom () const |
Get number of stable degrees of freedom. More... | |
const Tps< double > & | normalForm () const |
Get normal-form. More... | |
const Tps< double > & | normalisingMap () const |
Get normalising map. More... | |
const Vector< complex< double > > & | eigenValues () const |
Get eigenvalues. More... | |
const Matrix< double > & | eigenVectors () const |
Get eigenvectors. More... | |
Matrix< double > | anharmonicity () const |
Get anharmonicities. More... | |
Tps< double > | invariant (int i) const |
Get invariant polynomial. More... | |
Protected Member Functions | |
void | orderModes (Vector< complex< double > >, Matrix< double >) |
Private Member Functions | |
void | operator= (const NormalForm &) |
Private Attributes | |
int | dimension |
int | freedom |
Tps< double > | A_Lie |
Tps< double > | N_Lie |
Vector< complex< double > > | lambda |
Matrix< double > | V |
Resonance-free normal form.
Definition at line 41 of file NormalForm.h.
NormalForm::NormalForm | ( | const VpsInvMap< double > & | map | ) |
Constructor.
Definition at line 74 of file NormalForm.cpp.
References A_Lie, abs(), arg(), dimension, DoubleEigen::eigenValues(), LieMap< T >::ExpMap(), Vps< T >::filter(), freedom, Tps< T >::getExponents(), Tps< T >::getSize(), Vps< T >::getTruncOrder(), Vps< T >::getVariables(), imag(), lambda, VpsMap< T >::linearTerms(), log(), N_Lie, orderModes(), DoubleEigen::packedEigenVectors(), pi, pow(), real(), Tps< T >::scaleMonomials(), Tps< T >::setCoefficient(), VpsMap< T >::substitute(), Tps< T >::substitute(), and V.
NormalForm::NormalForm | ( | ) |
Definition at line 54 of file NormalForm.cpp.
NormalForm::NormalForm | ( | const NormalForm & | form | ) |
Definition at line 64 of file NormalForm.cpp.
NormalForm::~NormalForm | ( | ) |
Definition at line 235 of file NormalForm.cpp.
Matrix< double > NormalForm::anharmonicity | ( | ) | const |
Get anharmonicities.
Definition at line 244 of file NormalForm.cpp.
References dimension, freedom, Tps< T >::getCoefficient(), N_Lie, Physics::pi, and pi.
int NormalForm::degreesOfFreedom | ( | ) | const |
Get number of stable degrees of freedom.
Definition at line 239 of file NormalForm.cpp.
References freedom.
const Vector< complex< double > > & NormalForm::eigenValues | ( | ) | const |
const Matrix< double > & NormalForm::eigenVectors | ( | ) | const |
Tps< double > NormalForm::invariant | ( | int | i | ) | const |
Get invariant polynomial.
Definition at line 278 of file NormalForm.cpp.
References imag(), lambda, Array2D< T >::nrows(), Tps< T >::setCoefficient(), and V.
const Tps< double > & NormalForm::normalForm | ( | ) | const |
const Tps< double > & NormalForm::normalisingMap | ( | ) | const |
|
private |
Definition at line 317 of file NormalForm.cpp.
References abs(), Physics::c, Array2D< T >::col_begin(), Array2D< T >::col_end(), dimension, freedom, interpolation::im(), imag(), lambda, interpolation::re(), real(), sqrt(), Array2D< T >::swapColumns(), and V.
Referenced by NormalForm().
|
private |
Definition at line 99 of file NormalForm.h.
Referenced by NormalForm(), and normalisingMap().
|
private |
Definition at line 93 of file NormalForm.h.
Referenced by anharmonicity(), NormalForm(), and orderModes().
|
private |
Definition at line 96 of file NormalForm.h.
Referenced by anharmonicity(), degreesOfFreedom(), NormalForm(), and orderModes().
|
private |
Definition at line 105 of file NormalForm.h.
Referenced by eigenValues(), invariant(), NormalForm(), and orderModes().
|
private |
Definition at line 102 of file NormalForm.h.
Referenced by anharmonicity(), NormalForm(), and normalForm().
|
private |
Definition at line 108 of file NormalForm.h.
Referenced by eigenVectors(), invariant(), NormalForm(), and orderModes().