|
[Date Index]
[Thread Index]
[Author Index]
Re: Help with Reduce and ForAll
- To: mathgroup at smc.vnet.net
- Subject: [mg127381] Re: Help with Reduce and ForAll
- From: Andrzej Kozlowski <akozlowski at gmail.com>
- Date: Fri, 20 Jul 2012 23:39:59 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <20120720074952.853A06872@smc.vnet.net>
On 20 Jul 2012, at 09:49, Adam Clark wrote:
> I have a fairly complicated set of inequalities in 6 variables. One
of the variables is a speed parameter. I need to know the constraints
on the other 5 variables that satisfy the system of inequalities for any
value of the speed between +1 and -1. Is there a way I can use ForAll
(or some other command) to have Mathematica do this for me?
>
> Simply using Reduce on the system of inequalities produces 8 pages of
output that frequently uses Root and AlgebraicNumber as part of the
output.
>
It's hard to tell without knowing the equations, but I would say your
only hope is to try to use ForAll with Resolve. To illustrate the
difference between the working of Reduce and Resolve in such cases, here
is a very artificial example I just cooked up:
Reduce[
ForAll[t, -1 < t < 1, x^3 + t x^2 - x^4 + x^3 - x^24 + 1 > 0]]
Root[#1^23+#1^22+#1^21+#1^20+#1^19+#1^18+#1^17+#1^16+#1^15+#1^14+#1^13+#1^12+#1^11+#1^10+#1^9+#1^8+#1^7+#1^6+#1^5+#1^4+2 #1^3+#1+1&,1]<=x<=1
Now with Resolve:
Resolve[ForAll[t, -1 < t < 1, x^3 + t*x^2 - x^4 + x^3 - x^24 + 1 > 0]]
Element[x, Reals] && ((x^2 == 0 && x^24 + x^4 - 2*x^3 - 1 < 0 &&
x^24 + x^4 - 2*x^3 - x^2 - 1 < 0) ||
(x^2 < 0 && x^24 + x^4 - 2*x^3 - x^2 - 1 <= 0) ||
(-x^2 < 0 && x^24 + x^4 - 2*x^3 - x^2 - 1 < 0 &&
x^24 + x^4 - 2*x^3 + x^2 - 1 <= 0))
As you can see, Resolve eliminates the parameter t but does not attempt to solve the resulting equations or inequalities, which makes it more efficient. For some purposes (yours?) this kind of solution may be sufficient.
Andrzej Kozlowski
Prev by Date:
Re: can one make local symbol in a pure function?
Next by Date:
Re: FindCurvePath has a problem
Previous by thread:
Help with Reduce and ForAll
Next by thread:
FindCurvePath has a problem
|