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

Truncated power series in N variables of type T. More...

#include <FTps.h>

Public Member Functions

 FTps ()
 Default constructor. More...
 
 FTps (const FTps &x)
 Copy constructor. More...
 
 FTps (int minOrder, int maxOrder, int trcOrder)
 Constructor. More...
 
 FTps (const T &)
 Conversion. More...
 
 FTps (int)
 Conversion. More...
 
 ~FTps ()
 Destructor. More...
 
FTpsoperator= (const FTps &y)
 Assign. More...
 
FTpsoperator= (const T &y)
 Convert and assign. More...
 
const T getCoefficient (int index) const
 Get coefficient. More...
 
void setCoefficient (int index, const T &value)
 Set coefficient. More...
 
const T getCoefficient (const FMonomial< N > &monomial) const
 Get coefficient. More...
 
void setCoefficient (const FMonomial< N > &monomial, const T &value)
 Set coefficient. More...
 
const T operator[] (int index) const
 Get coefficient. More...
 
T & operator[] (int index)
 Get (Set) coefficient. More...
 
const T operator[] (const FMonomial< N > &monomial) const
 Get coefficient. More...
 
T & operator[] (const FMonomial< N > &monomial)
 Get (Set) coefficient. More...
 
T * begin () const
 Return beginning of monomial array. More...
 
T * end () const
 Return end of monomial array. More...
 
T * begin (int order) const
 Return beginning of coefficient storage for given order. More...
 
T * end (int order) const
 Return end of coefficient storage for given order. More...
 
int getSize () const
 Get total number of coefficients. More...
 
int getMinOrder () const
 Get minimum order. More...
 
void setMinOrder (int order)
 Set minimum order. More...
 
int getMaxOrder () const
 Get maximum order. More...
 
void setMaxOrder (int order)
 Set maximum order. More...
 
int getTruncOrder () const
 Get truncation order. More...
 
void setTruncOrder (int order)
 Set truncation order. More...
 
FTps filter (int minOrder, int maxOrder, int trcOrder=EXACT) const
 Extract given range of orders, with truncation. More...
 
FTps truncate (int trunc)
 Truncate. More...
 
FTps operator+ () const
 Unary plus. More...
 
FTps operator- () const
 Unary minus. More...
 
FTpsoperator+= (const FTps &y)
 Add and assign. More...
 
FTpsoperator-= (const FTps &y)
 Subtract and assign. More...
 
FTpsoperator*= (const FTps &y)
 Multiply and assign. More...
 
FTpsoperator/= (const FTps &y)
 Divide and assign. More...
 
FTpsoperator+= (const T &y)
 Add constant and assign. More...
 
FTpsoperator-= (const T &y)
 Subtract constant and assign. More...
 
FTpsoperator*= (const T &y)
 Multiply by constant and assign. More...
 
FTpsoperator/= (const T &y)
 Divide by constant and assign. More...
 
FTps scaleMonomials (const FTps &y) const
 Scale monomial coefficients by coefficients in [b]y[/b]. More...
 
FTps multiplyVariable (int var, int trunc=EXACT) const
 Multiply by variable [b]var[/b]. More...
 
FTps multiply (const FTps &y, int trunc=EXACT) const
 Multiplication. More...
 
FTps inverse (int trunc=EXACT) const
 Reciprocal, 1/(*this). More...
 
FTps divide (const FTps &y, int trunc=EXACT) const
 Division. More...
 
bool operator== (const FTps &y) const
 Equality operator. More...
 
bool operator== (const T &y) const
 Equality with constant. More...
 
bool operator!= (const FTps &y) const
 Inequality operator. More...
 
bool operator!= (const T &y) const
 Inequality with constant. More...
 
evaluate (const FVector< T, N > &) const
 Evaluate FTps at point. More...
 
Array1D< int > getSubstOrders (const FVps< T, N > &rhs, int trunc=EXACT) const
 Return orders {min, max, trc} of f(rhs(z)). More...
 
FTps substitute (const FMatrix< T, N, N > &M, int n) const
 Substitute. More...
 
FTps substitute (const FMatrix< T, N, N > &M, int nl, int nh) const
 Substitute. More...
 
