Algebraic[Resultant]  resultant of two polynomials with algebraic number coefficients

Calling Sequence


Resultant(a, b, x, options)


Parameters


a,b



polynomials in x with algebraic number coefficients

x



name

options



(optional) equation(s) of the form keyword = value, where keyword is either 'symbolic', 'makeindependent', or 'characteristic'





Options


•

If the option 'symbolic'=true is given and a RootOf whose minimal polynomial factors nontrivially is detected, then Resultant will reduce it to a RootOf of lower degree by picking one of the factors arbitrarily. This will eliminate the possibility of a "reducible RootOf detected" error. The default is 'symbolic'=false.

•

If the option 'characteristic'=p is given, where p is a nonnegative integer, the resultant is computed over an extension of the ring of integers modulo p. The default is 'characteristic'=0 and means that the resultant is computed over an extension of the rational numbers.

•

Note that if p is positive but not a prime, then is not a field, so Resultant may not be able to compute the resultant. If it does not succeed because it encounters an integer that has no inverse modulo p, it issues the error "zero divisor modulo p detected"

•

If the option 'makeindependent'=true is given, then Resultant will always try to find a field representation for algebraic numbers in the input, regardless of how many algebraic objects the input contains. If the input contains many RootOfs, then this can be a very expensive calculation. If 'makeindependent'=false is given, then no independence checking is performed. The default is 'makeindependent'=FAIL, in which case algebraic dependencies will only be checked for if there are or fewer algebraic objects in the input.



Description


•

The Resultant command computes and returns the resultant of multivariate polynomials a and b with respect to the single indeterminate x.

•

Formally, if a and b are polynomials over an integral domain, where:


then the resultant of the two polynomials a and b with respect to x is defined to the be the product

•

The resultant can be calculated using the Euclidean algorithm, but it is also the determinant of the Bezout Matrix and the Sylvester Matrix of a and b with respect to x.

•

The inputs a and b may contain algebraic number coefficients. These may be represented by radicals or with the RootOf notation (see type,algnum, type,radnum). In general, algebraic numbers will be returned in the same representation as they were received in. Nested radicals and RootOfs are also supported.

•

The arguments a and b must be polynomials in the variable x, but may contain rational functions of other names, which are considered as elements of the coefficient field. If one of the inputs is a polynomial in x disguised as a rational function, it will first be normalized by Algebraic[Normal].

•

Nonalgebraic subexpressions such as that are neither variables, rational numbers, or algebraic objects are frozen and temporarily replaced by new local variables, which are not considered to be constant in what follows.

•

The x parameter can also be a function such as , in which case it will be frozen and treated as a variable. However, functions that are also of type AlgebraicObject such as will be converted to algebraic numbers before proceeding, so they cannot be treated as variables. Proceed with caution when using a function for x, as treating some functions as variables may produce mathematically unsound results.

•

This command preserves partial factorizations in the input and expands polynomials only if necessary.

•

The output is free of x and is a quotient of polynomials, normalized as follows:

–

The numerator and the denominator have no nontrivial common factors.

–

All nonconstant factors are monic with respect to a blocklexicographic ordering of the variables, where all global variables are considered larger than all local ones (except possibly if there is only one nonconstant factor and no denominator). If all variables have different names, then this ordering is sessionindependent.

–

There is at most one constant factor in the denominator, and it is a positive integer.

–

There are at most two constant factors in the numerator, at most one of them is not a rational number, and the other one, if present, is an integer.

–

All factors that are not rational numbers have integer content equal to , except possibly if there is only one nonconstant factor.

–

All algebraic numbers occurring in the result are reduced modulo their minimal polynomial (see Reduce), and all arguments of functions, if any, are normalized recursively (see Normal).

•

By definition, the resultant of zero and any polynomial is , and the resultant of two nonzero constants is .

•

If the set of radicals and RootOfs in the input cannot be embedded into a field algebraically, then Resultant may not be able to compute the resultant. Resultant will try to find a field representation if there are at most algebraic objects in the input (unless option 'makeindependent' is given; see below), and otherwise attempt to proceed anyway. In such a case, the output may not satisfy all of the properties described above, or it may not be possible to compute a resultant at all. If unsuccessful, a "reducible RootOf detected" error may be returned. (unless the option 'symbolic'=true is given; see below).

•

This function does not support input containing floats or radical functions such as .



Examples


>


Introductory Examples:
>


 (1) 
>


 (2) 
>


 (3) 
>


 (4) 
>


 (5) 
The input may contain both radicals and RootOfs, and Resultant will embed the coefficients into an algebraic field, if possible:
>


 (6) 
>


 (7) 
>


 (8) 
Nested and mixed radicals and RootOfs are also supported:
>


 (9) 
>


 (10) 
The input must be a pair of polynomials in x. If the inputs are rational expressions in x, an error will be returned:
>


 (11) 
>


The coefficients may contain rational functions of arbitrary variables:
>


 (12) 
The input may contain polynomials disguised as rational functions, because they will be simplified by Normal:
>


 (13) 
Partial factorizations in the input will be preserved, if possible:
>


 (14) 
>


 (15) 
Nonalgebraic subexpressions such as will be frozen and treated as elements of the coefficient field:
>


 (16) 
However, whenever possible, such expressions will be converted to algebraic numbers (see ConvertRootOf):
>


 (17) 
A nonalgebraic function can also be used for the x parameter, as long as it is not of type Algebraic Object:
>


 (18) 
>


The arguments of functions in the input will be recursively normalized (see Normal):
>


 (19) 
Nonalgebraic functions in the input may become algebraic after recursive treatment:
>


 (20) 
All algebraic numbers will be reduced modulo their minimal polynomial (see Reduce):
>


 (21) 
>


 (22) 
The output will be fully normalized and rationalized:
>


 (23) 
>


 (24) 
Algebraic functions such as are not accepted:
>


Floats are not accepted.
>


When a nonindexed RootOf is given in the input, sometimes the resultant can still be computed:
>


 (25) 
>


 (26) 
In this case, Resultant must know whether without an index represents or in order to fully determine the resultant. Without an index, the result cannot be returned in a fully simplified form:
>


 (27) 
>


 (28) 
>


 (29) 
In this case, where the leading coefficient of the polynomial given within a RootOf is a zero divisor, it is impossible to compute the resultant and an error is returned:
>


To force Resultant to reduce this RootOf to one of lower degree by picking one of the substitutions arbitrarily, use option 'symbolic'=true.
>


 (30) 
Using option 'characteristic', the resultant can be computed over finite fields:
>


 (31) 
>


 (32) 
>


 (33) 
>


 (34) 
With option 'makeindependent'=true, the input will be checked for algebraic dependencies even if there are more than algebraic objects in the input:
>


 (35) 
>


 (36) 
>


 (37) 
>


 (38) 
>


 (39) 
>


 (40) 
>


 (41) 
>


 (42) 
With option 'makeindependent'=false, the input will never be checked for algebraic dependencies:
>


 (43) 
>


 (44) 

