Ore_algebra - Maple Help

Online Help

All Products    Maple    MapleSim


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

Parameters

Description

Examples

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`*` that is isomorphic to the opposite algebra Aop 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`*` in A`*` so as to make the operator `*` an anti-isomorphism.  In other words, this operator follows the rule pq`*`=q`*`p`*`.

  

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 x1,`...`,xr,d1,`...`,dr (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,<function>). 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

withOre_algebra&colon;

Differential operators

Askew_algebradiff&equals;Dx&comma;x&colon;

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.

dual_polynomialx&comma;A&comma;Dx&equals;reverse_polynomialx&comma;A&comma;Dx

x&equals;x

(1)

dual_polynomialDx&comma;A&comma;Dx&equals;reverse_polynomialDx&comma;A&comma;Dx

Dx&equals;Dx

(2)

prand_skew_polyx&comma;Dx&comma;A

p:=10Dx4&plus;83x273Dx24x3Dx&plus;97x262x

(3)

dual_polynomialp&comma;A&comma;Dx

109x262x16610Dx4&plus;83x273Dx2&plus;4x3&plus;332xDx

(4)

reverse_polynomialp&comma;A&comma;Dx

10Dx473Dx2166&plus;83Dx2&plus;109x24x3Dx&plus;332Dx62x

(5)

Shift operators

Askew_algebrashift&equals;Sn&comma;n&colon;

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.

dual_polynomialn&comma;A&comma;Sn&equals;reverse_polynomialn&comma;A&comma;Sn

n&equals;n

(6)

dual_polynomialSn&comma;A&comma;Sn&equals;reverse_polynomialSn&comma;A&comma;Sn

Sn&equals;Sn

(7)

prand_skew_polyn&comma;Sn&comma;A

p:=74nSn4&plus;6n2&plus;75nSn392n3Sn2&plus;23n450n

(8)

dual_polynomialp&comma;A&comma;Sn

23n450n&plus;74n296Sn4&plus;6n2&plus;39n171Sn3&plus;92n3&plus;552n21104n&plus;736Sn2

(9)

reverse_polynomialp&comma;A&comma;Sn

296Sn4171Sn3&plus;736Sn2&plus;6Sn3&plus;552Sn2n2&plus;23n492n3Sn2&plus;74Sn4&plus;39Sn31104Sn250n

(10)

Eulerian operators

Askew_algebraeuler&equals;Tx&comma;x&colon;

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.

dual_polynomialx&comma;A&comma;Tx&equals;reverse_polynomialx&comma;A&comma;Tx

x&equals;x

(11)

dual_polynomialTx&comma;A&comma;Tx&equals;reverse_polynomialTx&comma;A&comma;Tx

Tx&equals;Tx

(12)

prand_skew_polyx&comma;Tx&comma;A

p:=29x261x&plus;10Tx28x3Tx&plus;95x523

(13)

dual_polynomialp&comma;A&comma;Tx

95x5&plus;24x3116x261x23&plus;29x261x&plus;10Tx2&plus;8x3&plus;116x2&plus;122xTx

(14)

reverse_polynomialp&comma;A&comma;Tx

95x5&plus;8Tx&plus;24x3&plus;29Tx2&plus;116Tx116x2&plus;61Tx2&plus;122Tx61x&plus;10Tx223

(15)

`q`-Shift operators

Askew_algebraqshift&equals;Sn&comma;qn&colon;

Only dual polynomials are available.

dual_polynomialqn&comma;A&comma;Sn

qn

(16)

reverse_polynomialqn&comma;A&comma;Sn

Error, (in `index/Ore_algebra/should_not_be_used`) reverse not available for q-calculus algebras

dual_polynomialSn&comma;A&comma;Sn

Sn

(17)

reverse_polynomialSn&comma;A&comma;Sn

Error, (in `index/Ore_algebra/should_not_be_used`) reverse not available for q-calculus algebras

prand_skew_polyqn&comma;Sn&comma;A

p:=Sn5&plus;77Sn4&plus;qn95qn51Sn3&plus;qn231qn10Sn

(18)

dual_polynomialp&comma;A&comma;Sn

Sn5&plus;77Sn4&plus;qn51q3&plus;95qnSn3q6&plus;qn231qn10qSnq3

(19)

Computation of left gcds and left lcms

The function Ore_algebra[skew_gcdex] inputs two polynomials p and q and computes a list g&comma;a&comma;b&comma;u&comma;v such that pu&plus;qv&equals;0 and ap&plus;bq&equals;g.  The polynomial g is a right gcd of p and q.  Applying the dualization operator `*` yields a list g`*`&comma;a`*`&comma;b`*`&comma;u`*`&comma;v`*` such that p`*`u`*`&plus;q`*`v`*`&equals;0 and p`*`a`*`&plus;q`*`b`*`&equals;g`*`, where g`*` is a left gcd of p`*` and q`*`.  The following method to compute left gcds is based on this idea.

