Ore_algebra - Maple Programming Help

Home : Support : Online Help : Mathematics : Algebra : Skew Polynomials : Ore Algebra : Ore_algebra/dual_algebra

Ore_algebra

 dual_algebra
 return the dual algebra of an Ore algebra, that is, its opposite ring
 dual_polynomial
 map a skew polynomial of an Ore algebra to the dual algebra
 reverse_algebra
 return an Ore algebra with opposite normal forms
 reverse_polynomial
 change normal form of a skew polynomial in an Ore algebra

 Calling Sequence dual_algebra(A, x_set) dual_polynomial(p, A, x_set) reverse_algebra(A, x_set) reverse_polynomial(p, A, x_set)

Parameters

 A - Ore algebra x_set - subset of the (polynomial) indeterminates of the algebra, or the string $"fully"$ to denote all indeterminates p - skew polynomial

Description

 • The dual_algebra(A, x_set)  function returns an Ore algebra ${A}^{\mathrm{*}}$ that is isomorphic to the opposite algebra ${A}^{\mathrm{op}}$ of A, that is, where the product $pq$ is defined as the value of the product $pq$ in A.
 • The dual_polynomial(p, A, x_set) function maps the polynomial p from A to a polynomial ${p}^{\mathrm{*}}$ in ${A}^{\mathrm{*}}$ so as to make the operator $\mathrm{*}$ an anti-isomorphism.  In other words, this operator follows the rule ${\left(pq\right)}^{\mathrm{*}}={q}^{\mathrm{*}}{p}^{\mathrm{*}}$.
 Both commands are useful to compute left gcds and to perform other calculations based on left skew Euclidean division (see examples below and skew_gcdex).
 • Skew polynomials of an Ore algebra A in the indeterminates ${x}_{1},...,{x}_{r},{d}_{1},...,{d}_{r}$ (see skew_algebra) are represented under the normal form where all the x[i]s stand on the left of the monomials and all the d[i]s on the right.
 • The reverse_polynomial(p, A, x_set) function changes the representation of a skew polynomial p in A by moving all the d[i]s in x_set to the left of monomials, and the corresponding x[i]s to the right.
 • Correspondingly, the reverse_algebra(A, x_set) function returns an Ore algebra in which calculations with the new normal forms (returned by reverse_polynomial take place.
 • These functions are part of the Ore_algebra package, and so can be used in the form dual_algebra(..), dual_polynomial(..), reverse_algebra(..) or reverse_polynomial(..) only after performing the command with(Ore_algebra) or with(Ore_algebra,). The functions can always be accessed in the long form Ore_algebra[dual_algebra](..), Ore_algebra[dual_polynomial](..), Ore_algebra[reverse_algebra](..) and Ore_algebra[reverse_polynomial](..).

Examples

 > $\mathrm{with}\left(\mathrm{Ore_algebra}\right):$

Differential operators

 > $A≔\mathrm{skew_algebra}\left(\mathrm{diff}=\left[\mathrm{Dx},x\right]\right):$

Dual and reverse polynomials look similar, but the dual polynomial is a polynomial in Dx with coefficients in x while the reverse polynomial is a polynomial in x with coefficients in Dx.

 > $\mathrm{dual_polynomial}\left(x,A,\left\{\mathrm{Dx}\right\}\right)=\mathrm{reverse_polynomial}\left(x,A,\left\{\mathrm{Dx}\right\}\right)$
 ${x}{=}{x}$ (1)
 > $\mathrm{dual_polynomial}\left(\mathrm{Dx},A,\left\{\mathrm{Dx}\right\}\right)=\mathrm{reverse_polynomial}\left(\mathrm{Dx},A,\left\{\mathrm{Dx}\right\}\right)$
 ${\mathrm{Dx}}{=}{\mathrm{Dx}}$ (2)
 > $p≔\mathrm{rand_skew_poly}\left(\left[x,\mathrm{Dx}\right],A\right)$
 ${p}{≔}{-}{10}{}{{\mathrm{Dx}}}^{{4}}{+}\left({-}{83}{}{{x}}^{{2}}{-}{73}\right){}{{\mathrm{Dx}}}^{{2}}{-}{4}{}{{x}}^{{3}}{}{\mathrm{Dx}}{+}{97}{}{{x}}^{{2}}{-}{62}{}{x}$ (3)
 > $\mathrm{dual_polynomial}\left(p,A,\left\{\mathrm{Dx}\right\}\right)$
 ${109}{}{{x}}^{{2}}{-}{62}{}{x}{-}{166}{-}{10}{}{{\mathrm{Dx}}}^{{4}}{+}\left({-}{83}{}{{x}}^{{2}}{-}{73}\right){}{{\mathrm{Dx}}}^{{2}}{+}\left({-}{4}{}{{x}}^{{3}}{+}{332}{}{x}\right){}{\mathrm{Dx}}$ (4)
 > $\mathrm{reverse_polynomial}\left(p,A,\left\{\mathrm{Dx}\right\}\right)$
 ${-}{10}{}{{\mathrm{Dx}}}^{{4}}{-}{73}{}{{\mathrm{Dx}}}^{{2}}{-}{166}{-}{4}{}{{x}}^{{3}}{}{\mathrm{Dx}}{+}\left({-}{83}{}{{\mathrm{Dx}}}^{{2}}{+}{109}\right){}{{x}}^{{2}}{+}\left({332}{}{\mathrm{Dx}}{-}{62}\right){}{x}$ (5)

Shift operators

 > $A≔\mathrm{skew_algebra}\left(\mathrm{shift}=\left[\mathrm{Sn},n\right]\right):$

Dual and reverse polynomials look similar, but the dual polynomial is a polynomial in Sn with coefficients in n while the reverse polynomial is a polynomial in n with coefficients in Sn.

 > $\mathrm{dual_polynomial}\left(n,A,\left\{\mathrm{Sn}\right\}\right)=\mathrm{reverse_polynomial}\left(n,A,\left\{\mathrm{Sn}\right\}\right)$
 ${n}{=}{n}$ (6)
 > $\mathrm{dual_polynomial}\left(\mathrm{Sn},A,\left\{\mathrm{Sn}\right\}\right)=\mathrm{reverse_polynomial}\left(\mathrm{Sn},A,\left\{\mathrm{Sn}\right\}\right)$
 ${\mathrm{Sn}}{=}{\mathrm{Sn}}$ (7)
 > $p≔\mathrm{rand_skew_poly}\left(\left[n,\mathrm{Sn}\right],A\right)$
 ${p}{≔}{74}{}{n}{}{{\mathrm{Sn}}}^{{4}}{+}\left({6}{}{{n}}^{{2}}{+}{75}{}{n}\right){}{{\mathrm{Sn}}}^{{3}}{-}{92}{}{{n}}^{{3}}{}{{\mathrm{Sn}}}^{{2}}{+}{23}{}{{n}}^{{4}}{-}{50}{}{n}$ (8)
 > $\mathrm{dual_polynomial}\left(p,A,\left\{\mathrm{Sn}\right\}\right)$
 ${23}{}{{n}}^{{4}}{-}{50}{}{n}{+}\left({6}{}{{n}}^{{2}}{+}{39}{}{n}{-}{171}\right){}{{\mathrm{Sn}}}^{{3}}{+}\left({-}{92}{}{{n}}^{{3}}{+}{552}{}{{n}}^{{2}}{-}{1104}{}{n}{+}{736}\right){}{{\mathrm{Sn}}}^{{2}}{+}\left({74}{}{n}{-}{296}\right){}{{\mathrm{Sn}}}^{{4}}$ (9)
 > $\mathrm{reverse_polynomial}\left(p,A,\left\{\mathrm{Sn}\right\}\right)$
 ${-}{296}{}{{\mathrm{Sn}}}^{{4}}{-}{171}{}{{\mathrm{Sn}}}^{{3}}{+}{736}{}{{\mathrm{Sn}}}^{{2}}{+}{23}{}{{n}}^{{4}}{-}{92}{}{{n}}^{{3}}{}{{\mathrm{Sn}}}^{{2}}{+}\left({6}{}{{\mathrm{Sn}}}^{{3}}{+}{552}{}{{\mathrm{Sn}}}^{{2}}\right){}{{n}}^{{2}}{+}\left({74}{}{{\mathrm{Sn}}}^{{4}}{+}{39}{}{{\mathrm{Sn}}}^{{3}}{-}{1104}{}{{\mathrm{Sn}}}^{{2}}{-}{50}\right){}{n}$ (10)

Eulerian operators

 > $A≔\mathrm{skew_algebra}\left(\mathrm{euler}=\left[\mathrm{Tx},x\right]\right):$

Dual and reverse polynomials look similar, but the dual polynomial is a polynomial in Tx with coefficients in x while the reverse polynomial is a polynomial in x with coefficients in Tx.

 > $\mathrm{dual_polynomial}\left(x,A,\left\{\mathrm{Tx}\right\}\right)=\mathrm{reverse_polynomial}\left(x,A,\left\{\mathrm{Tx}\right\}\right)$
 ${x}{=}{x}$ (11)
 > $\mathrm{dual_polynomial}\left(\mathrm{Tx},A,\left\{\mathrm{Tx}\right\}\right)=\mathrm{reverse_polynomial}\left(\mathrm{Tx},A,\left\{\mathrm{Tx}\right\}\right)$
 ${\mathrm{Tx}}{=}{\mathrm{Tx}}$ (12)
 > $p≔\mathrm{rand_skew_poly}\left(\left[x,\mathrm{Tx}\right],A\right)$
 ${p}{≔}\left({-}{29}{}{{x}}^{{2}}{-}{61}{}{x}{+}{10}\right){}{{\mathrm{Tx}}}^{{2}}{-}{8}{}{{x}}^{{3}}{}{\mathrm{Tx}}{+}{95}{}{{x}}^{{5}}{-}{23}$ (13)
 > $\mathrm{dual_polynomial}\left(p,A,\left\{\mathrm{Tx}\right\}\right)$
 ${95}{}{{x}}^{{5}}{+}{24}{}{{x}}^{{3}}{-}{116}{}{{x}}^{{2}}{-}{61}{}{x}{-}{23}{+}\left({-}{29}{}{{x}}^{{2}}{-}{61}{}{x}{+}{10}\right){}{{\mathrm{Tx}}}^{{2}}{+}\left({-}{8}{}{{x}}^{{3}}{+}{116}{}{{x}}^{{2}}{+}{122}{}{x}\right){}{\mathrm{Tx}}$ (14)
 > $\mathrm{reverse_polynomial}\left(p,A,\left\{\mathrm{Tx}\right\}\right)$
 ${95}{}{{x}}^{{5}}{+}\left({-}{8}{}{\mathrm{Tx}}{+}{24}\right){}{{x}}^{{3}}{+}\left({-}{29}{}{{\mathrm{Tx}}}^{{2}}{+}{116}{}{\mathrm{Tx}}{-}{116}\right){}{{x}}^{{2}}{+}\left({-}{61}{}{{\mathrm{Tx}}}^{{2}}{+}{122}{}{\mathrm{Tx}}{-}{61}\right){}{x}{+}{10}{}{{\mathrm{Tx}}}^{{2}}{-}{23}$ (15)

q-Shift operators

 > $A≔\mathrm{skew_algebra}\left(\mathrm{qshift}=\left[\mathrm{Sn},{q}^{n}\right]\right):$

Only dual polynomials are available.

 > $\mathrm{dual_polynomial}\left({q}^{n},A,\left\{\mathrm{Sn}\right\}\right)$
 ${{q}}^{{n}}$ (16)
 > $\mathrm{reverse_polynomial}\left({q}^{n},A,\left\{\mathrm{Sn}\right\}\right)$
 > $\mathrm{dual_polynomial}\left(\mathrm{Sn},A,\left\{\mathrm{Sn}\right\}\right)$
 ${\mathrm{Sn}}$ (17)
 > $\mathrm{reverse_polynomial}\left(\mathrm{Sn},A,\left\{\mathrm{Sn}\right\}\right)$
 > $p≔\mathrm{rand_skew_poly}\left(\left[{q}^{n},\mathrm{Sn}\right],A\right)$
 ${p}{≔}{{\mathrm{Sn}}}^{{5}}{+}{77}{}{{\mathrm{Sn}}}^{{4}}{+}{{q}}^{{n}}{}\left({95}{}{{q}}^{{n}}{-}{51}\right){}{{\mathrm{Sn}}}^{{3}}{+}{\left({{q}}^{{n}}\right)}^{{2}}{}\left({31}{}{{q}}^{{n}}{-}{10}\right){}{\mathrm{Sn}}$ (18)
 > $\mathrm{dual_polynomial}\left(p,A,\left\{\mathrm{Sn}\right\}\right)$
 ${{\mathrm{Sn}}}^{{5}}{+}\frac{{{q}}^{{n}}{}\left({-}{51}{}{{q}}^{{3}}{+}{95}{}{{q}}^{{n}}\right){}{{\mathrm{Sn}}}^{{3}}}{{{q}}^{{6}}}{+}{77}{}{{\mathrm{Sn}}}^{{4}}{+}\frac{{\left({{q}}^{{n}}\right)}^{{2}}{}\left({31}{}{{q}}^{{n}}{-}{10}{}{q}\right){}{\mathrm{Sn}}}{{{q}}^{{3}}}$ (19)

Computation of left gcds and left lcms

The function Ore_algebra[skew_gcdex] inputs two polynomials p and q and computes a list $\left[g,a,b,u,v\right]$ such that $up+vq=0$ and $ap+bq=g$.  The polynomial g is a right gcd of p and q.  Applying the dualization operator $\mathrm{*}$ yields a list $\left[{g}^{\mathrm{*}},{a}^{\mathrm{*}},{b}^{\mathrm{*}},{u}^{\mathrm{*}},{v}^{\mathrm{*}}\right]$ such that ${p}^{\mathrm{*}}{u}^{\mathrm{*}}+{q}^{\mathrm{*}}{v}^{\mathrm{*}}=0$ and ${p}^{\mathrm{*}}{a}^{\mathrm{*}}+{q}^{\mathrm{*}}{b}^{\mathrm{*}}={g}^{\mathrm{*}}$, where ${g}^{\mathrm{*}}$ is a left gcd of ${p}^{\mathrm{*}}$ and ${q}^{\mathrm{*}}$.  The following method to compute left gcds is based on this idea.

 > $A≔\mathrm{diff_algebra}\left(\left[\mathrm{Dx},x\right]\right):$

Define two polynomials P and Q that share a left common divisor.

 > $p≔\mathrm{rand_skew_poly}\left(\left[x,\mathrm{Dx}\right],\mathrm{degree}=2,A\right)$
 ${p}{≔}{-}{27}{}{{\mathrm{Dx}}}^{{2}}{+}\left({30}{}{x}{-}{28}\right){}{\mathrm{Dx}}{+}{16}{}{{x}}^{{2}}{+}{55}{}{x}{+}{1}$ (20)
 > $q≔\mathrm{rand_skew_poly}\left(\left[x,\mathrm{Dx}\right],\mathrm{degree}=2,A\right)$
 ${q}{≔}{47}{}{{\mathrm{Dx}}}^{{2}}{+}\left({-}{87}{}{x}{-}{96}\right){}{\mathrm{Dx}}{+}{72}{}{{x}}^{{2}}{-}{59}{}{x}{-}{15}$ (21)
 > $r≔\mathrm{rand_skew_poly}\left(\left[x,\mathrm{Dx}\right],\mathrm{degree}=2,A\right)$
 ${r}{≔}{-}{48}{}{{\mathrm{Dx}}}^{{2}}{+}\left({-}{88}{}{x}{+}{92}\right){}{\mathrm{Dx}}{-}{91}{}{{x}}^{{2}}{+}{43}{}{x}{-}{90}$ (22)
 > $P≔\mathrm{skew_product}\left(r,p,A\right)$
 ${P}{≔}{1296}{}{{\mathrm{Dx}}}^{{4}}{+}\left({936}{}{x}{-}{1140}\right){}{{\mathrm{Dx}}}^{{3}}{+}\left({-}{951}{}{{x}}^{{2}}{+}{1423}{}{x}{-}{3074}\right){}{{\mathrm{Dx}}}^{{2}}{+}\left({-}{4138}{}{{x}}^{{3}}{+}{470}{}{{x}}^{{2}}{-}{4644}{}{x}{+}{92}\right){}{\mathrm{Dx}}{-}{1456}{}{{x}}^{{4}}{-}{4317}{}{{x}}^{{3}}{-}{1982}{}{{x}}^{{2}}{-}{6803}{}{x}{+}{3434}$ (23)
 > $Q≔\mathrm{skew_product}\left(r,q,A\right)$
 ${Q}{≔}{-}{2256}{}{{\mathrm{Dx}}}^{{4}}{+}\left({40}{}{x}{+}{8932}\right){}{{\mathrm{Dx}}}^{{3}}{+}\left({-}{77}{}{{x}}^{{2}}{+}{5297}{}{x}{-}{3990}\right){}{{\mathrm{Dx}}}^{{2}}{+}\left({1581}{}{{x}}^{{3}}{+}{16811}{}{{x}}^{{2}}{-}{6574}{}{x}{+}{4920}\right){}{\mathrm{Dx}}{-}{6552}{}{{x}}^{{4}}{+}{8465}{}{{x}}^{{3}}{-}{20324}{}{{x}}^{{2}}{+}{23105}{}{x}{-}{10990}$ (24)

Introduce their dual polynomials and compute their right gcd in the dual algebra, corresponding the to left gcd of the original polynomials in the original algebra.

 > $\mathrm{dP}≔\mathrm{dual_polynomial}\left(P,A,"fully"\right)$
 ${\mathrm{dP}}{≔}{-}{1456}{}{{x}}^{{4}}{-}{4317}{}{{x}}^{{3}}{+}{10432}{}{{x}}^{{2}}{-}{7743}{}{x}{+}{6176}{+}{1296}{}{{\mathrm{Dx}}}^{{4}}{+}\left({-}{951}{}{{x}}^{{2}}{+}{1423}{}{x}{-}{5882}\right){}{{\mathrm{Dx}}}^{{2}}{+}\left({-}{4138}{}{{x}}^{{3}}{+}{470}{}{{x}}^{{2}}{-}{840}{}{x}{-}{2754}\right){}{\mathrm{Dx}}{+}\left({936}{}{x}{-}{1140}\right){}{{\mathrm{Dx}}}^{{3}}$ (25)
 > $\mathrm{dQ}≔\mathrm{dual_polynomial}\left(Q,A,"fully"\right)$
 ${\mathrm{dQ}}{≔}{-}{6552}{}{{x}}^{{4}}{+}{8465}{}{{x}}^{{3}}{-}{25067}{}{{x}}^{{2}}{-}{10517}{}{x}{-}{4570}{-}{2256}{}{{\mathrm{Dx}}}^{{4}}{+}\left({-}{77}{}{{x}}^{{2}}{+}{5297}{}{x}{-}{4110}\right){}{{\mathrm{Dx}}}^{{2}}{+}\left({1581}{}{{x}}^{{3}}{+}{16811}{}{{x}}^{{2}}{-}{6266}{}{x}{-}{5674}\right){}{\mathrm{Dx}}{+}\left({40}{}{x}{+}{8932}\right){}{{\mathrm{Dx}}}^{{3}}$ (26)
 > $\mathrm{dA}≔\mathrm{dual_algebra}\left(A,"fully"\right):$
 > $\mathrm{dGCD}≔\mathrm{skew_gcdex}\left(\mathrm{dP},\mathrm{dQ},\mathrm{Dx},\mathrm{dA}\right)$
 ${\mathrm{dGCD}}{≔}\left[{-}{8873046528}{}{{\mathrm{Dx}}}^{{2}}{}{{x}}^{{4}}{-}{16267251968}{}{\mathrm{Dx}}{}{{x}}^{{5}}{-}{16821817376}{}{{x}}^{{6}}{+}{24619089552}{}{{\mathrm{Dx}}}^{{2}}{}{{x}}^{{3}}{+}{62141670024}{}{\mathrm{Dx}}{}{{x}}^{{4}}{+}{54622461457}{}{{x}}^{{5}}{+}{32688986544}{}{{\mathrm{Dx}}}^{{2}}{}{{x}}^{{2}}{+}{12743220356}{}{{x}}^{{3}}{}{\mathrm{Dx}}{+}{39548558994}{}{{x}}^{{4}}{+}{92684791104}{}{{\mathrm{Dx}}}^{{2}}{}{x}{+}{107268226148}{}{\mathrm{Dx}}{}{{x}}^{{2}}{+}{147456828087}{}{{x}}^{{3}}{-}{35565352704}{}{{\mathrm{Dx}}}^{{2}}{-}{242848996240}{}{x}{}{\mathrm{Dx}}{-}{149094065426}{}{{x}}^{{2}}{+}{68166926016}{}{\mathrm{Dx}}{+}{35722494760}{}{x}{-}{1481889696}{,}{-}{14275216}{-}\left({-}{2074251}{}{x}{-}{8632772}\right){}{\mathrm{Dx}}{+}{2115893}{}{{x}}^{{2}}{-}{18025252}{}{x}{,}{2097234}{}{{x}}^{{2}}{-}{3015708}{}{x}{+}{7071808}{-}\left({-}{1191591}{}{x}{-}{4959252}\right){}{\mathrm{Dx}}{,}{-}{184855136}{}{{\mathrm{Dx}}}^{{2}}{}{{x}}^{{4}}{+}{342178656}{}{\mathrm{Dx}}{}{{x}}^{{5}}{-}{283182336}{}{{x}}^{{6}}{+}{512897699}{}{{\mathrm{Dx}}}^{{2}}{}{{x}}^{{3}}{-}{571829931}{}{\mathrm{Dx}}{}{{x}}^{{4}}{+}{1017767816}{}{{x}}^{{5}}{+}{681020553}{}{{\mathrm{Dx}}}^{{2}}{}{{x}}^{{2}}{-}{3047653889}{}{{x}}^{{3}}{}{\mathrm{Dx}}{+}{800590201}{}{{x}}^{{4}}{+}{1930933148}{}{{\mathrm{Dx}}}^{{2}}{}{x}{-}{3426608115}{}{\mathrm{Dx}}{}{{x}}^{{2}}{+}{2633091576}{}{{x}}^{{3}}{-}{740944848}{}{{\mathrm{Dx}}}^{{2}}{-}{1210456350}{}{x}{}{\mathrm{Dx}}{-}{9729185864}{}{{x}}^{{2}}{+}{3444352412}{}{\mathrm{Dx}}{+}{3624982240}{}{x}{-}{5687084608}{,}{-}{106193376}{}{{\mathrm{Dx}}}^{{2}}{}{{x}}^{{4}}{+}{117992640}{}{\mathrm{Dx}}{}{{x}}^{{5}}{+}{62929408}{}{{x}}^{{6}}{+}{294643359}{}{{\mathrm{Dx}}}^{{2}}{}{{x}}^{{3}}{-}{437507974}{}{\mathrm{Dx}}{}{{x}}^{{4}}{+}{41716368}{}{{x}}^{{5}}{+}{391224573}{}{{\mathrm{Dx}}}^{{2}}{}{{x}}^{{2}}{-}{553911398}{}{{x}}^{{3}}{}{\mathrm{Dx}}{-}{710110491}{}{{x}}^{{4}}{+}{1109259468}{}{{\mathrm{Dx}}}^{{2}}{}{x}{+}{57133929}{}{\mathrm{Dx}}{}{{x}}^{{2}}{-}{2374836150}{}{{x}}^{{3}}{-}{425649168}{}{{\mathrm{Dx}}}^{{2}}{+}{2405735818}{}{x}{}{\mathrm{Dx}}{-}{3008916049}{}{{x}}^{{2}}{+}{667845516}{}{\mathrm{Dx}}{+}{3496133096}{}{x}{+}{973816096}\right]$ (27)

The dual of a dual polynomial is the polynomial.

 > $\mathrm{dual_polynomial}\left(\mathrm{dGCD}\left[1\right],\mathrm{dA},"fully"\right)$
 ${-}{16821817376}{}{{x}}^{{6}}{+}{54622461457}{}{{x}}^{{5}}{-}{41787700846}{}{{x}}^{{4}}{+}{396023508183}{}{{x}}^{{3}}{-}{217340962694}{}{{x}}^{{2}}{+}{397973484368}{}{x}{-}{178952912848}{+}\left({-}{8873046528}{}{{x}}^{{4}}{+}{24619089552}{}{{x}}^{{3}}{+}{32688986544}{}{{x}}^{{2}}{+}{92684791104}{}{x}{-}{35565352704}\right){}{{\mathrm{Dx}}}^{{2}}{+}\left({-}{16267251968}{}{{x}}^{{5}}{+}{62141670024}{}{{x}}^{{4}}{-}{58241151868}{}{{x}}^{{3}}{+}{254982763460}{}{{x}}^{{2}}{-}{112093050064}{}{x}{+}{253536508224}\right){}{\mathrm{Dx}}$ (28)

This is the left gcd, up to renormalization (by multiplication by a rational function on the right).

 > $\mathrm{lgcd}≔\mathrm{skew_product}\left(,\frac{1}{\mathrm{lcoeff}\left(,\mathrm{Dx}\right)},A\right)$
 ${\mathrm{lgcd}}{≔}\frac{{91}{}{{x}}^{{2}}}{{48}}{-}\frac{{43}{}{x}}{{48}}{+}\frac{{15}}{{8}}{+}{{\mathrm{Dx}}}^{{2}}{+}\left(\frac{{11}{}{x}}{{6}}{-}\frac{{23}}{{12}}\right){}{\mathrm{Dx}}$ (29)

This is also the built-in left factor r, up to renormalization (by multiplication by a rational function on the right).

 > $A\left["normalizer"\right]\left(\frac{r}{\mathrm{lcoeff}\left(r,\mathrm{Dx}\right)}\right)$
 $\frac{{91}{}{{x}}^{{2}}}{{48}}{-}\frac{{43}{}{x}}{{48}}{+}\frac{{15}}{{8}}{+}{{\mathrm{Dx}}}^{{2}}{+}\left(\frac{{11}{}{x}}{{6}}{-}\frac{{23}}{{12}}\right){}{\mathrm{Dx}}$ (30)

This calculation is that performed by Ore_algebra[skew_gcdex] with the options $"left"$ and $"left_monic"$.

 > $\mathrm{skew_gcdex}\left(P,Q,\mathrm{Dx},A,"left_monic"\right)\left[1\right]$
 $\frac{{91}{}{{x}}^{{2}}}{{48}}{-}\frac{{43}{}{x}}{{48}}{+}\frac{{15}}{{8}}{+}{{\mathrm{Dx}}}^{{2}}{+}\left(\frac{{11}{}{x}}{{6}}{-}\frac{{23}}{{12}}\right){}{\mathrm{Dx}}$ (31)