Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2005
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2005

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

Search the Archive

Re: Don't understand behaviour of Solve[]

  • To: mathgroup at smc.vnet.net
  • Subject: [mg58570] Re: [mg58554] Don't understand behaviour of Solve[]
  • From: Andrzej Kozlowski <akozlowski at gmail.com>
  • Date: Fri, 8 Jul 2005 00:46:01 -0400 (EDT)
  • References: <200507070935.FAA29377@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

 From the documentation:


Solve gives generic solutions only. It discards solutions that are  
valid only when the parameters satisfy special conditions. Reduce  
gives the complete set of solutions.

(The meaning of generic is left a bit vague but basically solutions  
are called generic if they are valid for infinitely many values of  
the parameters and not valid for at most finitely many.)

So, for example:


Solve[{x + y == 3, x - y == 1}, {x, y}]

{{x -> 2, y -> 1}}}

while


Solve[{x + y == 3, x - y == 1}, x]


{}

The second set of equations has a solution for only when the  
parameter y is 1, so the set of generic solutions for x is {}.
Note that


Reduce[{x + y == 3, x - y == 1}, x]

Out[7]=
y == 1 && x == 2

Here is another example illustrating the same thing:


Solve[Exp[x]*a == 2*Exp[x]*a, x]


{}

but

Reduce[Exp[x]*a == 2*Exp[x]*a, x]

a == 0

On the other hand:


Solve[x/a == 2*x/a, x]


{{x->0}}

This time the answer is valid only when a !=0


Reduce[x/a == 2*(x/a), x]


x == 0 && a != 0

but Solve ignores this because it only gives a "generic" answer.

Andrzej Kozlowski
Chiba, Japan





On 7 Jul 2005, at 18:35, Oliver Friedrich wrote:

> Hallo,
>
> I have a problem understanding the general behaviour of the Solve[]
> function.
>
> I have a set of equations with the variables a,b,c,d and k.
>
> Evaluating Solve[set,k] or Solve[set,{a,b}] returns with {},  
> whereas Solve
> [set,{k,b,c,d}] returns solutions for k,b,c and d.
>
> My question: Why does Solve returns no solution when searching only  
> for k
> for example and why is there a solution for several variables? I  
> thought
> that giving a list of variables just means that I want to search  
> for all of
> them. But the procedure doesn't seem to be independant from one  
> variable to
> another.
>
> What kind of information contains my list of variables except my  
> wish to
> solve for these?
>
> Many thanks
>
> Oliver friedrich
>
>


  • Prev by Date: Re: Set of strings reducing problem
  • Next by Date: Re: Set of strings reducing problem
  • Previous by thread: Don't understand behaviour of Solve[]
  • Next by thread: Re: Don't understand behaviour of Solve[]