Strange behaviour of Solve without VerifySolutions
- To: mathgroup at smc.vnet.net
- Subject: [mg85146] Strange behaviour of Solve without VerifySolutions
- From: "Jaccard Florian" <Florian.Jaccard at he-arc.ch>
- Date: Wed, 30 Jan 2008 06:06:49 -0500 (EST)
Dear Mathematica-specialists,
One of my students needed to solve a simple system:
equations =
{(2 + 1.6*a + 8*b)^2/
(8*a*(3 + 8*c + 1.6*b)) -
1.7 == 0,
(3 + 8*c + 1.6*b)^2/
((8*b + 2 + 1.6*a)*
(3 + 1.6*c)) - 1.7 == 0,
(3 + 1.6*c)^2/(3 + 8*c +
1.6*b) - 1.7 == 0};
res = Solve[equations, {a, b, c}]
My student saw that there is a problem because he compared with the
answers he obtained using another system, which were completely different!
Just type :
Chop[equations /. (expr_) == (n_) ->
expr /. res]
As you easily can see, all solutions are wrong!
Looking in the Solve options, I saw that you can add the option :
VerifySolutions->True:
res2 = Solve[equations, {a, b, c},
VerifySolutions -> True]
And here, you can see that the solutions are all OK:
Chop[equations /. (expr_) == (n_) ->
expr /. res2]
My question: Why did Wolfram make such a, I believe, stupid thing? Is
there a good reason?
I'm not sure students (ore engineers and so on) will take the time to
verify all solutions (usually, Mathematica tells when there may be a
problem!) ore to Rationalize all the numbers of the equations... and I'm
afraid they won't think about VerifySolutions. And as Mathematica is
used to make a good job, students usually believe in the
Mathematica-responses...
I'm also afraid the other system does in this case a better job...
In a future release, I would appreciate more trustworthiness!
Best Regards
Florian Jaccard
- Follow-Ups:
- Re: Strange behaviour of Solve without VerifySolutions
- From: Daniel Lichtblau <danl@wolfram.com>
- Re: Strange behaviour of Solve without VerifySolutions
- From: Andrzej Kozlowski <akoz@mimuw.edu.pl>
- Re: Strange behaviour of Solve without VerifySolutions