MathGroup Archive 2002

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

Search the Archive

Re: Solve/Reduce and assumptions

  • To: mathgroup at
  • Subject: [mg32942] Re: [mg32887] Solve/Reduce and assumptions
  • From: Hiranya Peiris <hiranya at>
  • Date: Wed, 20 Feb 2002 01:26:27 -0500 (EST)
  • Sender: owner-wri-mathgroup at

Thanks for your reply! I used DeleteCases and it worked. I have a couple
more quick questions.

1. I am not quite sure how Solve works. If you give it an overconstrained
problem, more equations than variables, will it fail (given that the
equations are all self-consistent)? In my problem, this is the case, and
if I use Solve[eqns] it produces a list of answers, while if I do
Solve[eqns,vars] it gives no solutions: {}.

2. The reason some of the solutions were invalid (see below) is not a
mathematical reason, but a physical one - the parameter R has to be R>0. R
is not a variable, its a parameter that the other variables have to be
solved in terms of. But since I can only get it to produce a solution
using Solve[eqns], there is no way tell Solve that its not a variable, so
it treats R as a variable too, and that is why I get a whole list of
unphysical solutions.

Given the above, what is the explanation for the behaviour of Solve? I can
just use DeleteCases, but I want to understand why it is acting the way it


> In a message dated 2/18/02 6:33:33 AM, hiranya at writes:
> >I have a large set of simultaneous multivariate algebraic equations which
> >I am solving using Solve and Reduce. I get as the answer a list of all
> >possible sets of solutions. However, only one of these is valid, because
> >the equations contain a constant parameter R which should be positive.
> >I
> >cannot find any way of getting Solve and Reduce to recognize this fact.
> >For example,
> >
> >Solve[{eqn1,eqn2,...eqnN,R!=0},vars] works, while
> >
> >Solve[{eqn1,eqn2,...eqnN,R>0},vars] is invalid.
> >
> >Applying
> >
> >Simplify[Result,R>0]
> >
> >to the full solution set does not work either.
> >
> You did not say what makes the results invalid.  I am guessing
> that you are looking for real solutions.  You can use Select,
> Cases, or DeleteCases.  For example,
> Select[
>   Solve[R*x^3==8, x],
>   Simplify[Element[x/.#,Reals], R>0]&]
> {{x -> 2/R^(1/3)}}
> Bob Hanlon
> Chantilly, VA  USA

  • Prev by Date: Re: Position within a list
  • Next by Date: Re: Position within a list
  • Previous by thread: Re: Solve/Reduce and assumptions
  • Next by thread: mathlink beginner problem