27 template <
class T>
class Tps;
28 template <
class T>
class TpsRep;
29 template <
class T>
class Matrix;
30 template <
class T>
class Vector;
31 template <
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;
327 template <
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; }
339 template <
class T>
inline
341 {
Tps<T> z(x);
return z += y; }
343 template <
class T>
inline
345 {
Tps<T> z(x);
return z -= y; }
347 template <
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; }
377 {
return x.
get(is); }
380 {
return x.
put(os); }
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>.