Here's some Chiron console readings:
>>> include('sylvester.js');
<module sylvester.js>
>>> this.m = $M([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
{"elements": [[1, 2, 3], [4, 5, 6], [7, 8, 9]]}
>>> log(m.inspect())
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
>>> log(m.transpose().inspect())
[1, 4, 7]
[2, 5, 8]
[3, 6, 9]
>>> m.determinant()
0
>>> m.rank()
2
This is in the source now, and will be in the nightly build around
2:30 tomorrow morning.
There are good bits in this module and it's been tried in some
applications before, but it would be really good to add unit tests.
This definitely raises the bar (or lowers the limbo bar) for matrix.js
which is still very incomplete but can potentially be more compact
since implementing things like transpose is trivial if you use
base.js's zip function.
Kris