       Re: Why no solution to 3 eqns. in 3 unk. ?

• To: mathgroup at smc.vnet.net
• Subject: [mg5048] Re: Why no solution to 3 eqns. in 3 unk. ?
• From: danl (Daniel Lichtblau)
• Date: Wed, 23 Oct 1996 01:38:11 -0400
• Organization: Wolfram Research, Inc.
• Sender: owner-wri-mathgroup at wolfram.com

```In article <54bdg6\$2b8 at dragonfly.wolfram.com> "Christopher R. Carlen"
<crobc at epix.net> writes:
>
> Recently I tried to solve this system:
>
>  -a x   + b   + c y z == 0
>  -a x z + b z - c y   == 0
>   a     + b   - c     == 0
>
> for the variables, {x, y, z} .
>
> Well, Mathematica fails to give two of the solutions that I get by
> hand, which are:
>
>  x = -1
>  y = i
>  z = i
>
> OR
>
>  x = -1
>  y = -i
>  z = -i
>
> Mathematica does give the solution:
>
>  x = (c - a)/a
>  y = 0
>
> which is a valid solution.  But why does it not give the other two
> solutions ?
>
> Obviously, this system is odd, so if anyone can characterize it, or
> explain what this all means, I'd appreciate it.
>
> This system arose in determining the constants of Schroedinger's
> equation, from basic quantum mechanics.  I have simplified the
> problem to a generic case that behaves in the same manner as the
> actual physical problem.
>
> _____________________
> Christopher R. Carlen
> crobc at epix.net
> carlenc at cs.moravian.edu
>
>

Solve returns generic solutions. Any solution that forces restrictions on
the parameters above and beyond those restrictions already implied (e.g.
a+b-c==0 in this example) will not be reported.

In this example we do indeed have solutions that do not get reported. As
seen below, these solutions do not imply any new relation among the
parameters {a,b,c}.

In:= {b - a*x + c*y*z, -(c*y) + b*z - a*x*z, a + b - c} /. {x->-1,
y->I, z->I}
Out= {a + b - c, I a + I b - I c, a + b - c}

So what is going on here?

The simple answer is that the system is underdetermined for the variables
in question (x,y,and z). So we regard one of them (z, in this case) as a
parameter. Then an equation that arises during the solve process is

c*y*(1+z^2)==0

As z is now a parameter, we cannot allow for the case (1+z^2)==0 (wouldn't
be "generic") so we conclude y==0.

One could argue that it is wrong to make z a parameter in this way. I'm
not sure what to say in response, except that if I can figure a way to fix
this without reintroducing some very old and serious bugs, I'll do that.
Meanwhile, a way around the dificulty is to use Reduce.

In:= Reduce[{-a x + b + c y z == 0, -a x z + b z - c y == 0,
a + b - c == 0}, {x,y,z}] // InputForm
Out//InputForm=
b == 0 && c == 0 && a == 0 || a != 0 && b == -a && x == -1 && c == 0 ||
a != 0 && c != 0 && b == -a + c && x == (-a + c - I*c*y)/a && z == -I
||
a != 0 && c != 0 && b == -a + c && x == (-a + c + I*c*y)/a && z == I ||
c != 0 && b == c && y == -I && z == -I && a == 0 ||
c != 0 && b == c && y == I && z == I && a == 0 ||
a != 0 && c != 0 && 1 + z^2 != 0 && b == -a + c && x == (-a + c)/a &&
y == 0

Daniel Lichtblau
Wolfram Research
danl at wolfram.com

```

• Prev by Date: Re: programming comptition II
• Next by Date: Are two expressions equal?
• Previous by thread: Why no solution to 3 eqns. in 3 unk. ?
• Next by thread: Derivatives of InterpolatingFunctions