OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
Tps< T > Class Template Reference

Truncated power series. More...

#include <Tps.h>

Public Member Functions

 Tps (int maxOrder, int nVar)
 Constructor. More...
 
 Tps (const T &y)
 Conversion. More...
 
 Tps (int y)
 Conversion. More...
 
 Tps ()
 
 Tps (const Tps< T > &x)
 
 ~Tps ()
 
Tps< T > & operator= (const Tps< T > &y)
 
Tps< T > & operator= (const T &y)
 Convert and assign. More...
 
Tps< Tfilter (int lowOrder, int highOrder) const
 Extract orders. More...
 
Tps< Ttruncate (int trunc)
 Truncate. More...
 
const T getCoefficient (int index) const
 Get coefficient. More...
 
void setCoefficient (int index, const T &value)
 Set coefficient. More...
 
const T getCoefficient (const TpsMonomial &monomial) const
 Get coefficient. More...
 
void setCoefficient (const TpsMonomial &monomial, const T &value)
 Set coefficient. More...
 
const T operator[] (int index) const
 Get coefficient. More...
 
Toperator[] (int index)
 Get coefficient. More...
 
const T operator[] (const TpsMonomial &monomial) const
 Get coefficient. More...
 
Toperator[] (const TpsMonomial &monomial)
 Get coefficient. More...
 
Tps< Toperator+ () const
 Unary plus. More...
 
Tps< Toperator- () const
 Unary minus. More...
 
Tps< T > & operator+= (const Tps< T > &y)
 Add and assign. More...
 
Tps< T > & operator-= (const Tps< T > &y)
 Subtract and assign. More...
 
Tps< T > & operator*= (const Tps< T > &y)
 Multiply and assign. More...
 
Tps< T > & operator/= (const Tps< T > &y)
 Divide and assign. More...
 
Tps< T > & operator+= (const T &y)
 Add constant and assign. More...
 
Tps< T > & operator-= (const T &y)
 Subtract constant and assign. More...
 
Tps< T > & operator*= (const T &y)
 Multiply by constant and assign. More...
 
Tps< T > & operator/= (const T &y)
 Divide by constant and assign. More...
 
bool operator== (const Tps< T > &y) const
 Equality operator. More...
 
bool operator== (const T &y) const
 Equlatity with constant. More...
 
bool operator!= (const Tps< T > &y) const
 Inequality operator. More...
 
bool operator!= (const T &y) const
 Inequality with constant. More...
 
Tps< Tsubstitute (const Matrix< T > &M) const
 Substitute. More...
 
Tps< Tsubstitute (const VpsMap< T > &m) const
 Substitute. More...
 
T evaluate (const Vector< T > &v) const
 Substitute. More...
 
void clear ()
 Set to zero. More...
 
Tps< Tinverse (int order=truncOrder) const
 Reciprocal value. More...
 
Tps< Tmultiply (const Tps< T > &y, int trunc) const
 Truncated multiplication. More...
 
Tps< Tderivative (int var) const
 Partial derivative. More...
 
Tps< Tintegral (int var) const
 Partial integral. More...
 
Tps< TmultiplyVariable (int var) const
 Multiply by variable [b]var[/b]. More...
 
Tps< TscaleMonomials (const Tps< T > &y) const
 Multiply monomial-wise. More...
 
Tps< TTaylor (const T series[], int n) const
 Taylor series. More...
 
int getMaxOrder () const
 Get maximal order. More...
 
int getTruncOrder () const
 Get truncation order. More...
 
int getVariables () const
 Get number of variables. More...
 
int getSize () const
 Get number of coefficients. More...
 
std::istream & get (std::istream &is)
 Get Tps from the stream is. More...
 
std::ostream & put (std::ostream &os) const
 Put Tps to the stream is. More...
 
const TpsMonomialgetExponents (int index) const
 Get exponents. More...
 
int getOrder (int index) const
 Get order. More...
 
int getSize (int order) const
 Size. More...
 
bool isConstant () const
 Test for constant. More...
 

