![]() |
Reference documentation for deal.II version 8.4.2
|
#include <deal.II/base/polynomial.h>
Public Member Functions | |
| Legendre (const unsigned int p) | |
Public Member Functions inherited from Polynomials::Polynomial< double > | |
| Polynomial (const std::vector< double > &coefficients) | |
| Polynomial (const unsigned int n) | |
| Polynomial (const std::vector< Point< 1 > > &lagrange_support_points, const unsigned int evaluation_point) | |
| Polynomial () | |
| double | value (const double x) const |
| void | value (const double x, std::vector< double > &values) const |
| unsigned int | degree () const |
| void | scale (const double factor) |
| void | shift (const number2 offset) |
| Polynomial< double > | derivative () const |
| Polynomial< double > | primitive () const |
| Polynomial< double > & | operator*= (const double s) |
| Polynomial< double > & | operator*= (const Polynomial< double > &p) |
| Polynomial< double > & | operator+= (const Polynomial< double > &p) |
| Polynomial< double > & | operator-= (const Polynomial< double > &p) |
| bool | operator== (const Polynomial< double > &p) const |
| void | print (std::ostream &out) const |
| void | serialize (Archive &ar, const unsigned int version) |
Public Member Functions inherited from Subscriptor | |
| Subscriptor () | |
| Subscriptor (const Subscriptor &) | |
| virtual | ~Subscriptor () |
| Subscriptor & | operator= (const Subscriptor &) |
| void | subscribe (const char *identifier=0) const |
| void | unsubscribe (const char *identifier=0) const |
| unsigned int | n_subscriptions () const |
| void | list_subscribers () const |
| DeclException3 (ExcInUse, int, char *, std::string &,<< "Object of class "<< arg2<< " is still used by "<< arg1<< " other objects."<< "\"<< "(Additional information: "<< arg3<< ")\"<< "See the entry in the Frequently Asked Questions of "<< "deal.II (linked to from http://www.dealii.org/) for "<< "a lot more information on what this error means and "<< "how to fix programs in which it happens.") | |
| DeclException2 (ExcNoSubscriber, char *, char *,<< "No subscriber with identifier <"<< arg2<< "> subscribes to this object of class "<< arg1<< ". Consequently, it cannot be unsubscribed.") | |
| template<class Archive > | |
| void | serialize (Archive &ar, const unsigned int version) |
Static Public Member Functions | |
| static std::vector< Polynomial< double > > | generate_complete_basis (const unsigned int degree) |
Static Private Member Functions | |
| static void | compute_coefficients (const unsigned int p) |
| static const std::vector< double > & | get_coefficients (const unsigned int k) |
Static Private Attributes | |
| static std::vector< std_cxx11::shared_ptr< const std::vector< double > > > | shifted_coefficients |
| static std::vector< std_cxx11::shared_ptr< const std::vector< double > > > | recursive_coefficients |
Additional Inherited Members | |
Protected Member Functions inherited from Polynomials::Polynomial< double > | |
| void | transform_into_standard_form () |
Static Protected Member Functions inherited from Polynomials::Polynomial< double > | |
| static void | scale (std::vector< double > &coefficients, const double factor) |
| static void | shift (std::vector< double > &coefficients, const number2 shift) |
| static void | multiply (std::vector< double > &coefficients, const double factor) |
Protected Attributes inherited from Polynomials::Polynomial< double > | |
| std::vector< double > | coefficients |
| bool | in_lagrange_product_form |
| std::vector< double > | lagrange_support_points |
| double | lagrange_weight |
Legendre polynomials of arbitrary degree. Constructing a Legendre polynomial of degree p, the coefficients will be computed by the three-term recursion formula.
, rather than the commonly used interval
. (ii) The polynomials have been scaled in such a way that they are orthonormal, not just orthogonal; consequently, the polynomials do not necessarily have boundary values equal to one.Definition at line 362 of file polynomial.h.
| Polynomials::Legendre::Legendre | ( | const unsigned int | p | ) |
Constructor for polynomial of degree p.
Definition at line 841 of file polynomial.cc.
|
static |
Return a vector of Legendre polynomial objects of degrees zero through degree, which then spans the full space of polynomials up to the given degree. This function may be used to initialize the TensorProductPolynomials and PolynomialSpace classes.
Definition at line 1009 of file polynomial.cc.
|
staticprivate |
Compute coefficients recursively. The coefficients are stored in a static data vector to be available when needed next time. Since the recursion is performed for the interval
, the polynomials are shifted to
by the scale and shift functions of Polynomial, afterwards.
Definition at line 849 of file polynomial.cc.
|
staticprivate |
Get coefficients for constructor. This way, it can use the non- standard constructor of Polynomial.
Definition at line 993 of file polynomial.cc.
|
staticprivate |
Coefficients for the interval
.
Definition at line 384 of file polynomial.h.
|
staticprivate |
Vector with already computed coefficients. For each degree of the polynomial, we keep one pointer to the list of coefficients; we do so rather than keeping a vector of vectors in order to simplify programming multithread-safe. In order to avoid memory leak, we use a shared_ptr in order to correctly free the memory of the vectors when the global destructor is called.
Definition at line 394 of file polynomial.h.
1.8.12