We can replace the terms with primary roots, after substituting y->0:
Here's the method applied to each term separately:
eq = (-8 + y)^(1/3) + (8 + y)^(1/3) == y^(1/3);
Cases[eq,
Power[x_, Rational[1, n_Integer]] :>
Root[#^n - x /. y -> 0 &, 1], Infinity]
{-2, 2, 0}
And here it is, applied to the equation:
eq /. Power[x_, Rational[1, n_Integer]] :> Root[#^n - x /. y -> 0 &, 1]
True
Bobby
On Wed, 18 Nov 2009 05:57:41 -0600, Alexei Boulbitch
<Alexei.B...@iee.lu> wrote:
> Dear Community,
>
> I came to a problem, that I cannot check the solution y=0 of equation
>
> In[345]:= eq = (-8 + y)^(1/3) + (8 + y)^(1/3) == y^(1/3);
> eq /. y -> 0
>
> Out[346]= False
>
> just because the expression
>
> In[347]:= eq[[1]] /. y -> 0
>
> Out[347]= 2 + 2 (-1)^(1/3)
>
> Mathematica does not interpret as zero. And if I ask it to give a
> numerical answer
> In[348]:= 2 + 2 (-1.)^(1/3)
>
> Out[348]= 3.+ 1.73205 \[ImaginaryI]
> It returns the complex root out of the three possible.
>
> My question is the following:
>
> 1) How should I instruct Mathematica to take a certain root that I want
> of say, (-1)^(1/3)?
>
> 2) I think there is a general possibility instruct Mathematica that all
> calculations should be done on reals only. Is it right?
>
> Thank you, Alexei
>
Fractional exponents in Mathematica follow the convention of principal
roots of unity. So a negative raised to the 1/3 power will have a
positive imaginary part (and a positive real part, that is, it lies in
the first quadrant).
To achieve your goal you might set up explicit polynomial equations, and
use Reduce to find solutions over the reals. Here is how this might be
done with your example.
p1 = r + s - t;
p2 = r^3 - (y-8);
p3 = s^3 - (y+8);
p4 = t^3 - y;
InputForm[Reduce[{p1,p2,p3,p4}==0, y, {r,s,t}, Reals]]
Out[31]//InputForm= y == 0 || y == -12*Sqrt[3/7] || y == 12*Sqrt[3/7]
Daniel Lichtblau
Wolfram Research
eq = (-8 + y)^(1/3) + (8 + y)^(1/3) == y^(1/3);
Reduce[eq, y]
False
Solve[eq, y]
{}
Apparently, you are looking for the solution of a different equation
f[x_] := Sign[x]*Abs[x]^(1/3)
eq2 = f[-8 + y] + f[8 + y] == f[y];
sol = {Reduce[eq2, y, Reals] // ToRadicals // ToRules}
{{y -> 0}, {y -> -12*Sqrt[3/7]}, {y -> 12*Sqrt[3/7]}}
eq2 /. sol // FullSimplify
{True,True,True}
eq /. sol
{False,False,False}
There is a legacy RealOnly add-on package at
http : // library.wolfram.com/infocenter/MathSource/6771/
Bob Hanlon
---- Alexei Boulbitch <Alexei.B...@iee.lu> wrote:
=============
Dear Community,
I came to a problem, that I cannot check the solution y=0 of equation
In[345]:= eq = (-8 + y)^(1/3) + (8 + y)^(1/3) == y^(1/3);
eq /. y -> 0
Out[346]= False
just because the expression
In[347]:= eq[[1]] /. y -> 0
Out[347]= 2 + 2 (-1)^(1/3)
Mathematica does not interpret as zero. And if I ask it to give a
numerical answer
In[348]:= 2 + 2 (-1.)^(1/3)
Out[348]= 3.+ 1.73205 \[ImaginaryI]
It returns the complex root out of the three possible.
My question is the following:
1) How should I instruct Mathematica to take a certain root that I want
of say, (-1)^(1/3)?
2) I think there is a general possibility instruct Mathematica that all
calculations should be done on reals only. Is it right?
Thank you, Alexei
--
Alexei Boulbitch, Dr., habil.
Senior Scientist
IEE S.A.
ZAE Weiergewan
11, rue Edmond Reuter
L-5326 Contern
Luxembourg
Phone: +352 2454 2566
Fax: +352 2454 3566
Website: www.iee.lu
This e-mail may contain trade secrets or privileged, undisclosed or otherwise confidential information. If you are not the intended recipient and have received this e-mail in error, you are hereby notified that any review, copying or distribution of it is strictly prohibited. Please inform us immediately and destroy the original transmittal from your system. Thank you for your co-operation.