GNU Scientific Library Reference Manual - Third Edition (v1.12)by M. Galassi, J. Davies, J. Theiler, B. Gough, G. Jungman, P. Alken, M. Booth, F. Rossi Paperback (6"x9"), 592 pages, 60 figures ISBN 0954612078 RRP £24.95 ($39.95) |

## 6.4 Cubic Equations

__Function:__int**gsl_poly_solve_cubic***(double*`a`, double`b`, double`c`, double *`x0`, double *`x1`, double *`x2`)- This function finds the real roots of the cubic equation,
x^3 + a x^2 + b x + c = 0

with a leading coefficient of unity. The number of real roots (either one or three) is returned, and their locations are stored in

`x0`,`x1`and`x2`. If one real root is found then only`x0`is modified. When three real roots are found they are stored in`x0`,`x1`and`x2`in ascending order. The case of coincident roots is not considered special. For example, the equation (x-1)^3=0 will have three roots with exactly equal values. As in the quadratic case, finite precision may cause equal or closely-spaced real roots to move off the real axis into the complex plane, leading to a discrete change in the number of real roots.

__Function:__int**gsl_poly_complex_solve_cubic***(double*`a`, double`b`, double`c`, gsl_complex *`z0`, gsl_complex *`z1`, gsl_complex *`z2`)- This function finds the complex roots of the cubic equation,
z^3 + a z^2 + b z + c = 0

The number of complex roots is returned (always three) and the locations of the roots are stored in

`z0`,`z1`and`z2`. The roots are returned in ascending order, sorted first by their real components and then by their imaginary components.

ISBN 0954612078 | GNU Scientific Library Reference Manual - Third Edition (v1.12) | See the print edition |