HomeCalculatorsMathAlgebra & EquationsPolynomial Roots Calculator
Math calculator

Polynomial Roots Calculator

Find all roots of a real polynomial of degree 1–8. Closed form for linear, quadratic, and cubic (Cardano); Durand–Kerner otherwise. Cubic discovery /cubic-equation. Horner evaluation /polynomial-evaluate. Not the quadratic formula page. Runs locally.

Instant result
Result
—

Enter values to calculate.

Inputs—
Mode—
Formula—
Trust summary CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance · all published methods
Input interpretation
Enter values to calculate.
Result
—
Verified scope
all published methods
Assurance
Core
Declared partition coverage
PASS · 4/4 declared partitions (all-roots, cardano, evaluate, invalid-domain) · Matrix
Known limitations
  • Core CVP does not include live graph, viewport, or pointer interaction.
Model
All roots of a real polynomial of degree 1–8, with an engine-linked figure of p and the real roots.
Scope
The Result Card includes an engine-linked figure of p (markers are published real roots on y=0; complex roots stay off the real plane). Same Horner nesting as REST/MCP. Curve samples are not a REST field.
Verification
Engine tested · Source checked · v1.2.1 · CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance · all published methods· View Manifest · CVP overview · Specification
Versions
Calculation 1.2.1 · CVP protocol 1.0.0-proposed · Evidence 2026-09-22.discrete-algebra-cvp
Verification revision
2026-09-22.discrete-algebra-cvp · 3/3 property · digest 6a2ac2cde621
Legacy regression
21/21 tests · Production surface contract 3/3
Trust layers
Verification VERIFIED · Production CURRENT · Overall CVP state: VERIFIED under CVP 1.0.0-proposed
Reference
O1 model · O2 expected_values · O2 numerical_behavior
Interfaces
PASS · UI (SSR) / REST / MCP — ui-ssr is query-result HTML, not a live browser session. Error-path engine·REST·MCP 1/1 (status, code, calculation_version). SSR compared on URL-canonical requested calculations; empty query is idle (not an error) and JSON-typed object/array inputs are REST/MCP-only.
Supplemental domain review
Not performed
Named expert review
Not performed
CVP suite
7/7 golden · 5/5 CVP boundary · 10/10 invalid · 3/3 property · 4/4 cross-interface · 1/1 cross-calculator · 3/3 CVP contract · Manifest
Evidence
7 legacy golden · 6 legacy boundary · legacy regression suite · 7/7 oracle-backed golden · 10/10 invalid · Artifact integrity PASS
This calculator CURRENT · Public schema 1.2.1 matches · Semantic contract ✓ · Production attested · Public/cache ✓ · Origin ✓
Semantic contract
PASS
Full verification

Manifest identity, reference classes, interfaces, suite, and production records.

Formulas

Core equations used by this calculator.

All n rootsc0 + c1 x + … + cn x^n = 0
Linearx = −c0 / c1
Quadraticx = (−b ± √(b² − 4ac)) / (2a)
CubicCardano / trigonometric closed form
Degree 4–8Durand–Kerner simultaneous iteration
iNot /calc/math/quadratic (discriminant, vertex, parabola). Cubic closed form lives here and at /cubic-equation. Horner evaluation at /polynomial-evaluate. Not Ferrari. Not a single Newton/bisection root. Not symbolic factoring. Leading coefficient must be nonzero. Degree ≤ 8.

How to use

1

Enter coefficients constant-first

(x−1)(x−2)(x−3) is −6, 11, −6, 1. Trailing zeros are rejected; drop them instead.

2

Read every root

Real roots first by value; complex conjugates appear as a ± bi. The figure shows p and the real roots on y=0.

Example calculations

Common configurations with formula and result.

ϟ

Cubic with three real roots

(x−1)(x−2)(x−3) = 0

coeffs −6, 11, −6, 1
1, 2, 3
ϟ

x² + 1 = 0

coeffs 1, 0, 1

closed-form quadratic
± i

Polynomial Roots calculator specification

Version 1.2.1 · Engine tested

Calculation status

Review policy · Evidence

Definition
A degree-n polynomial c0 + c1 x + … + cn x^n = 0 has n roots in the complex plane (counting multiplicity). This page returns all of them. Coefficients are constant-first.
What it calculates
All roots of a real polynomial of degree 1–8, with an engine-linked figure of p and the real roots.
Inputs
  • coeffs
  • method?