Static Public Member Functions

static Tps< TmakeVariable (int nVar, int var)
 Make variable. More...
 
static Tps< TmakeVarPower (int nVar, int var, int power)
 Make power. More...
 
static Tps< TmakeMonomial (const TpsMonomial &m, const T &t)
 Make monomial. More...
 
static int getGlobalTruncOrder ()
 Get global truncation order. More...
 
static void setGlobalTruncOrder (int order)
 Set global truncation order. More...
 

Static Public Attributes

static const int EXACT = INT_MAX
 Representation of infinite precision. More...
 

Private Member Functions

 Tps (TpsRep< T > *)
 
void setMaxOrder (int)
 
void unique ()
 

Private Attributes

TpsRep< T > * rep
 

Static Private Attributes

static int truncOrder = EXACT
 

Detailed Description

template<class T>
class Tps< T >

Truncated power series.

Definition at line 27 of file Tps.h.

Constructor & Destructor Documentation

template<class T >
Tps< T >::Tps ( int  maxOrder,
int  nVar 
)

Constructor.

Definition at line 227 of file Tps.hpp.

template<class T>
Tps< T >::Tps ( const T y)

Conversion.

Definition at line 239 of file Tps.hpp.

References Tps< T >::rep.

template<class T>
Tps< T >::Tps ( int  y)

Conversion.

Definition at line 246 of file Tps.hpp.

References Tps< T >::rep, and T.

template<class T>
Tps< T >::Tps ( )

Definition at line 221 of file Tps.hpp.

template<class T>
Tps< T >::Tps ( const Tps< T > &  x)

Definition at line 233 of file Tps.hpp.

template<class T >
Tps< T >::~Tps ( )

Definition at line 253 of file Tps.hpp.

References TpsRep< T >::release(), and Tps< T >::rep.

Here is the call graph for this function:

template<class T>
Tps< T >::Tps ( TpsRep< T > *  d)
inlineprivate

Definition at line 1096 of file Tps.hpp.

Member Function Documentation

template<class T >
void Tps< T >::clear ( )

Set to zero.

Definition at line 714 of file Tps.hpp.

References TpsRep< T >::release(), Tps< T >::rep, and TpsRep< T >::zero().

Here is the call graph for this function:

template<class T >
Tps< T > Tps< T >::derivative ( int  var) const

Partial derivative.

Definition at line 920 of file Tps.hpp.

References TpsRep< T >::create(), TpsRep< T >::data(), Tps< T >::getExponents(), Tps< T >::getMaxOrder(), Tps< T >::getSize(), Tps< T >::getTruncOrder(), Tps< T >::getVariables(), Tps< T >::rep, and T.

Referenced by LieMap< T >::ExpMap(), and PoissonBracket().

Here is the call graph for this function:

template<class T>
T Tps< T >::evaluate ( const Vector< T > &  v) const
template<class T >
Tps< T > Tps< T >::filter ( int  lowOrder,
int  highOrder 
) const

Extract orders.

Definition at line 279 of file Tps.hpp.

References TpsRep< T >::create(), TpsRep< T >::data(), Tps< T >::getMaxOrder(), Tps< T >::getSize(), Tps< T >::getTruncOrder(), Tps< T >::getVariables(), min(), and Tps< T >::rep.

Referenced by Tps< T >::truncate().

Here is the call graph for this function:

template<class T >
std::istream & Tps< T >::get ( std::istream &  is)

Get Tps from the stream is.

Definition at line 721 of file Tps.hpp.

References TpsMonomial::getIndex(), Tps< T >::setMaxOrder(), T, and Tps< T >::truncOrder.

Referenced by operator>>().

Here is the call graph for this function:

template<class T >
const T Tps< T >::getCoefficient ( int  index) const

Get coefficient.

Definition at line 327 of file Tps.hpp.

References Tps< T >::rep.

Referenced by NormalForm::anharmonicity(), and Tps< T >::getCoefficient().

template<class T >
const T Tps< T >::getCoefficient ( const TpsMonomial monomial) const

