On 04/18/2013 12:28 PM, Henry Baker wrote:
> The 18.085 videos don't rely on very much in Matlab, but I think that Strang's
> textbook may rely on Matlab a lot more -- perhaps the textbook exercises are
> based on Matlab.
...
> Perhaps the "R" language matches Matlab better?
If you're looking for compatibility with existing software or coursework
based on Matlab, you definitely should consider Octave which has
compatibility as a design goal. I use both Octave and Maxima and of
course Octave is great for numerics while Maxima is amazing for symbolic
computation---even though they both have cross-over capabilities
(symbolic package in Octave and numerical capabilities of Maxima). The
Unix philosophy of a best tool for the job, and all that.
> The main things that Strang seems to use are "eye()" for "ident()", and
> a complicated Matlab operator A\x, which has the effect of (A^^-1).x, but is
> (supposedly) far more efficient -- particularly for sparse matrices.
>
> Strang also uses Toeplitz(), which in Maxima is roughly the same as it is
> in Matlab.
Yup, Octave got all of those. People have been considering a unified
mathematics environment (e.g. the Sage project)--but that's based on
using multiple underlying systems rather than unifying them into one
monolithic system. Note that Octave back end is essentially an interface
to specialized linear algebra libraries (BLAS/ATLAS/DGEMM/etc) and it
draws its speed from the careful data management of large binary
floating point arrays. It wouldn't be impossible in a Lisp based system
like Maxima but probably would be a lot of duplicate work.