#include <piecewise.h>
Public Types | |
|
typedef std::map< int, Polynomial< C > > | PiecesType |
Public Member Functions | |
| Piecewise () | |
| Piecewise (const Piecewise< C > &p) | |
| Piecewise (const int j) | |
| ~Piecewise () | |
| Polynomial< C > | get_local_expansion (const int k) const |
| const PiecesType * | get_expansion () const |
| void | set_local_expansion (const int k, const Polynomial< C > &p) |
| int | get_granularity () const |
| void | clip_me (const int k1, const int k2) |
| Piecewise< C > | clip (const int k1, const int k2) const |
| void | split_me (const int jnew) |
| Piecewise | split (const int jnew) const |
| void | dilate_me (const int j) |
| Piecewise< C > | dilate (const int j) const |
| void | shift_me (const int k) |
| Piecewise< C > | shift (const int k) const |
| Piecewise< C > | differentiate () const |
| double | integrate (const bool quadrature=false) const |
| double | integrate (const int k1, const int k2, const bool quadrature=false) const |
| C | value (const C x) const |
| C | value (const Point< 1 > &x, const unsigned int component=0) const |
| void | vector_value (const Point< 1 > &p, Vector< C > &values) const |
| C | derivative (const C x) const |
| C | secondDerivative (const C x) const |
| Piecewise< C > & | scale (const C c) |
| Piecewise< C > & | add (const Polynomial< C > &p) |
| Piecewise< C > & | add (const Piecewise< C > &p) |
| C | inner_product (const Piecewise< C > &p) const |
| C | inner_product (const Polynomial< C > &p) const |
| Piecewise< C > & | operator= (const Piecewise< C > &p) |
| C | operator() (const C x) const |
| Piecewise< C > & | operator+= (const Polynomial< C > &p) |
| Piecewise< C > & | operator+= (const Piecewise< C > &p) |
| Piecewise< C > & | operator-= (const Polynomial< C > &p) |
| Piecewise< C > & | operator-= (const Piecewise< C > &p) |
| Piecewise< C > & | operator*= (const C c) |
| Piecewise< C > & | operator*= (const Polynomial< C > &p) |
| Piecewise< C > & | operator*= (const Piecewise< C > &p) |
| void | MatError (char *str) const |
Protected Attributes | |
| PiecesType | expansion |
| int | granularity |
A template class for univariate compactly supported functions f which admit a piecewise polynomial representation.
The nodes of a piecewise function are assumed to take dyadic values 2^{-j}k, with
Note:
Piecewise polynomial functions may be
We derive Piecewise<C> from the class Function<1>, as it is indeed one.
| MathTL::Piecewise< C >::Piecewise | ( | ) |
default constructor: yields the zero spline, granularity j=0
default constructor
| MathTL::Piecewise< C >::Piecewise | ( | const Piecewise< C > & | p | ) |
copy constructor
| MathTL::Piecewise< C >::Piecewise | ( | const int | j | ) |
constructor with predefined granularity j
constructor for predefined granularity
| MathTL::Piecewise< C >::~Piecewise | ( | ) |
destructor
| Piecewise< C > & MathTL::Piecewise< C >::add | ( | const Polynomial< C > & | p | ) |
add a polynomial to this piecewise
| Piecewise< C > & MathTL::Piecewise< C >::add | ( | const Piecewise< C > & | p | ) |
add an other piecewise to this piecewise
| Piecewise< C > MathTL::Piecewise< C >::clip | ( | const int | k1, |
| const int | k2 | ||
| ) | const |
clip to [2^{-j}k1,2^{-j}k2]
| void MathTL::Piecewise< C >::clip_me | ( | const int | k1, |
| const int | k2 | ||
| ) |
clip this spline to [2^{-j}k1,2^{-j}k2]
clip
| C MathTL::Piecewise< C >::derivative | ( | const C | x | ) | const |
point evaluation of first derivative
| Piecewise< C > MathTL::Piecewise< C >::differentiate | ( | ) | const |
symbolic differentiation
| Piecewise< C > MathTL::Piecewise< C >::dilate | ( | const int | j | ) | const |
dilate by 2^{-j} (makes a copy)
| void MathTL::Piecewise< C >::dilate_me | ( | const int | j | ) |
dilate by 2^{-j} f(x) -> 2^{j/2} f(2^j x)
dilate
| const Piecewise< C >::PiecesType * MathTL::Piecewise< C >::get_expansion | ( | ) | const |
read access, all polynomials get all polynomial representations
reading access, all polynomials
| int MathTL::Piecewise< C >::get_granularity | ( | ) | const [inline] |
get the granularity j
| Polynomial< C > MathTL::Piecewise< C >::get_local_expansion | ( | const int | k | ) | const |
read access, local expansion get the local polynomial representation at interval k
reading access, local expansion on one subinterval
| C MathTL::Piecewise< C >::inner_product | ( | const Piecewise< C > & | p | ) | const |
inner product with another piecewise (don't use this extensively, since one copy has to be made!)
inner product with another piecewise
| C MathTL::Piecewise< C >::inner_product | ( | const Polynomial< C > & | p | ) | const |
inner product with another polynomial (don't use this extensively, since one copy has to be made!)
inner product with a polynomial
| double MathTL::Piecewise< C >::integrate | ( | const bool | quadrature = false | ) | const |
integration over entire support
integration, entire support
| double MathTL::Piecewise< C >::integrate | ( | const int | k1, |
| const int | k2, | ||
| const bool | quadrature = false |
||
| ) | const |
integration over [2^{-j}k1,2^{-j}k2]
integration, specific support
| void MathTL::Piecewise< C >::MatError | ( | char * | str | ) | const |
Error output
| C MathTL::Piecewise< C >::operator() | ( | const C | x | ) | const |
point evaluation
point evaluation operator
| Piecewise< C > & MathTL::Piecewise< C >::operator*= | ( | const C | c | ) |
scaling with a constant
in-place multiplication with a constant
| Piecewise< C > & MathTL::Piecewise< C >::operator*= | ( | const Polynomial< C > & | p | ) |
pointwise multiplication with a polynomial
| Piecewise< C > & MathTL::Piecewise< C >::operator*= | ( | const Piecewise< C > & | p | ) |
pointwise multiplication with another piecewise
| Piecewise< C > & MathTL::Piecewise< C >::operator+= | ( | const Polynomial< C > & | p | ) |
in-place addition of a polynomial p
add a polynomial to this piecewise
| Piecewise< C > & MathTL::Piecewise< C >::operator+= | ( | const Piecewise< C > & | p | ) |
in-place addition of a piecewise p
add an other piecewise to this piecewise
| Piecewise< C > & MathTL::Piecewise< C >::operator-= | ( | const Polynomial< C > & | p | ) |
subtraction of a polynomial
subtract a polynomial from this piecewise
| Piecewise< C > & MathTL::Piecewise< C >::operator-= | ( | const Piecewise< C > & | p | ) |
subtraction of another piecewise
subtract an other piecewise from this piecewise
| Piecewise< C > & MathTL::Piecewise< C >::operator= | ( | const Piecewise< C > & | p | ) |
assignment of another piecewise
| Piecewise< C > & MathTL::Piecewise< C >::scale | ( | const C | c | ) |
in-place multiplication with a constant
| C MathTL::Piecewise< C >::secondDerivative | ( | const C | x | ) | const |
point evaluation of second derivative
| void MathTL::Piecewise< C >::set_local_expansion | ( | const int | k, |
| const Polynomial< C > & | p | ||
| ) |
write access, local expansion set the local polynomial representation at interval k
writing access, local expansion
| Piecewise< C > MathTL::Piecewise< C >::shift | ( | const int | k | ) | const |
shift by 2^{-j}k (makes a copy)
| void MathTL::Piecewise< C >::shift_me | ( | const int | k | ) |
shift by 2^{-j}k
shift
| Piecewise< C > MathTL::Piecewise< C >::split | ( | const int | jnew | ) | const |
increase granularity, jnew >= current granularity
| void MathTL::Piecewise< C >::split_me | ( | const int | jnew | ) |
increase granularity, jnew >= current granularity
increase granularity
| C MathTL::Piecewise< C >::value | ( | const C | x | ) | const |
point evaluation
| C MathTL::Piecewise< C >::value | ( | const Point< 1 > & | p, |
| const unsigned int | component = 0 |
||
| ) | const [inline] |
point evaluation (calls the above value(const C)) needed as inheritance from Function<C>
point evaluation (calls above value(const C))
| void MathTL::Piecewise< C >::vector_value | ( | const Point< 1 > & | p, |
| Vector< C > & | values | ||
| ) | const [inline] |
point evaluation (calls the above value(const C)) needed as inheritance from Function<C>
1.7.6.1