Get coefficient.

Definition at line 355 of file Tps.hpp.

References Tps< T >::getCoefficient(), TpsMonomial::getIndex(), TpsMonomial::getVariables(), and Tps< T >::getVariables().

Here is the call graph for this function:

template<class T >
const TpsMonomial & Tps< T >::getExponents ( int  index) const

Get exponents.

Definition at line 1073 of file Tps.hpp.

References Tps< T >::rep.

Referenced by Tps< T >::derivative(), Tps< T >::integral(), NormalForm::NormalForm(), and Tps< T >::put().

template<class T >
int Tps< T >::getGlobalTruncOrder ( )
static

Get global truncation order.

Definition at line 1061 of file Tps.hpp.

References Tps< T >::truncOrder.

template<class T >
int Tps< T >::getMaxOrder ( ) const
template<class T >
int Tps< T >::getOrder ( int  index) const

Get order.

Definition at line 1084 of file Tps.hpp.

References Tps< T >::rep.

Referenced by Tps< T >::setCoefficient().

template<class T >
int Tps< T >::getSize ( ) const
template<class T >
int Tps< T >::getSize ( int  order) const

Size.

Definition at line 1090 of file Tps.hpp.

References Tps< T >::rep.

template<class T >
int Tps< T >::getTruncOrder ( ) const
template<class T >
int Tps< T >::getVariables ( ) const
template<class T >
Tps< T > Tps< T >::integral ( int  var) const

Partial integral.

Definition at line 946 of file Tps.hpp.

References TpsRep< T >::create(), TpsRep< T >::data(), Tps< T >::getExponents(), Tps< T >::getSize(), Tps< T >::getVariables(), min(), Tps< T >::rep, T, and Tps< T >::truncOrder.

Here is the call graph for this function:

template<class T >
Tps< T > Tps< T >::inverse ( int  order = truncOrder) const

Reciprocal value.

Definition at line 897 of file Tps.hpp.

References Tps< T >::getTruncOrder(), Tps< T >::isConstant(), min(), Tps< T >::rep, T, and Tps< T >::Taylor().

Referenced by operator/(), Vps< T >::operator/=(), Tps< T >::operator/=(), and pow().

Here is the call graph for this function:

template<class T >
bool Tps< T >::isConstant ( ) const

Test for constant.

Definition at line 1055 of file Tps.hpp.

References Tps< T >::rep.

Referenced by Tps< T >::inverse(), and Tps< T >::Taylor().

template<class T>
Tps< T > Tps< T >::makeMonomial ( const TpsMonomial m,
const T t 
)
static

Make monomial.

Definition at line 401 of file Tps.hpp.

References TpsRep< T >::create(), Tps< T >::EXACT, TpsMonomial::getOrder(), and TpsMonomial::getVariables().

Here is the call graph for this function:

template<class T >
Tps< T > Tps< T >::makeVariable ( int  nVar,
int  var 
)
static

Make variable.

Definition at line 383 of file Tps.hpp.

References TpsRep< T >::create(), TpsRep< T >::data(), Tps< T >::EXACT, and T.

Referenced by StaticFixedPoint::StaticFixedPoint().

Here is the call graph for this function:

template<class T >
Tps< T > Tps< T >::makeVarPower ( int  nVar,
int  var,
int  power 
)
static

Make power.

Definition at line 391 of file Tps.hpp.

References TpsRep< T >::create(), Tps< T >::EXACT, and T.

Here is the call graph for this function:

template<class T>
Tps< T > Tps< T >::multiply ( const Tps< T > &  y,
int  trunc 
) const

Truncated multiplication.

Definition at line 823 of file Tps.hpp.

References TpsRep< T >::create(), Tps< T >::EXACT, Tps< T >::getMaxOrder(), Tps< T >::getSize(), Tps< T >::getTruncOrder(), Tps< T >::getVariables(), min(), prod(), Tps< T >::rep, and T.

Referenced by Tps< T >::operator*=(), Tps< T >::operator/=(), and Tps< T >::Taylor().

Here is the call graph for this function:

template<class T >
Tps< T > Tps< T >::multiplyVariable ( int  var) const

Multiply by variable [b]var[/b].

Definition at line 969 of file Tps.hpp.

References TpsRep< T >::create(), TpsRep< T >::data(), Tps< T >::getSize(), Tps< T >::getVariables(), min(), Tps< T >::rep, T, and Tps< T >::truncOrder.

Here is the call graph for this function:

template<class T>
bool Tps< T >::operator!= ( const Tps< T > &  y) const

Inequality operator.

Definition at line 602 of file Tps.hpp.

template<class T>
bool Tps< T >::operator!= ( const T y) const

Inequality with constant.

Definition at line 608 of file Tps.hpp.

template<class T>
Tps< T > & Tps< T >::operator*= ( const Tps< T > &  y)

Multiply and assign.

Definition at line 499 of file Tps.hpp.

References Tps< T >::multiply(), and Tps< T >::truncOrder.

Here is the call graph for this function:

template<class T>
Tps< T > & Tps< T >::operator*= ( const T y)

Multiply by constant and assign.

Definition at line 527 of file Tps.hpp.

References Tps< T >::rep, T, and Tps< T >::unique().

Here is the call graph for this function:

template<class T >
Tps< T > Tps< T >::operator+ ( ) const

Unary plus.

Definition at line 411 of file Tps.hpp.

template<class T>
Tps< T > & Tps< T >::operator+= ( const Tps< T > &  y)
template<class T>
Tps< T > & Tps< T >::operator+= ( const T y)

Add constant and assign.

Definition at line 511 of file Tps.hpp.

References Tps< T >::rep, and Tps< T >::unique().

Here is the call graph for this function:

template<class T >
Tps< T > Tps< T >::operator- ( ) const

Unary minus.

Definition at line 417 of file Tps.hpp.

References TpsRep< T >::create(), TpsRep< T >::data(), Tps< T >::getMaxOrder(), Tps< T >::getTruncOrder(), Tps< T >::getVariables(), and Tps< T >::rep.

Here is the call graph for this function:

template<class T>
Tps< T > & Tps< T >::operator-= ( const Tps< T > &  y)
template<class T>
Tps< T > & Tps< T >::operator-= ( const T y)

Subtract constant and assign.

Definition at line 519 of file Tps.hpp.

References Tps< T >::rep, and Tps< T >::unique().

Here is the call graph for this function:

template<class T>
Tps< T > & Tps< T >::operator/= ( const Tps< T > &  y)

Divide and assign.

Definition at line 505 of file Tps.hpp.

References Tps< T >::inverse(), Tps< T >::multiply(), and Tps< T >::truncOrder.

Here is the call graph for this function:

template<class T>
Tps< T > & Tps< T >::operator/= ( const T y)

Divide by constant and assign.

Definition at line 536 of file Tps.hpp.

References Tps< T >::rep, and T.

template<class T>
Tps< T > & Tps< T >::operator= ( const Tps< T > &  y)

Definition at line 259 of file Tps.hpp.

References TpsRep< T >::release(), and Tps< T >::rep.

Here is the call graph for this function:

template<class T>
Tps< T > & Tps< T >::operator= ( const T y)

Convert and assign.

Definition at line 270 of file Tps.hpp.

References TpsRep< T >::release(), Tps< T >::rep, and TpsRep< T >::zero().

Here is the call graph for this function:

template<class T>
bool Tps< T >::operator== ( const Tps< T > &  y) const

Equality operator.

Definition at line 545 of file Tps.hpp.

References Tps< T >::getMaxOrder(), Tps< T >::getSize(), Tps< T >::getTruncOrder(), Tps< T >::getVariables(), min(), Tps< T >::rep, and T.

Here is the call graph for this function:

template<class T>
bool Tps< T >::operator== ( const T y) const

Equlatity with constant.

Definition at line 588 of file Tps.hpp.

References Tps< T >::getSize(), Tps< T >::rep, and T.

