OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
VpsMap< T > Class Template Reference

Truncate power series map. More...

#include <VpsMap.h>

Inheritance diagram for VpsMap< T >:
Collaboration diagram for VpsMap< T >:

Public Member Functions

 VpsMap (int nDim, int nVar)
 Constructor.
 VpsMap (const Vps< T > &rhs)
 Convert.
 VpsMap (int nDim, const Tps< T > rhs[])
 Constructor.
 VpsMap (const Matrix< T > &M)
 Convert.
 VpsMap (const Vector< T > &V)
 Convert.
 VpsMap ()
 VpsMap (const VpsMap< T > &rhs)
 ~VpsMap ()
VpsMap< T > & operator= (const VpsMap< T > &y)
VpsMap< T > substitute (const VpsMap< T > &vv) const
 Substitute.
VpsMap< T > substitute (const Matrix< T > &M) const
 Substitute.
VpsMap< T > substitute (const VpsMap< T > &y, int trunc) const
 Substitute and truncate.
VpsMap< T > substituteInto (const Matrix< T > &x) const
 Substitute.
Vector< T > constantTerm (const Vector< T > &y) const
 Evaluate map at point.
Vector< T > constantTerm () const
 Evaluate map at origin.
Matrix< T > linearTerms (const Vector< T > &y) const
 Extract linear terms at point.
Matrix< T > linearTerms () const
 Extract linear terms at origin.
VpsMap< T > derivative (int var) const
 Derivative with respect to variable [b]var[/b].
VpsMap< T > integral (int var) const
 Integral with respect to variable [b]var[/b].
const Tps< T > & getComponent (int index) const
 Get component.
void setComponent (int index, const Tps< T > &value)
 Set component.
Tps< T > & operator[] (int index)
 Get component.
const Tps< T > & operator[] (int index) const
 Set component.
void check () const
 Check consistency.
Vps< T > operator+ () const
 Unary plus.
Vps< T > operator- () const
 Unary minus.
Vps< T > & operator*= (const Tps< T > &y)
 Multiply by Tps<T> and assign.
Vps< T > & operator*= (const T &y)
 Multiply by constant and assign.
Vps< T > & operator/= (const Tps< T > &y)
 Divide by Tps<T> and assign.
Vps< T > & operator/= (const T &y)
 Divide by constant and assign.
Vps< T > & operator+= (const Vps< T > &y)
 Addition.
Vps< T > & operator+= (const Vector< T > &y)
 Add and assign.
Vps< T > & operator-= (const Vps< T > &y)
 Subtraction.
Vps< T > & operator-= (const Vector< T > &y)
 Subtract and assign.
std::istream & get (std::istream &is)
 Get a Vps<T> from stream is.
std::ostream & put (std::ostream &os) const
 Put a Vps<T> to stream os.
int getDimension () const
 Get dimension (number of Tps<T> components).
int getTopOrder () const
 Get highest order contained in any component.
int getTruncOrder () const
 Get lowest truncation order in any component.
int getVariables () const
 Get number of variables (the same in all components).
Vps< T > filter (int lowOrder, int highOrder) const
 Extract range of orders, set others to zero.
Vps< T > truncate (int trunc)
 Truncate, may also increase truncation order.

Protected Attributes

Array1D< Tps< T > > data
int variables

Detailed Description

template<class T>
class VpsMap< T >

Truncate power series map.

Definition at line 43 of file VpsMap.h.

Constructor & Destructor Documentation

◆ VpsMap() [1/7]

template<class T>
VpsMap< T >::VpsMap ( int nDim,
int nVar )
inline

Constructor.

Definition at line 173 of file VpsMap.h.

References Vps< T >::Vps().

Referenced by derivative(), integral(), operator=(), substitute(), substitute(), substitute(), substituteInto(), and VpsMap().

Here is the call graph for this function:

◆ VpsMap() [2/7]

template<class T>
VpsMap< T >::VpsMap ( const Vps< T > & rhs)
inline

Convert.

Definition at line 185 of file VpsMap.h.

References Vps< T >::Vps().

Here is the call graph for this function:

◆ VpsMap() [3/7]

template<class T>
VpsMap< T >::VpsMap ( int nDim,
const Tps< T > rhs[] )
inline

Constructor.

Definition at line 191 of file VpsMap.h.

References Vps< T >::Vps().

Here is the call graph for this function:

◆ VpsMap() [4/7]

template<class T>
VpsMap< T >::VpsMap ( const Matrix< T > & M)
inline

Convert.

Definition at line 197 of file VpsMap.h.

References Vps< T >::Vps().

Here is the call graph for this function:

◆ VpsMap() [5/7]

template<class T>
VpsMap< T >::VpsMap ( const Vector< T > & V)
inline

Convert.

Definition at line 203 of file VpsMap.h.

References Vps< T >::Vps().

Here is the call graph for this function:

◆ VpsMap() [6/7]

template<class T>
VpsMap< T >::VpsMap ( )
inline

Definition at line 167 of file VpsMap.h.

References Vps< T >::Vps().

