Re: Solve/Reduce and assumptions
- To: mathgroup at smc.vnet.net
- Subject: [mg32942] Re: [mg32887] Solve/Reduce and assumptions
- From: Hiranya Peiris <hiranya at astro.princeton.edu>
- Date: Wed, 20 Feb 2002 01:26:27 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
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 does. Thanks Hiranya > In a message dated 2/18/02 6:33:33 AM, hiranya at astro.princeton.edu 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