Ask Your Question

multivariate polynomial ring over complex numbers

asked 2016-09-02 19:33:45 +0200

nebuckandazzer gravatar image

I want to factorize bivariate polynomials over C. For single variable case we do this as follow:


How to do this for multivariate case ?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2016-09-03 12:36:43 +0200

tmonteil gravatar image

It seems not implemented on the floating-point complex numbers, nor on the complex algebraic numbers:

sage: R.<x,y> = CC[]
sage: P = x^2-y^2
sage: P.factor()
NotImplementedError: proof = True factorization not implemented.  Call factor with proof=False.
sage: P.factor(proof=False)
TypeError: Singular error:
   ? not implemented
   ? error occurred in or before STDIN line 26: `def sage12=factorize(sage11);`

sage: R.<x,y> = CDF[]
sage: P = x^2-y^2
sage: P.factor(proof=False)

sage: R.<x,y> = QQbar[]
sage: P = x^2-y^2
sage: P.factor(proof=False)
TypeError: no conversion of this ring to a Singular ring defined

However, it is implemented for multivariate polynomials with integer or rational coefficients:

sage: R.<x,y> = ZZ[]
sage: P = x^2-y^2
sage: P.factor()
(x - y) * (x + y)

But note that the factorization is done with respect to the given ring, so you will get:

sage: P = x^2+1
sage: P.factor()
x^2 + 1
edit flag offensive delete link more


Too bad that this is not possible. It would be nice to factorize x^2+y^2 or x^2+x*y+y^2 for example.

Thrash gravatar imageThrash ( 2017-08-14 19:13:24 +0200 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2016-09-02 19:33:45 +0200

Seen: 499 times

Last updated: Sep 03 '16