AccurateIntegration - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Mozilla Firefox.

Online Help

All Products    Maple    MapleSim


OreTools[MathOperations]

  

HilbertTwistReduction

  

return isomorphic images of Ore polynomials under the Hilbert twist reduction

  

InverseOfHilbertTwistReduction

  

return pre-images of Ore polynomials under the HilbertTwistReduction

  

AccurateIntegration

  

check for the existence of a primitive element, and perform accurate integration

 

Calling Sequence

Parameters

Description

Examples

References

Calling Sequence

HilbertTwistReduction(P,  A, 'B')

InverseOfHilbertTwistReduction(P, A)

AccurateIntegration(L, A)

Note: An Ore polynomial ring B is of Hilbert's twist type if its (pseudo) derivation maps everything to zero. For an Ore polynomial ring A with nontrivial automorphism, there is a ring isomorphism from A onto the ring B of Hilbert's twist type whose automorphism is the same as the A's. The isomorphism is called the Hilbert twist reduction.

Parameters

P

-

Ore polynomial or a list of Ore polynomials; to define an Ore polynomial, use the OrePoly structure.

L

-

Ore polynomial.

A

-

Ore ring with nontrivial automorphism; to define an Ore algebra, use the SetOreRing function.

B

-

(optional) unevaluated name.

Description

• 

The HilbertTwistReduction(P, A, B) calling sequence returns the image of P under the Hilbert twist reduction.  If the (optional) third argument B is present, it is assigned to the Ore ring whose automorphism is the same as the A's and whose (pseudo) derivation sends everything to zero.

• 

The InverseOfHilbertTwistReduction(P, A) calling sequence returns the pre-image of P under the Hilbert twist reduction. Note that A is the source ring of the Hilbert twist reduction.

• 

Let A be the shift, q-shift, or differential algebra. The AccurateIntegration(L, A) calling sequence performs accurate integration, which solves the following problem: Let y satisfy L(y)=0 and g satisfy lambda(g)=y, where lambda means the usual derivative in the differential case, the difference operator in the shift case, and the q-difference operator in the q-shift case. The function builds an annihilator S (represented as an OrePoly structure) for g of the same degree as that of L, and an operator K such that g=K(y) if both exist. Otherwise, it returns L⁢λ.

Examples

> 

with⁡OreTools:

> 

with⁡OreToolsMathOperations:

> 

with⁡OreToolsProperties:

Define an Ore ring.

> 

A := SetOreRing(n, 'difference',
  'sigma' = proc(p, x) eval(p, x=x+1) end,
  'sigma_inverse' = proc(p, x) eval(p, x=x-1) end,
  'delta' = proc(p, x) eval(p, x=x+1) - p end,
  'theta1' = 0);

A≔UnivariateOreRing⁡n,difference

(1)
> 

P1≔OrePoly⁡n,n−1

P1≔OrePoly⁡n,n−1

(2)
> 

Q1≔HilbertTwistReduction⁡P1,A,B

Q1≔OrePoly⁡1,n−1

(3)
> 

v≔GetVariable⁡B

v≔n

(4)
> 

GetSigma⁡B⁡s⁡v,v

s⁡n+1

(5)
> 

Getdelta⁡B⁡s⁡v

0

(6)
> 

R1≔InverseOfHilbertTwistReduction⁡Q1,A

R1≔OrePoly⁡n,n−1

(7)

Examples of AccurateIntegration:

> 

A≔SetOreRing⁡x,differential

A≔UnivariateOreRing⁡x,differential

(8)
> 

L≔OrePoly⁡2⁢3⁢x+1x2⁢4+27⁢x,−2x⁢4+27⁢x,1

L≔OrePoly⁡2⁢3⁢x+1x2⁢4+27⁢x,−2x⁢4+27⁢x,1

(9)
> 

AccurateIntegration⁡L,A

OrePoly⁡1,−162⁢x2−9⁢x−2180⁢x,3⁢x−1⁢4+27⁢x180,OrePoly⁡162⁢x2−9⁢x−2180⁢x,−3⁢x−1⁢4+27⁢x180

(10)
> 

A≔SetOreRing⁡n,shift

A≔UnivariateOreRing⁡n,shift

(11)
> 

L≔OrePoly⁡1,−2,−2,1

L≔OrePoly⁡1,−2,−2,1

(12)
> 

AccurateIntegration⁡L,A

OrePoly⁡−12,1,1,−12,OrePoly⁡−32,−12,12

(13)

References

  

Abramov, S.A., and van Hoeij, M. "Integration of Solutions of Linear Functional Equations." Integral Transformations and Special Functions. Vol. 8 No. 1-2. (1999): 3-12.

See Also

OreTools

OreTools/OreAlgebra

OreTools/OrePoly

OreTools[MathOperations]

OreTools[Properties]

OreTools[SetOreRing]