1 #ifndef CLASSIC_FLieGenerator_HH
2 #define CLASSIC_FLieGenerator_HH
27 template <
class T,
int N>
class FArray1D;
28 template <
class T,
int N,
int M>
class FMatrix;
29 template <
class T,
int N>
class FTps;
39 template <
class T,
int N>
68 inline const T *
begin()
const;
72 inline const T *
end()
const;
134 static inline int getSize(
int order);
160 template <
class T,
int N>
165 template <
class T,
int N>
170 template <
class T,
int N>
175 template <
class T,
int N>
180 template <
class T,
int N>
185 template <
class T,
int N>
190 template <
class T,
int N>
195 template <
class T,
int N>
200 template <
class T,
int N>
209 template <
class T,
int N>
210 std::ostream &operator<<(std::ostream &, const FLieGenerator<T, N> &);
214 #endif // CLASSIC_FLieGenerator_HH
FLieGenerator< std::complex< T >, N > toComplex(const FLieGenerator< T, N > &)
Convert real generator to complex.
Matrix< T > operator+(const Matrix< T > &, const Matrix< T > &)
Matrix addition.
Matrix< T > operator/(const Matrix< T > &, const T &)
Matrix divided by scalar.
bool operator==(const FLieGenerator &) const
A templated representation for matrices.
FLieGenerator< U, N > transform(const FMatrix< U, 2 *N, 2 *N > &) const
Substitute matrix in Lie generator.
FLieGenerator & operator+=(const FLieGenerator &)
Add vector and assign.
FLieGenerator scale(const FLieGenerator &) const
Scale monomial-wise.
Matrix< T > operator*(const Matrix< T > &, const Matrix< T > &)
Matrix multiply.
FLieGenerator< T, N > real(const FLieGenerator< std::complex< T >, N > &)
Take real part of a complex generator.
FLieGenerator derivative(int var) const
Partial derivative.
Tps< T > PoissonBracket(const Tps< T > &x, const Tps< T > &y)
Poisson bracket.
void clear()
Clear all coefficients.
static int getSize(int order)
FLieGenerator & operator-=(const FLieGenerator &)
Subtract vector and assign.
FLieGenerator operator-() const
Change sign of generator.
int getOrder() const
Return order of this generator.
bool isZero() const
Test for zero.
const FLieGenerator & operator=(const FLieGenerator &)
A representation for a homogeneous polynomial, used as a Lie generator.
T * begin()
Get pointer to beginning of generator.
A templated representation for one-dimensional arrays.
FLieGenerator & operator*=(const T &)
Multiply by scalar and assign.
FLieGenerator & operator/=(const T &)
Divide by scalar and assign.
T * end()
Get pointer past end of generator.
Truncated power series in N variables of type T.
Matrix< T > operator-(const Matrix< T > &, const Matrix< T > &)
Matrix subtraction.
int getBottomIndex() const
Return bottom index of this generator.
FLieGenerator< T, N > imag(const FLieGenerator< std::complex< T >, N > &)
Take imaginary part of a complex generator.
int getTopIndex() const
Return top index of this generator.
T & operator[](int n)
Get element.