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

A representation for a homogeneous polynomial, used as a Lie generator. More...

#include <DragtFinnMap.h>

Public Member Functions

 FLieGenerator (int)
 Construct a zero generator of given order. More...
 
 FLieGenerator (const FTps< T, 2 *N > &, int)
 Construct a zero generator of given order by extraction. More...
 
 FLieGenerator ()
 
 FLieGenerator (const FLieGenerator &)
 
 ~FLieGenerator ()
 
const FLieGeneratoroperator= (const FLieGenerator &)
 
bool operator== (const FLieGenerator &) const
 
Tbegin ()
 Get pointer to beginning of generator. More...
 
Tend ()
 Get pointer past end of generator. More...
 
const Tbegin () const
 Get pointer to beginning of generator. More...
 
const Tend () const
 Get pointer past end of generator. More...
 
Toperator[] (int n)
 Get element. More...
 
const Toperator[] (int n) const
 Get element. More...
 
FLieGenerator operator- () const
 Change sign of generator. More...
 
FLieGeneratoroperator*= (const T &)
 Multiply by scalar and assign. More...
 
FLieGeneratoroperator/= (const T &)
 Divide by scalar and assign. More...
 
FLieGeneratoroperator+= (const FLieGenerator &)
 Add vector and assign. More...
 
FLieGeneratoroperator-= (const FLieGenerator &)
 Subtract vector and assign. More...
 
void clear ()
 Clear all coefficients. More...
 
FLieGenerator derivative (int var) const
 Partial derivative. More...
 
bool isZero () const
 Test for zero. More...
 
FLieGenerator scale (const FLieGenerator &) const
 Scale monomial-wise. More...
 
template<class U >
FLieGenerator< U, N > transform (const FMatrix< U, 2 *N, 2 *N > &) const
 Substitute matrix in Lie generator. More...
 
int getOrder () const
 Return order of this generator. More...
 
int getBottomIndex () const
 Return bottom index of this generator. More...
 
int getTopIndex () const
 Return top index of this generator. More...
 

Static Private Member Functions

static int getSize (int order)
 
static int getBottomIndex (int order)
 
static int getTopIndex (int order)
 

Private Attributes

int itsOrder
 
int bottomIndex
 
int topIndex
 
Array1D< TitsCoeffs
 

Detailed Description

template<class T, int N>
class FLieGenerator< T, N >

A representation for a homogeneous polynomial, used as a Lie generator.

Definition at line 29 of file DragtFinnMap.h.

Constructor & Destructor Documentation

template<class T , int N>
FLieGenerator< T, N >::FLieGenerator ( int  order)
explicit

Construct a zero generator of given order.

Definition at line 38 of file FLieGenerator.hpp.

References FLieGenerator< T, N >::itsCoeffs, and T.

template<class T , int N>
FLieGenerator< T, N >::FLieGenerator ( const FTps< T, 2 *N > &  tps,
int  order 
)

Construct a zero generator of given order by extraction.

Definition at line 49 of file FLieGenerator.hpp.

References FTps< T, N >::begin(), FLieGenerator< T, N >::bottomIndex, FTps< T, N >::getMaxOrder(), FLieGenerator< T, N >::itsCoeffs, T, and FLieGenerator< T, N >::topIndex.

Here is the call graph for this function:

template<class T , int N>
FLieGenerator< T, N >::FLieGenerator ( )

Definition at line 64 of file FLieGenerator.hpp.

References FLieGenerator< T, N >::itsCoeffs, and T.

template<class T , int N>
FLieGenerator< T, N >::FLieGenerator ( const FLieGenerator< T, N > &  rhs)

Definition at line 75 of file FLieGenerator.hpp.

template<class T , int N>
FLieGenerator< T, N >::~FLieGenerator ( )

Definition at line 85 of file FLieGenerator.hpp.

Member Function Documentation

template<class T , int N>
T * FLieGenerator< T, N >::begin ( )
inline
template<class T , int N>
const T * FLieGenerator< T, N >::begin ( ) const
inline

Get pointer to beginning of generator.

Definition at line 109 of file FLieGenerator.hpp.

template<class T , int N>
void FLieGenerator< T, N >::clear ( )

Clear all coefficients.

Definition at line 209 of file FLieGenerator.hpp.

References T.

template<class T , int N>
FLieGenerator< T, N > FLieGenerator< T, N >::derivative ( int  var) const

Partial derivative.

Definition at line 215 of file FLieGenerator.hpp.

References FLieGenerator< T, N >::getBottomIndex(), FTpsData< N >::getProductArray(), and FLieGenerator< T, N >::getTopIndex().

Referenced by DragtFinnMap< N >::factorize().

Here is the call graph for this function:

template<class T , int N>
T * FLieGenerator< T, N >::end ( )
inline