Here is the call graph for this function:

◆ VpsMap() [7/7]

template<class T>
VpsMap< T >::VpsMap ( const VpsMap< T > & rhs)
inline

Definition at line 179 of file VpsMap.h.

References Vps< T >::Vps(), and VpsMap().

Here is the call graph for this function:

◆ ~VpsMap()

template<class T>
VpsMap< T >::~VpsMap ( )
inline

Definition at line 209 of file VpsMap.h.

Member Function Documentation

◆ check()

template<class T>
void Vps< T >::check ( ) const
inherited

Check consistency.

Definition at line 108 of file Vps.hpp.

References data, and variables.

Referenced by filter(), get(), getVariables(), setComponent(), VpsMap< T >::substitute(), and truncate().

◆ constantTerm() [1/2]

template<class T>
Vector< T > VpsMap< T >::constantTerm ( ) const

Evaluate map at origin.

Definition at line 266 of file VpsMap.h.

References Vps< T >::data, and Vps< T >::getDimension().

Here is the call graph for this function:

◆ constantTerm() [2/2]

template<class T>
Vector< T > VpsMap< T >::constantTerm ( const Vector< T > & y) const

Evaluate map at point.

Definition at line 233 of file VpsMap.h.

References constantTerm(), Vps< T >::data, Vps< T >::getDimension(), TpsData::getSubTable(), Vps< T >::getTopOrder(), TpsData::getTpsData(), Vps< T >::getVariables(), TpsSubstitution::index, TpsSubstitution::order, Array1D< T >::size(), TpsSubstitution::skip, and TpsSubstitution::variable.

Referenced by constantTerm(), and substitute().

Here is the call graph for this function:

◆ derivative()

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

Derivative with respect to variable [b]var[/b].

Definition at line 302 of file VpsMap.h.

References Vps< T >::data, Vps< T >::getDimension(), Vps< T >::getVariables(), and VpsMap().

Here is the call graph for this function:

◆ filter()

template<class T>
Vps< T > Vps< T >::filter ( int lowOrder,
int highOrder ) const
inherited

Extract range of orders, set others to zero.

Definition at line 286 of file Vps.hpp.

References check(), data, getDimension(), variables, and Vps().

Here is the call graph for this function:

◆ get()

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

Get a Vps<T> from stream is.

Definition at line 213 of file Vps.hpp.

References check(), data, and Vps().

Referenced by operator>>(), and operator>>().

Here is the call graph for this function:

◆ getComponent()

template<class T>
const Tps< T > & Vps< T >::getComponent ( int index) const
inherited

Get component.

Definition at line 92 of file Vps.hpp.

References data.

◆ getDimension()

◆ getTopOrder()

template<class T>
int Vps< T >::getTopOrder ( ) const
inherited

Get highest order contained in any component.

Definition at line 253 of file Vps.hpp.

References data, FTpsData< N >::topOrder, and Tps< T >::getMaxOrder().

Referenced by VpsMap< T >::constantTerm(), and VpsMap< T >::substitute().

Here is the call graph for this function:

◆ getTruncOrder()

template<class T>
int Vps< T >::getTruncOrder ( ) const
inherited

Get lowest truncation order in any component.

Definition at line 266 of file Vps.hpp.

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

Referenced by VpsMap< T >::substitute(), and VpsMap< T >::substitute().

Here is the call graph for this function:

◆ getVariables()

template<class T>
int Vps< T >::getVariables ( ) const
inherited

Get number of variables (the same in all components).

Definition at line 279 of file Vps.hpp.

References check(), and variables.

Referenced by VpsMap< T >::constantTerm(), VpsMap< T >::derivative(), VpsMap< T >::integral(), VpsMap< T >::linearTerms(), VpsMap< T >::linearTerms(), and VpsMap< T >::substitute().

Here is the call graph for this function:

◆ integral()

template<class T>
VpsMap< T > VpsMap< T >::integral ( int var) const

Integral with respect to variable [b]var[/b].

Definition at line 314 of file VpsMap.h.

References Vps< T >::data, Vps< T >::getDimension(), Vps< T >::getVariables(), and VpsMap().

Here is the call graph for this function:

◆ linearTerms() [1/2]

template<class T>
Matrix< T > VpsMap< T >::linearTerms ( ) const

Extract linear terms at origin.

Definition at line 288 of file VpsMap.h.

References Vps< T >::data, Vps< T >::getDimension(), and Vps< T >::getVariables().

Here is the call graph for this function:

◆ linearTerms() [2/2]

template<class T>
Matrix< T > VpsMap< T >::linearTerms ( const Vector< T > & y) const

Extract linear terms at point.

Definition at line 274 of file VpsMap.h.

References Vps< T >::data, Vps< T >::getDimension(), Vps< T >::getVariables(), Array2D< T >::ncols(), and Array2D< T >::nrows().

Here is the call graph for this function:

◆ operator*=() [1/2]

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

Multiply by constant and assign.

Definition at line 153 of file Vps.hpp.

References data, getDimension(), and Vps().

Here is the call graph for this function:

