[Date Index]
[Thread Index]
[Author Index]
Re: radical equation once more!
*To*: mathgroup at smc.vnet.net
*Subject*: [mg72069] Re: radical equation once more!
*From*: Andrzej Kozlowski <akoz at mimuw.edu.pl>
*Date*: Mon, 11 Dec 2006 04:54:38 -0500 (EST)
*References*: <421128.34967.qm@web30214.mail.mud.yahoo.com> <BCA4CF36-E5C0-4158-8948-A9893A991D6B@mimuw.edu.pl>
On 10 Dec 2006, at 09:26, Andrzej Kozlowski wrote:
>
> On 10 Dec 2006, at 02:54, dimitris anagnostou wrote:
>
>
>> ---------------------------------------------------------------------
>> -----------------------
>>
>> Before proceeding to the post let me thank Andrzej and Daniel
>> for their responses to my previous question appeared here
>>
>> http://groups.google.com/group/comp.soft-sys.math.mathematica/
>> browse_thread/thread/78d57749388d7384/e072ef4f6aa4f9c0?
>> hl=en#e072ef4f6aa4f9c0
>>
>> So consider again the following equation
>>
>> req = (2 - x)^2 - 4*Sqrt[1 - x]*Sqrt[1 - c*x] == 0;
>>
>> with 0<x<1 and 0<c<1.
>>
>> A quick solution is provided by
>>
>> Reduce[{req, 0 < x < 1, 0 < c < 1}, {x}, Reals]
>> 0 < c < 1 && x == Root[-16 + 16*c + (24 - 16*c)*#1 - 8*#1^2 + #1^3
>> & ,
>> 1]
>>
>> Here comes my first question:
>>
>> Why the following setting returns the same output?
>>
>> Reduce[{req,0<x<1,0<c<1},{x},Reals,Cubics->True (*the default is
>> False*)]
>> 0 < c < 1 && x == Root[-16 + 16*c + (24 - 16*c)*#1 - 8*#1^2 + #1^3
>> & ,
>> 1]
>
>
> Because in the presence of inequalities Reduce will not use the
> Cardano and Tartaglia formulas no matter what setting fro the
> options cubic and Quartics you use. The main tool used in such
> cases is CylindricalDecomposition and that defines having a
> function that will be real for all values of the parameter c. Only
> using Root[....,1] will give this kind of function. In fact this is
> how (probably) mathematica gets this answer. Let
>
> In[1]:=
> req1 = (2 - x)^4 - 16*(1 - x)*(1 - c*x) == 0;
>
> In[2]:=
> CylindricalDecomposition[req1 && 0 < c < 1 && 0 < x < 1,
> {c, x}]
>
> Out[2]=
> 0 < c < 1 && x == Root[#1^3 - 8*#1^2 - 16*c*#1 + 24*#1 +
> 16*c - 16 & , 1]
>
>
>>
>> And here comes my second question:
>>
>> With the Root object, somehow, we obtain a closed form root which
>> is valid for
>> 0<x,c<1.
>> Converting it to radical we lost that and we must consider in more
>> detail the range of c.
>>
>> Is it possible to get a radical expression which is equivalent to the
>> Root object?
>>
>
> In general the answer is: no.
>
> Andrzej Kozlowski
I thought I would make it clear what I meant by: "in general". Of
course you can express the root object Root[-16 + 16*c + (24 - 16*c)
*#1 - 8*#1^2 + #1^3 &,1] in terms of a single radical over some
range of values of c, but not over the whole range 0<c<1. In fact, I
think you need these two radicals:
rads={-((8 - 48*c)/(6*(45*c + 3*Sqrt[3]*Sqrt[-64*c^3 + 107*c^2 - 62*c
+ 11] - 17)^(1/3))) +
(2/3)*(45*c + 3*Sqrt[3]*Sqrt[-64*c^3 + 107*c^2 - 62*c + 11] - 17)^
(1/3) + 8/3,
((1 + I*Sqrt[3])*(8 - 48*c))/(12*(45*c + 3*Sqrt[3]*Sqrt[-64*c^3 +
107*c^2 - 62*c + 11] - 17)^(1/3)) -
(1/3)*(1 - I*Sqrt[3])*(45*c + 3*Sqrt[3]*Sqrt[-64*c^3 + 107*c^2 -
62*c + 11] - 17)^(1/3) + 8/3}
to represent Root[-16 + 16*c + (24 - 16*c)*#1 - 8*#1^2 + #1^3 &,1]
over the entire range 0<c<1. You have to switch from the first
representation to the second one at around c = 0.167. Note that the
second radical, although it is expressed in terms of I is actually
real for c> 0.167 (approximately):
Chop[rads[[2]] /. c -> 0.166]
3.556070866052134 + 1.5439514747297536*I
Chop[rads[[2]] /. c -> 0.167]
0.887669352994204
the first radical is real for 0<c<0.166
In[35]:=
Chop[rads[[1]] /. c -> 0.166]
0.887858267895731
but
Chop[rads[[1]] /. c -> 0.167]
3.5561653235028983 - 1.5389250300801027*I
Andrzej Kozlowski
Prev by Date:
**(Revisited) Intercepting and Controlling Mathematica Exceptions.**
Next by Date:
**Re: Re: Finding the periphery of a region**
Previous by thread:
**Re: radical equation once more!**
Next by thread:
**Using Mathematica to explore basic genealogical concepts**
| |