Reference documentation for deal.II version 8.5.1
|
#include <deal.II/base/polynomial.h>
Public Member Functions | |
HermiteInterpolation (const unsigned int p) | |
Public Member Functions inherited from Polynomials::Polynomial< double > | |
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 double x) const |
void | value (const double x, std::vector< double > &values) const |
void | value (const double x, const unsigned int n_derivatives, double *values) const |
unsigned int | degree () const |
void | scale (const double factor) |
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) |
Public Member Functions inherited from Subscriptor | |
Subscriptor () | |
Subscriptor (const Subscriptor &) | |
Subscriptor (Subscriptor &&) | |
virtual | ~Subscriptor () |
Subscriptor & | operator= (const Subscriptor &) |
Subscriptor & | operator= (Subscriptor &&) |
void | subscribe (const char *identifier=0) const |
void | unsubscribe (const char *identifier=0) const |
unsigned int | n_subscriptions () 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 Public Member Functions inherited from Subscriptor | |
static ::ExceptionBase & | ExcInUse (int arg1, char *arg2, std::string &arg3) |
static ::ExceptionBase & | ExcNoSubscriber (char *arg1, char *arg2) |
Additional Inherited Members | |
Protected Member Functions inherited from Polynomials::Polynomial< double > | |
void | transform_into_standard_form () |
Static Protected Member Functions inherited from Polynomials::Polynomial< double > | |
static void | scale (std::vector< double > &coefficients, const double factor) |
static void | shift (std::vector< double > &coefficients, const number2 shift) |
static void | multiply (std::vector< double > &coefficients, const double factor) |
Protected Attributes inherited from Polynomials::Polynomial< double > | |
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 571 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 1168 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 1221 of file polynomial.cc.