mbsim
4.0.0
MBSim Kernel
|
class to solve a linear complementarity problem More...
#include <linear_complementarity_problem.h>
Public Member Functions | |
LinearComplementarityProblem (const fmatvec::SymMat &M_, const fmatvec::Vec &q_, const LCPSolvingStrategy &strategy_=Standard, const JacobianType &jacobianType_=LCPSpecial) | |
solves a linear complementarity problem (w = M z + q) More... | |
void | setSystem (const fmatvec::SymMat &M_, const fmatvec::Vec &q_) |
void | setStrategy (const LCPSolvingStrategy &strategy_) |
void | setJacobianType (const JacobianType &jacobianType_) |
void | setNewtonCriteriaFunction (CriteriaFunction *criteriaFunction_) |
void | setFixpointCriteriaFunction (CriteriaFunction *criteriaFunction_) |
fmatvec::Vec | solve (const fmatvec::Vec &initialSolution=fmatvec::Vec(0, fmatvec::NONINIT)) |
Static Public Member Functions | |
static double | computeMediumEigVal (const fmatvec::SqrMat &M) |
compute the medium eigenvalue of a matrix (for guessing a initial solution for iterative schemes) | |
static fmatvec::Vec | createInitialSolution (const fmatvec::SymMat &M, const fmatvec::Vec &q, double mediumEigVal=0) |
creates an initial solution for the iterative schemes that use a reformulated system | |
static fmatvec::Vec | createInitialSolution (const fmatvec::SqrMat &M, const fmatvec::Vec &q, double mediumEigVal=0) |
creates an initial solution for the iterative schemes that use a reformulated system | |
Protected Attributes | |
fmatvec::SqrMat | M |
linear coupling matrix of the LCP | |
fmatvec::Vec | q |
constant vector of the LCP | |
LCPSolvingStrategy | strategy |
algorithm strategy to solve the LCP | |
LCPSolvingStrategy | oldStrategy |
save old Strategy for switching... | |
double | mediumEigenValue |
parameter for finding the start solution for the reformulated system | |
JacobianType | jacobianType |
jacobian function for the solving with thew newton algorithm in the reformulated case | |
LemkeAlgorithm | lemkeSolver |
LemkeSolver for the direct solution of the LCP. | |
MBSim::MultiDimensionalNewtonMethod * | newtonSolver |
NewtonSolver for reformulated system. | |
LCPNewtonReformulationFunction * | newtonFunction |
reformulated LCP suited for a Newton Solver | |
NewtonJacobianFunction * | jacobianFunction |
Jacobian Function for the reformulated LCP. | |
CriteriaFunction * | criteriaNewton |
criteria function for Newton solver | |
MultiDimensionalFixpointSolver * | fixpointSolver |
FixpointSolver for reformulated system. | |
LCPFixpointReformulationFunction * | fixpointFunction |
reformulated LCP suited for a FixpointSolver | |
CriteriaFunction * | criteriaFixedpoint |
criteria function for Fixedpoint solver | |
class to solve a linear complementarity problem
MBSim::LinearComplementarityProblem::LinearComplementarityProblem | ( | const fmatvec::SymMat & | M_, |
const fmatvec::Vec & | q_, | ||
const LCPSolvingStrategy & | strategy_ = Standard , |
||
const JacobianType & | jacobianType_ = LCPSpecial |
||
) |
solves a linear complementarity problem (w = M z + q)
M | linear coupling matrix of the LCP |
q | constant vector of the LCP |
LCPSolvingStrategy | algorithm strategy to solve the LCP |
mediumEigVal | parameter for finding the start solution for the reformulated system |