Prem - inert pseudo-remainder function
Sprem - inert sparse pseudo-remainder function
|
Calling Sequence
|
|
Prem(a, b, x, 'm', 'q')
Sprem(a, b, x, 'm', 'q')
|
|
Parameters
|
|
a, b
|
-
|
multivariate polynomials in the variable x
|
x
|
-
|
indeterminate
|
m, q
|
-
|
(optional) unevaluated names
|
|
|
|
|
Description
|
|
•
|
The Prem and Sprem functions are placeholders for the pseudo-remainder and sparse pseudo-remainder of a divided by b where a and b are polynomials in the variable x. They are used in conjunction with either mod or evala which define the coefficient domain, as described below.
|
•
|
The function Prem returns the pseudo-remainder r such that:
|
•
|
where and m (the multiplier) is:
|
•
|
If the fourth argument is present it is assigned the value of the multiplier m defined above. If the fifth argument is present, it is assigned the pseudo-quotient q defined above.
|
•
|
The function Sprem has the same functionality as Prem except that the multiplier m will be to the power of the number of division steps performed rather than the degree difference. When Sprem can be used it is preferred because it is more efficient.
|
•
|
The calls Prem(a, b, x, 'm', 'q') mod p and Sprem(a, b, x, 'm', 'q') mod p compute the pseudo-remainder and sparse pseudo-remainder respectively of a divided by b modulo p, a prime integer. The coefficients of a and b must be multivariate polynomials over the rationals or coefficients over a finite field specified by RootOf expressions.
|
•
|
The calls evala(Prem(a, b, x, 'm', 'q')) and evala(Sprem(a, b, x, 'm', 'q')) compute the pseudo-remainder and sparse pseudo-remainder respectively of a and b, where the coefficients of a and b are multivariate polynomials with coefficients in an algebraic number (or function) field.
|
|
|
Examples
|
|
Prem uses a power of the leading coefficient to the degree difference for the multiplier
>
|
|
| (1) |
>
|
|
| (2) |
Sprem uses a smaller power of the leading coefficient for the multiplier
>
|
|
| (3) |
>
|
|
| (4) |
>
|
|
| (5) |
|
|