Computing matrix exponentials



On 2012-12-14, Rupert Swarbrick <rswarbrick at gmail.com> wrote:

> If not, I would really like to find a way to hook into the simplifier

  matchdeclare (mm, suitable_matrix_p);
  tellsimp (exp (mm), my_matrix_exp (mm));

You need your rule applied before built-in rules, so call tellsimp
instead of tellsimpafter (after built-in rules).

If there are multiple suitable matrix types, create a rule for each one.

It might be possible to speed up the type check by writing some Lisp
code instead of using the automatically constructed rule. It's not a big
deal, not clear if it's needed, and we can do it later.

> Let the rotten fruit throwing begin :-)

Well, if it helps, the code seems to be at least as competently written
as the vast majority of Maxima. So don't worry about it. I suppose we
can talk about whether the code is really needed or whatever, but the
code itself seems OK.

I didn't see any examples of matrix exponential calculations in the test
script -- did I miss something?

best

Robert Dodier