13#ifndef OPTIMIST_TESTSET_ELLIPTICPARABOLOID_HH
14#define OPTIMIST_TESTSET_ELLIPTICPARABOLOID_HH
34 template <
typename Vector>
35 requires TypeTrait<Vector>::IsEigen && (!TypeTrait<Vector>::IsFixed ||
36 TypeTrait<Vector>::Dimension == 2)
42 using Scalar =
typename Vector::Scalar;
60 for (
Scalar x{-100}; x < 100 + EPSILON; x += 100 / 25.0) {
61 for (
Scalar y{-100}; y < 100 + EPSILON; y += 100 / 25.0) {
72 return "EllipticParaboloid";
81 out = this->m_a * x(0) * x(0) + this->m_b * x(1) * x(1);
82 return std::isfinite(out);
91 out << 2.0 * this->m_a * x(0), 2.0 * this->m_b * x(1);
92 return out.allFinite();
102 out << 2.0 * this->m_a, 0.0, 0.0, 2.0 * this->m_b;
103 return out.allFinite();
#define OPTIMIST_BASIC_CONSTANTS(Scalar)
Definition Optimist.hh:70
std::conditional_t< InputTrait::IsEigen||OutputTrait::IsEigen, std::conditional_t< InputTrait::IsSparse||OutputTrait::IsSparse, std::vector< Eigen::SparseMatrix< Scalar > >, std::vector< Eigen::Matrix< Scalar, OutputTrait::Dimension, InputTrait::Dimension > > >, Scalar > SecondDerivative
Definition Function.hh:64
std::vector< Vector > m_guesses
Definition Function.hh:79
std::vector< Vector > m_solutions
Definition Function.hh:77
std::conditional_t< InputTrait::IsEigen||OutputTrait::IsEigen, std::conditional_t< InputTrait::IsSparse||OutputTrait::IsSparse, Eigen::SparseMatrix< Scalar >, Eigen::Matrix< Scalar, OutputTrait::Dimension, InputTrait::Dimension > >, Scalar > FirstDerivative
Definition Function.hh:56
Function()
Definition Function.hh:234
bool evaluate_impl(const Vector &x, Scalar &out) const
Definition EllipticParaboloid.hh:80
typename Vector::Scalar Scalar
Definition EllipticParaboloid.hh:42
bool second_derivative_impl(const Vector &, SecondDerivative &out) const
Definition EllipticParaboloid.hh:100
Scalar m_b
Definition EllipticParaboloid.hh:52
Scalar m_a
Definition EllipticParaboloid.hh:51
bool first_derivative_impl(const Vector &x, FirstDerivative &out) const
Definition EllipticParaboloid.hh:90
TypeTrait< Vector > VectorTrait
Definition EllipticParaboloid.hh:41
EllipticParaboloid()
Definition EllipticParaboloid.hh:58
constexpr std::string name_impl() const
Definition EllipticParaboloid.hh:71
Namespace for the Optimist library.
Definition Optimist.hh:90
Definition Optimist.hh:114