13#ifndef OPTIMIST_TESTSET_BROWN_HH
14#define OPTIMIST_TESTSET_BROWN_HH
38 template <
typename Input,
typename Output>
39 requires TypeTrait<Input>::IsEigen && TypeTrait<Output>::IsEigen &&
40 (!TypeTrait<Input>::IsFixed ||
41 TypeTrait<Input>::Dimension == 2) &&
42 (!TypeTrait<Output>::IsFixed ||
43 TypeTrait<Output>::Dimension == 3)
46 using Scalar =
typename Input::Scalar;
62 this->
m_solutions.emplace_back(this->m_a, 2.0 * this->m_a);
81 out << x(0) - this->m_a, x(1) - 2.0 * this->m_a, x(0) * x(1) - 2.0;
82 return out.allFinite();
92 out << 1.0, 0.0, x(1), 0.0, 1.0, x(0);
93 return out.allFinite();
107 out[2] << 0.0, 1.0, 1.0, 0.0;
108 return out[0].allFinite() && out[1].allFinite() && out[2].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< Input > m_guesses
Definition Function.hh:79
std::vector< Input > 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
constexpr Integer output_dimension() const
Definition Function.hh:141
Function()
Definition Function.hh:234
bool second_derivative_impl(const Input &, SecondDerivative &out) const
Definition Brown.hh:102
Brown()
Definition Brown.hh:61
bool evaluate_impl(const Input &x, Output &out) const
Definition Brown.hh:80
bool first_derivative_impl(const Input &x, FirstDerivative &out) const
Definition Brown.hh:91
constexpr std::string name_impl() const
Definition Brown.hh:70
typename Input::Scalar Scalar
Definition Brown.hh:46
Scalar m_a
Definition Brown.hh:52
Namespace for the Optimist library.
Definition Optimist.hh:90