3
$\begingroup$

In this paper:

  • Michael Ben-Or and Prasoon Tiwari. 1988. A deterministic algorithm for sparse multivariate polynomial interpolation, In: Proceedings of the twentieth annual ACM symposium on Theory of computing (STOC '88). Association for Computing Machinery, New York, NY, USA, pp 301–309. https://doi.org/10.1145/62212.62241

what's given is $P(x)$ a (sparse) multivariate polynomial with real(or complex) coefficients. The author claimed two things.

  1. It is known that the problem of determining the exact number of monomials in $P(x)$ given by a black-box is #P-Complete (Kaltofen 1986).
  2. It turns out that one can not determine the number of monomials $t$ in $P(x)$ in time $t^{O(l)}$ (or $t^{O(1)}$, can not see quite clearly).

How to understand these? Is there any proof or reference? Does it mean that it is computationally infeasible to determine the number of monomials in $P(x)$? How will it be if the coefficients are taken from finite fields?

Does it mean that when evaluating at $2t$ points, if the Hankel matrix generated by these points has full rank, it is computationally infeasible to know what the exact number of monomials is?

$\endgroup$

1 Answer 1

6
$\begingroup$

The Kaltofen 1986 reference indeed provides the background to (1). Although I think when it was finally published, it was 1989. The reference is:

E. Kaltofen. Factorization of Polynomials Given by Straight-Line Programs. Randomness and Computation, edited by S. Micali, vol. 5 of the Advances in Computing Research series, JAI Press Inc., Greenwich, Connecticut, pp. 375-412 (1989).

Somewhat buried among the other results of the paper and only stated informally, there is this argument: take a 0-1 matrix, replace the 1 entries with variables $x_{i,j}$. The number of monomials of the determinant of this matrix equals the permanent of the original matrix. And it is well-known that the permanent of a 0/1-matrix is #P-complete, due to a theorem of Valiant. Therefore, counting the number of monomials is #P-hard.

As for (2), the point of Ben-Or and Tiwari bringing this up is this: yes it is #P-hard, but this complexity is measured in terms of the input. But, what if we could bound the complexity in terms of the output - i.e., the number of monomials, $t$? The fact it is #P-hard does not itself contradict this; indeed, they point out the permanent of a 0/1-matrix can be computed in time polynomial to the value of the permanent (the "output"). Unfortunately, they then dash our hopes by showing that actually, no, this does not work for monomial counting, you cannot count the number of monomials in time $t^{O(1)}$ (I think it is a 1... but not sure, haven't read the rest of the paper too carefully to know if letter $l$ was ever introduced). That is the point of statement (2).

As for your final question, I suppose that yes the #P-hardness means it is computationally difficult. However, there is a bunch of work on using probabilistic methods for it. Check out these lecture notes by Yann Strozecki: https://yann-strozecki.github.io/presentation_toronto.pdf.

The lecture describes a procedure for enumerating monomials of a polynomial. Note that as a subroutine of this procedure, you have to perform polynomial identity testing (PIT), namely test whether a polynomial is identically zero. The deterministic method for this (if you have the polynomial as an arithmetic circuit) is to just expand out the polynomial and cancel like terms and so on, but this of course suffers from combinatorially explosive complexity.

A really powerful tool is the Schwartz-Zippel lemma, which provides a probabilistic method for PIT. Also, Schwartz-Zippel can be used for black-boxes, whereas the expand-and-cancel method cannot. This is where the probabilistic aspect comes into monomial enumeration. Indeed, using Schwartz-Zippel, you can find a monomial in polynomial time in the number of variables and degree, with an exponentially small error -- much better than the #P-hardness if you're okay with the error!

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .