Polynomial Multiplier
Multiply two polynomials given by coefficient lists.
Overview
The Polynomial Multiplier multiplies two polynomials specified as coefficient lists and returns the product as another coefficient list, with the leading term shown first. For example, (1 + x)(1 + x) returns 1 + 2x + x^2 so you can see binomial expansions without manual FOIL.
It is built for algebra students checking expansions, engineers convolving filters, signal-processing learners discovering that polynomial multiplication and discrete convolution are the same operation and contest programmers verifying solutions.
How it works
Two polynomials of degree m and n are represented by coefficient arrays a[0..m] and b[0..n]. The product has degree m + n and coefficients c[k] = Σ_{i+j=k} a[i] * b[j]. This is exactly discrete convolution.
The implementation uses the schoolbook algorithm O(m * n), which is fast enough for hand-sized polynomials. For very large polynomials, FFT-based multiplication runs in O((m + n) log(m + n)), but that complexity isn't needed here.
Examples
(1 + x) * (1 + x) → 1 + 2x + x^2
(2 + x) * (3 - x) → 6 + x - x^2
(1 + 2x + 3x^2) * (4 + 5x) → 4 + 13x + 22x^2 + 15x^3
(1 - x) * (1 + x + x^2 + x^3) → 1 - x^4
FAQ
Why is polynomial multiplication the same as convolution?
Coefficients of the product are sums of pairwise products of input coefficients indexed by sum. That's the discrete convolution formula exactly.
What if the leading coefficient is zero?
The tool trims trailing zeros in the coefficient list so the displayed degree matches the actual degree.
Can I multiply more than two polynomials?
Apply the operation pairwise. The product is associative.
Does it support division?
Not in this tool — polynomial division produces a quotient and remainder, which is a separate operation. See dedicated algebra tools.
Can the coefficients be complex or rational?
The calculator works in real numbers (double precision). For rational arithmetic, see the Big Number Calculator.