DEtools
formal_sol
formal solutions of a homogeneous linear ODE
Calling Sequence
Parameters
Description
Examples
References
formal_sol(L, domain, T, opt)
formal_sol(eqn, dvar, T, opt)
eqn
-
homogeneous linear differential equation
dvar
dependent variable, for instance y⁡x
L
differential operator representing an homogeneous linear differential equation (see DEtools[de2diffop])
domain
list containing two names representing the differential algebra, for instance Dx,x
T
(optional) name, used in the output to represent C⁢x−x01r, where x0 is the expansion point, r is the ramification index and C some constant
opt
(optional), any of x = x0 to expand around x0, order = n to compute the first n terms or groundfield = [RootOf(...), ...] .
The input is a differential operator L or a linear ODE (ordinary differential equation) eqn having rational function coefficients.
The output is a list of lists. Each of these lists contains one type of formal solution; those solutions that can be written with the same e (see below for a description) are grouped together in the same list.
Let x be the independent variable. If a differential operator is specified, then x is the second element of the list domain. If an ODE is specified, then x is implicitly given in dvar, which is of the form y⁡x.
To set the notations, we first discuss formal solutions at the point x=0. Denote C x as the set of all formal power series in x. Formal power series are power series that are not necessarily convergent. If r is a positive integer, then denote C x1r as the set of all formal power series in x1r. These series can be written as ∑i=0∞⁡ai⁢xir where the ai are in C. If s is such a series, then the ramification index of s is the smallest positive integer r for which s is in C x1r.
Elements of C x1r are also called Puiseux series. However, Puiseux series are more general in the sense that there one also allows negative exponents (so then the valuation (defined below) could be negative). One denotes C⁡x1r as the set of all Puiseux series whose ramification index divides r.
Denote C x1r log⁡x as the set of expressions that can be written in the form ∑j=0M⁡∑i=0∞⁡ai,j⁢xir⁢log⁡xj for some ai,j in C and some non-negative integer M. If s is such an expression, and if s is not zero, then the valuation of s is the smallest rational number ir for which the xir-term in s is not zero. So the valuation is the smallest ir for which ai,j is not zero for some j.
Denote C x−1r as the set of all expressions of the form ∑i=0N⁡ai⁢x−ir where ai in C and N is a non-negative integer.
A formal solution is a solution that can be presented in the form y=s⁢ⅇ∫exⅆx for some e in C x−1r and s in C x1r log⁡x for some integer r (if one chooses this integer minimal, then it is called the ramification index). A homogeneous linear differential equation of order n has precisely n linearly independent formal solutions, which are computed by formal_sol.
If the ODE has a formal solution of the form y=s⁢ⅇ∫exⅆx and if the valuation of s is zero, then the expression e is called the generalized exponent of y. This generalized exponent is an element of C x−1r. Note that if the valuation of s is not zero, then one can rewrite y to the above form with valuation 0 for s. For example, if y=x2+5⁢x3+...⁢ⅇ∫ⅇx⁢ⅆx where e is for example e=3+1x then one can rewrite y as 1+5⁢x+...⁢ⅇ∫ⅇ+2x⁢ⅆx so the generalized exponent of this y would be e+2=5+1x. As another example, if y=x−72+3⁢x−52+... then this can be rewritten as y=1+3⁢x+...⁢ⅇ∫−72⁢1x⁢ⅆx so this y would have generalized exponent −72.
The generalized exponents of the ODE are the generalized exponents of the formal solutions of the differential equation. The number of generalized exponents equals the order if we count with multiplicity.
If a generalized exponent e is a constant (if e is in C) then it is called an exponent. The exponents are the solutions of the indicial equation.
If the ODE has a generalized exponent e that is not a constant, then the differential equation is called irregular singular. Such e has negative powers of x and so the expression ⅇ∫exⅆx will have an essential singularity at x=0.
The name T, when specified, is used to denote x−x01r times a constant, where r is the ramification index. formal_sol computes the formal solutions and expresses them in terms of T. The relation between T and x is given in the output as well, in each list containing one type of formal solution.
If the optional argument x=p where p in P1⁢=C⁢union⁢{infinity} is given, then this procedure first applies a transformation DEtools[translate] to move the point p to the point 0, then computes the formal solutions, and then substitutes x=x−p in the result (or x=1x if p=∞). Note that this substitution only affects the part of the output that gives the relation between T and x. If p≠∞ and the ramification index is 1, the relation between x and T given in the output will be T=x−p.
The formal solutions are computed only up to conjugation over the field k⁡x, where k is the minimal field of constants over which the input is defined. A larger field k can be specified by the option groundfield = a list of RootOfs.
By default the number of terms to be computed is given by the variable Order. To obtain a different number of terms, use the optional argument order=N where N is the desired number of terms.
The argument domain describes the differential algebra. If this argument is the list Dx,x, then the differential operators are notated with the symbols Dx and x. They are viewed as elements of the differential algebra C⁡x Dx where C is the field of constants, and Dx denotes the differentiation operator.
If the argument domain is omitted then the differential algebra specified by the environment variable _Envdiffopdomain is used. If this environment variable is not set then the argument domain may not be omitted.
Instead of a differential operator, the input can also be a linear homogeneous ODE having rational function coefficients. In this case, the second argument dvar must be the dependent variable.
This function is part of the DEtools package, and so it can be used in the form formal_sol(..) only after executing the command with(DEtools). However, it can always be accessed through the long form of the command by using DEtools[formal_sol](..).
with⁡DEtools:
L≔Dx3+1x−14⁢Dx+x
L≔Dx3+Dxx−14+x
formal_sol⁡L,Dx,x,x=1,order=3
1+O⁡x−13,x−13⁢ⅇ−RootOf⁡_Z2+1,index=1x−1⁢1+3⁢RootOf⁡_Z2+1,index=1⁢x−1−12⁢x−12+O⁡x−13,x−13⁢ⅇ−RootOf⁡_Z2+1,index=2x−1⁢1+3⁢RootOf⁡_Z2+1,index=2⁢x−1−12⁢x−12+O⁡x−13
Giving the optional argument T, a 'name', the output is expansion in T, making more evident the structure of the series, and the equation relating T to the independent variable x indicates what the ramification index is (in this example: one)
formal_sol⁡L,Dx,x,T,x=1,order=3
1+O⁡T3,T=x−1,T3⁢ⅇ−RootOf⁡_Z2+1T⁢1+3⁢RootOf⁡_Z2+1⁢T−12⁢T2+O⁡T3,T=x−1
Note also that the output is given only up to conjugation over the field of definition of the input. So, to obtain a basis of the formal solutions, the conjugate (replace RootOf⁡_Z2+1 by −RootOf⁡_Z2+1) solution needs to be added as well. One can increase the field of definition with the option groundfield:
formal_sol⁡L,Dx,x,T,x=1,order=3,groundfield=RootOf⁡x2+1
1+O⁡T3,T=x−1,T3⁢ⅇRootOf⁡_Z2+1T⁢1−3⁢RootOf⁡_Z2+1⁢T−12⁢T2+O⁡T3,T=x−1,T3⁢ⅇ−RootOf⁡_Z2+1T⁢1+3⁢RootOf⁡_Z2+1⁢T−12⁢T2+O⁡T3,T=x−1
An example with solutions of ramification index 2, so x = some constant times T^2, as well as solutions of ramification index 3 (so x = some constant times T^3):
ode≔diff⁡y⁡x,`$`⁡x,5+diff⁡y⁡x,`$`⁡x,3x3+y⁡xx7
ode≔ⅆ5ⅆx5y⁡x+ⅆ3ⅆx3y⁡xx3+y⁡xx7
formal_sol⁡ode,y⁡x,T,x=0,order=2
T5⁢ⅇ−3T⁢1−439⁢T+O⁡T2,−T3=x,T192⁢ⅇ−2T⁢1+316⁢T+O⁡T2,−T2=x
Compare the series structures above with the structure of the output obtained without giving the optional name T:
formal_sol⁡ode,y⁡x,x=0,order=2
−x53⁢ⅇ−3−x13⁢1−43⁢−x139+O⁡−x23,−−x53⁢−113⁢ⅇ3⁢−113−x13⁢1−43⁢−x13⁢−1239+O⁡−−x23⁢−113,−x53⁢−123⁢ⅇ−3⁢−123−x13⁢1+43⁢−x13⁢−1139+O⁡−x23⁢−123,−x194⁢ⅇ−2−x⁢1+3⁢−x16+O⁡−x,−−x192⁢ⅇ2−x⁢1−3⁢−x16+O⁡−x
The next ode has (generalized) exponents 0 and 1−ν at x=0. This means that the dominant term in the formal solutions at x=0 will be 1 resp. x1−ν. The variable T is x here, so the ramification index is 1.
ode≔x⁢diff⁡y⁡x,x,x+ν−x⁢diff⁡y⁡x,x−μ⁢y⁡x
ode≔x⁢ⅆ2ⅆx2y⁡x+ν−x⁢ⅆⅆxy⁡x−μ⁢y⁡x
1+μν⁢T+O⁡T2,T=x,T1−ν⁢1+νν−2−1ν−2−μν−2⁢T+O⁡T2,T=x
The generalized exponents at x=∞ are e1≔μ and e2≔ν−μ−1T where now T=1x (since 1x is T, the ramification index is again 1). Each generalized exponent describes the dominant term in a formal solution. So the dominant term in the formal solutions at x=∞ will be ⅇ∫e1TⅆT resp. ⅇ∫e2TⅆT which is Tμ resp. T−μ+ν⁢ⅇ1T. Since e2 is not a constant, the ode is irregular singular at x=∞.
formal_sol⁡ode,y⁡x,T,x=∞,order=2
Tμ⁢1+−μ2+μ⁢ν−μ⁢T+O⁡T2,T=1x,T−μ+ν⁢ⅇ1T⁢1+μ2−μ⁢ν−μ+ν⁢T+O⁡T2,T=1x
By solving the indicial equation one finds the exponents (exponents = those generalized exponents that are constants). At x=0 both generalized exponents are constant, so both are exponents. At x=∞ one finds only one exponent, because only one of the two generalized exponents is a constant.
solve⁡indicialeq⁡ode,x,0,y⁡x,x
0,1−ν
solve⁡indicialeq⁡ode,x,∞,y⁡x,x
μ
Note that formal_sol also allows ode's with coefficients that are not rational functions, but only if they are meromorphic at the specified point. For example, sin(x) is meromorphic at x=0 but not at x=∞, so the following example will fail at x=∞.
ode≔sin⁡x⁢diff⁡y⁡x,x,x−1x⁢diff⁡y⁡x,x−y⁡x=0
ode≔sin⁡x⁢ⅆ2ⅆx2y⁡x−ⅆⅆxy⁡xx−y⁡x=0
formal_sol⁡ode,y⁡x,T,x=∞
Error, (in `series/trig`) unable to compute series
formal_sol⁡ode,y⁡x,T,x=0
1−12⁢T2−13⁢T3−38⁢T4−45⁢T5+O⁡T6,T=x,T2⁢ⅇ−1T⁢1−116⁢T+43372⁢T2−1596136480⁢T3+19390253155520⁢T4−2459286901332659200⁢T5+O⁡T6,T=x
Ince, E.L. Ordinary Differential Equations, Chap. XVI-XVII. New York: Dover Publications, 1956.
van Hoeij, M. "Formal Solutions and Factorization of Differential Operators with Power Series Coefficients." Journal of Symbolic Computation. Vol. 24, (1997): 1-30.
See Also
DEtools/gen_exp
DEtools[indicialeq]
DEtools[translate]
diffop
Order
Slode/hypergeom_formal_sol
Download Help Document