HArD::Core2D
Hybrid Arbitrary Degree::Core 2D - Library to implement 2D schemes with edge and cell polynomials as unknowns
Public Types | Public Member Functions | Static Public Attributes | List of all members
HArDCore2D::HessianBasis< BasisType > Class Template Reference

Basis for the space of Hessians of polynomials. More...

#include <basis.hpp>

Public Types

typedef MatrixRd FunctionValue
 
typedef void GradientValue
 
typedef void CurlValue
 
typedef void DivergenceValue
 
typedef void RotorValue
 
typedef void HessianValue
 
typedef BasisType::GeometricSupport GeometricSupport
 
typedef BasisType AncestorType
 

Public Member Functions

 HessianBasis (const BasisType &basis)
 Constructor. More...
 
size_t dimension () const
 Compute the dimension of the basis. More...
 
FunctionValue function (size_t i, const VectorRd &x) const
 Evaluate the i-th basis function at point x. More...
 
constexpr const BasisType & ancestor () const
 Return the ancestor (basis that the gradient was taken of) More...
 

Static Public Attributes

constexpr static const TensorRankE tensorRank = Matrix
 
constexpr static const bool hasAncestor = true
 
static const bool hasFunction = true
 
static const bool hasGradient = false
 
static const bool hasCurl = false
 
static const bool hasDivergence = false
 
static const bool hasRotor = false
 
static const bool hasHessian = false
 

Detailed Description

template<typename BasisType>
class HArDCore2D::HessianBasis< BasisType >

Basis for the space of Hessians of polynomials.

To construct a basis of H^k, this assumes that the scalar basis it is constructed from is an ancestor basis of P^{k+2}/P^1, space of polynomials of degree k+2 without trivial polynomials with zero Hessian. This can also be used to create a family of Hessians (not necessarily linearly independent, if the ancestor basis is not a basis of P^{k+2}/P^1)


The documentation for this class was generated from the following file: