User Rating 0.0 ā˜…ā˜…ā˜…ā˜…ā˜…
Total Usage 0 times
Coefficients (highest degree first) Use a+bi for complex
Presets
Enter coefficients and press Calculate
Is this tool helpful?

Your feedback helps us improve.

ā˜… ā˜… ā˜… ā˜… ā˜…

About

Polynomial root-finding is a deceptively fragile numerical problem. For degree n ≄ 5, the Abel-Ruffini theorem guarantees no closed-form radical solution exists. Every practical solver therefore relies on iterative approximation, and the choice of algorithm determines whether you get garbage or correct digits. This calculator implements the Durand-Kerner simultaneous iteration method, which converges to all n roots in parallel by treating them as repelling particles in the complex plane. It handles real coefficients, detects conjugate pairs, classifies multiplicity via polynomial GCD, and reports residuals so you can verify accuracy. Results assume coefficients are exact; floating-point representation of irrational coefficients introduces error of order 10āˆ’15 per operation.

complex roots polynomial solver root finder Durand-Kerner polynomial roots complex numbers algebra calculator

Formulas

Given a monic polynomial of degree n:

P(z) = zn + anāˆ’1znāˆ’1 + … + a1z + a0

The Durand-Kerner iteration updates each root estimate zk simultaneously:

zk(new) = zk āˆ’ P(zk)āˆj≠k(zk āˆ’ zj)

Polynomial evaluation uses Horner's method for numerical stability:

P(z) = ((…((z + anāˆ’1)z + anāˆ’2)z + …)z + a0)

Convergence is detected when the maximum residual |P(zk)| falls below the tolerance ε = 10āˆ’d, where d is the selected decimal precision. Multiplicity is detected by computing gcd(P, P′) via the Euclidean algorithm on polynomial coefficients.

where zk = the k-th root estimate (complex number a + bi), P(z) = polynomial evaluated at z, aj = coefficient of zj, n = polynomial degree, ε = convergence tolerance.

Reference Data

Polynomial NameDegreeEquationRoot TypeNotable Property
Linear1x + a = 01 realAlways solvable
Quadratic2ax2 + bx + cReal or conjugate pairDiscriminant b2 āˆ’ 4ac determines type
Depressed cubic3x3 + px + q1 or 3 realCardano's formula; casus irreducibilis
Quartic4x4 + …MixedFerrari's method; last radical-solvable degree
Quintic5x5 + …MixedNo radical formula (Abel-Ruffini)
Wilkinson's polynomial20āˆ(x āˆ’ k)20 realExtreme coefficient sensitivity
Cyclotomic Φ54x4 + x3 + x2 + x + 14 complexRoots are primitive 5th roots of unity
Chebyshev T5516x5 āˆ’ 20x3 + 5x5 real in [āˆ’1, 1]Optimal interpolation nodes
Laguerre L33āˆ’x3 + 9x2 āˆ’ 18x + 63 real positiveGaussian quadrature weights
Bernoulli-type6x6 + 16 complexRoots on unit circle at 30° offsets
Characteristic poly (2Ɨ2)2Ī»2 āˆ’ tr(A)Ī» + det(A)EigenvaluesTrace-determinant relation
Minimal poly (repeated root)3(x āˆ’ 1)2(x + 2)2 distinct (1 repeated)Multiplicity detection via GCD
Reciprocal polynomial4x4 + 3x3 + 5x2 + 3x + 1PairedIf r is a root, so is 1/r

Frequently Asked Questions

Floating-point arithmetic introduces rounding errors of order 10⁻¹⁵ per operation. For real-coefficient polynomials, roots must appear in conjugate pairs (a + bi and a āˆ’ bi). The calculator detects this by checking if two roots satisfy |Re(z₁) āˆ’ Re(zā‚‚)| < ε and |Im(z₁) + Im(zā‚‚)| < ε, then symmetrizes them. If your residuals are below 10⁻¹⁰, the roots are correct within display precision.
The calculator computes gcd(P, P′) using the Euclidean algorithm on polynomial coefficients. If the GCD has degree > 0, it reveals repeated factors. This method degrades when coefficients are large (above 10⁸) because floating-point GCD accumulates cancellation errors. For such cases, increase precision to 12+ digits and verify the residual |P(z)| manually.
The Durand-Kerner method can struggle when roots span many orders of magnitude (e.g., 10⁻⁸ and 10⁸ simultaneously). The initial root estimates are placed on a circle of radius (|aā‚€|)^(1/n) in the complex plane, which may be far from outlier roots. The calculator mitigates this with adaptive step size and up to 10,000 iterations, but ill-conditioned polynomials like Wilkinson's may show residuals above 10⁻⁶.
Yes. Enter complex coefficients using the a+bi notation in each coefficient field. Note that with complex coefficients, roots no longer appear in conjugate pairs, so every root is independent. The Durand-Kerner method works identically for complex coefficients since all arithmetic is performed in the complex plane.
The calculator uses Horner's method, which evaluates P(z) = ((...((z + aₙ₋₁)z + aₙ₋₂)z + ...)z + aā‚€) using n multiplications and n additions instead of computing individual power terms. This reduces catastrophic cancellation that occurs when large terms of opposite sign are summed. The relative error is bounded by n·ε_mach ā‰ˆ n Ɨ 2.2 Ɨ 10⁻¹⁶.
The calculator supports degree 10. Beyond this, the Durand-Kerner method's convergence becomes unreliable without sophisticated deflation and root-polishing strategies. Degree-10 polynomials are sufficient for most engineering eigenvalue problems, control system analysis, and educational use. For degree 20+ problems, dedicated numerical libraries like LAPACK use balanced companion matrix QR decomposition.