The algorithm is primarily based on this identity:
(AT)-1 = (A-1)T,
which says "the inverse of the transpose of a matrix is equal to the transpose of the inverse of the same
matrix", and a few other identities for factoring matrices.
It may not sound like much, but this allows us to perform simultaneous Gaussian-style row and column
operations on any matrix. It doesn't matter if the matrix is singular or if it has more rows or more columns.
This algorithm has never failed to produce a good answer, and I have implemented it in several languages.
The one on the Demo page
Message Passing Interface (MPI) is a library of routines for coordinating the execution of
copies of an executable on separate cores or networked computers. It is frequently used to
divide a problem into pieces that run concurrently, and so speed the overall execution.
Inversion of Control is a software idea that takes control from the software written by the user
and puts it in the framework that is used by the user's application.
The framework coordinates all
the (mouse, keyboard, timer, file, or other system) events and calls methods the user registers for
handling the events. This is most commonly done for UI systems (Qt, Swing, embedded).
The combination of these two ideas leads to a framework that simplifies the creation of
software that uses multiple cores and multiple networked machines (especially supercomputers and
large clusters). It allows a program to make better use of its resources and even achieve a greater
throughput than the usual "divide and conquer" method usually employed for such problems.