Re: Lists
- To: mathgroup at smc.vnet.net
- Subject: [mg46995] Re: Lists
- From: astanoff at yahoo.fr (astanoff)
- Date: Fri, 19 Mar 2004 01:35:48 -0500 (EST)
- References: <c3bgbb$7pl$1@smc.vnet.net> <c3bqun$f32$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
astanoff wrote:
> Clément wrote:
>> Hello MathGroup,
>> I'm french so i don't speak english very well...
>> I have resolved an equation. So i have a list of solutions.
>> But how can i extract only the reel solutions of this list ?
>> thanks
> --
> Clément,
Something was missing in my solution : to deal with cases such as the
"casus irreducibilis", one has to "Chop" the small imaginary parts :
In[1]:=
realSolutions[sol_]:=#[[1]]&/@
Select[{#,#//N//Chop}&/@sol,FreeQ[#[[2]],Complex]&];
In[2]:=
(* Example (InputForms inserted for readability) : *)
sol=Solve[x^3-10x+1 == 0];
In[3]:=
sol//InputForm
Out[3]//InputForm=
{{x -> ((-9 + I*Sqrt[11919])/2)^(1/3)/3^(2/3) + 10/((3*(-9 +
I*Sqrt[11919]))/2)^(1/3)},
{x -> -((1 + I*Sqrt[3])*((-9 + I*Sqrt[11919])/2)^(1/3))/(2*3^(2/3)) -
(5*(1 - I*Sqrt[3]))/((3*(-9 + I*Sqrt[11919]))/2)^(1/3)},
{x -> -((1 - I*Sqrt[3])*((-9 + I*Sqrt[11919])/2)^(1/3))/(2*3^(2/3)) -
(5*(1 + I*Sqrt[3]))/((3*(-9 + I*Sqrt[11919]))/2)^(1/3)}}
In[4]:=
realSolutions[sol]//InputForm
Out[4]//InputForm=
{{x -> ((-9 + I*Sqrt[11919])/2)^(1/3)/3^(2/3) + 10/((3*(-9 +
I*Sqrt[11919]))/2)^(1/3)},
{x -> -((1 + I*Sqrt[3])*((-9 + I*Sqrt[11919])/2)^(1/3))/(2*3^(2/3)) -
(5*(1 - I*Sqrt[3]))/((3*(-9 + I*Sqrt[11919]))/2)^(1/3)},
{x -> -((1 - I*Sqrt[3])*((-9 + I*Sqrt[11919])/2)^(1/3))/(2*3^(2/3)) -
(5*(1 + I*Sqrt[3]))/((3*(-9 + I*Sqrt[11919]))/2)^(1/3)}}
--
0% de pub! Que du bonheur et des vrais adhérents !
Vous aussi inscrivez-vous sans plus tarder!!
Message posté à partir de http://www.gyptis.org, BBS actif depuis 1995.