Reference documentation for deal.II version 9.1.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 &&) noexcept | |
virtual | ~Subscriptor () |
Subscriptor & | operator= (const Subscriptor &) |
Subscriptor & | operator= (Subscriptor &&) noexcept |
void | subscribe (std::atomic< bool > *const validity, const std::string &identifier="") const |
void | unsubscribe (std::atomic< bool > *const validity, const std::string &identifier="") 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 Public Member Functions inherited from Subscriptor | |
static ::ExceptionBase & | ExcInUse (int arg1, std::string arg2, std::string arg3) |
static ::ExceptionBase & | ExcNoSubscriber (std::string arg1, std::string 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 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.