FTps substitute (const FMatrix< T, N, N > &M) const
 Substitute. More...
 
FTps substitute (const FVps< T, N > &m, int trunc=EXACT) const
 Substitute. More...
 
FTps derivative (int var) const
 Partial derivative. More...
 
FVps< T, N > gradient () const
 Gradient. More...
 
FTps integral (int var, int trunc=EXACT) const
 Partial integral. More...
 
FTps taylor (const Array1D< T > &series, int order) const
 Taylor series. More...
 
void unique ()
 Make representation unique. More...
 
std::list< int > getListOfNonzeroCoefficients () const
 Get a list containing the indexes of non-zero coefficients of a FTps. More...
 
FArray1D< int, N > extractExponents (int index) const
 Extract exponents of coefficient. More...
 
FTps< T, N > makePower (int power) const
 Multiply FTps with itself. More...
 
std::istream & get (std::istream &is)
 Read FTps on the stream [b]is[/b]. More...
 
std::ostream & put (std::ostream &os) const
 Write FTps on the stream [b]os[/b]. More...
 

Static Public Member Functions

static int getVariables ()
 Get number of variables. More...
 
static int getSize (int order)
 Get number of coefficients of degree [b]order[/b] or less. More...
 
static int orderStart (int order)
 Get index at which [b]order[/b] starts. More...
 
static int orderEnd (int order)
 Get one plus index at which [b]order[/b] ends. More...
 
static int orderLength (int order)
 
static int orderLength (int orderL, int orderH)
 
static const FMonomial< N > & getExponents (int index)
 Get exponents for given index. More...
 
static int getIndex (const FMonomial< N > &mono)
 Get Giorgilli index for monomial. More...
 
static int getGlobalTruncOrder ()
 Return the global truncation order. More...
 
static void setGlobalTruncOrder (int order)
 Set the global truncation order. More...
 
static const Array1D< int > & getProductArray (int index)
 Index array for products of monomial "index". More...
 
static const Array1D< int > & getVariableList (int index)
 List of variables contained in monomial "index". More...
 
static const Array1D< TpsSubstitution > & getSubTable ()
 Return the substitution table. More...
 
static FTps makeVariable (int var)
 Make variable. More...
 
static FTps makeVarPower (int var, int power)
 Make power. More...
 
static FTps makeMonomial (int index, const T &t)
 Make monomial. More...
 
static FTps makeMonomial (const FMonomial< N > &m, const T &t)
 Make monomial. More...
 
static Array1D< T > evalMonoms (const FVector< T, N > &, int)
 Evaluate monomials at point. More...
 
static Array1D< int > getSubstOrders (Array1D< int > &ordersL, Array1D< int > &ordersR, int trunc=EXACT)
 Return orders {min, max, trc} of f(rhs(z)),. More...
 

Static Public Attributes

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

Private Member Functions

void grow (int maxOrder, int trcOrder)
 
Array1D< int > getRepOrders () const
 

Static Private Member Functions

static FTpsRep< T, N > * allocate (int minOrder, int maxOrder, int trcOrder)
 
static void deallocate (FTpsRep< T, N > *)
 
static void checkOrders (const std::string &method, int minOrder, int maxOrder, int &trcOrder)
 

Private Attributes

FTpsRep< T, N > * itsRep
 

Static Private Attributes

static FTpsRep< T, N > * freeList [100]
 
static int globalTruncOrder
 

Detailed Description

template<class T, int N>
class FTps< T, N >

Truncated power series in N variables of type T.

Definition at line 45 of file FTps.h.

Constructor & Destructor Documentation

◆ FTps() [1/5]

template<class T , int N>
FTps< T, N >::FTps

Default constructor.

Definition at line 159 of file FTps.hpp.

References Attrib::Legacy::Distribution::T.

◆ FTps() [2/5]

template<class T , int N>
FTps< T, N >::FTps ( const FTps< T, N > &  x)

Copy constructor.

Definition at line 166 of file FTps.hpp.

References FTps< T, N >::itsRep.

◆ FTps() [3/5]

template<class T , int N>
FTps< T, N >::FTps ( int  minOrder,
int  maxOrder,
int  trcOrder 
)

Constructor.

Definition at line 173 of file FTps.hpp.

◆ FTps() [4/5]

template<class T , int N>
FTps< T, N >::FTps ( const T &  rhs)

Conversion.

Definition at line 180 of file FTps.hpp.

◆ FTps() [5/5]

template<class T , int N>
FTps< T, N >::FTps ( int  rhs)

Conversion.

Definition at line 187 of file FTps.hpp.

◆ ~FTps()

template<class T , int N>
FTps< T, N >::~FTps

Destructor.

Definition at line 194 of file FTps.hpp.

Member Function Documentation

◆ allocate()

template<class T , int N>
FTpsRep< T, N > * FTps< T, N >::allocate ( int  minOrder,
int  maxOrder,
int  trcOrder 
)
inlinestaticprivate

Definition at line 1692 of file FTps.hpp.

References FTpsRep< T, N >::allocOrd, endl(), FTpsRep< T, N >::maxOrd, FTpsRep< T, N >::minOrd, FTpsRep< T, N >::next, FTpsRep< T, N >::ref, and FTpsRep< T, N >::trcOrd.

Referenced by FTps< T, N >::unique().

Here is the call graph for this function:

◆ begin() [1/2]

template<class T , int N>
T * FTps< T, N >::begin ( ) const
inline

◆ begin() [2/2]

template<class T , int N>
T * FTps< T, N >::begin ( int  order) const
inline

Return beginning of coefficient storage for given order.

Definition at line 124 of file FTps.h.

References FTps< T, N >::itsRep, and FTpsData< N >::orderStart().

Here is the call graph for this function:

◆ checkOrders()

template<class T , int N>
void FTps< T, N >::checkOrders ( const std::string &  method,
int  minOrder,
int  maxOrder,
int &  trcOrder 
)
staticprivate

Definition at line 1767 of file FTps.hpp.

References endl().

Here is the call graph for this function:

◆ deallocate()

template<class T , int N>
void FTps< T, N >::deallocate ( FTpsRep< T, N > *  rep)
inlinestaticprivate

Definition at line 1726 of file FTps.hpp.

References FTpsRep< T, N >::allocOrd, and FTpsRep< T, N >::next.

◆ derivative()

template<class T , int N>
FTps< T, N > FTps< T, N >::derivative ( int  var) const

◆ divide()

template<class T , int N>
FTps< T, N > FTps< T, N >::divide ( const FTps< T, N > &  y,
int  trunc = EXACT 
) const

◆ end() [1/2]

template<class T , int N>
T * FTps< T, N >::end ( ) const
inline

Return end of monomial array.

Definition at line 121 of file FTps.h.

References FTps< T, N >::itsRep.

Referenced by FTps< T, N >::substitute().

◆ end() [2/2]

template<class T , int N>
T * FTps< T, N >::end ( int  order) const
inline

Return end of coefficient storage for given order.

Definition at line 128 of file FTps.h.

References FTps< T, N >::itsRep, and FTpsData< N >::orderEnd().

Here is the call graph for this function:

◆ evalMonoms()

template<class T , int N>
Array1D< T > FTps< T, N >::evalMonoms ( const FVector< T, N > &  rhs,
int  maxOrder 
)
static

Evaluate monomials at point.

Definition at line 898 of file FTps.hpp.

References Array1D< T >::begin(), FArray1D< T, N >::begin(), FTpsData< N >::orderStart(), and Attrib::Legacy::Distribution::T.

Referenced by FVps< T, N >::linearTerms().

Here is the call graph for this function:

◆ evaluate()

template<class T , int N>
T FTps< T, N >::evaluate ( const FVector< T, N > &  rhs) const

Evaluate FTps at point.

Definition at line 934 of file FTps.hpp.

References FArray1D< T, N >::begin(), begin(), FVps< T, N >::getMaxOrder(), FVps< T, N >::getMinOrder(), FTpsData< N >::orderStart(), and Attrib::Legacy::Distribution::T.

Referenced by Tracker::applyThinSBend(), and operator*().

Here is the call graph for this function:

◆ extractExponents()

template<class T , int N>
FArray1D< int, N > FTps< T, N >::extractExponents ( int  index) const

Extract exponents of coefficient.

