9.44 LinearOrdinaryDifferentialOperator¶
LinearOrdinaryDifferentialOperator(A, diff) is the domain of linear ordinary differential operators with coefficients in a ring A with a given derivation.
9.44.1 Differential Operators with Series Coefficients¶
Problem: Find the first few coefficients of exp(x)/x^i of Dop phi where
Dop := D^3 + G/x^2 * D + H/x^3 - 1
phi := sum(s[i]*exp(x)/x^i, i = 0..)
Solution:
Define the differential.
Dx: LODO(EXPR INT, f +-> D(f, x))
Void
Dx := D()
D |
Type: LinearOrdinaryDifferentialOperator(Expression Integer,theMap NIL)
Now define the differential operator Dop.
Dop:= Dx^3 + G/x^2*Dx + H/x^3 - 1
D3+Gx2D+-x3+Hx3 |
Type: LinearOrdinaryDifferentialOperator(Expression Integer,theMap NIL)
n == 3
Void
phi == reduce(+,[subscript(s,[i])*exp(x)/x^i for i in 0..n])
Void
phi1 == Dop(phi) / exp x
Void
phi2 == phi1 *x^(n+3)
Void
phi3 == retract(phi2)@(POLY INT)
Void
pans == phi3 ::UP(x,POLY INT)
Void
pans1 == [coefficient(pans, (n+3-i) :: NNI) for i in 2..n+1]
Void
leq == solve(pans1,[subscript(s,[i]) for i in 1..n])
Void
Evaluate this for several values of n.
leq
Compiling body of rule n to compute value of type PositiveInteger
Compiling body of rule phi to compute value of type Expression
Integer
Compiling body of rule phi1 to compute value of type Expression
Integer
Compiling body of rule phi2 to compute value of type Expression
Integer
Compiling body of rule phi3 to compute value of type Polynomial
Integer
Compiling body of rule pans to compute value of type
UnivariatePolynomial(x,Polynomial Integer)
Compiling body of rule pans1 to compute value of type List
Polynomial Integer
Compiling body of rule leq to compute value of type List List
Equation Fraction Polynomial Integer
Compiling function G83347 with type Integer -> Boolean
n==4
[[s1=s0G3,s2=3s0H+s0G2+6s0G18,s3=(9s0G+54s0)H+s0G3+18s0G2+72s0G162]] |
Type: List List Equation Fraction Polynomial Integer
leq
[[s1=s0G3,s2=3s0H+s0G2+6s0G18,s3=(9s0G+54s0)H+s0G3+18s0G2+72s0G162]] |
Type: List List Equation Fraction Polynomial Integer
n==7
Compiled code for n has been cleared.
Compiled code for leq has been cleared.
Compiled code for pans1 has been cleared.
Compiled code for phi2 has been cleared.
Compiled code for phi has been cleared.
Compiled code for phi3 has been cleared.
Compiled code for phi1 has been cleared.
Compiled code for pans has been cleared.
1 old definition(s) deleted for function or rule n
Void
leq
Compiling body of rule n to compute value of type PositiveInteger
+++ |*0;n;1;G82322| redefined
Compiling body of rule phi to compute value of type Expression
Integer
+++ |*0;phi;1;G82322| redefined
Compiling body of rule phi1 to compute value of type Expression
Integer
+++ |*0;phi1;1;G82322| redefined
Compiling body of rule phi2 to compute value of type Expression
Integer
+++ |*0;phi2;1;G82322| redefined
Compiling body of rule phi3 to compute value of type Polynomial
Integer
+++ |*0;phi3;1;G82322| redefined
Compiling body of rule pans to compute value of type
UnivariatePolynomial(x,Polynomial Integer)
+++ |*0;pans;1;G82322| redefined
Compiling body of rule pans1 to compute value of type List
Polynomial Integer
+++ |*0;pans1;1;G82322| redefined
Compiling body of rule leq to compute value of type List List
Equation Fraction Polynomial Integer
+++ |*0;leq;1;G82322| redefined
s7=((2835s0G+91854s0)H3+(945s0G3+81648s0G2+2082996s0G+14171760s0)H2+(63s0G5+7560s0G4+317520s0G3+5554008s0G2+34058880s0G)H+s0G7+126s0G6+4788s0G5+25272s0G4-1744416s0G3-26827200s0G2-97977600s0G)11022480]]
Type: List List Equation Fraction Polynomial Integer