Loading [MathJax]/jax/output/HTML-CSS/jax.js

First time here? Check out the FAQ!

Ask Your Question
2

Resultant of Symbolic Expression.

asked 3 years ago

Amrutha gravatar image

Is there a way to find resultant of two polynomials whose coefficients are not numbers. For example, a0x3+a1x2y+a2xy2+a3x2z+a4xz2+a5y3+a6y2z+a7yz2+a8z3+a9xyz and a0x2+a1xy+a2xz+a3yz+a4y2+a5z2. I am getting the error "RuntimeError: resultant(): arguments must be polynomials". Thanks

Preview: (hide)

1 Answer

Sort by » oldest newest most voted
1

answered 3 years ago

tmonteil gravatar image

You can put the coefficients of your polynomials in a polynomial ring:

sage: R = PolynomialRing(QQ,'a',10)
sage: R
Multivariate Polynomial Ring in a0, a1, a2, a3, a4, a5, a6, a7, a8, a9 over Rational Field
sage: R.inject_variables()
Defining a0, a1, a2, a3, a4, a5, a6, a7, a8, a9

Then define the main polynomial ring, with coefficients in the first polynomial ring:

sage: S.<x,y,z> = R[]
sage: S
Multivariate Polynomial Ring in x, y, z over Multivariate Polynomial Ring in a0, a1, a2, a3, a4, a5, a6, a7, a8, a9 over Rational Field

Then you can define the 2 polynomials and compute their resultant:

sage: P = a0*x^3+a1*x^2*y+a2*x*y^2+a3*x^2*z+a4*x*z^2+a5*y^3+a6*y^2*z+a7*y*z^2+a8*z^3+a9*x*y*z
sage: P
a0*x^3 + a1*x^2*y + a2*x*y^2 + a5*y^3 + a3*x^2*z + a9*x*y*z + a6*y^2*z + a4*x*z^2 + a7*y*z^2 + a8*z^3
sage: P.parent()
Multivariate Polynomial Ring in x, y, z over Multivariate Polynomial Ring in a0, a1, a2, a3, a4, a5, a6, a7, a8, a9 over Rational Field
sage: Q = a0*x^2+a1*x*y+a2*x*z+a3*y*z+a4*y^2+a5*z^2
sage: P.resultant(Q)
(a0^2*a2^2*a4 - 2*a0^2*a2*a4^2 + a0^2*a4^3 - a0^2*a1*a2*a5 + a0^2*a1*a4*a5 + a0^3*a5^2)*y^6 + (a0^2*a2^2*a3 + a0*a1*a2^2*a4 - 4*a0^2*a2*a3*a4 - a0*a1*a2*a3*a4 - a0*a1*a2*a4^2 + 3*a0^2*a3*a4^2 + a0*a1*a3*a4^2 - a0*a1^2*a2*a5 - a0^2*a2^2*a5 + a0^2*a1*a3*a5 + a0*a1^2*a3*a5 + 3*a0^2*a2*a4*a5 - 2*a0^2*a3*a4*a5 - a0^2*a1*a2*a6 + a0^2*a1*a4*a6 + 2*a0^3*a5*a6 + 2*a0^2*a2*a4*a9 - 2*a0^2*a4^2*a9 - a0^2*a1*a5*a9)*y^5*z + (a0*a1*a2^2*a3 - 2*a0^2*a2*a3^2 - a0*a1*a2*a3^2 + a0*a2^3*a4 - 2*a0*a1*a2*a3*a4 - a0*a2^2*a3*a4 + 3*a0^2*a3^2*a4 + 2*a0*a1*a3^2*a4 + 2*a0^2*a2*a4^2 - a0*a2*a3*a4^2 + a0*a3^2*a4^2 - 2*a0^2*a4^3 + a0^2*a2^2*a5 - 2*a0*a1*a2^2*a5 + 3*a0^2*a2*a3*a5 + 2*a0*a1*a2*a3*a5 - 2*a0^2*a3^2*a5 - a0^2*a1*a4*a5 - 4*a0^2*a2*a4*a5 + 3*a0^2*a4^2*a5 + a0^2*a1*a5^2 - a0*a1^2*a2*a6 - a0^2*a2^2*a6 + a0^2*a1*a3*a6 + a0*a1^2*a3*a6 + 3*a0^2*a2*a4*a6 - 2*a0^2*a3*a4*a6 + a0^3*a6^2 - a0^2*a1*a2*a7 + a0^2*a1*a4*a7 + 2*a0^3*a5*a7 + 2*a0^2*a2*a3*a9 + a0*a1*a2*a4*a9 - 4*a0^2*a3*a4*a9 - a0*a1*a3*a4*a9 - a0^2*a2*a5*a9 - a0^2*a1*a6*a9 + a0^2*a4*a9^2)*y^4*z^2 + (a0*a2^3*a3 - a0*a1*a2*a3^2 - a0*a2^2*a3^2 + a0^2*a3^3 + a0*a1*a3^3 + 2*a0^2*a2*a3*a4 - 2*a0*a2*a3^2*a4 + 2*a0*a3^3*a4 + a0*a1*a2*a4^2 - 4*a0^2*a3*a4^2 - a0*a1*a3*a4^2 + a0*a1*a2^2*a5 - a0*a2^3*a5 - 4*a0^2*a2*a3*a5 - a0*a1*a2*a3*a5 + a0*a2^2*a3*a5 - a0^2*a2*a4*a5 - 2*a0*a1*a2*a4*a5 + 6*a0^2*a3*a4*a5 + 2*a0*a1*a3*a4*a5 + 3*a0^2*a2*a5^2 - 2*a0^2*a3*a5^2 - 2*a0*a1*a2^2*a6 + 3*a0^2*a2*a3*a6 + 2*a0*a1*a2*a3*a6 - 2*a0^2*a3^2*a6 - a0^2*a1*a4*a6 + a0^2*a1*a5*a6 - a0*a1^2*a2*a7 - a0^2*a2^2*a7 + a0^2*a1*a3*a7 + a0*a1^2*a3*a7 + 3*a0^2*a2*a4*a7 - 2*a0^2*a3*a4*a7 + 2*a0^3*a6*a7 - a0^2*a1*a2*a8 + a0^2*a1*a4*a8 + 2*a0^3*a5*a8 + a0*a1*a2*a3*a9 - 2*a0^2*a3^2*a9 - a0*a1*a3^2*a9 + a0*a2^2*a4*a9 - a0*a2*a3*a4*a9 + 2*a0^2*a4^2*a9 + 2*a0^2*a2*a5*a9 - 4*a0^2*a4*a5*a9 - a0^2*a2*a6*a9 - a0^2*a1*a7*a9 + a0^2*a3*a9^2)*y^3*z^3 + (-a0*a2*a3^3 + a0*a3^4 + a0*a1*a2*a3*a4 - 2*a0^2*a3^2*a4 - a0*a1*a3^2*a4 + a0*a2^2*a4^2 - a0*a2*a3*a4^2 + a0^2*a4^3 + a0*a2^3*a5 - 2*a0*a1*a2*a3*a5 - a0*a2^2*a3*a5 + 3*a0^2*a3^2*a5 + 2*a0*a1*a3^2*a5 + 2*a0^2*a2*a4*a5 - 2*a0*a2*a3*a4*a5 + 2*a0*a3^2*a4*a5 - 4*a0^2*a4^2*a5 - 2*a0^2*a2*a5^2 + 3*a0^2*a4*a5^2 - a0*a2^3*a6 + a0*a2^2*a3*a6 - a0^2*a2*a4*a6 + 3*a0^2*a2*a5*a6 - 2*a0^2*a3*a5*a6 - 2*a0*a1*a2^2*a7 + 3*a0^2*a2*a3*a7 + 2*a0*a1*a2*a3*a7 - 2*a0^2*a3^2*a7 - a0^2*a1*a4*a7 + a0^2*a1*a5*a7 + a0^3*a7^2 - a0*a1^2*a2*a8 - a0^2*a2^2*a8 + a0^2*a1*a3*a8 + a0*a1^2*a3*a8 + 3*a0^2*a2*a4*a8 - 2*a0^2*a3*a4*a8 + 2*a0^3*a6*a8 + a0*a2^2*a3*a9 - a0*a2*a3^2*a9 + 2*a0^2*a3*a4*a9 + a0*a1*a2*a5*a9 - 4*a0^2*a3*a5*a9 - a0*a1*a3*a5*a9 - a0^2*a2*a7*a9 - a0^2*a1*a8*a9 + a0^2*a5*a9^2)*y^2*z^4 + (a0*a2^2*a3*a4 - a0*a2*a3^2*a4 + a0^2*a3*a4^2 - 2*a0*a2*a3^2*a5 + 2*a0*a3^3*a5 + a0*a1*a2*a4*a5 - 4*a0^2*a3*a4*a5 - a0*a1*a3*a4*a5 - a0*a1*a2*a5^2 + 3*a0^2*a3*a5^2 + a0*a1*a3*a5^2 - a0*a2^3*a7 + a0*a2^2*a3*a7 - a0^2*a2*a4*a7 + 3*a0^2*a2*a5*a7 - 2*a0^2*a3*a5*a7 - 2*a0*a1*a2^2*a8 + 3*a0^2*a2*a3*a8 + 2*a0*a1*a2*a3*a8 - 2*a0^2*a3^2*a8 - a0^2*a1*a4*a8 + a0^2*a1*a5*a8 + 2*a0^3*a7*a8 + a0*a2^2*a5*a9 - a0*a2*a3*a5*a9 + 2*a0^2*a4*a5*a9 - 2*a0^2*a5^2*a9 - a0^2*a2*a8*a9)*y*z^5 + (a0*a2^2*a4*a5 - a0*a2*a3*a4*a5 + a0^2*a4^2*a5 - a0*a2*a3*a5^2 + a0*a3^2*a5^2 - 2*a0^2*a4*a5^2 + a0^2*a5^3 - a0*a2^3*a8 + a0*a2^2*a3*a8 - a0^2*a2*a4*a8 + 3*a0^2*a2*a5*a8 - 2*a0^2*a3*a5*a8 + a0^3*a8^2)*z^6
Preview: (hide)
link

Your Answer

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

Add Answer

Question Tools

Stats

Asked: 3 years ago

Seen: 1,960 times

Last updated: Jun 02 '21