Definition at line 1535 of file FTps.hpp.

References FTps< T, N >::getExponents().

Referenced by FVps< T, N >::operator*().

Here is the call graph for this function:

◆ filter()

template<class T , int N>
FTps< T, N > FTps< T, N >::filter ( int  minOrder,
int  maxOrder,
int  trcOrder = EXACT 
) const

Extract given range of orders, with truncation.

Definition at line 451 of file FTps.hpp.

References FTps< T, N >::begin(), begin(), end(), max(), and min().

Here is the call graph for this function:

◆ get()

template<class T , int N>
std::istream & FTps< T, N >::get ( std::istream &  is)

Read FTps on the stream [b]is[/b].

Definition at line 1571 of file FTps.hpp.

References FTpsData< N >::getIndex(), FTps< T, N >::getMaxOrder(), FTps< T, N >::getMinOrder(), FTps< T, N >::itsRep, and Attrib::Legacy::Distribution::T.

Referenced by operator>>().

Here is the call graph for this function:

◆ getCoefficient() [1/2]

template<class T , int N>
const T FTps< T, N >::getCoefficient ( const FMonomial< N > &  monomial) const

Get coefficient.

Definition at line 261 of file FTps.hpp.

References FTpsData< N >::getIndex().

Here is the call graph for this function:

◆ getCoefficient() [2/2]

template<class T , int N>
const T FTps< T, N >::getCoefficient ( int  index) const

Get coefficient.

Definition at line 223 of file FTps.hpp.

Referenced by FVps< T, N >::operator*().

◆ getExponents()

template<class T , int N>
const FMonomial< N > & FTps< T, N >::getExponents ( int  index)
static

Get exponents for given index.

Definition at line 309 of file FTps.hpp.

References FTpsData< N >::getExponents().

Referenced by FTps< T, N >::extractExponents().

Here is the call graph for this function:

◆ getGlobalTruncOrder()

template<class T , int N>
static int FTps< T, N >::getGlobalTruncOrder ( )
inlinestatic

Return the global truncation order.

Definition at line 191 of file FTps.h.

References FTps< T, N >::globalTruncOrder.

◆ getIndex()

template<class T , int N>
int FTps< T, N >::getIndex ( const FMonomial< N > &  mono)
static

Get Giorgilli index for monomial.

Definition at line 315 of file FTps.hpp.

References FTpsData< N >::getIndex().

Here is the call graph for this function:

◆ getListOfNonzeroCoefficients()

template<class T , int N>
std::list< int > FTps< T, N >::getListOfNonzeroCoefficients

Get a list containing the indexes of non-zero coefficients of a FTps.

Definition at line 1515 of file FTps.hpp.

Referenced by FVps< T, N >::operator*().

◆ getMaxOrder()

template<class T , int N>
int FTps< T, N >::getMaxOrder ( ) const
inline

◆ getMinOrder()

template<class T , int N>
int FTps< T, N >::getMinOrder ( ) const
inline

◆ getProductArray()

template<class T , int N>
const Array1D< int > & FTps< T, N >::getProductArray ( int  index)
inlinestatic

Index array for products of monomial "index".

Definition at line 433 of file FTps.hpp.

References FTpsData< N >::getProductArray().

Here is the call graph for this function:

◆ getRepOrders()

template<class T , int N>
Array1D< int > FTps< T, N >::getRepOrders
private

Definition at line 1756 of file FTps.hpp.

◆ getSize() [1/2]

template<class T , int N>
int FTps< T, N >::getSize ( ) const
inline

Get total number of coefficients.

Definition at line 136 of file FTps.h.

References FTps< T, N >::itsRep.

Referenced by FVps< T, N >::substitute().

◆ getSize() [2/2]

template<class T , int N>
int FTps< T, N >::getSize ( int  order)
static

Get number of coefficients of degree [b]order[/b] or less.

Definition at line 303 of file FTps.hpp.

References FTpsData< N >::getSize().

Here is the call graph for this function:

◆ getSubstOrders() [1/2]

template<class T , int N>
Array1D< int > FTps< T, N >::getSubstOrders ( Array1D< int > &  ordersL,
Array1D< int > &  ordersR,
int  trunc = EXACT 
)
static