Get pointer past end of generator.

Definition at line 115 of file FLieGenerator.hpp.

Referenced by DragtFinnMap< N >::assign(), DragtFinnMap< N >::getGenerator(), imag(), real(), and toComplex().

template<class T , int N>
const T * FLieGenerator< T, N >::end ( ) const
inline

Get pointer past end of generator.

Definition at line 122 of file FLieGenerator.hpp.

template<class T , int N>
int FLieGenerator< T, N >::getBottomIndex ( ) const
inline

Return bottom index of this generator.

Definition at line 314 of file FLieGenerator.hpp.

Referenced by FLieGenerator< T, N >::derivative(), DragtFinnNormalForm< N >::DragtFinnNormalForm(), operator*(), and PoissonBracket().

template<class T , int N>
int FLieGenerator< T, N >::getBottomIndex ( int  order)
inlinestaticprivate

Definition at line 335 of file FLieGenerator.hpp.

References FTpsData< N >::getSize().

Here is the call graph for this function:

template<class T , int N>
int FLieGenerator< T, N >::getOrder ( ) const
inline
template<class T , int N>
int FLieGenerator< T, N >::getSize ( int  order)
inlinestaticprivate

Definition at line 328 of file FLieGenerator.hpp.

References FTpsData< N >::getSize().

Here is the call graph for this function:

template<class T , int N>
int FLieGenerator< T, N >::getTopIndex ( ) const
inline

Return top index of this generator.

Definition at line 321 of file FLieGenerator.hpp.

Referenced by FLieGenerator< T, N >::derivative(), DragtFinnNormalForm< N >::DragtFinnNormalForm(), and operator*().

template<class T , int N>
int FLieGenerator< T, N >::getTopIndex ( int  order)
inlinestaticprivate

Definition at line 342 of file FLieGenerator.hpp.

References FTpsData< N >::getSize().

Here is the call graph for this function:

template<class T , int N>
bool FLieGenerator< T, N >::isZero ( ) const
template<class T , int N>
FLieGenerator< T, N > & FLieGenerator< T, N >::operator*= ( const T val)

Multiply by scalar and assign.

Definition at line 152 of file FLieGenerator.hpp.

template<class T , int N>
FLieGenerator< T, N > & FLieGenerator< T, N >::operator+= ( const FLieGenerator< T, N > &  rhs)

Add vector and assign.

Definition at line 177 of file FLieGenerator.hpp.

References FLieGenerator< T, N >::isZero(), FLieGenerator< T, N >::itsCoeffs, and FLieGenerator< T, N >::itsOrder.

Here is the call graph for this function:

template<class T , int N>
FLieGenerator< T, N > FLieGenerator< T, N >::operator- ( ) const

Change sign of generator.

Definition at line 140 of file FLieGenerator.hpp.

References FLieGenerator< T, N >::itsCoeffs.

template<class T , int N>
FLieGenerator< T, N > & FLieGenerator< T, N >::operator-= ( const FLieGenerator< T, N > &  rhs)

Subtract vector and assign.

Definition at line 193 of file FLieGenerator.hpp.

References FLieGenerator< T, N >::isZero(), FLieGenerator< T, N >::itsCoeffs, and FLieGenerator< T, N >::itsOrder.

Here is the call graph for this function:

template<class T , int N>
FLieGenerator< T, N > & FLieGenerator< T, N >::operator/= ( const T val)

Divide by scalar and assign.

Definition at line 164 of file FLieGenerator.hpp.

template<class T , int N>
const FLieGenerator< T, N > & FLieGenerator< T, N >::operator= ( const FLieGenerator< T, N > &  rhs)
template<class T, int N>
bool FLieGenerator< T, N >::operator== ( const FLieGenerator< T, N > &  ) const
template<class T , int N>
T & FLieGenerator< T, N >::operator[] ( int  n)
inline

Get element.

Definition at line 128 of file FLieGenerator.hpp.

template<class T , int N>
const T & FLieGenerator< T, N >::operator[] ( int  n) const
inline

Get element.

Definition at line 134 of file FLieGenerator.hpp.

template<class T , int N>
FLieGenerator< T, N > FLieGenerator< T, N >::scale ( const FLieGenerator< T, N > &  rhs) const
template<class T , int N>
template<class U >
FLieGenerator< U, N > FLieGenerator< T, N >::transform ( const FMatrix< U, 2 *N, 2 *N > &  mat) const

Member Data Documentation

template<class T, int N>
int FLieGenerator< T, N >::bottomIndex
private
template<class T, int N>
Array1D<T> FLieGenerator< T, N >::itsCoeffs
private
template<class T, int N>
int FLieGenerator< T, N >::itsOrder
private
template<class T, int N>
int FLieGenerator< T, N >::topIndex
private

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