26template <
class T>
class Array1D;
27template <
class T,
int M,
int N>
class FMatrix;
28template <
class T,
int N>
class FTps;
29template <
class T,
int N>
class FVector;
32template <
class T,
int N>
class FArray1D;
38template <
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;
256template <
class T,
int N>
260template <
class T,
int N>
264template <
class T,
int N>
268template <
class T,
int N>
272template <
class T,
int N>
276template <
class T,
int N>
280template <
class T,
int N>
284template <
class T,
int N>
288template <
class T,
int N>
292template <
class T,
int N>
296template <
class T,
int N>
300template <
class T,
int N>
305template <
class T,
int N>
310template <
class T,
int N>
324template <
class T,
int N>
328template <
class T,
int N>
FVps< T, N > ExpMap(const FTps< T, N > &H, const FVps< T, N > &M, int trunc=(FTps< T, N >::EXACT))
Build the exponential series.
FVps< T, N > operator/(const FVps< T, N > &lhs, const FTps< T, N > &rhs)
Divide.
FVector< T, N > operator*(const FVps< T, N > &lhs, const FVector< T, N > &rhs)
Multiply.
FVps< T, N > operator-(const FVps< T, N > &lhs, const FVps< T, N > &rhs)
Subtract.
std::istream & operator>>(std::istream &is, FVps< T, N > &)
Extract FVps from stream [b]is[/b].
FVps< T, N > operator+(const FVps< T, N > &lhs, const FVps< T, N > &rhs)
Add.
FVps< T, N > PoissonBracket(const FTps< T, N > &x, const FVps< T, N > &y, int trunc=(FTps< T, N >::EXACT))
Poisson bracket.
std::ostream & operator<<(std::ostream &os, const FVps< T, N > &vps)
Insert FVps to stream [b]os[/b].
Vector truncated power series in n variables.
FVps integral(int var) const
Partial integral.
const FVps & operator=(const FVps &)
Array1D< int > getSubstOrders(const FVps< T, N > &rhs, int trunc=(FTps< T, N >::EXACT)) const
Return orders {min, max, trc} of f(rhs(z)).
FTps< double, N > data[N]
void setComponent(int, const FTps< T, N > &)
Set component.
FVps & operator*=(const FTps< T, N > &rhs)
Multiply and assign.
void setMinOrder(int order)
Set minimum order.
FVps & operator*=(const T &rhs)
Multiply and assign.
std::ostream & put(std::ostream &os) const
Put a FVps to stream [b]os[/b].
void setTruncOrder(int order)
Set truncation order for all components.
FVps & operator-=(const FVector< T, N > &)
Subtract and assign.
FVps substitute(const FMatrix< T, N, N > &M) const
Substitute.
FVector< T, N > constantTerm() const
Extract the constant part of the map.
int getTopOrder() const
Get highest order contained in any component.
FVps substituteInto(const FMatrix< T, N, N > &lhs) const
Substitute map into matrix.
FVps substitute(const FMatrix< T, N, N > &M, int n) const
Substitute.
FVps(const FVector< T, N > &V)
Convert from vector.
FTps< T, N > getFTps(const FArray1D< int, N > &power) const
Get a FTps that is a combination of the polynomials of FVps.
FVps & operator+=(const FVector< T, N > &)
Add and assign.
FMatrix< T, N, N > linearTerms(const FVector< T, N > &P) const
Extract the linear part of the map expanded about point [b]P[/b].
int getMaxOrder() const
Get highest order contained in any component.
FVps operator+() const
Unary plus.
FVps myInverse(int trunc=(FTps< T, N >::EXACT)) const
Inverse.
int getVariables() const
Get number of variables.
FVps(const TransportMap< T, N > &rhs)
Convert from second-order map.
FVps & operator+=(const FVps &rhs)
Add and assign.
FVps truncate(int trunc)
Truncate.
void setMaxOrder(int order)
Set maximum order.
FVps operator*(const FVps< T, N > &rhs) const
Multiply.
FVps derivative(int var) const
Partial derivative.
FVps & operator/=(const FTps< T, N > &rhs)
Divide and assign.
const FTps< T, N > & getComponent(int n) const
Get component.
FVps filter(int minOrder, int maxOrder, int trcOrder=(FTps< T, N >::EXACT)) const
Extract given range of orders, with truncation.
void identity()
Set to identity.
int getDimension() const
Get dimension.
FVps(int minOrder, int maxOrder, int trcOrder)
Constructor.
std::istream & get(std::istream &is)
Get a FVps from stream [b]is[/b].
FVps substitute(const FMatrix< T, N, N > &M, int nl, int nh) const
Substitute.
FVector< T, N > constantTerm(const FVector< T, N > &P) const
Extract the constant part of the map expanded about point [b]P[/b].
FVps & operator-=(const FVps &rhs)
Subtract and assign.
int getTruncOrder() const
Get lowest truncation order in any component.
FVps inverse(int trunc=(FTps< T, N >::EXACT)) const
Inverse.
int getMinOrder() const
Get lowest order contained in any component.
FVps & operator/=(const T &rhs)
Divide and assign.
FVps(const LinearMap< T, N > &rhs)
Convert from linear map.
FVps substitute(const FVps< T, N > &m, int trunc=(FTps< T, N >::EXACT)) const
Substitute.
const FTps< T, N > & operator[](int) const
Get Component.
FTps< T, N > & operator[](int)
Get (Set) component.
FMatrix< T, N, N > linearTerms() const
Extract the linear part of the map.
FVps operator-() const
Unary minus.
FVps(const FMatrix< T, N, N > &M)
Convert from matrix.
A templated representation for one-dimensional arrays.
A templated representation for matrices.
Truncated power series in N variables of type T.
static const int EXACT
Representation of infinite precision.
A templated representation for vectors.
Linear map with values of type [b]T[/b] in [b]N[/b] variables.
Transport map with values of type [b]T[/b] in [b]N[/b] variables.