20#ifndef NUMERICSLCPREFORMULATEDFUNCTION_H_
21#define NUMERICSLCPREFORMULATEDFUNCTION_H_
23#include <mbsim/functions/function.h>
25#include <mbsim/numerics/functions/newton_method_jacobian_functions.h>
60 void setSystem(
const fmatvec::SqrMat & M_,
const fmatvec::Vec & q_) {
63 assert(
M.rows() ==
q.rows());
66 fmatvec::SqrMat getM() {
72 void setr(
const double & r_) {
122 fmatvec::Vec
operator()(
const fmatvec::Vec &
q)
override;
152 fmatvec::Vec
operator()(
const fmatvec::Vec &
q)
override;
168 fmatvec::SqrMat operator ()(
const fmatvec::Vec & x)
override;
170 void setFunction(
Function<fmatvec::Vec(fmatvec::Vec)> *function_)
override;
172 void updateJacobian(
const fmatvec::Vec & x);
Definition: function.h:53
Definition: lcp_reformulation_functions.h:156
fmatvec::SqrMat J
Jacobian function (stays saved to save computation time, as some parts stay constant)
Definition: lcp_reformulation_functions.h:178
LinearComplementarityJacobianFunction()
constructor
Definition: lcp_reformulation_functions.cc:131
base class for square Jacobians used for the newton method
Definition: newton_method_jacobian_functions.h:31
namespace MBSim
Definition: bilateral_constraint.cc:30