JAMA is comprised of six Java classes: Matrix, CholeskyDecomposition, LUDecomposition, QRDecomposition, SingularValueDecomposition and EigenvalueDecomposition. http://math.nist.gov/javanumerics/jama/

Wikopedia’s writup of Cholesky is fairly easy to read. Cholesky decompositions are used to solve linear equations. They use alot of square roots though.

The Orbital library is a class library providing object-oriented representations and algorithms for logic, mathematics and artificial intelligence. It comprises theorem proving, computer algebra, search and planning, as well as machine learning algorithms. http://www.functologic.com/orbital/

Baraff papers (http://www.cs.cmu.edu/~baraff/papers/sig94.pdf) explain that. However I find them a bit hard (I’m actually looking for simpler documents that can drive me to understand Baraff’s work).

there are lots of academics papers which for programmers without excellent knowledge of mathematics and advanced physics are hard to understand. I saw Baraff work but it is not for me, j have not graduated physics studies… so i am looking for simpler papers just like you MagicSpark.org [ BlueSky ], so please post something if you find, thanx

thanks for sharing the resource about physical and math. But most of them seemed a little theoretical, if we can share the imformation about physical and math coding ,it will be nice.

Barraff’s LCP is derived from Dantzig’s algorithm. Barraff’s LCP is virtually a linear program, and certainly is a simplex method. So those arguments are valid. However, I would treat most of the material I posted years ago with some caution as I hardly knew what I was talking about then

It’s certainly closely related to LP, but doesn’t the different setup mean that looping is impossible? And whereas the first problem listed for LPs is finding an initial feasible solution, LCP terminates as soon as you find a feasible solution.

[quote]but doesn’t the different setup mean that looping is impossible?
[/quote]
Infinite looping is still possible with LCP. ODE permutes its parameters when it detects its having problems, and if it can’t solve the equations it returns an invalid solution.

[quote]LCP terminates as soon as you find a feasible solution.
[/quote]
Yeah, LCP is not maximizing a cost function.

[quote]And whereas the first problem listed for LPs is finding an initial feasible solution
[/quote]
well that is the key problem for LCP. As it is just returning a feasible solution, the LCP fails when it can’t find a feasible solution. Which can happen in real systems, but more often than not it also happens because of numerical issues.