- To: mathgroup at yoda.physics.unc.edu
- Subject: Re: determinants
- From: sp at cs.umb.edu (Steve Parrott)
- Date: Thu, 23 Apr 92 22:01:35 EDT
>From: fateman at peoplesparc.berkeley.edu (Richard Fateman) >also, regarding my previous note: apologies for anthropomorphization.. > I suppose I should just say >Wolfram did not provide references to algorithms in his book (1st ed.) >on Mathematica. He apparently refused to add references in his 2nd ed. I think this is one of the Achilles' heels of Mathematica. Here is an example. Last year I needed a numerical solver for second order differential equations, but the version of Mathematica available only handled first order equations. Paulo Ney da Souza suggested that the built-in RungeKutta routine might work for first-order vector equations, and of course any second-order scalar equation can be converted to a first-order vector equation. There was no way to determine from reading the Mathematica book if this was correct--the only way to find out was to try it! The RungeKutta routine itself turned out not to work because of a bug elsewhere in Mathematica, but the Runge-Kutta code given in the Mathematica book did work when transplanted into another program. There was no way to tell that it would work without trying because the semantics of the Mathematica programming language (i.e. what the program actually does in response to syntactical commands) is not accessible to the user. The solver I built in this way seems perfectly reliable, but there are obvious dangers in relying on such undocumented patches. The built-in solver in Mathematica 2.0, which I obtained much later, seems not to work as advertised, at least as regards claimed accuracy of solutions. The bottom line is that I don't completely trust the results I've gotten with these methods even though the probability is quite high that they're correct. I think this is a serious problem to which there may be no easy solution. It probably isn't feasible to publish all the algorithms used by Mathematica, and semantics of programming languages are notoriously hard to handle rigorously. However, it will affect future sales of Mathematica. Worries about the reliabiity of Mathematica are one reason that we are also acquiring a copy of Maple.