A pivoting algorithm solving linear complementarity problems
LCPSolve(M,q) solves the linear complementarity problem:
w = M*z + q, w and z >= 0, w'*z = 0
The function takes the matrix M and the vector q as arguments. The function has three return variables. The first the vectors w and the second is the vector z, found by complementary pivoting. The third return is a 1 by 2 vector. The first component is a 1 if the algorithm was successful and a 2 if a ray termination resulted. The second component is the number of iterations performed in the outer loop.
We acknowledge the work LCPSolve.py in the OpenOpt python package by Rob Dittmar, Enzo Michelangeli and IT Vision Ltd
Cite As
Andreas Almqvist (2024). A pivoting algorithm solving linear complementarity problems (https://www.mathworks.com/matlabcentral/fileexchange/41485-a-pivoting-algorithm-solving-linear-complementarity-problems), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- MATLAB > Mathematics > Linear Algebra >
Tags
Acknowledgements
Inspired: An LCP solution of the linear elastic contact mechanics problem, A cavitation algorithm
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.