Return orders {min, max, trc} of f(rhs(z)),.

Definition at line 1022 of file FTps.hpp.

References endl(), and min().

Here is the call graph for this function:

◆ getSubstOrders() [2/2]

template<class T , int N>
Array1D< int > FTps< T, N >::getSubstOrders ( const FVps< T, N > &  rhs,
int  trunc = EXACT 
) const

Return orders {min, max, trc} of f(rhs(z)).

Definition at line 1008 of file FTps.hpp.

References FVps< T, N >::getMaxOrder(), FVps< T, N >::getMinOrder(), FVps< T, N >::getSubstOrders(), and FVps< T, N >::getTruncOrder().

Referenced by FVps< T, N >::getSubstOrders().

Here is the call graph for this function:

◆ getSubTable()

template<class T , int N>
const Array1D< TpsSubstitution > & FTps< T, N >::getSubTable
inlinestatic

Return the substitution table.

Definition at line 445 of file FTps.hpp.

References FTpsData< N >::getSubTable().

Here is the call graph for this function:

◆ getTruncOrder()

template<class T , int N>
int FTps< T, N >::getTruncOrder ( ) const
inline

◆ getVariableList()

template<class T , int N>
const Array1D< int > & FTps< T, N >::getVariableList ( int  index)
inlinestatic

List of variables contained in monomial "index".

Definition at line 439 of file FTps.hpp.

References FTpsData< N >::getVariableList().

Here is the call graph for this function:

◆ getVariables()

template<class T , int N>
static int FTps< T, N >::getVariables ( )
inlinestatic

Get number of variables.

Definition at line 132 of file FTps.h.

◆ gradient()

template<class T , int N>
FVps< T, N > FTps< T, N >::gradient

Gradient.

Definition at line 1433 of file FTps.hpp.

References FVps< T, N >::derivative().

Here is the call graph for this function:

◆ grow()

template<class T , int N>
void FTps< T, N >::grow ( int  maxOrder,
int  trcOrder 
)
private

Definition at line 1734 of file FTps.hpp.

References min(), and Attrib::Legacy::Distribution::T.

Here is the call graph for this function:

◆ integral()

template<class T , int N>
FTps< T, N > FTps< T, N >::integral ( int  var,
int  trunc = EXACT 
) const

◆ inverse()

template<class T , int N>
FTps< T, N > FTps< T, N >::inverse ( int  trunc = EXACT) const

Reciprocal, 1/(*this).

Definition at line 707 of file FTps.hpp.

References Physics::c, endl(), FTpsData< N >::getProductArray(), FTps< T, N >::itsRep, min(), prod(), and Attrib::Legacy::Distribution::T.

Referenced by operator/(), FVps< T, N >::operator/=(), and pow().

Here is the call graph for this function:

◆ makeMonomial() [1/2]

template<class T , int N>
FTps< T, N > FTps< T, N >::makeMonomial ( const FMonomial< N > &  m,
const T &  t 
)
static

Make monomial.

Definition at line 508 of file FTps.hpp.

References FMonomial< N >::getOrder().

Here is the call graph for this function:

◆ makeMonomial() [2/2]

template<class T , int N>
FTps< T, N > FTps< T, N >::makeMonomial ( int  index,
const T &  t 
)
static

Make monomial.

Definition at line 499 of file FTps.hpp.

References FTpsData< N >::getOrder().

Here is the call graph for this function:

◆ makePower()

template<class T , int N>
FTps< T, N > FTps< T, N >::makePower ( int  power) const

Multiply FTps with itself.

Definition at line 1555 of file FTps.hpp.

Referenced by FVps< T, N >::operator*().

◆ makeVariable()

template<class T , int N>
FTps< T, N > FTps< T, N >::makeVariable ( int  var)
static

◆ makeVarPower()

template<class T , int N>
FTps< T, N > FTps< T, N >::makeVarPower ( int  var,
int  power 
)
static

Make power.

Definition at line 489 of file FTps.hpp.

References Attrib::Legacy::Distribution::T.

◆ multiply()

template<class T , int N>
FTps< T, N > FTps< T, N >::multiply ( const FTps< T, N > &  y,
int  trunc = EXACT 
) const

Multiplication.

