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

• To: mathgroup at smc.vnet.net
• Subject: [mg105062] Re: [mg105018] How to instruct Math to take a certain (e.g. real)
• From: Daniel Lichtblau <danl at wolfram.com>
• Date: Thu, 19 Nov 2009 05:25:24 -0500 (EST)
• References: <200911181157.GAA04186@smc.vnet.net>

```Alexei Boulbitch wrote:
> Dear Community,
>
> I came to a problem, that I cannot check the solution y=0 of equation
>
> In:= eq = (-8 + y)^(1/3) + (8 + y)^(1/3) == y^(1/3);
> eq /. y -> 0
>
> Out= False
>
> just because the expression
>
> In:= eq[] /. y -> 0
>
> Out= 2 + 2 (-1)^(1/3)
>
> Mathematica does not interpret as zero. And if I ask it to give a
> In:= 2 + 2 (-1.)^(1/3)
>
> Out= 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

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

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//InputForm= y == 0 || y == -12*Sqrt[3/7] || y == 12*Sqrt[3/7]

Daniel Lichtblau
Wolfram Research

```

• Prev by Date: Re: subscripts in function definitions
• Next by Date: Re: How to instruct Math to take a certain (e.g. real)
• Previous by thread: How to instruct Math to take a certain (e.g. real) type of results
• Next by thread: Re: How to instruct Math to take a certain (e.g. real)