Outputs
  • roots
  • degree
  • solver
  • residual_max
Formula
closed form (deg 1–3 Cardano) or Durand–Kerner (deg 4–8)
Assumptions
  • The Result Card includes an engine-linked figure of p (markers are published real roots on y=0; complex roots stay off the real plane). Same Horner nesting as REST/MCP. Curve samples are not a REST field.
  • Real coefficients
  • Leading coefficient nonzero
  • Degree ≤ 8
  • Not a second quadratic page
  • Not Ferrari quartic
  • Not CAS factoring
Units
  • dimensionless
Boundary conditions
  • degree 0 or one coefficient → INVALID_INPUT
  • leading coefficient 0 → INVALID_INPUT
  • degree > 8 → VALUE_OUT_OF_RANGE
  • method quadratic / cas / ferrari / newton / eigen / factor → INVALID_MODE
Example
coeffs=-6,11,-6,1 → 1, 2, 3
Validation cases

2 published on this page · 21/21 tests · Production surface contract 3/3 · View evidence

  • coeffs=-6,11,-6,1 → 1, 2, 3
  • method=quadratic coeffs=8,-6,1 → INVALID_MODE
Sources
  • ISO 80000-2:2019 Quantities and units — Mathematics
    Supports: Mathematical symbols and notation. This standard is not numerical verification or an endorsement of this implementation.
  • NIST DLMF / Cardano cubic and Durand–Kerner simultaneous iteration
    Supports: Closed form for degree 1–3; Weierstrass–Durand–Kerner iteration for degree 4–8; Horner evaluation
  • NIST DLMF §3.8 — Nonlinear Equations — §3.8
    Supports: Iterative root finding, convergence considerations, and polynomial-root methods.
  • NumPy — numpy.polynomial.polynomial.polyval
    Supports: Polynomial evaluation using Horner’s method; NumPy’s documented coefficients are in ascending degree order. CalculatorX’s input order must follow its own specification. Mathematical reference only; not validation or endorsement of this implementation.
Calculation version
1.2.1

Background

Interpretation and common distinctions.

What does this polynomial roots calculator compute?

A degree-n polynomial c0 + c1 x + … + cn x^n = 0 has n roots in the complex plane (counting multiplicity). This page returns all of them. Coefficients are constant-first.

The published formula or method is closed form (deg 1–3 Cardano) or Durand–Kerner (deg 4–8). The following references support the stated mathematics or method:

  • NIST DLMF §3.8 — Nonlinear Equations: Iterative root finding, convergence considerations, and polynomial-root methods.
  • NumPy — numpy.polynomial.polynomial.polyval: Polynomial evaluation using Horner’s method; NumPy’s documented coefficients are in ascending degree order. CalculatorX’s input order must follow its own specification. Mathematical reference only; not validation or endorsement of this implementation.

Which inputs and limits should you check?

Follow the input domain, units, branch or solve direction, and rounding policy in the specification. Preserve exact outputs and any additional candidates or warnings.

The worked example uses (x−1)(x−2)(x−3) = 0 with coeffs −6, 11, −6, 1. Compare it with the Example calculations and the complete result for the same inputs.

How can you verify and cite this result?

CalculatorX is responsible for this page. The mathematical references above explain the model; implementation checks and their scope are documented separately in the math.polynomial.roots v1.2.1 Evidence and capability contract. Read the displayed verification and production state together with the specification's numerical limits.

Use the clean calculator URL to cite the tool. A shared input link identifies a particular calculation. Content updates, numerical verification, and domain reviews have separate dates and scopes.

Frequently asked questions

Key distinctions behind the calculation.

Is this the quadratic formula page?

No. /calc/math/quadratic is ax²+bx+c with discriminant, vertex, and a parabola. This page returns every root of a general degree-n polynomial.

How is this different from numerical root?

Numerical root finds one real root of a polynomial with Newton, bisection, or secant. This page returns all n roots, including complex conjugates.

Can I factor symbolically?

No. Symbolic CAS is out of scope. The solver is closed form for degree 1–3 (Cardano on cubics) and Durand–Kerner for degree 4–8. Evaluate p(x) at /polynomial-evaluate.

Where does this run?

Locally in the browser by default. REST and MCP call the same polynomial-roots engine.