![]() |
deal.II version GIT relicensing-6834-g5b78e6bcdf 2026-10-01 11:20:01+00:00
|
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, const bool rescale_to_dealii_unit_interval=true) |
| template<typename Number > | |
| Number | jacobi_polynomial_derivative (const unsigned int degree, const int alpha, const int beta, const Number x, const bool rescale_to_dealii_unit_interval) |
| template<typename Number > | |
| Number | jacobi_polynomial_kth_derivative (const unsigned int derivative_order, const unsigned int degree, const int alpha, const int beta, const Number x, const bool rescale_to_dealii_unit_interval) |
| template<typename Number > | |
| std::vector< Number > | jacobi_polynomial_roots (const unsigned int degree, const int alpha, const int beta) |
| template<typename Number > | |
| Number | jacobi_polynomial_homogenized_value (const unsigned int degree, const int alpha, const int beta, const Number x, const Number s) |
| template<typename Number > | |
| Number | jacobi_polynomial_homogenized_derivative (const unsigned int order_x, const unsigned int order_s, const unsigned int degree, const int alpha, const int beta, const Number x, const Number s) |
| 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) |
A namespace in which classes relating to the description of 1d polynomial spaces are declared.
| 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 692 of file polynomial.cc.
| Number Polynomials::jacobi_polynomial_value | ( | const unsigned int | degree, |
| const int | alpha, | ||
| const int | beta, | ||
| const Number | x, | ||
| const bool | rescale_to_dealii_unit_interval = true |
||
| ) |
Definition at line 1154 of file polynomial.h.
| Number Polynomials::jacobi_polynomial_derivative | ( | const unsigned int | degree, |
| const int | alpha, | ||
| const int | beta, | ||
| const Number | x, | ||
| const bool | rescale_to_dealii_unit_interval | ||
| ) |
Definition at line 1197 of file polynomial.h.
| Number Polynomials::jacobi_polynomial_kth_derivative | ( | const unsigned int | derivative_order, |
| const unsigned int | degree, | ||
| const int | alpha, | ||
| const int | beta, | ||
| const Number | x, | ||
| const bool | rescale_to_dealii_unit_interval | ||
| ) |
Definition at line 1211 of file polynomial.h.
| 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.
For the definition of the Jacobi polynomials, see https://en.wikipedia.org/wiki/Gauss%E2%80%93Jacobi_quadrature, though that page uses the interval \([-1,1]\) instead, and so the weights associated with \(\beta\) are there given as \((1+x)^\beta\) whereas in our implementation the weights are \((1-x)^\alpha\) and \(x^\beta\).
Definition at line 1254 of file polynomial.h.
| Number Polynomials::jacobi_polynomial_homogenized_value | ( | const unsigned int | degree, |
| const int | alpha, | ||
| const int | beta, | ||
| const Number | x, | ||
| const Number | s | ||
| ) |
Definition at line 1333 of file polynomial.h.
| Number Polynomials::jacobi_polynomial_homogenized_derivative | ( | const unsigned int | order_x, |
| const unsigned int | order_s, | ||
| const unsigned int | degree, | ||
| const int | alpha, | ||
| const int | beta, | ||
| const Number | x, | ||
| const Number | s | ||
| ) |
Definition at line 1375 of file polynomial.h.
| 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 211 of file polynomials_piecewise.cc.
| 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 236 of file polynomials_piecewise.cc.