OPAL (Object Oriented Parallel Accelerator Library)
2021.1.99
OPAL
|
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 FLieGenerator & | operator= (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... | |
FLieGenerator & | operator*= (const T &) |
Multiply by scalar and assign. More... | |
FLieGenerator & | operator/= (const T &) |
Divide by scalar and assign. More... | |
FLieGenerator & | operator+= (const FLieGenerator &) |
Add vector and assign. More... | |
FLieGenerator & | operator-= (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 |
A representation for a homogeneous polynomial, used as a Lie generator.
Definition at line 40 of file FLieGenerator.h.
|
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< 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.
FLieGenerator< T, N >::FLieGenerator |
Definition at line 63 of file FLieGenerator.hpp.
References FLieGenerator< T, N >::itsCoeffs, and Attrib::Legacy::Distribution::T.
FLieGenerator< T, N >::FLieGenerator | ( | const FLieGenerator< T, N > & | rhs | ) |
Definition at line 74 of file FLieGenerator.hpp.
FLieGenerator< T, N >::~FLieGenerator |
Definition at line 84 of file FLieGenerator.hpp.
|
inline |
Get pointer to beginning of generator.
Definition at line 101 of file FLieGenerator.hpp.
Referenced by imag(), real(), and toComplex().
|
inline |
Get pointer to beginning of generator.
Definition at line 108 of file FLieGenerator.hpp.
void FLieGenerator< T, N >::clear |
Clear all coefficients.
Definition at line 208 of file FLieGenerator.hpp.
References Attrib::Legacy::Distribution::T.
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().
|
inline |
Get pointer past end of generator.
Definition at line 115 of file FLieGenerator.hpp.
Referenced by imag(), real(), and toComplex().
|
inline |
Get pointer past end of generator.
Definition at line 121 of file FLieGenerator.hpp.
|
inline |
Return bottom index of this generator.
Definition at line 313 of file FLieGenerator.hpp.
Referenced by FLieGenerator< T, N >::derivative(), operator*(), and operator<<().
|
inlinestaticprivate |
Definition at line 334 of file FLieGenerator.hpp.
References FTpsData< N >::getSize().
|
inline |
Return order of this generator.
Definition at line 306 of file FLieGenerator.hpp.
Referenced by operator*(), operator<<(), and toComplex().
|
inlinestaticprivate |
Definition at line 327 of file FLieGenerator.hpp.
References FTpsData< N >::getSize().
|
inline |
Return top index of this generator.
Definition at line 320 of file FLieGenerator.hpp.
Referenced by FLieGenerator< T, N >::derivative(), operator*(), and operator<<().
|
inlinestaticprivate |
Definition at line 341 of file FLieGenerator.hpp.
References FTpsData< N >::getSize().
bool FLieGenerator< T, N >::isZero |
Test for zero.
Definition at line 233 of file FLieGenerator.hpp.
References Attrib::Legacy::Distribution::T.
Referenced by operator*(), FLieGenerator< T, N >::operator+=(), and FLieGenerator< T, N >::operator-=().
FLieGenerator< T, N > & FLieGenerator< T, N >::operator*= | ( | const T & | val | ) |
Multiply by scalar and assign.
Definition at line 152 of file FLieGenerator.hpp.
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.
FLieGenerator< T, N > FLieGenerator< T, N >::operator- |
Change sign of generator.
Definition at line 140 of file FLieGenerator.hpp.
References FLieGenerator< T, N >::itsCoeffs.
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.
FLieGenerator< T, N > & FLieGenerator< T, N >::operator/= | ( | const T & | val | ) |
Divide by scalar and assign.
Definition at line 164 of file FLieGenerator.hpp.
const FLieGenerator< T, N > & FLieGenerator< T, N >::operator= | ( | const FLieGenerator< T, N > & | rhs | ) |
Definition at line 90 of file FLieGenerator.hpp.
References FLieGenerator< T, N >::bottomIndex, FLieGenerator< T, N >::itsCoeffs, FLieGenerator< T, N >::itsOrder, and FLieGenerator< T, N >::topIndex.
bool FLieGenerator< T, N >::operator== | ( | const FLieGenerator< T, N > & | ) | const |
|
inline |
Get element.
Definition at line 128 of file FLieGenerator.hpp.
|
inline |
Get element.
Definition at line 134 of file FLieGenerator.hpp.
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.
FLieGenerator< U, N > FLieGenerator< T, N >::transform | ( | const FMatrix< U, 2 *N, 2 *N > & | mat | ) | const |
Substitute matrix in Lie generator.
Definition at line 256 of file FLieGenerator.hpp.
References Array1D< T >::begin(), Physics::c, FTpsData< N >::getProductArray(), FTpsData< N >::getSubTable(), TpsSubstitution::index, TpsSubstitution::order, prod(), Array1D< T >::size(), TpsSubstitution::skip, Attrib::Legacy::Distribution::T, and TpsSubstitution::variable.
|
private |
Definition at line 146 of file FLieGenerator.h.
Referenced by FLieGenerator< T, N >::FLieGenerator(), and FLieGenerator< T, N >::operator=().
|
private |
Definition at line 152 of file FLieGenerator.h.
Referenced by FLieGenerator< T, N >::FLieGenerator(), FLieGenerator< T, N >::operator+=(), FLieGenerator< T, N >::operator-(), FLieGenerator< T, N >::operator-=(), FLieGenerator< T, N >::operator=(), and FLieGenerator< T, N >::scale().
|
private |
Definition at line 143 of file FLieGenerator.h.
Referenced by FLieGenerator< T, N >::operator+=(), FLieGenerator< T, N >::operator-=(), and FLieGenerator< T, N >::operator=().
|
private |
Definition at line 149 of file FLieGenerator.h.
Referenced by FLieGenerator< T, N >::FLieGenerator(), and FLieGenerator< T, N >::operator=().