MathGroup Archive 2000

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: A strange bug in Solve

Richard Fateman (fateman at wrote:
: I agree with Kevin, disagree mostly with Philip:

I don't know that Kevin and I have mutually exclusive points here.

: If Mathematica is allowed to give wrong answers when the user
: doesn't know enough about the answer to say if it is wrong,
: that is a pretty bad specification for a program.

Sure, though I don't believe that was suggested.  I tried to say that
to expect Mathematica to give results in the form the user expects all
the time is probably not practically feasable, users being as varied as
they are.  Some common ground is reasonable to expect in solving
complex mathematical problems.  Not the same as saying that wrong
answers are acceptable.

: And to suggest that the user should try random
: permutations of massaging input in order to get Solve to
: work -- well, that assumes that the user knows
: more than the program about what the capabilities of
: the program are.

Actually, random permutations wasn't said, and I hope wasn't suggested.
Algorithmic manipulation is the thing at which I was driving.  The
question becomes whether that is best implemented outside the loop by
Those That Know Best, or whether it should be determined by the user at
run-time.  Kevin and I agreed off list that a user option is probably
the correct answer -- allowing one to do it "manually" if they prefer,
or make use of the computer's algorithm either because it works faster,
or to "see what it gives."

: I can see the vendor of a CAS arguing the case
: "I could spend hours trying to find a simpler form for
: the input each time you call solve, so I'm leaving it
: up to you".   But this is not a useful perspective
: for a user.

This is not useful for *some* users.  If the developer chose as a
default a simplification that was not appropriate for the users given
problem, then he would probably prefer that they had left it alone.
Again, a selectable option is probably the correct answer.

: How much simplification should be done on f[BigHairyMess]?
: It has been known since 1968 or so (Dan Richardson's dissertation)
: that building a general algorithm to test if an expression
: is 0 or not, cannot be done. (The class of expressions is
: not very complicated... far simpler than what Mathematica knows about..

If I read that correctly, it justifies further research in Symbolic
Computation.  There are many ways to do things, and the trick is in
optimally choosing the correct one. 


Phil Mendelsohn

  • Prev by Date: Re: Any ideas?
  • Next by Date: RE: insect population dynamics
  • Previous by thread: Re: A strange bug in Solve
  • Next by thread: RE: The Csc problem