22#ifndef BT_NUMERICS_LEMKE_ALGORITHM_H_
23#define BT_NUMERICS_LEMKE_ALGORITHM_H_
int findLexicographicMinimum(const btMatrixXu &A, const int &pivotColIndex)
int getSteps(void)
get the number of steps until the solution was found
virtual ~btLemkeAlgorithm()
btVectorXu solve(unsigned int maxloops=0)
solve algorithm adapted from : Fast Implementation of Lemkeās Algorithm for Rigid Body Contact Simula...
bool validBasis(const btAlignedObjectArray< int > &basis)
int info
did the algorithm find a solution
int getInfo()
return info of solution process
bool greaterZero(const btVectorXu &vector)
int DEBUGLEVEL
define level of debug output
bool LexicographicPositive(const btVectorXu &v)
btLemkeAlgorithm(const btMatrixXu &M_, const btVectorXu &q_, const int &DEBUGLEVEL_=0)
void setSystem(const btMatrixXu &M_, const btVectorXu &q_)
set system with Matrix M and vector q
unsigned int steps
number of steps until the Lemke algorithm found a solution
void GaussJordanEliminationStep(btMatrixXu &A, int pivotRowIndex, int pivotColumnIndex, const btAlignedObjectArray< int > &basis)