OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
DragtFinnNormalForm< N > Class Template Reference

Normal form of a truncated Taylor series map. More...

#include <DragtFinnNormalForm.h>

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

Public Member Functions

 DragtFinnNormalForm (const DragtFinnMap< N > &map)
 Constructor. More...
 
 DragtFinnNormalForm ()
 
 DragtFinnNormalForm (const DragtFinnNormalForm &)
 
 ~DragtFinnNormalForm ()
 
int degreesOfFreedom () const
 Get number of stable degrees of freedom. More...
 
const DragtFinnMap< N > & normalForm () const
 Get normal-form map as a Lie transform. More...
 
const DragtFinnMap< N > & normalisingMap () const
 Get normalising map as a Lie transform. More...
 
const FVector< std::complex
< double >, 2 *N > & 
eigenValues () const
 Get eigenvalues of the linear part as a complex vector. More...
 
const FMatrix< double, 2 *N,
2 *N > & 
eigenVectors () const
 Get eigenvectors of the linear part in packed form. More...
 
FMatrix< double, N, N > anharmonicity () const
 Get anharmonicities as a matrix. More...
 
FLieGenerator< double, N > invariant (int i) const
 Get invariant polynomial for mode i. More...
 

Protected Member Functions

void orderModes (FVector< std::complex< double >, 2 *N >, FMatrix< double, 2 *N, 2 *N >)
 

Private Member Functions

void operator= (const DragtFinnNormalForm &)
 

Private Attributes

int freedom
 
DragtFinnMap< N > A_scr
 
DragtFinnMap< N > N_scr
 
FVector< std::complex< double >
, 2 *N > 
lambda
 
FMatrix< double, 2 *N, 2 *N > V
 

Detailed Description

template<int N>
class DragtFinnNormalForm< N >

Normal form of a truncated Taylor series map.

Definition at line 50 of file DragtFinnNormalForm.h.

Constructor & Destructor Documentation

template<int N>
DragtFinnNormalForm< N >::DragtFinnNormalForm ( const DragtFinnMap< N > &  map)
explicit
template<int N>
DragtFinnNormalForm< N >::DragtFinnNormalForm ( )

Definition at line 126 of file DragtFinnNormalForm.h.

template<int N>
DragtFinnNormalForm< N >::DragtFinnNormalForm ( const DragtFinnNormalForm< N > &  form)

Definition at line 132 of file DragtFinnNormalForm.h.

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

Definition at line 242 of file DragtFinnNormalForm.h.

Member Function Documentation

template<int N>
FMatrix< double, N, N > DragtFinnNormalForm< N >::anharmonicity ( ) const

Get anharmonicities as a matrix.

Definition at line 253 of file DragtFinnNormalForm.h.

References Physics::pi, and pi.

Referenced by Dynamic::execute(), and Static::execute().

template<int N>
int DragtFinnNormalForm< N >::degreesOfFreedom ( ) const

Get number of stable degrees of freedom.

Definition at line 247 of file DragtFinnNormalForm.h.

Referenced by Dynamic::execute(), and Static::execute().

template<int N>
const FVector< std::complex< double >, 2 *N > & DragtFinnNormalForm< N >::eigenValues ( ) const

Get eigenvalues of the linear part as a complex vector.

Definition at line 315 of file DragtFinnNormalForm.h.

Referenced by Dynamic::execute(), and Static::execute().

template<int N>
const FMatrix< double, 2 *N, 2 *N > & DragtFinnNormalForm< N >::eigenVectors ( ) const

Get eigenvectors of the linear part in packed form.

Definition at line 321 of file DragtFinnNormalForm.h.

template<int N>
FLieGenerator< double, N > DragtFinnNormalForm< N >::invariant ( int  i) const

Get invariant polynomial for mode i.

Definition at line 283 of file DragtFinnNormalForm.h.

References abs(), and imag().

Referenced by Dynamic::execute(), and Static::execute().

Here is the call graph for this function:

template<int N>
const DragtFinnMap< N > & DragtFinnNormalForm< N >::normalForm ( ) const

Get normal-form map as a Lie transform.

Definition at line 303 of file DragtFinnNormalForm.h.

Referenced by Dynamic::execute(), and Static::execute().

template<int N>
const DragtFinnMap< N > & DragtFinnNormalForm< N >::normalisingMap ( ) const

Get normalising map as a Lie transform.

Definition at line 309 of file DragtFinnNormalForm.h.

Referenced by Dynamic::execute(), and Static::execute().

template<int N>
void DragtFinnNormalForm< N >::operator= ( const DragtFinnNormalForm< N > &  )
private
template<int N>
void DragtFinnNormalForm< N >::orderModes ( FVector< std::complex< double >, 2 *N >  tlam,
FMatrix< double, 2 *N, 2 *N >  tmat 
)
protected

Member Data Documentation

template<int N>
DragtFinnMap<N> DragtFinnNormalForm< N >::A_scr
private

Definition at line 99 of file DragtFinnNormalForm.h.

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

template<int N>
int DragtFinnNormalForm< N >::freedom
private

Definition at line 96 of file DragtFinnNormalForm.h.

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

template<int N>
FVector<std::complex<double>, 2 * N> DragtFinnNormalForm< N >::lambda
private
template<int N>
DragtFinnMap<N> DragtFinnNormalForm< N >::N_scr
private
template<int N>
FMatrix<double, 2 * N, 2 * N> DragtFinnNormalForm< N >::V
private

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