OPAL (Object Oriented Parallel Accelerator Library)  2021.1.99
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 <FLieGenerator.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
 
T * begin ()
 Get pointer to beginning of generator. More...
 
T * end ()
 Get pointer past end of generator. More...
 
const T * begin () const
 Get pointer to beginning of generator. More...
 
const T * end () const
 Get pointer past end of generator. More...
 
T & operator[] (int n)
 Get element. More...
 
const T & operator[] (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< T > itsCoeffs
 

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 40 of file FLieGenerator.h.

Constructor & Destructor Documentation

◆ FLieGenerator() [1/4]

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

Construct a zero generator of given order.

Definition at line 37 of file FLieGenerator.hpp.

References FLieGenerator< T, N >::itsCoeffs, and Attrib::Legacy::Distribution::T.

◆ FLieGenerator() [2/4]

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 48 of file FLieGenerator.hpp.

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

Here is the call graph for this function:

◆ FLieGenerator() [3/4]

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

◆ FLieGenerator() [4/4]

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

Definition at line 74 of file FLieGenerator.hpp.

◆ ~FLieGenerator()

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

Definition at line 84 of file FLieGenerator.hpp.

Member Function Documentation

◆ begin() [1/2]

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

Get pointer to beginning of generator.

Definition at line 101 of file FLieGenerator.hpp.

Referenced by imag(), real(), and toComplex().

◆ begin() [2/2]

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

Get pointer to beginning of generator.

Definition at line 108 of file FLieGenerator.hpp.

◆ clear()

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

Clear all coefficients.

Definition at line 208 of file FLieGenerator.hpp.

References Attrib::Legacy::Distribution::T.

◆ derivative()

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().

Here is the call graph for this function:

◆ end() [1/2]

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 imag(), real(), and toComplex().

◆ end() [2/2]

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

Get pointer past end of generator.

Definition at line 121 of file FLieGenerator.hpp.

◆ getBottomIndex() [1/2]

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

Return bottom index of this generator.

Definition at line 313 of file FLieGenerator.hpp.

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

◆ getBottomIndex() [2/2]

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

Definition at line 334 of file FLieGenerator.hpp.

References FTpsData< N >::getSize().

Here is the call graph for this function:

◆ getOrder()

template<class T , int N>
int FLieGenerator< T, N >::getOrder
inline

Return order of this generator.

Definition at line 306 of file FLieGenerator.hpp.

Referenced by operator*(), operator<<(), and toComplex().

◆ getSize()

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

Definition at line 327 of file FLieGenerator.hpp.

References FTpsData< N >::getSize().

Here is the call graph for this function:

◆ getTopIndex() [1/2]

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

Return top index of this generator.

Definition at line 320 of file FLieGenerator.hpp.

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

◆ getTopIndex() [2/2]

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

Definition at line 341 of file FLieGenerator.hpp.

References FTpsData< N >::getSize().

Here is the call graph for this function:

◆ isZero()

template<class T , int N>
bool FLieGenerator< T, N >::isZero

◆ operator*=()

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.

◆ operator+=()

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

Add vector and assign.

Definition at line 176 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:

◆ operator-()

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

Change sign of generator.

Definition at line 140 of file FLieGenerator.hpp.

References FLieGenerator< T, N >::itsCoeffs.

◆ operator-=()

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

Subtract vector and assign.

Definition at line 192 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:

◆ operator/=()

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.

◆ operator=()

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

◆ operator==()

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

◆ operator[]() [1/2]

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

Get element.

Definition at line 128 of file FLieGenerator.hpp.

◆ operator[]() [2/2]

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.

◆ scale()

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

Scale monomial-wise.

Definition at line 246 of file FLieGenerator.hpp.

References FLieGenerator< T, N >::itsCoeffs.

◆ transform()

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

◆ bottomIndex

template<class T , int N>
int FLieGenerator< T, N >::bottomIndex
private

◆ itsCoeffs

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

◆ itsOrder

template<class T , int N>
int FLieGenerator< T, N >::itsOrder
private

◆ topIndex

template<class T , int N>
int FLieGenerator< T, N >::topIndex
private

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