4#ifndef HUMMINGBIRD_QUADRATURE_GAUSS_LOBATTO_LEGENDRE_H_
5#define HUMMINGBIRD_QUADRATURE_GAUSS_LOBATTO_LEGENDRE_H_
46 const size_t polynomial_idx)
const {
47 size_t flattened_idx = node_idx * this->
n_points() + polynomial_idx;
105 double ComputeWeight(
const size_t k,
const size_t n)
override;
double GetLagrangeDerivative(const size_t node_idx, const size_t polynomial_idx) const
Get the derivative of the specific Lagrange polynomial at the specified node. Note that both the node...
std::vector< double > lagrange_derivatives_
Derivatives of the Lagrange polynomials at the GLL nodes. These are stored as a flattened array and a...
double ComputeWeight(const size_t k, const size_t n) override
Computes the weights for a Gauss-Legendre-Lobatto quadrature scheme using:
std::vector< double > ComputeAbscissas(const size_t n_points)
Computes the abscissa values, given by:
GaussLobattoLegendre(const size_t n_points)
Construct a new GaussLobattoLegendre object.
void ComputeLagrangeDerivatives()
Computes and sets the Lagrange polynomial derivatives at the GLL nodes. The vector lagrange_derivativ...
double IntegrateGridFunction(const std::valarray< double > &grid_function_vals)
Integrate a function defined on the abscissae given in the order the abscissae are stored.