7 #include "imstkNonLinearSystem.h"    12 template<
typename Matrix>
    13 NonLinearSystem<Matrix>::NonLinearSystem(
const VectorFunctionType& F, 
const MatrixFunctionType& dF) : m_F(F), m_dF(dF)
    15     this->m_F_dF = [
this](
const Vectord& x, 
const bool semiImplicit)
    17                        return std::make_pair(&(this->m_F(x, semiImplicit)), &(this->m_dF(x)));
    21 template<
typename Matrix>
    22 NonLinearSystem<Matrix>::NonLinearSystem(
const VectorFunctionType& F, 
const MatrixFunctionType& dF, 
const VectorMatrixFunctionType& F_dF) : m_F(F), m_dF(dF), m_F_dF(F_dF)
    26 template<
typename Matrix>
    33 template<
typename Matrix>
    40 template<
typename Matrix>
    44     return m_F(x, isSemiImplicit);
    47 template<
typename Matrix>
 virtual const Vectord & evaluateF(const Vectord &x, const bool isSemiImplicit)
Evaluate function at a given state. 
Base class for a multi-variable nonlinear system. 
virtual void setJacobian(const MatrixFunctionType &function)
Set the method that evaluates the gradient of the nonlinear function. 
virtual const Matrix & evaluateJacobian(const Vectord &x)
Evaluate gradient of the function at a given state. 
virtual void setFunction(const VectorFunctionType &function)
Set nonlinear method that evaluates the nonlinear function.