Processing math: 100%
KASKADE 7 development version
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Functions
geometric_sequence.hh File Reference
#include <cmath>
#include <numeric>
#include <iterator>
#include <utility>
#include "utilities/power.hh"

Go to the source code of this file.

Functions

template<class Iterator >
std::pair< typename std::iterator_traits< Iterator >::value_type, typename std::iterator_traits< Iterator >::value_type > estimateGeometricSequence (Iterator first, Iterator last)
 Estimates parameters of geometric sequence. More...
 
template<class Iterator >
std::iterator_traits< Iterator >::value_type estimateGeometricTruncationError (Iterator first, Iterator last, int k)
 Estimates errors of truncating geometrically convergent sequences. More...
 

Function Documentation

◆ estimateGeometricSequence()

template<class Iterator >
std::pair< typename std::iterator_traits< Iterator >::value_type, typename std::iterator_traits< Iterator >::value_type > estimateGeometricSequence ( Iterator  first,
Iterator  last 
)

Estimates parameters of geometric sequence.

Given a (finite) sequence a_i, i=0,\dots , n-1 , this function estimates the parameters c,q of a geometric sequence c q^i, such that the least squares error \sum_{i=0}^{n-1} (ln(cq^i) - \ln a_i)^2 is minimal. n has to be at least 2. The values a_i have to be positive.

Template Parameters
Iteratoran input iterator type with a scalar floating point value type

Definition at line 34 of file geometric_sequence.hh.

Referenced by estimateGeometricTruncationError().

◆ estimateGeometricTruncationError()

template<class Iterator >
std::iterator_traits< Iterator >::value_type estimateGeometricTruncationError ( Iterator  first,
Iterator  last,
int  k 
)

Estimates errors of truncating geometrically convergent sequences.

Assume there is a geometrically convergent series (x_i)_{i\in N} with data available for i=0,\dots , n . The differences satisfy a_i = x_{i+1} - x_i \approx c q^i . Then we estimate the truncation error x_k - x_\infty \approx \sum_{i=k}^{n-1} a_i + \frac{cq^n}{1-q}. This value is computed here, given the n difference values a_i .

Template Parameters
Iteratoran input iterator with scalar floating point value type.
Parameters
kdefines for which iterate x_k the error is estimated. 0\le k \le n .

Definition at line 75 of file geometric_sequence.hh.