Hi.
I have a question about solving 3rd order equation by solve.
Executing
solution: solve(x^3-x^2+1=0, x), rectform;
results
[x=(1/(2*3^(3/2)*(25/54-sqrt(23)/(2*3^(3/2)))^(1/3))-(sqrt(3)*(25/54-sqrt(23)/(2*3^(3/2)))^(1/3))/2)*%i+(25/54-sqrt(23)/(2*3^(3/2)))^(1/3)/2+1/(18*(25/54-sqrt(23)/(2*3^(3/2)))^(1/3))+1/3,
x=-(25/54-sqrt(23)/(2*3^(3/2)))^(1/3)-1/(9*(25/54-sqrt(23)/(2*3^(3/2)))^(1/3))+1/3,
x=((sqrt(3)*(25/54-sqrt(23)/(2*3^(3/2)))^(1/3))/2-1/(2*3^(3/2)*(25/54-sqrt(23)/(2*3^(3/2)))^(1/3)))*%i+(25/54-sqrt(23)/(2*3^(3/2)))^(1/3)/2+1/(18*(25/54-sqrt(23)/(2*3^(3/2)))^(1/3))+1/3].
The second one in solution is a real root.
To know the concrete value, executing
solution, float;
results
[x=0.744861766619749*%i+.8774388331233485,x=-.7548776662466969,x=.8774388331233485-0.744861766619749*%i].
I want to get this result by single command.
But executing
solution: solve(x^3-x^2+1=0, x), rectform, float;
results
[x=.7448617666197254*%i+.8774388331233376,x=-8.480870326997723*10^-17*%i-.7548776662466756,x=.8774388331233378-
.7448617666197253*%i].
The second one includes a very small imaginary part.
How can I avoid it?
# I tried realroots and knew it gives me a value. But I want to know how to use solve command.
My environment is,
Mac OS X 10.8.2
maxima 5.28.0 from http://sourceforge.net/projects/maxima/files/
Thanks,
-
ICHIKAWA, Yuji