OPAL (Object Oriented Parallel Accelerator Library)
2021.1.99
OPAL
|
Vector truncated power series in n variables. More...
#include <FVps.h>
Public Member Functions | |
FVps (int minOrder, int maxOrder, int trcOrder) | |
Constructor. More... | |
FVps (const FMatrix< T, N, N > &M) | |
Convert from matrix. More... | |
FVps (const FVector< T, N > &V) | |
Convert from vector. More... | |
FVps (const LinearMap< T, N > &rhs) | |
Convert from linear map. More... | |
FVps (const TransportMap< T, N > &rhs) | |
Convert from second-order map. More... | |
FVps () | |
FVps (const FVps &) | |
~FVps () | |
const FVps & | operator= (const FVps &) |
void | identity () |
Set to identity. More... | |
void | zero () |
Set to zero. More... | |
const FTps< T, N > & | getComponent (int n) const |
Get component. More... | |
void | setComponent (int, const FTps< T, N > &) |
Set component. More... | |
const FTps< T, N > & | operator[] (int) const |
Get Component. More... | |
FTps< T, N > & | operator[] (int) |
Get (Set) component. More... | |
int | getDimension () const |
Get dimension. More... | |
int | getVariables () const |
Get number of variables. More... | |
int | getMinOrder () const |
Get lowest order contained in any component. More... | |
void | setMinOrder (int order) |
Set minimum order. More... | |
int | getMaxOrder () const |
Get highest order contained in any component. More... | |
void | setMaxOrder (int order) |
Set maximum order. More... | |
int | getTopOrder () const |
Get highest order contained in any component. More... | |
int | getTruncOrder () const |
Get lowest truncation order in any component. More... | |
void | setTruncOrder (int order) |
Set truncation order for all components. More... | |
FVps | filter (int minOrder, int maxOrder, int trcOrder=(FTps< T, N >::EXACT)) const |
Extract given range of orders, with truncation. More... | |
FVps | truncate (int trunc) |
Truncate. More... | |
FVps | operator+ () const |
Unary plus. More... | |
FVps | operator- () const |
Unary minus. More... | |
FVps & | operator+= (const FVps &rhs) |
Add and assign. More... | |
FVps & | operator-= (const FVps &rhs) |
Subtract and assign. More... | |
FVps & | operator+= (const FVector< T, N > &) |
Add and assign. More... | |
FVps & | operator-= (const FVector< T, N > &) |
Subtract and assign. More... | |
FVps & | operator*= (const FTps< T, N > &rhs) |
Multiply and assign. More... | |
FVps | operator* (const FVps< T, N > &rhs) const |
Multiply. More... | |
FVps & | operator/= (const FTps< T, N > &rhs) |
Divide and assign. More... | |
FVps & | operator*= (const T &rhs) |
Multiply and assign. More... | |
FVps & | operator/= (const T &rhs) |
Divide and assign. More... | |
FVps | inverse (int trunc=(FTps< T, N >::EXACT)) const |
Inverse. More... | |
FVps | myInverse (int trunc=(FTps< T, N >::EXACT)) const |
Inverse. More... | |
FVps | derivative (int var) const |
Partial derivative. More... | |
FVps | integral (int var) const |
Partial integral. More... | |
FVector< T, N > | constantTerm () const |
Extract the constant part of the map. More... | |
FVector< T, N > | constantTerm (const FVector< T, N > &P) const |
Extract the constant part of the map expanded about point [b]P[/b]. More... | |
FMatrix< T, N, N > | linearTerms () const |
Extract the linear part of the map. More... | |
FMatrix< T, N, N > | linearTerms (const FVector< T, N > &P) const |
Extract the linear part of the map expanded about point [b]P[/b]. More... | |
Array1D< int > | getSubstOrders (const FVps< T, N > &rhs, int trunc=(FTps< T, N >::EXACT)) const |
Return orders {min, max, trc} of f(rhs(z)). More... | |
FVps | substitute (const FMatrix< T, N, N > &M, int n) const |
Substitute. More... | |
FVps | substitute (const FMatrix< T, N, N > &M, int nl, int nh) const |
Substitute. More... | |
FVps | substitute (const FMatrix< T, N, N > &M) const |
Substitute. More... | |
FVps | substitute (const FVps< T, N > &m, int trunc=(FTps< T, N >::EXACT)) const |
Substitute. More... | |
FVps | substituteInto (const FMatrix< T, N, N > &lhs) const |
Substitute map into matrix. More... | |
FTps< T, N > | getFTps (const FArray1D< int, N > &power) const |
Get a FTps that is a combination of the polynomials of FVps. More... | |
std::istream & | get (std::istream &is) |
Get a FVps from stream [b]is[/b]. More... | |
std::ostream & | put (std::ostream &os) const |
Put a FVps to stream [b]os[/b]. More... | |
Protected Attributes | |
FTps< T, N > | data [N] |
Vector truncated power series in n variables.
Convert from linear map.
Definition at line 58 of file FVps.hpp.
References Attrib::Legacy::Distribution::T.
|
explicit |
Convert from second-order map.
Definition at line 68 of file FVps.hpp.
References FTpsData< N >::getSize(), and SIZE.
Definition at line 52 of file FVps.hpp.
References FVps< T, N >::data.
Extract the constant part of the map.
Definition at line 540 of file FVps.hpp.
References Attrib::Legacy::Distribution::T.
Partial derivative.
Definition at line 524 of file FVps.hpp.
Referenced by FTps< T, N >::gradient().
FVps< T, N > FVps< T, N >::filter | ( | int | minOrder, |
int | maxOrder, | ||
int | trcOrder = (FTps<T, N>::EXACT) |
||
) | const |
Extract given range of orders, with truncation.
Definition at line 223 of file FVps.hpp.
Referenced by FTps< T, N >::truncate().
std::istream & FVps< T, N >::get | ( | std::istream & | is | ) |
Get a FVps from stream [b]is[/b].
Definition at line 1057 of file FVps.hpp.
Referenced by operator>>().
Get component.
Definition at line 123 of file FVps.hpp.
Referenced by operator*(), and FVps< T, N >::operator*().
|
inline |
int FVps< T, N >::getMaxOrder |
Get highest order contained in any component.
Definition at line 181 of file FVps.hpp.
References FTps< T, N >::getMaxOrder(), and max().
Referenced by FTps< T, N >::derivative(), FTps< T, N >::divide(), FTps< T, N >::evaluate(), FVps< T, N >::getSubstOrders(), FTps< T, N >::getSubstOrders(), FTps< T, N >::integral(), FTps< T, N >::multiplyVariable(), FTps< T, N >::operator*=(), FTps< T, N >::operator-(), FTps< T, N >::operator==(), FTps< T, N >::put(), FTps< T, N >::scaleMonomials(), and FTps< T, N >::substitute().
int FVps< T, N >::getMinOrder |
Get lowest order contained in any component.
Definition at line 165 of file FVps.hpp.
References FTps< T, N >::getMinOrder(), and min().
Referenced by FTps< T, N >::derivative(), FTps< T, N >::divide(), FTps< T, N >::evaluate(), FVps< T, N >::getSubstOrders(), FTps< T, N >::getSubstOrders(), FTps< T, N >::integral(), FTps< T, N >::multiplyVariable(), FTps< T, N >::operator*=(), FTps< T, N >::operator-(), FTps< T, N >::operator==(), FTps< T, N >::put(), FTps< T, N >::scaleMonomials(), and FTps< T, N >::substitute().
Array1D< int > FVps< T, N >::getSubstOrders | ( | const FVps< T, N > & | rhs, |
int | trunc = (FTps<T, N>::EXACT) |
||
) | const |
Return orders {min, max, trc} of f(rhs(z)).
Definition at line 594 of file FVps.hpp.
References FVps< T, N >::getMaxOrder(), FVps< T, N >::getMinOrder(), FTps< T, N >::getSubstOrders(), and FVps< T, N >::getTruncOrder().
Referenced by FTps< T, N >::getSubstOrders(), and FTps< T, N >::substitute().
int FVps< T, N >::getTopOrder |
Get highest order contained in any component.
Definition at line 197 of file FVps.hpp.
References FTps< T, N >::getMaxOrder(), and max().
int FVps< T, N >::getTruncOrder |
Get lowest truncation order in any component.
Definition at line 207 of file FVps.hpp.
References FTps< T, N >::getTruncOrder(), and min().
Referenced by FTps< T, N >::derivative(), FTps< T, N >::divide(), ExpMap(), FVps< T, N >::getSubstOrders(), FTps< T, N >::getSubstOrders(), FTps< T, N >::integral(), FTps< T, N >::multiplyVariable(), FTps< T, N >::operator-(), FTps< T, N >::operator==(), FTps< T, N >::scaleMonomials(), and FTps< T, N >::substitute().
|
inline |
void FVps< T, N >::identity |
FVps< T, N > FVps< T, N >::inverse | ( | int | trunc = (FTps<T, N>::EXACT) | ) | const |
Inverse.
Definition at line 360 of file FVps.hpp.
References endl(), FLUMatrix< T, N >::inverse(), min(), FVps< T, N >::setTruncOrder(), and FVps< T, N >::substitute().
Extract the linear part of the map.
Definition at line 561 of file FVps.hpp.
Referenced by ThickTracker::track_m().
FMatrix< T, N, N > FVps< T, N >::linearTerms | ( | const FVector< T, N > & | P | ) | const |
Extract the linear part of the map expanded about point [b]P[/b].
Definition at line 570 of file FVps.hpp.
References Array1D< T >::begin(), FTps< T, N >::begin(), FTps< T, N >::derivative(), FTps< T, N >::evalMonoms(), FTps< T, N >::getMaxOrder(), FTps< T, N >::getMinOrder(), ke, FTps< T, N >::orderEnd(), FTps< T, N >::orderStart(), and Attrib::Legacy::Distribution::T.
FVps< T, N > FVps< T, N >::myInverse | ( | int | trunc = (FTps<T, N>::EXACT) | ) | const |
Inverse.
Definition at line 441 of file FVps.hpp.
References endl(), FLUMatrix< T, N >::inverse(), min(), FVps< T, N >::setTruncOrder(), and FVps< T, N >::substitute().
Multiply.
Definition at line 288 of file FVps.hpp.
References FTps< T, N >::extractExponents(), FTps< T, N >::getCoefficient(), FVps< T, N >::getComponent(), FTps< T, N >::getListOfNonzeroCoefficients(), FTps< T, N >::getMinOrder(), FTps< T, N >::makePower(), min(), FTps< T, N >::multiply(), FVps< T, N >::setComponent(), and FTps< T, N >::setMinOrder().
Divide and assign.
Definition at line 338 of file FVps.hpp.
References FTps< T, N >::inverse().
Definition at line 104 of file FVps.hpp.
References FVps< T, N >::data.
std::ostream & FVps< T, N >::put | ( | std::ostream & | os | ) | const |
Put a FVps to stream [b]os[/b].
Definition at line 1078 of file FVps.hpp.
References endl().
Referenced by operator<<().
void FVps< T, N >::setMaxOrder | ( | int | order | ) |
Set maximum order.
Definition at line 191 of file FVps.hpp.
Referenced by FVps< T, N >::substitute().
void FVps< T, N >::setMinOrder | ( | int | order | ) |
Set minimum order.
Definition at line 175 of file FVps.hpp.
Referenced by FTps< T, N >::operator+=(), FTps< T, N >::operator-=(), and FVps< T, N >::substitute().
void FVps< T, N >::setTruncOrder | ( | int | order | ) |
Set truncation order for all components.
Definition at line 217 of file FVps.hpp.
Referenced by FVps< T, N >::inverse(), FVps< T, N >::myInverse(), and FVps< T, N >::substitute().
FVps< T, N > FVps< T, N >::substitute | ( | const FMatrix< T, N, N > & | M, |
int | n | ||
) | const |
Substitute.
Definition at line 608 of file FVps.hpp.
References begin(), end(), endl(), FTps< T, N >::getSize(), Hypervolume::n, FVps< T, N >::setMaxOrder(), FVps< T, N >::setMinOrder(), FVps< T, N >::setTruncOrder(), and Attrib::Legacy::Distribution::T.
Referenced by FVps< T, N >::inverse(), FVps< T, N >::myInverse(), and FTps< T, N >::substitute().
FVps< T, N > FVps< T, N >::substitute | ( | const FMatrix< T, N, N > & | M, |
int | nl, | ||
int | nh | ||
) | const |
Substitute.
Definition at line 728 of file FVps.hpp.
References begin(), end(), endl(), FTps< T, N >::getSize(), max(), min(), FVps< T, N >::setMaxOrder(), FVps< T, N >::setMinOrder(), FVps< T, N >::setTruncOrder(), and Attrib::Legacy::Distribution::T.
FVps< T, N > FVps< T, N >::substitute | ( | const FVps< T, N > & | m, |
int | trunc = (FTps<T, N>::EXACT) |
||
) | const |
Substitute.
Definition at line 895 of file FVps.hpp.
References begin(), FTpsData< N >::getVariableList(), max(), FTps< T, N >::orderEnd(), FTps< T, N >::orderStart(), FVps< T, N >::setMaxOrder(), FVps< T, N >::setMinOrder(), FVps< T, N >::setTruncOrder(), and Attrib::Legacy::Distribution::T.
FVps< T, N > FVps< T, N >::substituteInto | ( | const FMatrix< T, N, N > & | lhs | ) | const |
Substitute map into matrix.
Definition at line 1021 of file FVps.hpp.
References sum().
Referenced by operator*().
Truncate.
Definition at line 234 of file FVps.hpp.
Referenced by ThickTracker::concatenateMaps_m(), and ThickTracker::track_m().
void FVps< T, N >::zero |
Definition at line 247 of file FVps.h.
Referenced by FTpsRep< T, N >::clear(), FVps< T, N >::FVps(), FVps< T, N >::operator=(), and FTpsRep< T, N >::~FTpsRep().