Hi!
I'm trying to understand how the root finding of quartic polynomials works but I came to a dead end.
The method discovered by Euler is described here:
To quote the relevant parts:
z3 + (e/2) z2 + ((e2-4 g)/16) z - f2/64 = 0 (*)
r = -f/(8 p q)
x = p + q + r - a/4
x = p - q - r - a/4
x = -p + q - r - a/4
x = -p - q + r - a/4
But "_roots_quartic_euler" function from SymPy which claims to use the Descartes-Euler solution contains (very) different procedure:
64*R**3 + 32*p*R**2 + (4*p**2 - 16*r)*R - q**2 = 0 (this is the same as above) (*)
but:
p = -2*(R + A); q = -4*B*R; r = (R - A)**2 - B**2*R
x1 = sqrt(R) - sqrt(A + B*sqrt(R))
x2 = -sqrt(R) - sqrt(A - B*sqrt(R))
x3 = -sqrt(R) + sqrt(A - B*sqrt(R))
x4 = sqrt(R) + sqrt(A + B*sqrt(R))
and later:
c1 = sqrt(R)
c2 = sqrt(A + B)
c3 = sqrt(A - B)
Please, could someone explain a few things to me?
Where do all the definitions of x1, x2, x3, x4 come from? Is there somewhere a paper which derives them? And how was "p" derived?
In particular, what I'm trying to understand is how to go from using two roots of (*) to using just one (c1)? I.e., the description of Euler's method says, that one has to pick two roots of (*) - how is it possible to pick just one and still be able to calculate x1...x4?
Thanks in advance!
Tuom Larsen