MathGroup Archive 2014

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

Search the Archive

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
>



  • Prev by Date: Re: Efficient function to accumulate a list of
  • Next by Date: Re: Solve output depends on previous attempt with bad syntax
  • Previous by thread: Re: Solve output depends on previous attempt with bad syntax
  • Next by thread: Re: Solve output depends on previous attempt with bad syntax