Base class for all objects that have adjustable hyper-parameters.
Approximately solve a linear equation Ax + b = 0.
DenseRealVector m_A_times_d
std::function< void(const DenseRealVector &, Eigen::Ref< DenseRealVector >)> MatrixVectorProductFn
DenseRealVector m_Residual
r_k from the CG algorithm
const DenseRealVector & get_solution() const
returns the solution vector found by the last minimize call
CGMinimizer(long num_vars)
long minimize(const MatrixVectorProductFn &A, const DenseRealVector &b, const DenseRealVector &M)
Solves Ax+b=0. returns the number of iterations.
void set_epsilon(double v)
Sets the value of the tolerance hyperparameter.
DenseRealVector m_S
s from the CG algorithm
double get_epsilon() const
Gets the value of the tolerance hyperparameter.
DenseRealVector m_Conjugate
p_k from the CG algorithm
long do_minimize(const MatrixVectorProductFn &A, const DenseRealVector &b, const DenseRealVector &M)
Defines configuration variables.
types::DenseVector< real_t > DenseRealVector
Any dense, real values vector.
constexpr const real_t CG_DEFAULT_EPSILON
The default value for the tolerance parameter of the conjugate gradient optimization.
float real_t
The default type for floating point values.