Re: Solve output depends on previous attempt with bad syntax
- To: mathgroup at smc.vnet.net
- Subject: [mg132511] Re: Solve output depends on previous attempt with bad syntax
- From: Kevin <kjm at KevinMcCann.com>
- Date: Fri, 4 Apr 2014 03:56:58 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-outx@smc.vnet.net
- Delivered-to: mathgroup-newsendx@smc.vnet.net
- References: <lhiuav$de5$1@smc.vnet.net>
You could have anticipated this by noting two things: (1) The symbol y1 is now black instead of blue, which means that it has a value (b+a x1) in this case; (2) The use of the "=" itself is the reason. The second execution was looking for a solution to a x1 + b == a x1 +b, a x2 + b == a x2 + b Which is why you got the null answer, since a,b can be anything. To prevent this and other problems with previously used variables, I would generally include Clear[a,b,x1,x2,y1,y2] in the same cell as the Solve. Kevin On 4/3/2014 2:15 AM, Alain Cochard wrote: > First, the correct solution of a linear system of 2 equations with 2 > unknowns, for reference. > > Mathematica 9.0 for Linux x86 (64-bit) > Copyright 1988-2013 Wolfram Research, Inc. > > In[1]:= Solve[{y1==a x1 +b, y2==a x2 +b},{a,b}] > > -y1 + y2 x2 y1 - x1 y2 > Out[1]= {{a -> -(--------), b -> -(-------------)}} > x1 - x2 x1 - x2 > > Now, starting a new Mathematica session, assume I make a mistake, using '=' > instead of '==', I get an error message -- so far, so good: > > Mathematica 9.0 for Linux x86 (64-bit) > Copyright 1988-2013 Wolfram Research, Inc. > > In[1]:= Solve[{y1=a x1 +b, y2=a x2 +b},{a,b}] > > Solve::naqs: b + a x1 && b + a x2 is not a quantified system > of equations and inequalities. > > Out[1]= Solve[{b + a x1, b + a x2}, {a, b}] > > Realizing my mistake, I retry with the proper syntax: > > In[2]:= Solve[{y1==a x1 +b, y2==a x2 +b},{a,b}] > > Out[2]= {{}} > > which is obviously not the correct result. > > Is there a rationale here, i.e., could I have anticipated this output? > > Thank you, > Alain >