Definition at line 650 of file FTps.hpp.

References begin(), FTps< T, N >::itsRep, min(), and Attrib::Legacy::Distribution::T.

Referenced by operator*(), FVps< T, N >::operator*(), pow(), and FTps< T, N >::taylor().

Here is the call graph for this function:

◆ multiplyVariable()

template<class T , int N>
FTps< T, N > FTps< T, N >::multiplyVariable ( int  var,
int  trunc = EXACT 
) const

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

Definition at line 610 of file FTps.hpp.

References begin(), endl(), FVps< T, N >::getMaxOrder(), FVps< T, N >::getMinOrder(), FVps< T, N >::getTruncOrder(), min(), and Attrib::Legacy::Distribution::T.

Here is the call graph for this function:

◆ operator!=() [1/2]

template<class T , int N>
bool FTps< T, N >::operator!= ( const FTps< T, N > &  y) const

Inequality operator.

Definition at line 886 of file FTps.hpp.

◆ operator!=() [2/2]

template<class T , int N>
bool FTps< T, N >::operator!= ( const T &  y) const

Inequality with constant.

Definition at line 892 of file FTps.hpp.

◆ operator*=() [1/2]

template<class T , int N>
FTps< T, N > & FTps< T, N >::operator*= ( const FTps< T, N > &  y)

Multiply and assign.

Definition at line 545 of file FTps.hpp.

◆ operator*=() [2/2]

template<class T , int N>
FTps< T, N > & FTps< T, N >::operator*= ( const T &  y)

Multiply by constant and assign.

Definition at line 575 of file FTps.hpp.

References begin(), end(), FVps< T, N >::getMaxOrder(), and FVps< T, N >::getMinOrder().

Here is the call graph for this function:

◆ operator+()

template<class T , int N>
FTps< T, N > FTps< T, N >::operator+

Unary plus.

Definition at line 517 of file FTps.hpp.

◆ operator+=() [1/2]

template<class T , int N>
FTps< T, N > & FTps< T, N >::operator+= ( const FTps< T, N > &  y)

Add and assign.

Definition at line 533 of file FTps.hpp.

◆ operator+=() [2/2]

template<class T , int N>
FTps< T, N > & FTps< T, N >::operator+= ( const T &  y)

Add constant and assign.

Definition at line 557 of file FTps.hpp.

References FVps< T, N >::setMinOrder().

Here is the call graph for this function:

◆ operator-()

template<class T , int N>
FTps< T, N > FTps< T, N >::operator-

Unary minus.

Definition at line 523 of file FTps.hpp.

References FTps< T, N >::begin(), begin(), end(), FVps< T, N >::getMaxOrder(), FVps< T, N >::getMinOrder(), and FVps< T, N >::getTruncOrder().

Here is the call graph for this function:

◆ operator-=() [1/2]

template<class T , int N>
FTps< T, N > & FTps< T, N >::operator-= ( const FTps< T, N > &  y)

Subtract and assign.

Definition at line 539 of file FTps.hpp.

◆ operator-=() [2/2]

template<class T , int N>
FTps< T, N > & FTps< T, N >::operator-= ( const T &  y)

Subtract constant and assign.

Definition at line 566 of file FTps.hpp.

References FVps< T, N >::setMinOrder().

Here is the call graph for this function:

◆ operator/=() [1/2]

template<class T , int N>
FTps< T, N > & FTps< T, N >::operator/= ( const FTps< T, N > &  y)

Divide and assign.

Definition at line 551 of file FTps.hpp.

◆ operator/=() [2/2]

template<class T , int N>
FTps< T, N > & FTps< T, N >::operator/= ( const T &  y)

Divide by constant and assign.

Definition at line 583 of file FTps.hpp.

References Attrib::Legacy::Distribution::T.

◆ operator=() [1/2]

template<class T , int N>
FTps< T, N > & FTps< T, N >::operator= ( const FTps< T, N > &  y)

Assign.

Definition at line 201 of file FTps.hpp.

◆ operator=() [2/2]

template<class T , int N>
FTps< T, N > & FTps< T, N >::operator= ( const T &  y)

Convert and assign.

Definition at line 213 of file FTps.hpp.

◆ operator==() [1/2]

template<class T , int N>
bool FTps< T, N >::operator== ( const FTps< T, N > &  y) const

◆ operator==() [2/2]

template<class T , int N>
bool FTps< T, N >::operator== ( const T &  y) const

Equality with constant.

Definition at line 867 of file FTps.hpp.

References begin(), FVps< T, N >::getMaxOrder(), FVps< T, N >::getMinOrder(), and Attrib::Legacy::Distribution::T.

Here is the call graph for this function:

◆ operator[]() [1/4]

template<class T , int N>
T & FTps< T, N >::operator[] ( const FMonomial< N > &  monomial)

Get (Set) coefficient.

Definition at line 295 of file FTps.hpp.

References FTpsData< N >::getIndex().

Here is the call graph for this function:

◆ operator[]() [2/4]

template<class T , int N>
const T FTps< T, N >::operator[] ( const FMonomial< N > &  monomial) const

Get coefficient.

Definition at line 288 of file FTps.hpp.

References FTpsData< N >::getIndex().

Here is the call graph for this function:

◆ operator[]() [3/4]

template<class T , int N>
T & FTps< T, N >::operator[] ( int  index)
inline

Get (Set) coefficient.

Definition at line 281 of file FTps.hpp.

◆ operator[]() [4/4]

template<class T , int N>
const T FTps< T, N >::operator[] ( int  index) const
inline

Get coefficient.

Definition at line 275 of file FTps.hpp.

◆ orderEnd()

template<class T , int N>
static int FTps< T, N >::orderEnd ( int  order)
inlinestatic

Get one plus index at which [b]order[/b] ends.

Definition at line 147 of file FTps.h.

References FTpsData< N >::orderEnd().

Referenced by FVps< T, N >::linearTerms(), operator+(), operator-(), and FVps< T, N >::substitute().

Here is the call graph for this function:

◆ orderLength() [1/2]

template<class T , int N>
static int FTps< T, N >::orderLength ( int  order)
inlinestatic

Definition at line 151 of file FTps.h.

References FTpsData< N >::orderLength().

Here is the call graph for this function:

◆ orderLength() [2/2]

template<class T , int N>
static int FTps< T, N >::orderLength ( int  orderL,
int  orderH 
)
inlinestatic

Definition at line 155 of file FTps.h.

References FTpsData< N >::orderLength().

Here is the call graph for this function:

◆ orderStart()

template<class T , int N>
static int FTps< T, N >::orderStart ( int  order)
inlinestatic

Get index at which [b]order[/b] starts.

Definition at line 143 of file FTps.h.

References FTpsData< N >::orderStart().

Referenced by FVps< T, N >::linearTerms(), operator+(), operator-(), and FVps< T, N >::substitute().

Here is the call graph for this function:

◆ put()

template<class T , int N>
std::ostream & FTps< T, N >::put ( std::ostream &  os) const

Write FTps on the stream [b]os[/b].

Definition at line 1648 of file FTps.hpp.

References begin(), end(), endl(), FTpsData< N >::getExponents(), FVps< T, N >::getMaxOrder(), FVps< T, N >::getMinOrder(), Inform::precision(), and Attrib::Legacy::Distribution::T.

Here is the call graph for this function:

◆ scaleMonomials()

template<class T , int N>
FTps< T, N > FTps< T, N >::scaleMonomials ( const FTps< T, N > &  y) const

Scale monomial coefficients by coefficients in [b]y[/b].

Definition at line 589 of file FTps.hpp.

References FTps< T, N >::begin(), begin(), end(), FTps< T, N >::getMaxOrder(), FVps< T, N >::getMaxOrder(), FTps< T, N >::getMinOrder(), FVps< T, N >::getMinOrder(), FTps< T, N >::getTruncOrder(), FVps< T, N >::getTruncOrder(), max(), and min().

Here is the call graph for this function:

◆ setCoefficient() [1/2]

template<class T , int N>
void FTps< T, N >::setCoefficient ( const FMonomial< N > &  monomial,
const T &  value 
)

Set coefficient.

Definition at line 268 of file FTps.hpp.

◆ setCoefficient() [2/2]

template<class T , int N>
void FTps< T, N >::setCoefficient ( int  index,
const T &  value 
)

