diff --git a/MathLib/LinAlg/Eigen/EigenVector.h b/MathLib/LinAlg/Eigen/EigenVector.h index 373ed3906402f1e1664a40be958352a9fc27f569..0c27be964077d94202afead0c832cbe0d472bfac 100644 --- a/MathLib/LinAlg/Eigen/EigenVector.h +++ b/MathLib/LinAlg/Eigen/EigenVector.h @@ -50,7 +50,8 @@ public: EigenVector& operator*= (double v) { _vec *= v; return *this; } /// access entry - double operator[] (std::size_t rowId) const { return get(rowId); } + double const & operator[] (std::size_t rowId) const { return _vec[rowId]; } + double& operator[] (std::size_t rowId) { return _vec[rowId]; } /// get entry double get(std::size_t rowId) const diff --git a/MathLib/Nonlinear/Picard-impl.h b/MathLib/Nonlinear/Picard-impl.h index 08f5e0d208bb5c0a420f81a5bac4974f98863fd0..dc38e8e9af0019f31b006f13051ed87487efc9d6 100644 --- a/MathLib/Nonlinear/Picard-impl.h +++ b/MathLib/Nonlinear/Picard-impl.h @@ -20,13 +20,6 @@ namespace MathLib namespace Nonlinear { -Picard::Picard() -: _normType(VecNormType::INFINITY_N), - _abs_tol(std::numeric_limits<double>::max()), _rel_tol(1e-6), _max_itr(25), - _printErrors(false), _n_iterations(0), _abs_error(.0), _rel_error(.0) -{ -} - template<class T_FUNCTOR, class T_VALUE> bool Picard::solve(T_FUNCTOR &functor, const T_VALUE &x0, T_VALUE &x_new) { diff --git a/MathLib/Nonlinear/Picard.cpp b/MathLib/Nonlinear/Picard.cpp new file mode 100644 index 0000000000000000000000000000000000000000..611989677276c448af581730d2e23fd592639d9d --- /dev/null +++ b/MathLib/Nonlinear/Picard.cpp @@ -0,0 +1,21 @@ +#include "Picard.h" + + + +namespace MathLib +{ + +namespace Nonlinear +{ + +Picard::Picard() +: _normType(VecNormType::INFINITY_N), + _abs_tol(std::numeric_limits<double>::max()), _rel_tol(1e-6), _max_itr(25), + _printErrors(false), _n_iterations(0), _abs_error(.0), _rel_error(.0) +{ +} + +} // namespace Nonlinear + +} // namespace MathLib +