Calcoid

Polynomial Calculator

Add, subtract, multiply, or evaluate polynomials. Enter coefficient arrays (lowest power first) and get the result polynomial, its degree, and a clean printed form. Evaluation uses Horner's method for numerically stable substitution.

Polynomial arithmetic

Operation

Lowest power first. [1, 2, 3] means 1 + 2x + 3x². Up to 20 coefficients.

Same convention as A. Shorter arrays are padded with zeros.

Result (A(x) + B(x))

3x² + 7x + 5

Result coefficients

[5, 7, 3]

Degree

2

Frequently Asked Questions about the Polynomial Calculator

Why is this calculator separate from the polynomial long division calculator?
Long division has its own page because it needs a step-by-step trace and a different input convention (highest power first, to match how you write the algorithm out by hand). This page covers the other three polynomial operations you reach for daily: addition, subtraction, and multiplication, plus evaluation at a specific x value. Splitting them keeps each tool focused. If you need to divide one polynomial by another and see every reduction step, use the long division calculator. If you need quick arithmetic or to plug a number into a polynomial, you are in the right place.
Why are coefficients entered lowest power first here?
Lowest-power-first ([a0, a1, a2, ...] meaning a0 + a1*x + a2*x^2) matches how polynomials are indexed in code and how Horner's method walks the array, so the input order lines up with the math the calculator actually performs. The long division calculator uses the opposite convention (highest power first) because that is how the long division algorithm is written by hand. Two pages, two conventions, each chosen to match its algorithm. Just remember to include a 0 for any missing power, so 1 + 2x + 3x^3 is [1, 2, 0, 3], not [1, 2, 3].
How does the multiplication work under the hood?
It is convolution: the coefficient of x^k in the product is the sum of polyA[i] * polyB[j] for every pair (i, j) where i + j equals k. For (x + 1)(x - 1), polyA is [1, 1] and polyB is [-1, 1]. The constant term is 1 * -1 = -1, the x term is 1 * 1 + 1 * -1 = 0, and the x^2 term is 1 * 1 = 1, giving [-1, 0, 1], which prints as x^2 - 1. Convolution is O(n*m) for polynomials of length n and m, which is fine for the 20-coefficient cap this calculator enforces. Real computer algebra systems switch to FFT-based multiplication for very large polynomials, but you do not need that here.
What is Horner's method and why use it for evaluation?
Horner's method rewrites a0 + a1*x + a2*x^2 + ... + an*x^n as ((((an*x + a_{n-1})*x + a_{n-2})*x + ...)*x + a0). For a degree-n polynomial it uses exactly n multiplications and n additions, instead of the n*(n+1)/2 multiplications you would do with naive power-by-power evaluation. It is also more numerically stable, because each intermediate value stays close in magnitude to the final result instead of swinging through huge powers of x. This calculator uses Horner's method whenever you pick the Evaluate operation.
What does the degree of the result tell me?
Degree is the highest power with a non-zero coefficient, and it tells you the shape of the result. Adding two cubics can give a cubic, a quadratic, a linear polynomial, or even zero, depending on how the leading terms cancel. (x^3 + 1) + (-x^3 + 2) is just 3, degree 0. Multiplying always adds degrees: a degree-2 polynomial times a degree-3 polynomial gives a degree-5 polynomial, with no exceptions unless one input is the zero polynomial. The calculator reports the degree after trimming trailing zero coefficients, so a result that mathematically collapses to a lower-degree polynomial shows the correct, smaller degree.

Related Calculators

More calculators in "Math"

See all 202 calculators in "Math"