Alain Cochard wrote:
> This is the proper solution to the correctly input system:
>
> Mathematica 6.0 for Linux Itanium (64-bit)
> Copyright 1988-2007 Wolfram Research, Inc.
>
> In[1]:= Solve[{a==x + y, b==-x + y},{x,y}]
>
> a - b a + b
> Out[1]= {{x -> -----, y -> -----}}
> 2 2
>
> Here, there is '=' instead of '==' in the 2nd eq:
>
> In[2]:= Solve[{a==x + y, b=-x + y},{x,y}]
>
> Solve::eqf: -x + y is not a well-formed equation.
>
> Out[2]= Solve[{a == x + y, -x + y}, {x, y}]
>
> and then, subsequent properly input systems will still fail:
>
> In[3]:= Solve[{a==x + y, b==-x + y},{x,y}]
>
> Solve::svars: Equations may not give solutions for all "solve" variables.
>
> Out[3]= {{x -> a - y}}
>
>
> Is this normal?
yes, absolutley. As elsewhere one is not the same a two:
"=" is short for Set and "==" is short for Equal, very different objects
for Mathematica.
> If so, is there a cure (some "resetting" procedure), apart from
> quiting Mathematica and entering back?
b=. , and "=." is the short form of Unset.
> Also, is there a way of testing that a previous bad input is indeed
> the cause of that strange output? (Because if it happened a long time
> ago in the Mathematica history, one might no longer remember.)
Just evaluate b and when it evaluates to something it is not a good
choice for a parameter in Solve, especially if it's value makes one of
the two equations be True...
hth,
albert