

Grassblade wrote:
> Not finished yet, but my coding skill isn't good enough to complete this
> yet. Contains generalised inversion, which can invert singular or
> rectangular matrices, plus basic operations.
Glad I found this, I was about to write my own versions for a current
project. Anyway, I updated your version to fix a few declare/local bugs,
added the 'rowappend' you left as todo, and added a few new useful
functions  Swap rows, Multiply row, Reduced Row Echelon Form, and
GaussJordan Matrix Inversion.
While the MoorePenrose generalized inversion is versatile, it is quite
slow. The GaussJordan inversion only works on nonsingular square
matrices, but is much faster with those. Tests of 10000 iterations of
each for a simple matrix (the example on
http://en.wikipedia.org/wiki/Gauss%E2%80%93Jordan_elimination) showed
that the MPGinverse was a little more than 7.5 times slower than GJinverse.
Actual results:
10000 iterations, 3x3 simple matrix {{2,1,0},{1,2,1},{0,1,2}}
GJinverse 18.515 cpuseconds
MPGinverse 141.328 cpuseconds
If you're still around, and don't see a problem with it, I think this
would be a good addition to the Object Collection with a few updates to
the naming scheme.
CShake
Post a reply to this message
Attachments:
Download 'matrices.inc.txt' (23 KB)

