# Real Solution of x^3+8 == 0?

I do not understand the following:

```
sage: assume(x,'real')
sage: solve(x^3+8==0,x)
[]
```

Why does this equation have no solution? But -2 is a solution!

Thanks for help!

Real Solution of x^3+8 == 0?

I do not understand the following:

```
sage: assume(x,'real')
sage: solve(x^3+8==0,x)
[]
```

Why does this equation have no solution? But -2 is a solution!

Thanks for help!

add a comment

3

I think this is because `(-1)^(1/3)`

is not considered to be real.

```
sage: solve(x^3+1==0,x)
[x == 1/2*I*(-1)^(1/3)*sqrt(3) - 1/2*(-1)^(1/3), x == -1/2*I*(-1)^(1/3)*sqrt(3) - 1/2*(-1)^(1/3), x == (-1)^(1/3)]
sage: assume(x,'real')
sage: solve(x^3+1==0,x)
[]
```

Note that Maxima (which does our solving) doesn't actually care about `x`

being real, since it's a dummy variable.

```
(%i1) declare(x,real);
(%o1) done
(%i2) solve(x^3+1=0,x);
sqrt(3) %i - 1 sqrt(3) %i + 1
(%o2) [x = - --------------, x = --------------, x = - 1]
2 2
```

But when it's returned to Sage, somehow it doesn't keeps the `x=-1`

syntax and gets the cube root again, and it falls prey to

```
sage: (-1)^(1/3).n()
0.500000000000000 + 0.866025403784439*I
```

This is now http://trac.sagemath.org/sage_trac/ticket/11941.

1

An alternative approach is not to use the symbolic ring but a polynomial ring:

sage: x = polygen(RR)

sage: (x^3+8).roots()

[(-2.00000000000000, 1)]

This returns a list of roots in RR with multiplcities.

Asked: **
2011-10-18 08:07:48 -0600
**

Seen: **2,379 times**

Last updated: **Dec 11 '13**

Why doesn't Sage evaluate to zero on its own found roots?

check if the result is a real number

solving system of polynomial equations over reals using newton method

wxMaxima cannot reduce system to a polynomial in one variable [closed]

Smallest positive numerical solution of an equation in one variable

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.