Reference documentation for deal.II version 9.2.0
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Public Member Functions | Static Public Member Functions | Private Member Functions | List of all members
Polynomials::Lobatto Class Reference

#include <deal.II/base/polynomial.h>

Inheritance diagram for Polynomials::Lobatto:
[legend]

Public Member Functions

 Lobatto (const unsigned int p=0)
 
- 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< doublederivative () const
 
Polynomial< doubleprimitive () 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)
 
virtual std::size_t memory_consumption () const
 
- Public Member Functions inherited from Subscriptor
 Subscriptor ()
 
 Subscriptor (const Subscriptor &)
 
 Subscriptor (Subscriptor &&) noexcept
 
virtual ~Subscriptor ()
 
Subscriptoroperator= (const Subscriptor &)
 
Subscriptoroperator= (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 ::ExceptionBaseExcInUse (int arg1, std::string arg2, std::string arg3)
 
static ::ExceptionBaseExcNoSubscriber (std::string arg1, std::string arg2)
 

Private Member Functions

std::vector< doublecompute_coefficients (const unsigned int p)
 

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< doublecoefficients
 
bool in_lagrange_product_form
 
std::vector< doublelagrange_support_points
 
double lagrange_weight
 

Detailed Description

Lobatto polynomials of arbitrary degree on [0,1].

These polynomials are the integrated Legendre polynomials on [0,1]. The first two polynomials are the standard linear shape functions given by \(l_0(x) = 1-x\) and \(l_1(x) = x\). For \(i\geq2\) we use the definition \(l_i(x) = \frac{1}{\Vert L_{i-1}\Vert_2}\int_0^x L_{i-1}(t)\,dt\), where \(L_i\) denotes the \(i\)-th Legendre polynomial on \([0,1]\). The Lobatto polynomials \(l_0,\ldots,l_k\) form a complete basis of the polynomials space of degree \(k\).

Calling the constructor with a given index k will generate the polynomial with index k. But only for \(k\geq 1\) the index equals the degree of the polynomial. For k==0 also a polynomial of degree 1 is generated.

These polynomials are used for the construction of the shape functions of Nédélec elements of arbitrary order.

Author
Markus Bürg, 2009

Definition at line 442 of file polynomial.h.

Constructor & Destructor Documentation

◆ Lobatto()

Polynomials::Lobatto::Lobatto ( const unsigned int  p = 0)

Constructor for polynomial of degree p. There is an exception for p==0, see the general documentation.

Definition at line 891 of file polynomial.cc.

Member Function Documentation

◆ generate_complete_basis()

std::vector< Polynomial< double > > Polynomials::Lobatto::generate_complete_basis ( const unsigned int  p)
static

Return the polynomials with index 0 up to degree. There is an exception for p==0, see the general documentation.

Definition at line 982 of file polynomial.cc.

◆ compute_coefficients()

std::vector< double > Polynomials::Lobatto::compute_coefficients ( const unsigned int  p)
private

Compute coefficients recursively.

Definition at line 896 of file polynomial.cc.


The documentation for this class was generated from the following files: