|
QUGaR 0.1.3
|
dim-linear function. More...
#include <impl_funcs_lib.hpp>
Public Member Functions | |
| DimLinear (const std::array< real, num_coeffs > &coefs) | |
| Constructs a new dim-linear function from its coefficients. | |
| DimLinear (const std::array< real, num_coeffs > &coefs, const AffineTransf< dim > &transf) | |
| Constructs a new dim-linear function from its coefficients. | |
Public Member Functions inherited from qugar::impl::funcs::FuncWithAffineTransf< dim > | |
| FuncWithAffineTransf () | |
| Default constructor. Creates and stores an identity transformation. | |
| FuncWithAffineTransf (const AffineTransf< dim > &transf) | |
Constructs a new class storing the given transf. | |
Public Member Functions inherited from qugar::impl::DomainFunc< dim, range > | |
| DomainFunc ()=default | |
| Default constructor. | |
| DomainFunc (const DomainFunc &)=default | |
| Default copy constructor. | |
| DomainFunc (DomainFunc &&)=default | |
| Default move constructor. | |
| DomainFunc & | operator= (const DomainFunc &)=default |
| Default copy assignment operator. | |
| DomainFunc & | operator= (DomainFunc &&)=default |
| Default move assignment operator. | |
| virtual | ~DomainFunc ()=default |
| Default virtual destructor. | |
| virtual Value< real > | operator() (const Point< dim > &point) const =0 |
| Evaluator operator. | |
| virtual Value< Interval< dim > > | operator() (const Point< dim, Interval< dim > > &point) const =0 |
| Evaluator operator. | |
| virtual Gradient< real > | grad (const Point< dim > &point) const =0 |
| Gradient evaluator operator. | |
| virtual Gradient< Interval< dim > > | grad (const Point< dim, Interval< dim > > &point) const =0 |
| Gradient evaluator operator. | |
| virtual Hessian< real > | hessian (const Point< dim > &point) const =0 |
| Hessian evaluator operator. | |
Public Attributes | |
| declare_impl_func_virtual_interface | |
Static Public Attributes | |
| static const int | num_coeffs = _impl::pow(2, dim) |
| Number of coefficients. | |
Static Public Attributes inherited from qugar::impl::DomainFunc< dim, range > | |
| static const int | num_hessian = dim * (dim + 1) / 2 |
| Number of Hessian (symmetric) components. | |
Private Attributes | |
| std::array< real, num_coeffs > | coefs_ |
| Coefficients of the dim-linear expression. | |
Additional Inherited Members | |
Public Types inherited from qugar::impl::DomainFunc< dim, range > | |
| template<int N> | |
| using | Interval = ::algoim::Interval<N> |
| Algoim's interval alias. | |
| template<typename T > | |
| using | Value = std::conditional_t<range == 1, T, Vector<T, range>> |
| Value type. | |
| template<typename T > | |
| using | Gradient = Vector<Value<T>, dim> |
| Gradient type. | |
| template<typename T > | |
| using | Hessian = Vector<Value<T>, num_hessian> |
| Hessian (symmetric type). | |
Protected Attributes inherited from qugar::impl::funcs::FuncWithAffineTransf< dim > | |
| AffineTransf< dim > | transf_ |
| Stored affine transformation. | |
dim-linear function.
| dim | Parametric dimension. |
|
explicit |
Constructs a new dim-linear function from its coefficients.
| coefs | Function coefficients. |
| qugar::impl::funcs::DimLinear< dim >::DimLinear | ( | const std::array< real, num_coeffs > & | coefs, |
| const AffineTransf< dim > & | transf ) |
Constructs a new dim-linear function from its coefficients.
| coefs | Coefficients defining the function (stored in lexicographical ordering). |
| transf | Affine transformation applied to the dim-linear function. It may rotate the axes, translate the square, and/or scale it (iso or anisotropically). |
|
private |
Coefficients of the dim-linear expression.
| qugar::impl::funcs::DimLinear< dim >::declare_impl_func_virtual_interface |
|
static |
Number of coefficients.