![]() |
Reference documentation for deal.II version 9.1.0-pre
|
#include <deal.II/base/polynomial.h>
Public Member Functions | |
HermiteInterpolation (const unsigned int p) | |
![]() | |
Polynomial (const std::vector< double > &coefficients) | |
Polynomial (const unsigned int n) | |
Polynomial (const std::vector< Point< 1 >> &lagrange_support_points, const unsigned int evaluation_point) | |
Polynomial () | |
double | value (const doublex) const |
void | value (const doublex, std::vector< double > &values) const |
void | value (const doublex, const unsigned int n_derivatives, double *values) const |
unsigned int | degree () const |
void | scale (const doublefactor) |
void | shift (const number2 offset) |
Polynomial< double > | derivative () const |
Polynomial< double > | primitive () const |
Polynomial< double > & | operator*= (const double s) |
Polynomial< double > & | operator*= (const Polynomial< double > &p) |
Polynomial< double > & | operator+= (const Polynomial< double > &p) |
Polynomial< double > & | operator-= (const Polynomial< double > &p) |
bool | operator== (const Polynomial< double > &p) const |
void | print (std::ostream &out) const |
void | serialize (Archive &ar, const unsigned int version) |
![]() | |
Subscriptor () | |
Subscriptor (const Subscriptor &) | |
Subscriptor (Subscriptor &&) noexcept | |
virtual | ~Subscriptor () |
Subscriptor & | operator= (const Subscriptor &) |
Subscriptor & | operator= (Subscriptor &&) noexcept |
void | subscribe (const char *identifier=nullptr) const |
void | unsubscribe (const char *identifier=nullptr) const |
unsigned int | n_subscriptions () const |
template<typename StreamType > | |
void | list_subscribers (StreamType &stream) const |
void | list_subscribers () const |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
Static Public Member Functions | |
static std::vector< Polynomial< double > > | generate_complete_basis (const unsigned int p) |
![]() | |
static::ExceptionBase & | ExcInUse (int arg1, std::string arg2, std::string arg3) |
static::ExceptionBase & | ExcNoSubscriber (std::string arg1, std::string arg2) |
Additional Inherited Members | |
![]() | |
void | transform_into_standard_form () |
![]() | |
static void | scale (std::vector< double > &coefficients, const doublefactor) |
static void | shift (std::vector< double > &coefficients, const number2 shift) |
static void | multiply (std::vector< double > &coefficients, const doublefactor) |
![]() | |
std::vector< double > | coefficients |
bool | in_lagrange_product_form |
std::vector< double > | lagrange_support_points |
double | lagrange_weight |
Polynomials for Hermite interpolation condition.
This is the set of polynomials of degree at least three, such that the following interpolation conditions are met: the polynomials and their first derivatives vanish at the values x=0 and x=1, with the exceptions p0(0)=1, p1(1)=1, p'2(0)=1, p'3(1)=1.
For degree three, we obtain the standard four Hermitian interpolation polynomials, see for instance Wikipedia. For higher degrees, these are augmented first, by the polynomial of degree four with vanishing values and derivatives at x=0 and x=1, then by the product of this fourth order polynomial with Legendre polynomials of increasing order. The implementation is
\begin{align*} p_0(x) &= 2x^3-3x^2+1 \\ p_1(x) &= -2x^3+3x^2 \\ p_2(x) &= x^3-2x^2+x \\ p_3(x) &= x^3-x^2 \\ p_4(x) &= 16x^2(x-1)^2 \\ \ldots & \ldots \\ p_k(x) &= x^2(x-1)^2 L_{k-4}(x) \end{align*}
Definition at line 581 of file polynomial.h.
Polynomials::HermiteInterpolation::HermiteInterpolation | ( | const unsigned int | p | ) |
Constructor for polynomial with index p
. See the class documentation on the definition of the sequence of polynomials.
Definition at line 1178 of file polynomial.cc.
|
static |
Return the polynomials with index 0
up to p+1
in a space of degree up to p
. Here, p
has to be at least 3.
Definition at line 1230 of file polynomial.cc.