Subject: besselarray bug, was: Bessel plotting problem
From: Richard Hennessy
Date: Tue, 10 Jun 2008 17:02:06 -0400
I downloaded the new bessel.lisp and still get an error.
(%i75) draw2d(parametric(realpart(bessel_j(1/6,-(sqrt(1)*t^3)/3)*sqrt(t)), imagpart(bessel_j(1/6,-(sqrt(1)*t)/3)*sqrt(t)), t, -3, 3))$
Maxima encountered a Lisp error:
Error in > [or a callee]: ((MTIMES SIMP) 0.32163376045133785
((MPLUS SIMP) 0.22273258887231484
((MTIMES SIMP) 0.12859472014273318 $%I))) is not of type (OR
RATIONAL
LISP:FLOAT).
Automatically continuing.
To reenable the Lisp debugger set *debugger-hook* to nil.
------------Original Message------------
From: "Robert Dodier" <robert.dodier at gmail.com>
To: "Richard Hennessy" <rvh2007 at comcast.net>
Cc: "Maxima List" <maxima at math.utexas.edu>
Date: Mon, Jun-9-2008 9:54 PM
Subject: besselarray bug, was: Bessel plotting problem
On 6/7/08, Richard Hennessy <rvh2007 at comcast.net> wrote:
> plot2d(-(%i/2+sqrt(3)/2)*%i*'(bessel_y(1/6,-x^3/3))+(bessel_j(1/6,-x^3/3))*sqrt(x),[x,.001,2],[plot_format,gnuplot]),orthopoly_returns_intervals : false;
Richard, I suspect the origin of the plot problem is this:
bessel_y(1/6,-x^3/3), x=0.001, numer;
=> BESSEL-Y: symbol $BESSELARRAY has no value
Looking at src/bessel.lisp (line 486) in the 5.15.0 source code,
it looks like $BESSELARRAY is referenced before it is assigned
anything. But only if the second argument < 0. Can you use an
identity to change the bessel_y expression to something with
second argument > 0 ??
The $BESSELARRAY stuff was cut out entirely post-5.15.0.
So maybe you could try downloading the current version from CVS:
http://maxima.cvs.sourceforge.net/maxima/maxima/src/bessel.lisp
and load that into your Maxima session & try the plot again.
HTH
Robert Dodier