Here is the call graph for this function:

template<class T >
const T Tps< T >::operator[] ( int  index) const

Get coefficient.

Definition at line 301 of file Tps.hpp.

References Tps< T >::rep.

template<class T >
T & Tps< T >::operator[] ( int  index)

Get coefficient.

Definition at line 307 of file Tps.hpp.

References Tps< T >::rep, and Tps< T >::unique().

Here is the call graph for this function:

template<class T >
const T Tps< T >::operator[] ( const TpsMonomial monomial) const

Get coefficient.

Definition at line 314 of file Tps.hpp.

References TpsMonomial::getIndex(), and Tps< T >::rep.

Here is the call graph for this function:

template<class T >
T & Tps< T >::operator[] ( const TpsMonomial monomial)

Get coefficient.

Definition at line 320 of file Tps.hpp.

References TpsMonomial::getIndex(), Tps< T >::rep, and Tps< T >::unique().

Here is the call graph for this function:

template<class T >
std::ostream & Tps< T >::put ( std::ostream &  os) const

Put Tps to the stream is.

Definition at line 784 of file Tps.hpp.

References endl(), Tps< T >::getExponents(), Tps< T >::getMaxOrder(), Tps< T >::getSize(), Tps< T >::getTruncOrder(), Tps< T >::getVariables(), Inform::precision(), Tps< T >::rep, and T.

Here is the call graph for this function:

template<class T>
Tps< T > Tps< T >::scaleMonomials ( const Tps< T > &  y) const

Multiply monomial-wise.

Definition at line 992 of file Tps.hpp.

References TpsRep< T >::create(), Tps< T >::getMaxOrder(), Tps< T >::getTruncOrder(), Tps< T >::getVariables(), min(), Tps< T >::rep, and T.

Referenced by NormalForm::NormalForm().

Here is the call graph for this function:

template<class T>
void Tps< T >::setCoefficient ( int  index,
const T value 
)
template<class T>
void Tps< T >::setCoefficient ( const TpsMonomial monomial,
const T value 
)

Set coefficient.

Definition at line 369 of file Tps.hpp.

References TpsMonomial::getIndex(), TpsMonomial::getVariables(), Tps< T >::getVariables(), and Tps< T >::setCoefficient().

Here is the call graph for this function:

template<class T >
void Tps< T >::setGlobalTruncOrder ( int  order)
static

Set global truncation order.

Definition at line 1067 of file Tps.hpp.

References Tps< T >::truncOrder.

template<class T >
void Tps< T >::setMaxOrder ( int  order)
inlineprivate

Definition at line 49 of file Tps.hpp.

Referenced by Tps< T >::get().

template<class T>
Tps< T > Tps< T >::substitute ( const Matrix< T > &  M) const
template<class T>
Tps< T > Tps< T >::substitute ( const VpsMap< T > &  m) const
template<class T>
Tps< T > Tps< T >::Taylor ( const T  series[],
int  n 
) const

Taylor series.

Definition at line 1014 of file Tps.hpp.

References Tps< T >::isConstant(), Tps< T >::multiply(), and T.

Referenced by cos(), cosh(), exp(), Tps< T >::inverse(), log(), sin(), sinh(), and sqrt().

Here is the call graph for this function:

template<class T >
Tps< T > Tps< T >::truncate ( int  trunc)

Truncate.

Definition at line 295 of file Tps.hpp.

References Tps< T >::filter().

Here is the call graph for this function:

template<class T >
void Tps< T >::unique ( )
inlineprivate

Member Data Documentation

template<class T>
const int Tps< T >::EXACT = INT_MAX
static

Representation of infinite precision.

Definition at line 260 of file Tps.h.

Referenced by Tps< T >::makeMonomial(), Tps< T >::makeVariable(), Tps< T >::makeVarPower(), and Tps< T >::multiply().

template<class T>
TpsRep<T>* Tps< T >::rep
private
template<class T>
int Tps< T >::truncOrder = EXACT
staticprivate

The documentation for this class was generated from the following files: