Bug reports
- To: mathgroup
- Subject: Bug reports
- From: wadej at Sun.COM
- Date: Thu, 20 Apr 89 11:40:15 CDT
[Here are some bug reported by:
James F. Wade
wadej at sun.com
at Sun Microsystems. Many of these may already be fixed in
the 1.2 release. -smc]
Here is a summary of the SunMathematica bugs that we know about at Sun:
Bug Id SUMMARY
1014637: Shading does not work on a monochrome 386i.
1014657: Segmentation violation on large calulation on 3/60.
Large calculations using large amounts of memory may fail
with a Segmentation violation.
1014678: Prompt displayed at the wrong time on a regular terminal.
When a plot is done on a regular terminal, the prompt for the next
equation is displayed before the plot is made on the screen.
1014679: There are drawing problems when dispaying a Torus.
Some "glitches" appear in the inside, lower part of a Torus graph. This
appears on both Sunview and NeWS.
1014680: When running "suntools -i", most plots are invisible.
1014681: NeWS will freeze on very high resolution Mathematica graphs.
This is a known NeWS problem.
1017088: The Gosper.m summation example does not work
The following may serve as a work-around for SOME cases only:
qn = Expand[ Numerator[rat]]; <<<<<< Add Expand here
rn = Expand[ Denominator[rat]]; <<<<<< Add Expand here
1017089: ODE.m and Fourier.m are documented but files are missing.
1017090: 'foption' used in 'math' script, but it only under 4.0
The main script 'math' uses 'foption' which only is available
under 4.0 and NOT under 3.5. So the script can fail.
Work around:
Copy 'foption' from the 'common' directory under the main
mathematica directory into some directory that is on the path.
1018441: No X11 postscript driver for Sun4 running 4.0
If a Sun4 driver for x11 is used, the Mathematica output must be
piped through ../math/common/Utilities/psfix to expand the
WRI macros to standard postscript.
1018450: Interface between C language and Mathematica is ackward.
Calling mathematica from a C main is ackward. Arguments
must be passed through a pipe in text form.
101845*******
exit Mathematica or exit sunview to restore windows. The unix
Kernal can be reconfigured to allow more windows.
1018470: mathlink.c does not work for more than 2 arguments.
Routines provided to call C from Mathematica only work for
Functions with exactly 1 or 2 arguments.
1018536: Simplify fails dby0: Division by zero on complex expressions.
Description:
eq1 =
Times[vt, Power[Plus[1, Times[-1, ut]], -1],
Power[Plus[1, Times[-1,
Plus[1, Times[-1, Power[Plus[1, Times[-1, ut]], m]]]]], m]]
eq1s = Simplify[eq1 ]
(* Fails General::dby0: Division by zero. *)
Work around:
The simplification can be done using /. command to reduce
complexity of expression.
In[5]:= eq2 = Simplify[ eq1 /. 1-ut -> mu] /. mu -> 1-ut
2
-1 + m
Out[5]= vt (1 - ut)
1018541: Chop does not work with two arguments.
Work around:
Define for Two arguments
In[12]:= ClearAttributes[Chop,Protected]
In[13]:= Chop[x_,d_] = If[Abs[x]<d,0,x]
In[14]:= SetAttributes[Chop,Protected]
Or use SetOptions to Change Tolerance
In[19]:= SetOptions[Chop,Tolerance -> .00001]
1018605: on the sun4 multiple application of Transformation fails
Description:
In[1]:= f/: f[x_] f[y_] := f[x y]
In[2]:= f[x] f[y] f[1]
Out[2]= f[x] <<<< WRONG should be f[x y]
In[3]:= f[x] f[y] f[z]
Segmentation fault
1018740: PlotLabel fails in Plot3d, SurfaceGraphics, Display.
1018783: Hypergeometric2F1 fails by looping
Description:
N[Hypergeometric2F1[2,1/2,3,2/3]] recures indefinitely.
condition may be:
first arg is integer, 2nd is 1/2 integer,
third is integer > first and fourth anything.
May cause Beta to fail, as well as any other function
that call Hypergeometric2F1 .
1019507: Plot3D Gives poor results on rlogin.
Description:
Plot3D[x^y,{x,0,1},{y,1,2},Shading->False] appears to give
same results as: Plot3D[x^y,{x,0,1},{y,1,2}]. Actually this
is due to default: PlotPoints -> 15 .
Work around:
Use: SetOptions[Plot3D, PlotPoints -> 4] or some other
small value.
Terminal.m may be modified to SetOptions for Plot3D
to be more appropriate for terminal output.
1019660: FindMinimum fails with some arguments.
FindMinimum[ f(a,b), {a,1}, {b,0}] fails for some functions f
when it must calculate derivitives to get gradient. Use the
alternate form FindMinimum[ f(a,b), {a,{.9,1}}, {b,{0,.1}}]
that uses approximations to calculate gradient.
additional notes:
Linear Algebra Zero Test
Linear algebra functions such as LinearSolve, RowReduce, NullSpace
and Eigenvectors use the ZeroTest argument. The default setting for
this is ZeroTest -> (Together[#1] == 0 & ). This does not work well
for numerical or symbolic arrays. For symbolic arrays you may need:
ZeroTest -> (Simplify[#1] == 0 & ) or the more expensive:
ZeroTest -> (Reduce[#1==0] & )
For approximate numeric arrays you may need:
ZeroTest -> (Chop[#1] == 0 & ) or ZeroTest -> (Chop[#1,dx] == 0 & )
with dx apropriate for the precision you are using.
For general use, a combination of the two may work fairly well:
RowReduce[A,ZeroTest -> (Reduce[Chop[#1]==0] &)]
SetOptions can be used to change the default ZeroTest for each function.
Packages Must Be Loaded Before Use
The Mathematica text does not always mention that you need to load
a package before using it. They are usually in /usr/math/common/Packages
and may be loaded by with the << command.
If you have a color display you should load Colors.m with command
<<Colors.m as some other functions may use it.