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
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.
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.
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⁢λ.
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
P1≔OrePoly⁡n,n−1
Q1≔HilbertTwistReduction⁡P1,A,B
Q1≔OrePoly⁡1,n−1
v≔GetVariable⁡B
v≔n
GetSigma⁡B⁡s⁡v,v
s⁡n+1
Getdelta⁡B⁡s⁡v
0
R1≔InverseOfHilbertTwistReduction⁡Q1,A
R1≔OrePoly⁡n,n−1
Examples of AccurateIntegration:
A≔SetOreRing⁡x,differential
A≔UnivariateOreRing⁡x,differential
L≔OrePoly⁡2⁢3⁢x+1x2⁢4+27⁢x,−2x⁢4+27⁢x,1
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
A≔SetOreRing⁡n,shift
A≔UnivariateOreRing⁡n,shift
L≔OrePoly⁡1,−2,−2,1
OrePoly⁡−12,1,1,−12,OrePoly⁡−32,−12,12
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[Properties]
OreTools[SetOreRing]
Download Help Document