Take the 2-minute tour ×
Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

If I have a multivariate polynomial $P[X_1,\dots,X_n]\in \mathbb{R}[X_1,\dots, X_n]$, is there a polynomial time algorithm to factor the polynomial into irreducible polynomials $\in \mathbb{C}[X_1,\dots,X_n]$?

Also, how do the factors look like - are they all linear or constant polynomials or could they also be non-linear?

If the factorization involves non-linear irreducible polynomials, then is it possible to list all the roots of $P[X_1,\dots,X_n]$ in polynomial time?

Edit: To give some motivation for my question, my goal is to find if a polynomial is $\geq 0$ on its entire domain or not.

share|improve this question
1  
Not necessarily linear, example $y-x^k$. –  André Nicolas Oct 14 '11 at 21:42
    
How do you propose to list all the roots of a polynomial in any amount of time, if the polynomial has uncountably many of them? (I take it by "roots" you mean $n$-tuples of complex numbers that make the polynomial zero; if you mean something else, then, what?) –  Gerry Myerson Oct 14 '11 at 21:55
    
I thought that every polynomial had a finite number of roots... –  user17663 Oct 14 '11 at 21:57
1  
@Opt: only in one dimension. The zero set of a polynomial in more than one variable is a space rather than a finite set of points, e.g. $p(x, y) = x^2 + y^2 - 1$ has zero set the unit circle. –  Qiaochu Yuan Oct 14 '11 at 22:09
    
For the edited question, there are many algorithms, but probably none that involve factoring. –  André Nicolas Oct 14 '11 at 23:08

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.