Adiff_algebraDx&comma;x&colon;

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

prand_skew_polyx&comma;Dx&comma;degree&equals;2&comma;A

p:=27Dx2&plus;30x28Dx&plus;16x2&plus;55x&plus;1

(20)

qrand_skew_polyx&comma;Dx&comma;degree&equals;2&comma;A

q:=47Dx2&plus;87x96Dx&plus;72x259x15

(21)

rrand_skew_polyx&comma;Dx&comma;degree&equals;2&comma;A

r:=48Dx2&plus;88x&plus;92Dx91x2&plus;43x90

(22)

Pskew_productr&comma;p&comma;A

P:=1296Dx4&plus;936x1140Dx3&plus;951x2&plus;1423x3074Dx2&plus;4138x3&plus;470x24644x&plus;92Dx1456x44317x31982x26803x&plus;3434

(23)

Qskew_productr&comma;q&comma;A

Q:=2256Dx4&plus;40x&plus;8932Dx3&plus;77x2&plus;5297x3990Dx2&plus;1581x3&plus;16811x26574x&plus;4920Dx6552x4&plus;8465x320324x2&plus;23105x10990

(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.

dPdual_polynomialP&comma;A&comma;fully

dP:=1456x44317x3&plus;10432x27743x&plus;6176&plus;1296Dx4&plus;936x1140Dx3&plus;951x2&plus;1423x5882Dx2&plus;4138x3&plus;470x2840x2754Dx

(25)

dQdual_polynomialQ&comma;A&comma;fully

dQ:=6552x4&plus;8465x325067x210517x45702256Dx4&plus;40x&plus;8932Dx3&plus;77x2&plus;5297x4110Dx2&plus;1581x3&plus;16811x26266x5674Dx

(26)

dAdual_algebraA&comma;fully&colon;

dGCDskew_gcdexdP&comma;dQ&comma;Dx&comma;dA

dGCD:=8873046528Dx2x416267251968Dxx516821817376x6&plus;24619089552Dx2x3&plus;62141670024Dxx4&plus;54622461457x5&plus;32688986544Dx2x2&plus;12743220356Dxx3&plus;39548558994x4&plus;92684791104Dx2x&plus;107268226148Dxx2&plus;147456828087x335565352704Dx2242848996240Dxx149094065426x2&plus;68166926016Dx&plus;35722494760x1481889696&comma;142752162074251x8632772Dx&plus;2115893x218025252x&comma;2097234x23015708x&plus;70718081191591x4959252Dx&comma;184855136Dx2x4&plus;342178656Dxx5283182336x6&plus;512897699Dx2x3571829931Dxx4&plus;1017767816x5&plus;681020553Dx2x23047653889Dxx3&plus;800590201x4&plus;1930933148Dx2x3426608115Dxx2&plus;2633091576x3740944848Dx21210456350Dxx9729185864x2&plus;3444352412Dx&plus;3624982240x5687084608&comma;106193376Dx2x4&plus;117992640Dxx5&plus;62929408x6&plus;294643359Dx2x3437507974Dxx4&plus;41716368x5&plus;391224573Dx2x2553911398Dxx3710110491x4&plus;1109259468Dx2x&plus;57133929Dxx22374836150x3425649168Dx2&plus;2405735818Dxx3008916049x2&plus;667845516Dx&plus;3496133096x&plus;973816096

(27)

The dual of a dual polynomial is the polynomial.

dual_polynomialdGCD1&comma;dA&comma;fully

16821817376x6&plus;54622461457x541787700846x4&plus;396023508183x3217340962694x2&plus;397973484368x178952912848&plus;8873046528x4&plus;24619089552x3&plus;32688986544x2&plus;92684791104x35565352704Dx2&plus;16267251968x5&plus;62141670024x458241151868x3&plus;254982763460x2112093050064x&plus;253536508224Dx

(28)

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

lgcdskew_product&comma;1lcoeff&comma;Dx&comma;A

lgcd:=9148x24348x&plus;158&plus;Dx2&plus;116x2312Dx

(29)

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

A&lsqb;normalizer&rsqb;rlcoeffr&comma;Dx

9148x24348x&plus;158&plus;Dx2&plus;116x2312Dx

(30)

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

skew_gcdexP&comma;Q&comma;Dx&comma;A&comma;left_monic1

9148x24348x&plus;158&plus;Dx2&plus;116x2312Dx

(31)

See Also

Ore_algebra

Ore_algebra/skew_algebra

Ore_algebra/skew_gcdex

 


Download Help Document

Was this information helpful?



Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam