Ore_algebra[annihilators] - skew lcm of a pair of operators
Ore_algebra[skew_gcdex] - extended skew gcd computation
Ore_algebra[skew_pdiv] - skew pseudo-division
Ore_algebra[skew_prem] - skew pseudo-remainder
Ore_algebra[skew_elim] - skew elimination of an indeterminate
|
Calling Sequence
|
|
annihilators(p, q, A)
skew_gcdex(p, q, x, A, opt)
skew_pdiv(p, q, x, A)
skew_prem(p, q, x, A)
skew_elim(p, q, x, A)
|
|
Parameters
|
|
p, q
|
-
|
skew polynomials
|
A
|
-
|
Ore algebra table
|
x
|
-
|
indeterminate of the algebra
|
opt
|
-
|
(optional) literal string; one of , , and
|
|
|
|
|
Description
|
|
•
|
The annihilators, skew_gcdex, skew_pdiv, skew_prem, and skew_elim commands perform simple algebraic operations in Ore algebras, all based on skew pseudo-division and skew Euclidean algorithms.
|
•
|
The skew_pdiv(p, q, x, A) function performs a skew pseudo-division of the skew polynomial p by the skew polynomial q. Both polynomials are viewed as polynomials in x in the Ore algebra A. The function returns a list such that is of degree lower than q. The resulting v is a polynomial in x, whereas u is a coefficient. The skew_prem(p, q, x, A) function simply returns the remainder r.
|
•
|
The skew_gcdex(p, q, x, A) function performs an extended skew gcd algorithm on the skew polynomials p and q viewed as polynomials in x with coefficients in their other indeterminates. With no option or the option , it returns a list such that and . Hence, g is a right gcd of p and q (in an algebra where all coefficient indeterminates are invertible), while up and vq are left lcms of p and q. Without the option, g, a, and b are fraction-free polynomials with no common content, and u and v are fraction-free polynomials with no common (left) content; when the option is used, the polynomial g is made monic and a and b are changed accordingly. With the option "left" or "left_monic", skew_gcdex returns a list such that and . In this case, g is a left gcd. The option "left" returns fraction-free polynomial while the option "left_monic" ensures that g is made monic (by multiplication by a fraction on the right). (See also Ore_algebra[dual_algebra].)
|
•
|
The annihilators(p, q, A) function performs a specialized algorithm to return a list of skew polynomials of the algebra A such that .
|
•
|
The skew_elim(p, q, x, A) function tries to eliminate the indeterminate x between the skew polynomials p and q. It returns a nonzero polynomial free from x, is such a polynomial exists. Otherwise, a nonzero polynomial of least possible degree in x is returned.
|
•
|
The skew_gcdex, skew_pdiv, skew_prem, and skew_elim commands are specific to the case of skew polynomials viewed as polynomials in a single indeterminate. A general (multivariate) treatment is provided via Groebner bases computations (see Groebner, and in particular Groebner[Basis], and Groebner[Reduce]). However, skew_elim is appropriate to eliminate a single indeterminate between two skew polynomials without computing unneeded information.
|
•
|
These functions are part of the Ore_algebra package, and so can be used in the form annihilators(..), skew_gcdex(..), skew_pdiv(..), skew_prem(..), or skew_elim(..) only after performing the command with(Ore_algebra) or with(Ore_algebra,<function>). The functions can always be accessed in the long form Ore_algebra[annihilators](..), Ore_algebra[skew_gcdex](..), Ore_algebra[skew_pdiv], Ore_algebra[skew_prem], and Ore_algebra[skew_elim](..).
|
|
|
Examples
|
|
>
|
|
Differential case.
>
|
|
>
|
|
>
|
|
The skew polynomials can be viewed as polynomials in Dx
>
|
|
| (1) |
>
|
|
| (2) |
>
|
|
| (3) |
>
|
|
| (4) |
>
|
|
| (5) |
or in x. In this case, the algebra must be redefined accordingly.
>
|
|
>
|
|
| (6) |
>
|
|
| (7) |
>
|
|
| (8) |
Case of 'q'-calculus:
>
|
|
>
|
|
| (9) |
>
|
|
| (10) |
>
|
|
| (11) |
>
|
|
| (12) |
skew_elim (or skew_gcdex) may help to find factorization.
>
|
|
| (13) |
>
|
|
| (14) |
>
|
|
| (15) |
This is P. P therefore divides Q in A. Left gcds:
>
|
|
>
|
|
>
|
|
>
|
|
>
|
|
| (16) |
>
|
|
| (17) |
>
|
|
| (18) |
>
|
|
| (19) |
>
|
|
| (20) |
>
|
|
| (21) |
|
|