MathGroup Archive 2002

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

Search the Archive

RE: cannot solve *trivial* equation

  • To: mathgroup at smc.vnet.net
  • Subject: [mg34401] RE: [mg34380] cannot solve *trivial* equation
  • From: "DrBob" <majort at cox-internet.com>
  • Date: Sat, 18 May 2002 03:51:05 -0400 (EDT)
  • Reply-to: <drbob at bigfoot.com>
  • Sender: owner-wri-mathgroup at wolfram.com

Study the outputs of this:

eqns = {A == S + Q, Q == 2*S};
Solve[eqns, A]
Solve[eqns, A, Q]
Solve[eqns, A, S]
Solve[eqns, S]
Solve[eqns, S, A]
Solve[eqns, S, Q]
Solve[eqns, Q]
Solve[eqns, Q, A]
Solve[eqns, Q, S]

{{A -> 3 S}}
{{A -> 3 S}}
{{A -> (3*Q)/2}}
{}
{{S -> Q/2}}
{{S -> A/3}}
{}
{{Q -> 2 S}}
{{Q -> (2*A)/3}}

I suspect the difference is that Q and S appear in both equations, while
A appears only in the first equation.  I'm not sure why that prevents
solving simultaneously for S and Q, but it does require Mathematica to
choose from two possible answers.

A possible explanation is that, unless told otherwise, Mathematica
thinks of A and Q as parameters when solving for S.  If they do not have
the proper relationship to each other, there's no solution for S.
Telling Solve to eliminate A or Q reduces the problem to only one
parameter (Q or A respectively) and guarantees a solution.

Still... it seems as if that explanation would apply to solving for A as
well, when Q and S are parameters.  Perhaps the difference is that the
relationship Q and S must satisfy in order to allow a solution for A is
explicitly contained in the second equation or, at least, contained in a
set of equations that don't mention A.

'Tis a puzzlement.

Nevertheless... it's helpful to tell Solve what variables to eliminate,
if you can.

Bobby Treat

-----Original Message-----
From: Marco Manfredini [mailto:marco at technoboredom.net] 
To: mathgroup at smc.vnet.net
Subject: [mg34401] [mg34380] cannot solve *trivial* equation

Hi,

I just tried a friend's Mathematica 4.0.0.0: 

Solve[{A == S + Q, Q == 2*S}, A]

=> {A->3*S}

Solve[{A == S + Q, Q == 2*S}, S]

=> {}
 
Can somebody explain this to me? (ie. "bug","you stupid") 

Marco
 







  • Prev by Date: Re: cannot solve *trivial* equation
  • Next by Date: Re: RE: Re: ValueQ
  • Previous by thread: Re: cannot solve *trivial* equation
  • Next by thread: Re: Re[2]: cannot solve *trivial* equation