Skip to main content

Multivariate polynomials

Now, we will consider polynomials that have more than one variable. With a single variable, everything is quite intuitive. For instance, univariate polynomials of degree dd have at most dd roots, but this is false when we have multivariate polynomials (e.g., f(x,y)=xyf(x,y) = x-y is a degree one polynomial but has infinitely many roots). However, you will see that we can still take advantage of the low-degree polynomials in some way and that multivariables allow you to encode much more complex problems as polynomials.

📄️ Matrix multiplication testing

We start with a simple computational problem. Given three $n$-by-$n$ matrices $A,B,C$, our goal is to design an algorithm that checks whether $A B = C$. Notice that one way to solve this problem is by performing the matrix multiplication $A B$ and checking whether the result is the same as $C$. This takes $O(n^{\omega})$ time where $\omega$ is defined as the minimum value $\tau$ such that matrix multiplication can be done in $O(n^{\tau})$ time. The current best known value is $\omega \approx 2.371\ldots$ (proving or disproving that $\omega =2$ is a long-standing open question).