1 #ifndef MAD_FStaticFP_HH
2 #define MAD_FStaticFP_HH
78 fixedPoint(), fixedPointMap()
84 fixedPoint(fp.fixedPoint), fixedPointMap(fp.fixedPointMap)
90 fixedPoint(), fixedPointMap() {
111 for(
int i = 0; i < nFree; i++) {
115 for(
int i = nFree; i < N; i++) {
116 for(
int j = 0; j < N; j++) A(i, j) = A(j, i) = 0.0;
127 static const double tol = 1.0e-10;
128 if(error < tol)
break;
137 for(
int i = 0; i < nFree; i++) A(i, i) -= 1.0;
138 for(
int i = nFree; i < N; i++) {
139 for(
int j = 0; j < N; j++) A(i, j) = A(j, i) = 0.0;
147 for(
int limit = 1; limit <= map.
getMaxOrder(); limit++) {
152 delta[nFree+1] = limit;
154 for(
int i = 0; i < nFree; i++) {
156 Error(i) = Q[i].getCoefficient(delta);
162 for(
int i = 0; i < nFree; i += 2) {
164 fixedPoint[i].setCoefficient(delta, - Error(i));
165 fixedPoint[i+1].setCoefficient(delta, - Error(i + 1));
169 powers[nFree+1] = limit - 1;
171 fixedPoint[nFree].setCoefficient(powers,
double(limit) * Error(i + 1));
174 fixedPoint[nFree].setCoefficient(powers, -
double(limit) * Error(i));
179 fixedPoint[nFree].setCoefficient(delta, Q[nFree].getCoefficient(delta));
206 return fixedPointMap;
209 #endif // MAD_FStaticFP_HH
PETE_TUTree< FnAbs, typename T::PETE_Expr_t > abs(const PETE_Expr< T > &l)
FVps< double, N > fixedPointMap
Static fixed point of a Truncated power series map.
Representation of the exponents for a monomial with fixed dimension.
const FVps< double, N > & getFixedPoint() const
Get the transformation to the fixed point.
void setTruncOrder(int order)
Set truncation order for all components.
void operator=(const FStaticFP &)
A templated representation of a LU-decomposition.
FVector< T, N > constantTerm() const
Extract the constant part of the map.
const FVps< double, N > & getFixedPointMap() const
Get the map around the fixed point.
FVps inverse(int trunc=(FTps< T, N >::EXACT)) const
Inverse.
void backSubstitute(FVector< T, N > &B) const
Back substitution.
FVps< double, N > fixedPoint
FVps filter(int minOrder, int maxOrder, int trcOrder=(FTps< T, N >::EXACT)) const
Extract given range of orders, with truncation.
FMatrix< T, N, N > linearTerms() const
Extract the linear part of the map.
int getMaxOrder() const
Get highest order contained in any component.
FVps substitute(const FMatrix< T, N, N > &M, int n) const
Substitute.
const FVps< double, N > & getDispersion() const
Get the dispersion map.
int getMinOrder() const
Get lowest order contained in any component.
static FTps makeVariable(int var)
Make variable.