Set coefficient.

Definition at line 236 of file FTps.hpp.

◆ setGlobalTruncOrder()

template<class T , int N>
void FTps< T, N >::setGlobalTruncOrder ( int  order)
static

Set the global truncation order.

Definition at line 419 of file FTps.hpp.

References FTpsData< N >::setup().

Referenced by opalMain().

Here is the call graph for this function:

◆ setMaxOrder()

template<class T , int N>
void FTps< T, N >::setMaxOrder ( int  order)

Set maximum order.

Definition at line 357 of file FTps.hpp.

◆ setMinOrder()

template<class T , int N>
void FTps< T, N >::setMinOrder ( int  order)

Set minimum order.

Definition at line 321 of file FTps.hpp.

Referenced by FVps< T, N >::operator*(), and FTps< T, N >::taylor().

◆ setTruncOrder()

template<class T , int N>
void FTps< T, N >::setTruncOrder ( int  order)

◆ substitute() [1/4]

template<class T , int N>
FTps< T, N > FTps< T, N >::substitute ( const FMatrix< T, N, N > &  M) const

Substitute.

Definition at line 1302 of file FTps.hpp.

References FVps< T, N >::getMaxOrder(), FVps< T, N >::getMinOrder(), and FVps< T, N >::substitute().

Here is the call graph for this function:

◆ substitute() [2/4]

template<class T , int N>
FTps< T, N > FTps< T, N >::substitute ( const FMatrix< T, N, N > &  M,
int  n 
) const

◆ substitute() [3/4]

template<class T , int N>
FTps< T, N > FTps< T, N >::substitute ( const FMatrix< T, N, N > &  M,
int  nl,
int  nh 
) const

◆ substitute() [4/4]

template<class T , int N>
FTps< T, N > FTps< T, N >::substitute ( const FVps< T, N > &  m,
int  trunc = EXACT 
) const

Substitute.

Definition at line 1308 of file FTps.hpp.

References begin(), FVps< T, N >::getMaxOrder(), FVps< T, N >::getMinOrder(), FVps< T, N >::getSubstOrders(), FTpsData< N >::getVariableList(), max(), and Attrib::Legacy::Distribution::T.

Here is the call graph for this function:

◆ taylor()

template<class T , int N>
FTps< T, N > FTps< T, N >::taylor ( const Array1D< T > &  series,
int  order 
) const

Taylor series.

Definition at line 1481 of file FTps.hpp.

References FTps< T, N >::itsRep, FTps< T, N >::multiply(), FTps< T, N >::setMinOrder(), FTps< T, N >::setTruncOrder(), Attrib::Legacy::Distribution::T, and FTps< T, N >::unique().

Referenced by cos(), cosh(), erf(), exp(), log(), sin(), sinh(), and sqrt().

Here is the call graph for this function:

◆ truncate()

template<class T , int N>
FTps< T, N > FTps< T, N >::truncate ( int  trunc)
inline

Truncate.

Definition at line 475 of file FTps.hpp.

References FVps< T, N >::filter().

Here is the call graph for this function:

◆ unique()

template<class T , int N>
void FTps< T, N >::unique
inline

Make representation unique.

Definition at line 1505 of file FTps.hpp.

References FTps< T, N >::allocate(), FTpsRep< T, N >::begin(), FTpsRep< T, N >::end(), and FTpsRep< T, N >::ref.

Referenced by FTps< T, N >::taylor().

Here is the call graph for this function:

Member Data Documentation

◆ EXACT

template<class T , int N>
const int FTps< T, N >::EXACT = INT_MAX
static

Representation of infinite precision.

Definition at line 383 of file FTps.h.

◆ freeList

template<class T , int N>
FTpsRep< T, N > * FTps< T, N >::freeList
staticprivate

Definition at line 409 of file FTps.h.

◆ globalTruncOrder

template<class T , int N>
int FTps< T, N >::globalTruncOrder
staticprivate

Definition at line 412 of file FTps.h.

Referenced by FTps< T, N >::getGlobalTruncOrder().

◆ itsRep

template<class T , int N>
FTpsRep<T, N>* FTps< T, N >::itsRep
private

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