OreTools[Modular] - Maple Programming Help

Home : Support : Online Help : Mathematics : Algebra : Skew Polynomials : OreTools : Modular Subpackage : OreTools/Modular/Divisions

OreTools[Modular]

 RightPseudoQuotient
 compute the right pseudo-quotient of two Ore polynomials modulo a prime
 RightPseudoRemainder
 compute the right pseudo-remainder of two Ore polynomials modulo a prime
 RightQuotient
 compute the right quotient of two Ore polynomials modulo a prime
 RightRemainder
 compute the right remainder of two Ore polynomials modulo a prime

 Calling Sequence Modular[RightPseudoQuotient](Ore1, Ore2, p, A, 'm', 'R') Modular[RightPseudoRemainder](Ore1, Ore2, p, 'm', 'Q') Modular[RightQuotient](Ore1, Ore2, p, A, 'R') Modular[RightRemainder](Ore1, Ore2, p, A, 'Q')

Parameters

 Ore1, Ore2 - two Ore polynomials; to define an Ore polynomial, use the OrePoly structure p - prime A - Ore ring; to define an Ore ring, use the SetOreRing command m, Q, R - unevaluated names

Description

 • The Modular[RightPseudoQuotient](Ore1, Ore2, p, A, 'm', 'R') calling sequence computes the right pseudo-quotient of Ore1 and Ore2 modulo the prime p. If the fifth (optional) argument is present, it is assigned the multiplier. If the sixth (optional) argument is present, it is assigned the right pseudo-remainder of  Ore1  and Ore2.
 • The Modular[RightPseudoRemainder](Ore1, Ore2, p, A, 'm', 'Q') calling sequence computes the right pseudo-remainder of Ore1 and Ore2 modulo the prime p. If the fifth (optional) argument is present, it is assigned the multiplier. If the sixth (optional) argument is present, it is assigned the right pseudo-quotient of Ore1  and Ore2.
 • The Modular[RightQuotient](Ore1, Ore2, p, A, ''R') calling sequence computes the right quotient of Ore1 and Ore2 modulo the prime p. If the fifth (optional) argument is present, it is assigned the right remainder of  Ore1  and Ore2.
 • The Modular[RightRemainder](Ore1, Ore2, p, A, 'Q') calling sequence computes the right remainder of Ore1 and Ore2 modulo the prime p. If the fifth (optional) argument is present, it is assigned the right quotient of Ore1  and Ore2.

Examples

 > $\mathrm{with}\left(\mathrm{OreTools}\right):$
 > $A≔\mathrm{SetOreRing}\left(n,\mathrm{differential}\right)$
 ${A}{≔}{\mathrm{UnivariateOreRing}}{}\left({n}{,}{\mathrm{differential}}\right)$ (1)
 > $\mathrm{Ore1}≔'\mathrm{OrePoly}'\left(-n,-\left(-5n+{n}^{2}+3\right),n-3,38{n}^{2}-1\right)$
 ${\mathrm{Ore1}}{≔}{\mathrm{OrePoly}}{}\left({-}{n}{,}{-}{{n}}^{{2}}{+}{5}{}{n}{-}{3}{,}{n}{-}{3}{,}{38}{}{{n}}^{{2}}{-}{1}\right)$ (2)
 > $\mathrm{Ore2}≔'\mathrm{OrePoly}'\left(-n,-\left(-5n+{n}^{2}+3\right),n-3\right)$
 ${\mathrm{Ore2}}{≔}{\mathrm{OrePoly}}{}\left({-}{n}{,}{-}{{n}}^{{2}}{+}{5}{}{n}{-}{3}{,}{n}{-}{3}\right)$ (3)
 > $\mathrm{Modular}\left[\mathrm{RightPseudoRemainder}\right]\left(\mathrm{Ore1},\mathrm{Ore2},11,A\right)$
 ${\mathrm{OrePoly}}{}\left({5}{}{{n}}^{{5}}{+}{8}{}{{n}}^{{4}}{+}{3}{}{{n}}^{{3}}{+}{{n}}^{{2}}{+}{8}{}{n}{+}{3}{,}{5}{}{{n}}^{{6}}{+}{5}{}{{n}}^{{5}}{+}{10}{}{{n}}^{{4}}{+}{2}{}{{n}}^{{3}}{+}{6}{}{{n}}^{{2}}{+}{6}{}{n}{+}{1}\right)$ (4)
 > $Q≔\mathrm{Modular}\left[\mathrm{RightPseudoQuotient}\right]\left(\mathrm{Ore1},\mathrm{Ore2},19,A,'m','R'\right)$
 ${Q}{≔}{\mathrm{OrePoly}}{}\left({18}{}{n}{+}{7}{,}{18}{}{n}{+}{3}\right)$ (5)

Check the results.

 > $l≔\mathrm{Modular}\left[\mathrm{ScalarMultiply}\right]\left(m,\mathrm{Ore1},19\right)$
 ${l}{≔}{\mathrm{OrePoly}}{}\left({18}{}\left({{n}}^{{2}}{+}{13}{}{n}{+}{9}\right){}{n}{,}{18}{}\left({{n}}^{{2}}{+}{13}{}{n}{+}{9}\right){}\left({{n}}^{{2}}{+}{14}{}{n}{+}{3}\right){,}\left({{n}}^{{2}}{+}{13}{}{n}{+}{9}\right){}\left({n}{+}{16}\right){,}{18}{}{{n}}^{{2}}{+}{6}{}{n}{+}{10}\right)$ (6)
 > $r≔\mathrm{Modular}\left[\mathrm{Multiply}\right]\left(Q,\mathrm{Ore2},19,A\right)$
 ${r}{≔}{\mathrm{OrePoly}}{}\left({{n}}^{{2}}{+}{13}{}{n}{+}{16}{,}{{n}}^{{3}}{+}{10}{}{{n}}^{{2}}{+}{5}{}{n}{+}{13}{,}{{n}}^{{3}}{+}{10}{}{{n}}^{{2}}{+}{8}{}{n}{+}{11}{,}{18}{}{\left({n}{+}{16}\right)}^{{2}}\right)$ (7)
 > $\mathrm{Modular}\left[\mathrm{Minus}\right]\left(\mathrm{Modular}\left[\mathrm{Minus}\right]\left(l,r,19\right),R,19\right)$
 ${\mathrm{OrePoly}}{}\left({0}\right)$ (8)
 > $R≔\mathrm{Modular}\left[\mathrm{RightRemainder}\right]\left(\mathrm{Ore1},\mathrm{Ore2},11,A,'Q'\right)$
 ${R}{≔}{\mathrm{OrePoly}}{}\left(\frac{{5}{}{{n}}^{{4}}{+}{{n}}^{{3}}{+}{6}{}{{n}}^{{2}}{+}{8}{}{n}{+}{10}}{{n}{+}{8}}{,}\frac{{5}{}{{n}}^{{5}}{+}{9}{}{{n}}^{{4}}{+}{4}{}{{n}}^{{3}}{+}{3}{}{{n}}^{{2}}{+}{4}{}{n}{+}{7}}{{n}{+}{8}}\right)$ (9)

Check the results.

 > $r≔\mathrm{Modular}\left[\mathrm{Multiply}\right]\left(Q,\mathrm{Ore2},11,A\right)$
 ${r}{≔}{\mathrm{OrePoly}}{}\left(\frac{{6}{}{{n}}^{{4}}{+}{10}{}{{n}}^{{3}}{+}{4}{}{{n}}^{{2}}{+}{6}{}{n}{+}{1}}{{n}{+}{8}}{,}\frac{{6}{}{{n}}^{{5}}{+}{2}{}{{n}}^{{4}}{+}{6}{}{{n}}^{{3}}{+}{5}{}{{n}}^{{2}}{+}{2}}{{n}{+}{8}}{,}{n}{+}{8}{,}{5}{}\left({n}{+}{3}\right){}\left({n}{+}{8}\right)\right)$ (10)
 > $\mathrm{Modular}\left[\mathrm{Minus}\right]\left(\mathrm{Modular}\left[\mathrm{Minus}\right]\left(\mathrm{Ore1},r,11\right),R,11\right)$
 ${\mathrm{OrePoly}}{}\left({0}\right)$ (11)
 > $\mathrm{Modular}\left[\mathrm{RightQuotient}\right]\left(\mathrm{Ore1},\mathrm{Ore2},19,A\right)$
 ${\mathrm{OrePoly}}{}\left(\frac{{18}{}{n}{+}{7}}{{{n}}^{{2}}{+}{13}{}{n}{+}{9}}{,}\frac{{18}}{{n}{+}{16}}\right)$ (12)