OreTools[Euclidean] - perform right or left Euclidean algorithm
|
Calling Sequence
|
|
Euclidean['right'](Poly1, Poly2, A, 'c1', 'c2')
Euclidean(Poly1, Poly2, A, 'c1', 'c2')
Euclidean['left'](Poly1, Poly2, A, 'c1', 'c2')
|
|
Parameters
|
|
Poly1, Poly2
|
-
|
nonzero Ore polynomials; to define an Ore polynomial, use the OrePoly structure.
|
A
|
-
|
Ore algebra; to define an Ore algebra, use the SetOreRing function.
|
'c1', 'c2'
|
-
|
(optional) unevaluated names
|
|
|
|
|
Description
|
|
•
|
The Euclidean['right'](Poly1, Poly2, A) or Euclidean(Poly1, Poly2, A) calling sequence returns a list [m, S] where m is a positive integer and S is an array with m nonzero Ore polynomials such that:
|
|
In addition, Remainder['right'](S[m-1], S[m], A) = 0. S is called the right Euclidean polynomial remainder sequence of Poly1 and Poly2.
|
•
|
If the fourth argument c1 of Euclidean['right'] or Euclidean is specified, it is assigned the first co-sequence of Poly1 and Poly2 so that:
|
|
and c1[m+1] Poly1 is a least common left multiple (LCLM) of Poly1 and Poly2.
|
•
|
If the fifth argument c2 of Euclidean['right'] or Euclidean is specified, it is assigned the second co-sequence of Poly1 and Poly2 so that:
|
|
and is an LCLM of Poly1 and Poly2.
|
•
|
The Euclidean['left'](Poly1, Poly2, A) calling sequence returns a list [m, S] where m is a positive integer and S is an array with m nonzero Ore polynomials such that:
|
|
In addition, . S is called the left Euclidean polynomial remainder sequence of Poly1 and Poly2.
|
•
|
If the fourth argument c1 of Euclidean['left'] is specified, it is assigned the first co-sequence of Poly1 and Poly2 so that:
|
|
and Poly1 c1[m+1] is a least common right multiple (LCRM) of Poly1 and Poly2.
|
•
|
If the fifth argument c2 of Euclidean['left'] is is specified, it is assigned the second co-sequence of Poly1 and Poly2 so that:
|
|
and Poly1 c1[m+1]= - Poly2 c2[m+1] is an LCRM of Poly1 and Poly2.
|
|
|
Examples
|
|
Perform the right Euclidean algorithm.
>
|
|
>
|
|
| (1) |
>
|
|
| (2) |
>
|
|
| (3) |
>
|
|
| (4) |
>
|
|
| (5) |
>
|
|
| (6) |
Check the co-sequences.
>
|
|
| (7) |
Check the LCLM.
>
|
|
>
|
|
>
|
|
| (8) |
Perform the left Euclidean algorithm.
>
|
|
| (9) |
>
|
|
| (10) |
>
|
|
| (11) |
Check the co-sequences.
>
|
|
| (12) |
Check the LCRM.
>
|
|
>
|
|
>
|
|
| (13) |
|
|