.. Documentation for the header file dolfin/math/Lagrange.h .. _programmers_reference_cpp_math_lagrange: Lagrange.h ========== .. note:: The documentation on this page was automatically extracted from the DOLFIN C++ code and may need to be edited or expanded. .. cpp:class:: Lagrange *Parent class(es)* * :cpp:class:`Variable` Lagrange polynomial (basis) with given degree q determined by n = q + 1 nodal points. Example: q = 1 (n = 2) Lagrange p(1); p.set(0, 0.0); p.set(1, 1.0); It is the callers responsibility that the points are distinct. This creates a Lagrange polynomial (actually two Lagrange polynomials): p(0,x) = 1 - x (one at x = 0, zero at x = 1) p(1,x) = x (zero at x = 0, one at x = 1) .. cpp:function:: Lagrange(std::size_t q) Constructor .. cpp:function:: Lagrange(const Lagrange& p) Copy constructor .. cpp:function:: void set(std::size_t i, double x) Specify point .. cpp:function:: std::size_t size() const Return number of points .. cpp:function:: std::size_t degree() const Return degree .. cpp:function:: double point(std::size_t i) const Return point .. cpp:function:: double operator() (std::size_t i, double x) Return value of polynomial i at given point x .. cpp:function:: double eval(std::size_t i, double x) Return value of polynomial i at given point x .. cpp:function:: double ddx(std::size_t i, double x) Return derivate of polynomial i at given point x .. cpp:function:: double dqdx(std::size_t i) Return derivative q (a constant) of polynomial .. cpp:function:: std::string str(bool verbose) const Return informal string representation (pretty-print)