rtoy / maxima

A Clone of Maxima's repo
Other
0 stars 0 forks source link

transform_xy error: value NIL is not of type DOUBLE-FLOAT #3135

Open rtoy opened 1 week ago

rtoy commented 1 week ago

Imported from SourceForge on 2024-07-07 14:52:32 Created by adrianjonbrown on 2013-05-24 00:37:50 Original: https://sourceforge.net/p/maxima/bugs/2579


As reported on 23 May 13 to the mailing list and requested as a bug report by Raymond Toy:

This statement gives an error:

wxplot3d([r,theta,sqrt(sin(theta))],[r,0,1],[theta,0,2%pi], [gnuplot_pm3d,true], [gnuplot_preamble, "set pm3d map"],[grid,1,1],[transform_xy,make_transform([r,theta,z],rcos(theta),r*sin(theta),z)])$

The error I get is:

Maxima encountered a Lisp error: The value NIL is not of type DOUBLE-FLOAT.

This is an error within transform_xy because when I remove the transform_xy is works fine.

rtoy commented 1 week ago

Imported from SourceForge on 2024-07-07 14:52:33 Created by rtoy on 2013-05-27 01:49:26 Original: https://sourceforge.net/p/maxima/bugs/2579/#6c23


For the record, the offending command is

plot3d([r,theta,sqrt(sin(theta))],[r,0,1],[theta,0,2*%pi],
  [gnuplot_pm3d,true],
  [gnuplot_preamble, "set pm3d map"],
  [grid,1,1],
  [transform_xy,make_transform([r,theta,z],r*cos(theta),r*sin(theta),z)])

And, as expected, the problem is from sqrt(sin(theta)) when theta = 2*%pi.

It's easy enough to make plot3d honor the plot_realpart option, but plot_realpart defaults to false, so we still get the problem where NIL is encountered. I don't know what the right thing would be here.