matrixexp no longer works with a really easy matrix



Thanks, Barton!  I've reported this at
https://sourceforge.net/p/maxima/bugs/2596/ as well; if there is any easy
fix we can patch our Maxima in the interim.


On Wed, Jun 19, 2013 at 6:24 AM, Barton Willis <willisb at unk.edu> wrote:

>  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:* [Maxima] 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);
>