matrixexp no longer works with a really easy matrix
Subject: matrixexp no longer works with a really easy matrix
From: Karl-Dieter Crisman
Date: Wed, 19 Jun 2013 09:41:56 -0400
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);
>