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