Uniform distributions use Legendre polynomials. More...
#include <PolynomialQuadrature.h>
Public Member Functions | |
Legendre (const Real lower_bound, const Real upper_bound) | |
virtual void | store (std::ostream &stream, void *context) const override |
virtual void | store (nlohmann::json &json) const override |
virtual Real | compute (const unsigned int order, const Real x, const bool normalize=true) const override |
Legendre polynomial using static function then scales by <P_n^2> = 1 / (2n+1) More... | |
virtual Real | computeDerivative (const unsigned int order, const Real x, const unsigned int m=1) const override |
Compute derivative of Legendre polynomial Recursive algorithm: d^m/dx^m P_n = (n + m - 1)d^(m-1)/dx^(m-1) P_{n-1} + xd^m/dx^m P_{n-1}. More... | |
Real | computeDerivativeRef (const unsigned int order, const Real x, const unsigned int m=1) const |
virtual Real | innerProduct (const unsigned int order) const override |
virtual void | gaussQuadrature (const unsigned int order, std::vector< Real > &points, std::vector< Real > &weights) const override |
Gauss-Legendre quadrature: sum(weights) = 2. More... | |
virtual void | clenshawQuadrature (const unsigned int order, std::vector< Real > &points, std::vector< Real > &weights) const override |
Just normal Clenshaw Curtis with shifted points. More... | |
Real | productIntegral (const std::vector< unsigned int > order) const |
Private Attributes | |
const Real | _lower_bound |
const Real | _upper_bound |
Uniform distributions use Legendre polynomials.
Definition at line 58 of file PolynomialQuadrature.h.
Definition at line 117 of file PolynomialQuadrature.C.
|
overridevirtual |
Just normal Clenshaw Curtis with shifted points.
Reimplemented from PolynomialQuadrature::Polynomial.
Definition at line 188 of file PolynomialQuadrature.C.
|
overridevirtual |
Legendre polynomial using static function then scales by <P_n^2> = 1 / (2n+1)
Reimplemented from PolynomialQuadrature::Polynomial.
Definition at line 140 of file PolynomialQuadrature.C.
|
overridevirtual |
Compute derivative of Legendre polynomial Recursive algorithm: d^m/dx^m P_n = (n + m - 1)d^(m-1)/dx^(m-1) P_{n-1} + xd^m/dx^m P_{n-1}.
Reimplemented from PolynomialQuadrature::Polynomial.
Definition at line 153 of file PolynomialQuadrature.C.
Real Legendre::computeDerivativeRef | ( | const unsigned int | order, |
const Real | x, | ||
const unsigned int | m = 1 |
||
) | const |
Definition at line 164 of file PolynomialQuadrature.C.
Referenced by computeDerivative().
|
overridevirtual |
Gauss-Legendre quadrature: sum(weights) = 2.
Implements PolynomialQuadrature::Polynomial.
Definition at line 180 of file PolynomialQuadrature.C.
Implements PolynomialQuadrature::Polynomial.
Definition at line 200 of file PolynomialQuadrature.C.
Referenced by compute().
|
inherited |
Definition at line 89 of file PolynomialQuadrature.C.
Reimplemented from PolynomialQuadrature::Polynomial.
Definition at line 123 of file PolynomialQuadrature.C.
|
overridevirtual |
Reimplemented from PolynomialQuadrature::Polynomial.
Definition at line 132 of file PolynomialQuadrature.C.
|
private |
Definition at line 89 of file PolynomialQuadrature.h.
Referenced by clenshawQuadrature(), compute(), computeDerivative(), gaussQuadrature(), and store().
|
private |
Definition at line 90 of file PolynomialQuadrature.h.
Referenced by clenshawQuadrature(), compute(), computeDerivative(), gaussQuadrature(), and store().