annihilators - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.
Our website is currently undergoing maintenance, which may result in occasional errors while browsing. We apologize for any inconvenience this may cause and are working swiftly to restore full functionality. Thank you for your patience.

Online Help

Ore_algebra

  

annihilators

  

skew lcm of a pair of operators

  

skew_gcdex

  

extended skew gcd computation

  

skew_pdiv

  

skew pseudo-division

  

skew_prem

  

skew pseudo-remainder

  

skew_elim

  

skew elimination of an indeterminate

 

Calling Sequence

Parameters

Description

Examples

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 monic, left, and left_monic

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 u,v,r such that upvq=r 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 monic, it returns a list g,a,b,u,v such that up+vq=0 and ap+bq=g.  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 monic 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 g,a,b,u,v such that pu+qv=0 and pa+qb=g.  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 u,v of skew polynomials of the algebra A such that up+vq=0.

• 

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 ap+bq free from x, is such a polynomial exists.  Otherwise, a nonzero polynomial ap+bq 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

withOre_algebra&colon;

Differential case.

Adiff_algebraDx&comma;x&colon;

Pskew_productxDx2+Dx1&comma;xx1DxDx+1&comma;A&colon;

Qskew_productx1Dx2Dx+1&comma;xx1DxDx+1&comma;A&colon;

The skew polynomials can be viewed as polynomials in Dx

skew_pdivP&comma;Q&comma;Dx&comma;A

x1&comma;x&comma;2Dx3x42Dx3x32Dx2x42Dx3x2+6Dx2x3+2Dxx4+2Dx3x2Dx2x22Dxx32x42Dx2x2Dxx2+6x3+2Dxx2x22x

(1)

Gskew_gcdexP&comma;Q&comma;Dx&comma;A

G2Dx2x64Dx2x5+2x6+4Dx2x34x52Dx2x2+4x32x2&comma;1x32x2+xDx+x22x&comma;2x33x2x3+x2Dx&comma;Dx2x53Dx2x4Dxx5+3Dx2x3+Dxx4+x5Dx2x2+3Dxx32x45Dxx2+2x3+2Dxx4x2+5x2&comma;Dx2x5+2Dx2x4Dxx5Dx2x3+4Dxx4+x53Dxx3x42x3

(2)

skew_productG2&comma;P&comma;A+skew_productG3&comma;Q&comma;AG1

2Dx2x64Dx2x3+4Dx2x5+2Dx2x2+x64x5+12x48x3+x2Dx4+x66x5+2x4+10x37x2Dx+x6+6x52x410x3+7x2Dx+x6+4x512x4+8x3x2Dx4+4x52x48x3+6x2Dx3+3x62x56x4+6x3x2Dx2+x6+2x52x3+x2Dx5+x62x5+2x3x2Dx5+4x5+2x4+8x36x2Dx3+x62x5+6x42x3x2Dx2

(3)

skew_productG4&comma;P&comma;A+skew_productG5&comma;Q&comma;A

x83x7+2x6+2x53x4+x3Dx6+8x724x6+24x58x4Dx5+12x636x5+36x412x3Dx4+2x82x78x6+16x510x4+2x3Dx3+2x8+10x76x622x5+32x412x3Dx2+2x810x7+16x68x52x4+2x3Dx+x8+3x72x62x5+3x4x3Dx6+8x7+24x624x5+8x4Dx5+12x6+36x536x4+12x3Dx4+2x8+2x7+8x616x5+10x42x3Dx3+2x810x7+6x6+22x532x4+12x3Dx2+2x8+10x716x6+8x5+2x42x3Dx

(4)

annihilatorsP&comma;Q&comma;A

Dx2x53Dx2x4Dxx5+3Dx2x3+Dxx4+x5Dx2x2+3Dxx32x45Dxx2+2x3+2Dxx4x2+5x2&comma;Dx2x5+2Dx2x4Dxx5Dx2x3+4Dxx4+x53Dxx3x42x3

(5)

or in x.  In this case, the algebra must be redefined accordingly.

