Maxima with GNU Common Lisp (GCL) does not return values for the elliptic integral functions when using a negative argument.
Example:
(%i1) elliptic_e(2.0, 0.75);
(%o1) 1.443433069099462
(%i2) elliptic_e(2.0, -0.75);
Function does not return. Possibly stuck in loop?
Using Maxima built with Clisp, the elliptic integral functions return correct values using negative arguments:
(%i1) elliptic_e(2.0, 0.75);
(%o1) 1.443433069099462
(%i2) elliptic_e(2.0, -0.75);
(%o2) 2.393704208603658
This may be a fault of GCL but I will report here because others use Maxima with GCL.
I would also like to ask how can I debug this further?
Hello, thank you for the bug report. Can you tell us what is the output of
build_info();in each case? That could help us narrow the search for the bug.For the maxima install that gives the error:
Maxima version: "5.45.0"
Maxima build date: "2021-06-18 10:38:35"
Host type: "x86_64-unknown-linux-gnu"
Lisp implementation type: "GNU Common Lisp (GCL)"
Lisp implementation version: "GCL 2.6.12"
User dir: "/root/.maxima"
Temp dir: "/tmp"
Object dir: "/root/.maxima/binary/5_45_0/gcl/GCL_2_6_12"
Frontend: false
For the maxima install that gives correct values:
Maxima version: "5.45.0"
Maxima build date: "2021-05-24 14:49:06"
Host type: "x86_64-w64-mingw32"
Lisp implementation type: "SBCL"
Lisp implementation version: "2.0.0"
User dir: "C:/Users/FR/maxima"
Temp dir: "C:/Users/FR/AppData/Local/Temp"
Object dir: "C:/Users/FR/maxima/binary/5_45_0/sbcl/2_0_0"
Frontend: "Xmaxima"
Frontend version: "5.45.0"
Maxima-5.45.0 built with Clisp-2.49 on Linux also gives correct values
but I don't have access to that install any longer.
FR
Fixed by commit 1103b3.