Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: How to instruct Math to take a certain (e.g. real)

1 view
Skip to first unread message

DrMajorBob

unread,
Nov 19, 2009, 5:23:36 AM11/19/09
to
Each cube root on the left has 3 possible values (except 0^(1/3), so the
sum has nine possible values. Only three are zero.

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
>


--
DrMaj...@yahoo.com

Daniel Lichtblau

unread,
Nov 19, 2009, 5:25:43 AM11/19/09
to
Alexei Boulbitch 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


Bob Hanlon

unread,
Nov 19, 2009, 5:36:19 AM11/19/09
to

Your equation does not have a solution

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.


0 new messages