polylib::subresultant

Subresultants of two polynomials

Use only in the MuPAD Notebook Interface.

This functionality does not run in MATLAB.

Syntax

polylib::subresultant(f, g, <x>, <i>)
polylib::subresultant(fexpr, gexpr, <x>, <i>)

Description

polylib::subresultant(f, g) returns the table of subresultants of polynomials f and g with respect to their first variable.

polylib::subresultant(f, g, i) returns the ith subresultant of polynomials f and g with respect to their first variable.

polylib::subresultant(f, g, x) returns the table of subresultants of polynomials f and g with respect to the variable x.

polylib::subresultant(f, g, x, i) returns the ith subresultant of polynomials f and g with respect to the variable x.

polylib::subresultant(fexpr, gexpr, x) returns the table of subresultants of polynomial expressions fexpr and gexpr with respect to the variable x.

polylib::subresultant(fexpr, gexpr, x, i) returns the ith subresultant of polynomial expressions fexpr and gexpr with respect to the variable x.

polylib::subresultant returns a particular subresultant or a table of all subresultants.

The variables and coefficient rings of both input polynomials must be identical.

The 0th subresultant is the resultant of two polynomials. See Example 1

If you do not specify the variable when computing the subresultants of two polynomials, polylib::subresultant returns subresultants of the polynomials with respect to their first variable. See Example 2.

If you call polylib::subresultant for polynomial expressions, you must specify the variable with respect to which you want to compute subresultants. MuPAD® uses the poly function to convert polynomial expressions to polynomials with the specified variable. The system also converts computed subresultants back to polynomial expressions.

If poly cannot convert expressions to polynomials, polylib::subresultant returns FAIL.

If the degree of the polynomial f is less than the degree of the polynomial g, the polylib::subresultant function interchanges f and g.

If the coefficient ring is a domain, it must have a _divide method.

Examples

Example 1

If you do not specify which subresultant to return, polylib::subresultant returns the table of all subresultants:

f := poly(3*x^4 + 3*x^3 + 4):
g := poly(x^4 + x^3 + x^2 + x + 1):
polylib::subresultant(f, g)

You can specify the number of the subresultant that you want to compute. For example, compute the 0th subresultant of the polynomials f and g:

polylib::subresultant(f, g, 0)

The 0th subresultant is also the resultant of the polynomials:

polylib::resultant(f, g)

Example 2

polylib::subresultant handles multivariate polynomials and polynomial expressions. When you compute subresultants of multivariate polynomials or polynomial expressions, you can specify the variable with respect to which you want to compute subresultants:

f := poly(3*x^4*y + 4*z^2):
g := poly(x^4 + x^3*y^3*z^3):
polylib::subresultant(f, g, z)

For multivariate polynomials, specifying the variable is not necessary. If you do not specify the variable when computing the subresultants of two polynomials, polylib::subresultant returns subresultants of the polynomials with respect to their first variable:

f := poly(3*x^4*y + 4*z^2):
g := poly(x^4 + x^3*y^3*z^3):
polylib::subresultant(f, g)

If you call polylib::subresultant for polynomial expressions, you must specify the variable with respect to which you want to compute subresultants:

f := 3*x^4*y + 4*z^2:
g := x^4 + x^3*y^3*z^3:
polylib::subresultant(f, g)
Error: A variable is missing. [polylib::subresultant]
polylib::subresultant(f, g, x)

Parameters

f, g

Polynomials over Expr (the ring of arbitrary MuPAD expressions)

fexpr, gexpr

Polynomial expressions

x

An indeterminate

i

A nonnegative integer

Return Values

Subresultant of two polynomials (or polynomial expressions) or a table of subresultants.

Overloaded By

p, q

Was this topic helpful?