Adiff_algebraDx&comma;x&comma;polynom=x&colon;

Gskew_gcdexP&comma;Q&comma;x&comma;A

GDx6x2Dx6+8Dx5x+2Dx4x22Dx3x2+10Dx4+12Dx3x+2Dx34Dx2x2Dxx2+14Dx2+4Dxxx2+2Dx4x+3&comma;Dx2Dx+1&comma;Dx2Dx+1&comma;Dx8x+Dx8+2Dx7x10Dx74Dx6x+20Dx6+6Dx5x34Dx57Dx4x+35Dx4+6Dx3x34Dx32Dx2x+22Dx212Dx+x+3&comma;Dx8x+8Dx7+2Dx68Dx53Dx4x+14Dx4+4Dx3x20Dx34Dx2x+18Dx28Dx+x+4

(6)

skew_productG2&comma;P&comma;A+skew_productG3&comma;Q&comma;AG1

0

(7)

skew_productG4&comma;P&comma;A+skew_productG5&comma;Q&comma;A

0

(8)

Case of 'q'-calculus:

Askew_algebracomm=q&comma;qdilat=Sx&comma;x&comma;q&colon;

PSx2x

PSx2x

(9)

QxSx

QxSx

(10)

skew_pdivP&comma;Q&comma;Sx&comma;A

qx&comma;Sx&comma;qx2

(11)

skew_premP&comma;Q&comma;Sx&comma;A

qx2

(12)

skew_elim (or skew_gcdex) may help to find factorization.

Pq2x1Sx2+q3x2+1+qq2xSxq

Pq2x1Sx2+q3x2q2x+q+1Sxq

(13)

Qq5x+1q5x1q9x21Sx5+q+q12x2+x5q23q4q2+x2q10+x2q11q3+q22x51Sx4+qx2q10+q9x2+q+1+q6+q16x4+2q4+2q3+q17x4+q5+q24x6+q8x2+2q2Sx3q31+q5+x2q10+x2q11+q14x4+q+q7x2+q6+q16x4+2q4+2q3+2q2+q15x4+2q8x2+2q9x2Sx2+q6q7x2+q+q3+q6x2+1+q4+q2+q8x2Sxq10

Qq5x+1q5x1q9x21Sx5+x5q23+q22x5+q12x2+x2q11+x2q10q4q3q2q1Sx4+qq24x6+q17x4+q16x4+x2q10+q9x2+q8x2+q6+q5+2q4+2q3+2q2+q+1Sx3q3q16x4+q15x4+q14x4+x2q11+x2q10+2q9x2+2q8x2+q7x2+q6+q5+2q4+2q3+2q2+q+1Sx2+q6q8x2+q7x2+q6x2+q4+q3+q2+q+1Sxq10

(14)

skew_elimP&comma;Q&comma;Sx&comma;A

Sxq3x2+Sx2q2xSxq2xSx2+qSx+Sxq

(15)

This is P. P therefore divides Q in A. Left gcds:

Adiff_algebraDx&comma;x&colon;

LDx2+1&colon;

R1xDx+1&colon;

R2Dx2+1&colon;

P1skew_productL&comma;R1&comma;A

P1Dx3x+3Dx2+Dxx+1

(16)

P2skew_productL&comma;R2&comma;A

P2Dx4+2Dx2+1

(17)

skew_gcdexP1&comma;P2&comma;Dx&comma;A&comma;left

Dx2x2+4Dxx+x2+2&comma;Dxx2&comma;x2&comma;Dx2x2+6Dxx+x2+6&comma;Dxx33x2

(18)

1

Dx2x2+4Dxx+x2+2

(19)

skew_gcdexP1&comma;P2&comma;Dx&comma;A&comma;left_monic

Dx2+1&comma;Dxx&comma;1&comma;Dx2x2+6Dxx+x2+6&comma;Dxx33x2

(20)

1

Dx2+1

(21)

See Also

Groebner[Basis]

Ore_algebra

Ore_algebra/dual_algebra

Ore_algebra/poly_algebra

Ore_algebra/Weyl_algebra

 


Download Help Document