1 #ifndef CLASSIC_FVps_HH
2 #define CLASSIC_FVps_HH
26 template <
class T>
class Array1D;
27 template <
class T,
int M,
int N>
class FMatrix;
28 template <
class T,
int N>
class FTps;
29 template <
class T,
int N>
class FVector;
30 template <
class T,
int N>
class LinearMap;
32 template <
class T,
int N>
class FArray1D;
38 template <
class T,
int N>
46 explicit FVps(
int minOrder,
int maxOrder,
int trcOrder);
239 std::istream &
get(std::istream &is);
242 std::ostream &
put(std::ostream &os)
const;
256 template <
class T,
int N>
260 template <
class T,
int N>
264 template <
class T,
int N>
268 template <
class T,
int N>
272 template <
class T,
int N>
276 template <
class T,
int N>
280 template <
class T,
int N>
284 template <
class T,
int N>
288 template <
class T,
int N>
292 template <
class T,
int N>
296 template <
class T,
int N>
300 template <
class T,
int N>
305 template <
class T,
int N>
310 template <
class T,
int N>
324 template <
class T,
int N>
328 template <
class T,
int N>
329 std::ostream &operator<<(std::ostream &os, const FVps<T, N> &vps);
335 #endif // CLASSIC_FVps_HH
Matrix< T > operator+(const Matrix< T > &, const Matrix< T > &)
Matrix addition.
FVps operator*(const FVps< T, N > &rhs) const
Multiply.
FVps truncate(int trunc)
Truncate.
const FVps & operator=(const FVps &)
Matrix< T > operator/(const Matrix< T > &, const T &)
Matrix divided by scalar.
int getTopOrder() const
Get highest order contained in any component.
void identity()
Set to identity.
FVps derivative(int var) const
Partial derivative.
Transport map with values of type [b]T[/b] in [b]N[/b] variables.
A templated representation for matrices.
A templated representation for vectors.
const FTps< T, N > & operator[](int) const
Get Component.
FVps myInverse(int trunc=(FTps< T, N >::EXACT)) const
Inverse.
Matrix< T > operator*(const Matrix< T > &, const Matrix< T > &)
Matrix multiply.
FVps & operator*=(const FTps< T, N > &rhs)
Multiply and assign.
std::ostream & put(std::ostream &os) const
Put a FVps to stream [b]os[/b].
const FTps< T, N > & getComponent(int n) const
Get component.
FVps substituteInto(const FMatrix< T, N, N > &lhs) const
Substitute map into matrix.
Array1D< int > getSubstOrders(const FVps< T, N > &rhs, int trunc=(FTps< T, N >::EXACT)) const
Return orders {min, max, trc} of f(rhs(z)).
FVps & operator/=(const FTps< T, N > &rhs)
Divide and assign.
void setTruncOrder(int order)
Set truncation order for all components.
void setMaxOrder(int order)
Set maximum order.
FVps integral(int var) const
Partial integral.
Tps< T > PoissonBracket(const Tps< T > &x, const Tps< T > &y)
Poisson bracket.
int getTruncOrder() const
Get lowest truncation order in any component.
FVector< T, N > constantTerm() const
Extract the constant part of the map.
Linear map with values of type [b]T[/b] in [b]N[/b] variables.
FVps inverse(int trunc=(FTps< T, N >::EXACT)) const
Inverse.
FVps< T, N > ExpMap(const FTps< T, N > &H, int trunc=FTps< T, N >::EXACT)
Build the exponential series.
FVps filter(int minOrder, int maxOrder, int trcOrder=(FTps< T, N >::EXACT)) const
Extract given range of orders, with truncation.
FMatrix< T, N, N > linearTerms() const
Extract the linear part of the map.
int getVariables() const
Get number of variables.
int getMaxOrder() const
Get highest order contained in any component.
FVps operator-() const
Unary minus.
int getDimension() const
Get dimension.
A templated representation for one-dimensional arrays.
void setMinOrder(int order)
Set minimum order.
FVps & operator+=(const FVps &rhs)
Add and assign.
Truncated power series in N variables of type T.
Matrix< T > operator-(const Matrix< T > &, const Matrix< T > &)
Matrix subtraction.
FTps< T, N > getFTps(const FArray1D< int, N > &power) const
Get a FTps that is a combination of the polynomials of FVps.
FVps substitute(const FMatrix< T, N, N > &M, int n) const
Substitute.
FVps operator+() const
Unary plus.
int getMinOrder() const
Get lowest order contained in any component.
void setComponent(int, const FTps< T, N > &)
Set component.
Vector truncated power series in n variables.
std::istream & operator>>(std::istream &, LieMap< T > &x)
Extract LieMap<T> from stream.
FVps & operator-=(const FVps &rhs)
Subtract and assign.