deal.II version GIT relicensing-2167-g9622207b8f 2024-11-21 12:40:00+00:00
\(\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\}}\)
Loading...
Searching...
No Matches
Namespaces | Classes | Functions
Polynomials Namespace Reference

Namespaces

namespace  internal
 

Classes

class  HermiteInterpolation
 
class  HermiteLikeInterpolation
 
class  Hierarchical
 
class  LagrangeEquidistant
 
class  Legendre
 
class  Lobatto
 
class  Monomial
 
class  PiecewisePolynomial
 
class  Polynomial
 
class  PolynomialsHermite
 

Functions

std::vector< Polynomial< double > > generate_complete_Lagrange_basis (const std::vector< Point< 1 > > &points)
 
template<typename Number >
Number jacobi_polynomial_value (const unsigned int degree, const int alpha, const int beta, const Number x)
 
template<typename Number >
std::vector< Number > jacobi_polynomial_roots (const unsigned int degree, const int alpha, const int beta)
 
std::vector< PiecewisePolynomial< double > > generate_complete_Lagrange_basis_on_subdivisions (const unsigned int n_subdivisions, const unsigned int base_degree)
 
std::vector< PiecewisePolynomial< double > > generate_complete_linear_basis_on_subdivisions (const std::vector< Point< 1 > > &points)
 

Detailed Description

A namespace in which classes relating to the description of 1d polynomial spaces are declared.

Function Documentation

◆ generate_complete_Lagrange_basis()

std::vector< Polynomial< double > > Polynomials::generate_complete_Lagrange_basis ( const std::vector< Point< 1 > > &  points)

Given a set of points along the real axis, this function returns all Lagrange polynomials for interpolation of these points. The number of polynomials is equal to the number of points and the maximum degree is one less.

Definition at line 686 of file polynomial.cc.

◆ jacobi_polynomial_value()

template<typename Number >
Number Polynomials::jacobi_polynomial_value ( const unsigned int  degree,
const int  alpha,
const int  beta,
const Number  x 
)

Definition at line 1045 of file polynomial.h.

◆ jacobi_polynomial_roots()

template<typename Number >
std::vector< Number > Polynomials::jacobi_polynomial_roots ( const unsigned int  degree,
const int  alpha,
const int  beta 
)

Compute the roots of the Jacobi polynomials on the unit interval \([0, 1]\) of the given degree. These roots are used in several places inside the deal.II library, such as the Gauss-Lobatto quadrature formula or for the Hermite-like interpolation.

The algorithm uses a Newton algorithm, using the zeros of the Chebyshev polynomials as an initial guess. This code has been tested for alpha and beta equal to zero (Legendre case), one (Gauss-Lobatto case) as well as two, so be careful when using it for other values as the Newton iteration might or might not converge.

Definition at line 1086 of file polynomial.h.

◆ generate_complete_Lagrange_basis_on_subdivisions()

std::vector< PiecewisePolynomial< double > > Polynomials::generate_complete_Lagrange_basis_on_subdivisions ( const unsigned int  n_subdivisions,
const unsigned int  base_degree 
)

Generates a complete Lagrange basis on a subdivision of the unit interval in smaller intervals for a given degree on the subintervals and number of intervals.

Definition at line 190 of file polynomials_piecewise.cc.

◆ generate_complete_linear_basis_on_subdivisions()

std::vector< PiecewisePolynomial< double > > Polynomials::generate_complete_linear_basis_on_subdivisions ( const std::vector< Point< 1 > > &  points)

Generates a complete linear basis on a subdivision of the unit interval in smaller intervals for a given vector of points.

Definition at line 215 of file polynomials_piecewise.cc.