27template <
class T>
class Tps;
28template <
class T>
class TpsRep;
29template <
class T>
class Matrix;
30template <
class T>
class Vector;
31template <
class T>
class VpsMap;
52 Tps(
int maxOrder,
int nVar);
233 std::istream &
get(std::istream &is);
236 std::ostream &
put(std::ostream &os)
const;
327template <
class T> std::ostream &
operator<<(std::ostream &,
const Tps<T> &x);
334{
Tps<T> z(x);
return z += y; }
337{
Tps<T> z(x);
return z -= y; }
339template <
class T>
inline
341{
Tps<T> z(x);
return z += y; }
343template <
class T>
inline
345{
Tps<T> z(x);
return z -= y; }
347template <
class T>
inline
349{
Tps<T> z(y);
return z += x; }
353{
Tps<T> z(- y);
return z += x; }
356{
Tps<T> z(x);
return z *= y; }
359{
Tps<T> z(x);
return z /= y; }
362{
Tps<T> z(x);
return z *= y; }
365{
Tps<T> z(x);
return z /= y; }
368{
Tps<T> z(y);
return z *= x; }
Tps< T > operator-(const Tps< T > &x, const Tps< T > &y)
Subtract.
Tps< T > operator+(const Tps< T > &x, const Tps< T > &y)
Add.
Tps< T > operator/(const Tps< T > &x, const Tps< T > &y)
Divide.
bool operator==(const T &x, const Tps< T > &y)
Test for equality.
std::istream & operator>>(std::istream &, Tps< T > &x)
Extract from stream.
std::ostream & operator<<(std::ostream &, const Tps< T > &x)
Insert to stream.
Tps< T > operator*(const Tps< T > &x, const Tps< T > &y)
Multiply.
int getVariables() const
Get number of variables.
Tps< T > & operator=(const Tps< T > &y)
std::ostream & put(std::ostream &os) const
Put Tps to the stream is.
Tps< T > multiply(const Tps< T > &y, int trunc) const
Truncated multiplication.
Tps< T > substitute(const Matrix< T > &M) const
Substitute.
int getSize() const
Get number of coefficients.
static Tps< T > makeMonomial(const TpsMonomial &m, const T &t)
Make monomial.
Tps< T > multiplyVariable(int var) const
Multiply by variable [b]var[/b].
Tps< T > integral(int var) const
Partial integral.
bool operator==(const Tps< T > &y) const
Equality operator.
const TpsMonomial & getExponents(int index) const
Get exponents.
static int getGlobalTruncOrder()
Get global truncation order.
Tps< T > truncate(int trunc)
Truncate.
Tps< T > & operator+=(const Tps< T > &y)
Add and assign.
Tps< T > inverse(int order=truncOrder) const
Reciprocal value.
void setCoefficient(int index, const T &value)
Set coefficient.
Tps< T > filter(int lowOrder, int highOrder) const
Extract orders.
Tps< T > derivative(int var) const
Partial derivative.
static const int EXACT
Representation of infinite precision.
const T operator[](int index) const
Get coefficient.
static void setGlobalTruncOrder(int order)
Set global truncation order.
Tps< T > operator+() const
Unary plus.
static Tps< T > makeVarPower(int nVar, int var, int power)
Make power.
Tps< T > scaleMonomials(const Tps< T > &y) const
Multiply monomial-wise.
Tps< T > Taylor(const T series[], int n) const
Taylor series.
const T getCoefficient(int index) const
Get coefficient.
T evaluate(const Vector< T > &v) const
Substitute.
bool isConstant() const
Test for constant.
static Tps< T > makeVariable(int nVar, int var)
Make variable.
Tps< T > & operator*=(const Tps< T > &y)
Multiply and assign.
Tps< T > operator-() const
Unary minus.
std::istream & get(std::istream &is)
Get Tps from the stream is.
int getTruncOrder() const
Get truncation order.
int getMaxOrder() const
Get maximal order.
int getOrder(int index) const
Get order.
Tps< T > & operator-=(const Tps< T > &y)
Subtract and assign.
bool operator!=(const Tps< T > &y) const
Inequality operator.
Tps< T > & operator/=(const Tps< T > &y)
Divide and assign.
Truncate power series map.
Exponent array for Tps<T>.