◆ operator*=() [2/2]

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

Multiply by Tps<T> and assign.

Definition at line 138 of file Vps.hpp.

References data, getDimension(), and Vps().

Here is the call graph for this function:

◆ operator+()

template<class T>
Vps< T > Vps< T >::operator+ ( ) const
inherited

Unary plus.

Definition at line 124 of file Vps.hpp.

References Vps().

Here is the call graph for this function:

◆ operator+=() [1/2]

template<class T>
Vps< T > & Vps< T >::operator+= ( const Vector< T > & y)
inherited

Add and assign.

Definition at line 191 of file Vps.hpp.

References data, getDimension(), Array1D< T >::size(), and Vps().

Here is the call graph for this function:

◆ operator+=() [2/2]

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

Addition.

Definition at line 169 of file Vps.hpp.

References data, getDimension(), and Vps().

Here is the call graph for this function:

◆ operator-()

template<class T>
Vps< T > Vps< T >::operator- ( ) const
inherited

Unary minus.

Definition at line 130 of file Vps.hpp.

References data, getDimension(), variables, and Vps().

Here is the call graph for this function:

◆ operator-=() [1/2]

template<class T>
Vps< T > & Vps< T >::operator-= ( const Vector< T > & y)
inherited

Subtract and assign.

Definition at line 202 of file Vps.hpp.

References data, getDimension(), Array1D< T >::size(), and Vps().

Here is the call graph for this function:

◆ operator-=() [2/2]

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

Subtraction.

Definition at line 180 of file Vps.hpp.

References data, getDimension(), and Vps().

Here is the call graph for this function:

◆ operator/=() [1/2]

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

Divide by constant and assign.

Definition at line 160 of file Vps.hpp.

References data, getDimension(), and Vps().

Here is the call graph for this function:

◆ operator/=() [2/2]

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

Divide by Tps<T> and assign.

Definition at line 145 of file Vps.hpp.

References data, getDimension(), Tps< T >::getGlobalTruncOrder(), Tps< T >::inverse(), and Vps().

Here is the call graph for this function:

◆ operator=()

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

Definition at line 214 of file VpsMap.h.

References Vps< T >::operator=(), and VpsMap().

Here is the call graph for this function:

◆ operator[]() [1/2]

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

Get component.

Definition at line 154 of file Vps.h.

References data.

◆ operator[]() [2/2]

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

Set component.

Definition at line 158 of file Vps.h.

References data.

◆ put()

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

Put a Vps<T> to stream os.

Definition at line 238 of file Vps.hpp.

References data, and getDimension().

Referenced by operator<<(), and operator<<().

Here is the call graph for this function:

◆ setComponent()

template<class T>
void Vps< T >::setComponent ( int index,
const Tps< T > & value )
inherited

Set component.

Definition at line 98 of file Vps.hpp.

References check(), data, Tps< T >::getVariables(), and variables.

Here is the call graph for this function:

◆ substitute() [1/3]

template<class T>
VpsMap< T > VpsMap< T >::substitute ( const Matrix< T > & M) const
inline

Substitute.

Definition at line 227 of file VpsMap.h.

References substitute(), and VpsMap().

Here is the call graph for this function:

◆ substitute() [2/3]

template<class T>
VpsMap< T > VpsMap< T >::substitute ( const VpsMap< T > & vv) const
inline

Substitute.

Definition at line 221 of file VpsMap.h.

References Vps< T >::getTruncOrder(), substitute(), and VpsMap().

Referenced by substitute(), and substitute().

Here is the call graph for this function:

◆ substitute() [3/3]

template<class T>
VpsMap< T > VpsMap< T >::substitute ( const VpsMap< T > & y,
int trunc ) const

Substitute and truncate.

Definition at line 326 of file VpsMap.h.

References Vps< T >::check(), constantTerm(), Vps< T >::data, FTpsData< N >::topOrder, Vps< T >::getDimension(), TpsData::getSubTable(), Vps< T >::getTopOrder(), TpsData::getTpsData(), Vps< T >::getTruncOrder(), Vps< T >::getVariables(), TpsSubstitution::index, TpsSubstitution::order, Array1D< T >::size(), TpsSubstitution::skip, TpsSubstitution::variable, Vps< T >::variables, and VpsMap().

Here is the call graph for this function:

◆ substituteInto()

template<class T>
VpsMap< T > VpsMap< T >::substituteInto ( const Matrix< T > & x) const

Substitute.

Definition at line 371 of file VpsMap.h.

References Vps< T >::data, Vps< T >::getDimension(), Array2D< T >::ncols(), Array2D< T >::nrows(), and VpsMap().

Referenced by operator*().

Here is the call graph for this function:

◆ truncate()

template<class T>
Vps< T > Vps< T >::truncate ( int trunc)
inherited

Truncate, may also increase truncation order.

Definition at line 299 of file Vps.hpp.

References check(), data, getDimension(), variables, and Vps().

Here is the call graph for this function:

Member Data Documentation

◆ data

◆ variables

template<class T>
int Vps< T >::variables
mutableprotectedinherited

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