OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
FLieGenerator.hpp File Reference
#include "FixedAlgebra/FLieGenerator.h"
#include "Algebra/Array1D.h"
#include "FixedAlgebra/FArray1D.h"
#include "FixedAlgebra/FMatrix.h"
#include "FixedAlgebra/FMonomial.h"
#include "FixedAlgebra/FTps.h"
#include <complex>
#include <iosfwd>
#include <functional>
Include dependency graph for FLieGenerator.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

template<class T, int N>
FLieGenerator< T, N > operator+ (const FLieGenerator< T, N > &x, const FLieGenerator< T, N > &y)
 Add.
template<class T, int N>
FLieGenerator< T, N > operator- (const FLieGenerator< T, N > &x, const FLieGenerator< T, N > &y)
 Subtract.
template<class T, int N>
FLieGenerator< T, N > operator* (const FLieGenerator< T, N > &x, const T &y)
 Multiply by scalar.
template<class T, int N>
FLieGenerator< T, N > operator* (const T &x, const FLieGenerator< T, N > &y)
 Multiply by scalar.
template<class T, int N>
FLieGenerator< T, N > operator* (const FLieGenerator< T, N > &x, const FLieGenerator< T, N > &y)
 Multiply by Lie generator.
template<class T, int N>
FLieGenerator< T, N > operator/ (const FLieGenerator< T, N > &x, const T &y)
 Divide by scalar.
template<class T, int N>
FLieGenerator< T, N > real (const FLieGenerator< std::complex< T >, N > &x)
 Take real part of a complex generator.
template<class T, int N>
FLieGenerator< T, N > imag (const FLieGenerator< std::complex< T >, N > &x)
 Take imaginary part of a complex generator.
template<class T, int N>
FLieGenerator< std::complex< T >, N > toComplex (const FLieGenerator< T, N > &x)
 Convert real generator to complex.
template<class T, int N>
FLieGenerator< T, N > PoissonBracket (const FLieGenerator< T, N > &f, const FLieGenerator< T, N > &g)
 Poisson bracket of two Lie generators.
template<class T, int N>
std::ostream & operator<< (std::ostream &os, const FLieGenerator< T, N > &gen)
 Output.

Function Documentation

◆ imag()

template<class T, int N>
FLieGenerator< T, N > imag ( const FLieGenerator< std::complex< T >, N > & x)

Take imaginary part of a complex generator.

Definition at line 437 of file FLieGenerator.hpp.

References FLieGenerator< T, N >::begin(), and FLieGenerator< T, N >::end().

Referenced by MapAnalyser::normalizeEigen_m(), and PETE_DefineUnary().

Here is the call graph for this function:

◆ operator*() [1/3]

template<class T, int N>
FLieGenerator< T, N > operator* ( const FLieGenerator< T, N > & x,
const FLieGenerator< T, N > & y )

Multiply by Lie generator.

Definition at line 384 of file FLieGenerator.hpp.

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

Here is the call graph for this function:

◆ operator*() [2/3]

template<class T, int N>
FLieGenerator< T, N > operator* ( const FLieGenerator< T, N > & x,
const T & y )

Multiply by scalar.

Definition at line 368 of file FLieGenerator.hpp.

◆ operator*() [3/3]

template<class T, int N>
FLieGenerator< T, N > operator* ( const T & x,
const FLieGenerator< T, N > & y )

Multiply by scalar.

Definition at line 376 of file FLieGenerator.hpp.

◆ operator+()

template<class T, int N>
FLieGenerator< T, N > operator+ ( const FLieGenerator< T, N > & x,
const FLieGenerator< T, N > & y )

Add.

Definition at line 352 of file FLieGenerator.hpp.

◆ operator-()

template<class T, int N>
FLieGenerator< T, N > operator- ( const FLieGenerator< T, N > & x,
const FLieGenerator< T, N > & y )

Subtract.

Definition at line 360 of file FLieGenerator.hpp.

◆ operator/()

template<class T, int N>
FLieGenerator< T, N > operator/ ( const FLieGenerator< T, N > & x,
const T & y )

Divide by scalar.

Definition at line 414 of file FLieGenerator.hpp.

◆ operator<<()

template<class T, int N>
std::ostream & operator<< ( std::ostream & os,
const FLieGenerator< T, N > & gen )

Output.

Definition at line 515 of file FLieGenerator.hpp.

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

Here is the call graph for this function:

◆ PoissonBracket()

template<class T, int N>
FLieGenerator< T, N > PoissonBracket ( const FLieGenerator< T, N > & f,
const FLieGenerator< T, N > & g )

Poisson bracket of two Lie generators.

Definition at line 466 of file FLieGenerator.hpp.

References FLieGenerator< T, N >::begin(), FLieGenerator< T, N >::getBottomIndex(), FTpsData< N >::getExponents(), FLieGenerator< T, N >::getOrder(), FTpsData< N >::getProductArray(), and FLieGenerator< T, N >::isZero().

Here is the call graph for this function:

◆ real()

◆ toComplex()

template<class T, int N>
FLieGenerator< std::complex< T >, N > toComplex ( const FLieGenerator< T, N > & x)

Convert real generator to complex.

Definition at line 452 of file FLieGenerator.hpp.

References FLieGenerator< T, N >::begin(), FLieGenerator< T, N >::end(), and FLieGenerator< T, N >::getOrder().

Here is the call graph for this function: