matrixexp no longer works with a really easy matrix



This bug is due to circa January 2013 changes to matrix inversion. A workaround is to set ratmx to true:

Maxima branch_5_30_base_98_g29f9239_dirty http://maxima.sourceforge.net
using Lisp Clozure Common Lisp Version 1.9-r15764  (WindowsX8632)

(%i1) matrixexp(matrix([%i*%pi]));
Unable to find the spectral representation

(%i2) matrixexp(matrix([%i*%pi])), ratmx=true;
(%o2)                                 - 1



--Barton
________________________________
From: maxima-bounces at math.utexas.edu [maxima-bounces at math.utexas.edu] on behalf of Karl-Dieter Crisman [kcrisman at gmail.com]
Sent: Tuesday, June 18, 2013 13:31
To: maxima at math.utexas.edu
Subject: matrixexp no longer works with a really easy matrix

Is the following by design or a bug?  Given http://www.ma.utexas.edu/pipermail/maxima/2006/003031.html I'm not sure how to overcome this directly.   Or is there an obvious recent change that made this break?  Thanks!

With 5.29.1:

Maxima 5.29.1 http://maxima.sourceforge.net
using Lisp ECL 12.12.1
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1) m: matrix([%i*%pi]);
(%o1)                             [ %i %pi ]
(%i4) matrixexp(m), keepfloat:true;
(%o4)                                 - 1
(%i5) matrixexp(m),keepfloat:false;
(%o5)                                 - 1


which is good.  In 5.30, though, we have

(%i1) m: matrix([%i*%pi]);
(%o1)                             [ %i %pi ]
(%i6) matrixexp(m),keepfloat:true;

Unable to find the spectral representation
 -- an error. To debug this try: debugmode(true);
(%i7) matrixexp(m),keepfloat:false;

Unable to find the spectral representation
 -- an error. To debug this try: debugmode(true);