DifferentialAlgebra
PowerSeriesSolution
computes formal power series solutions for differential equation ideals
Calling Sequence
Parameters
Options
Description
Examples
PowerSeriesSolution(regchain, initialvalues, opts)
PowerSeriesSolution(conditions, regchain, initialvalues, opts)
regchain
-
a regular differential chain or a list of them representing an ideal
initialvalues
optional, a list or a set of equations specifying initial values for the independent and dependent variables and their derivatives
disregard = ...
optional, to disregard whether the initial values cancel the equations and/or inequations of regchain, the right-hand-side can be: nothing (default), inequations, equations, all
order = n
optional, a nonnegative integer specifying the order of the series expansion, default value is Order
notation
optional, to request the output to be in any of jet, tjet, diff or Diff notations
The opts arguments may contain one or more of the following options.
disregard = <nothing (default), inequations, equations, all>. This option permits to restrict the test for the initialvalues (see above).
equations: the equations are disregarded; PowerSeriesSolution only checks that the inequations are annihilated by initialvalues.
inequations: the inequations are disregarded; PowerSeriesSolution only checks that the equations are annihilated by initialvalues.
all: equations and inequations are disregarded.
order = n. This option specifies the truncation order for the series expansion; if not given, the value of n used is that of Order.
notation = <jet, tjet, diff or Diff>. Specifies the notation used for the result of the function call. If not specified, the notation of regchain is used
memout = N. Specifies a memory limit of N MB, for the computation. Default is zero (no memory out).
The function call PowerSeriesSolution(regchain, initialvalues, order = n) returns an integral (exponents are nonnegative integers), formal (the convergence issue is not addressed), power series solution of the differential ideal defined by regchain, truncated at order = n. The initialvalues argument provides both the expansion point of the series and the (generalized) initial values. The result is a list of equations u=series (one for each dependent variable) in the diff or the Diff notation (default is diff).
Conditions
The function call PowerSeriesSolution(conditions, regchain) returns a list containing two lists, one with equations and another one with inequations, that the initial values must satisfy so that an integral formal power series can be computed. The function call PowerSeriesSolution(conditions, regchain, initialvalues) returns the same system (equations and inequations) but evaluated at the expansion points specified in the given initial values.
The list of equations returned is the set of the regular differential chain polynomials which have leading degrees greater than or equal to 2. See Equations. The list of inequations is the set of initials and separants of the regular differential chain polynomials. See Inequations.
The initialvalues argument is a list or a set of equations of the form vi=ai, where the vi are independent variables (specify the expansion point) or dependent variables and/or their derivatives and the ai are general expressions. Independent variables which do not occur among the vi are taken to be 0.
The right-hand-sides of the vi=ai, such that the vi are derivatives, provide the arbitrary constants and/or functions the series depends on. They provide also values for the constants which are algebraic over the other ones. The algorithm proceeds as follows.
First a generic sum is computed, where each derivative is replaced by its normal form.
Second, some substitutions are performed according to the following rules. Consider a derivative u, occurring in some term of the generic sum.
If u is not the derivative of any vi, then u is left unevaluated.
If u is the derivative of exactly one vi, say, u=θ⁢vi for some derivation operator θ, then, θ⁢ai is substituted to vi. The differentiation θ⁢ai is performed using diff or Diff, depending on the notation (see below in the Options section).
If u is the derivative of many different vi, then, an equation such that vi has maximal order is selected. The substitution is then performed as explained just above.
Last, the resulting expression is evaluated, at the expansion point.
The values attributed to the derivatives at the expansion point, cannot be chosen freely. They must satisfy the system F=0,S≠0, returned by PowerSeriesSolution when using the option conditions. These conditions, which are checked by default, can be disregarded using the option disregard = ...; see the Examples section.
If the attributed values are solutions of the system F=0,S≠0, then, the returned power series are truncated solutions of the differential ideal.
If these values do not satisfy F=0, then, the returned power series are not truncated solutions of the differential ideal.
If they satisfy F=0, but do not satisfy S≠0, then, the returned power series may, or may not, be truncated solutions of the differential ideal. If they are, they do not need to be unique.
This command is part of the DifferentialAlgebra package. It can be called using the form PowerSeriesSolution(...) after executing the command with(DifferentialAlgebra). It can also be directly called using the form DifferentialAlgebra[PowerSeriesSolution](...).
with⁡DifferentialAlgebra:
A linear ODE
R≔DifferentialRing⁡derivations=t,blocks=u
R≔differential_ring
The ideal for the ODE for ⅇt consists of a single element, pick it up
exponential≔RosenfeldGroebner⁡ut−u,R1
exponential≔regular_differential_chain
There are no constraints on the initial values for linear systems. Here is the generic series; when the order is not specified, it is set to the value of Order
PowerSeriesSolution⁡exponential
u⁡t=u⁡0+u⁡0⁢t+u⁡0⁢t22+u⁡0⁢t36+u⁡0⁢t424+u⁡0⁢t5120+u⁡0⁢t6720
The generic series, at t=t0 up to order 3, the initial values can be entered as a list [...] or a set {...}
PowerSeriesSolution⁡exponential,u⁡t0=c,order=3
u⁡t=c+c⁢t−t0+c⁢t−t022+c⁢t−t036
The initial values can also be expressed directly in jet notation, as in t=t0,u=c, where the expansion point needs to be specified because it is not the origin. When the order is not specified, the value of Order is used; to illustrate we enter the initial values in jet notation
PowerSeriesSolution⁡exponential,t=t0,u=c
u⁡t=c+c⁢t−t0+c⁢t−t022+c⁢t−t036+c⁢t−t0424+c⁢t−t05120+c⁢t−t06720
A nonlinear ODE
The ideal for the ODE u′2−3⁢u=0 with u≠0 contains only one case; pick it up
ideal≔RosenfeldGroebner⁡ut2−4⁢u,u≠0,R1
ideal≔regular_differential_chain
There are conditions to be satisfied by the initial values of a formal power series for this problem
PowerSeriesSolution⁡conditions,ideal
D⁡u⁡02−4⁢u⁡0=0,D⁡u⁡0≠0
The initial values u⁡0=c2,ut⁡0=2⁢c satisfy these conditions; to verify that you can enter these initial values as u⁡0=c2,D⁡u⁡0=2⁢c, or recalling that when the expansion point is not specified it is taken equal to 0, you can also enter them in jet notation and without specifying t=0, as in
PowerSeriesSolution⁡conditions,ideal,u=c2,ut=2⁢c
0=0,c≠0
The series, which turns out to be a polynomial, can thus be computed; to illustrate, instead of jet notation we use here the equivalent, standard Maple notation for initial values
PowerSeriesSolution⁡ideal,u⁡0=c2,D⁡u⁡0=2⁢c
u⁡t=c2+2⁢c⁢t+t2
The conditions computed imply on the inequation u≠0. Let's verify for instance that initial value u=0 leads to a contradiction
PowerSeriesSolution⁡conditions,ideal,u=0,ut=0
0=0,0≠0
One can still compute a formal series solution around t=0 and with u=0, disregarding that the inequations required are not satisfied by using the option disregard = inequations, but the condition u⁡t≠0, passed to RosenfeldGroebner when computing the ideal, is not satisfied (around t=0) by the solution returned
PowerSeriesSolution⁡ideal,u=0,ut=0,disregard=inequations
u⁡t=t2
In the example under consideration, if you do not specify initial values, their default values are used, that is: each function and their derivatives are all taken at the origin and are assumed to be all different from zero. These default values do not annihilate all the equations of each element (regular chain) of the ideal, and thus the series cannot be computed
PowerSeriesSolution⁡ideal,disregard=inequations
Error, (in DifferentialAlgebra:-PowerSeriesSolution) the initial conditions do not annihilate all the equations of the ideal
One may still wish to compute a generic formula for the solution, keeping in mind that the initial values must annihilate the equations of the ideal and ignoring for now what these initial values are (say, to be adjusted afterwards). For this purpose use the option disregard = equations (ignore the conditions on the equations)
PowerSeriesSolution⁡ideal,disregard=equations
u⁡t=u⁡0+D⁡u⁡0⁢t+t2
The heat equation
The ranking is orderly. Thus, the formal power series solutions of this equation, involves all the derivatives of the form uxn and ut,xn where n stands for any nonnegative integer. Classically, one says that the solutions of the heat equation depend on two arbitrary functions u⁡0,x=f⁡x and ut⁡0,x=g⁡x. Such a formal power series can be generated by FormalPowerSeries.
R≔DifferentialRing⁡derivations=t,x,blocks=u
heat≔RosenfeldGroebner⁡ut,t−ux,R1
heat≔regular_differential_chain
PowerSeriesSolution⁡heat,u=f⁡x,ut=g⁡x,order=2
u⁡t,x=f⁡0+D⁡f⁡0⁢x+g⁡0⁢t+D2⁡f⁡0⁢x22+D⁡g⁡0⁢t⁢x+D⁡f⁡0⁢t22
A general PDE
The regular differential chains computed by the RosenfeldGroebner function permit to compute integral formal power series solutions of the input system. One considers, here, a polynomial PDE system.
R≔DifferentialRing⁡derivations=x,y,blocks=u,v
syst≔ux,x2⁢v+ux,x⁢v+ux,ux,y,uy,y2−1,ux≠0
The radical of the differential ideal generated by syst is an intersection of two differential ideals presented by regular differential chains. The solution set of syst is thus the union of the solution sets of the two chains.
ideal≔RosenfeldGroebner⁡syst,R
ideal≔regular_differential_chain,regular_differential_chain
Inspecting the left-hand sides of the equations of the first component, one sees that the solutions depend on one arbitrary function v⁡x,0=f⁡x, three arbitrary constants u⁡0,0=c0, ux⁡0,0=c1, uy⁡0,0=c2, and, two constants which are algebraic over the other ones: uy,y⁡0,0 and ux,x⁡0,0.
Equations⁡ideal1,solved
ux,x2=−ux,x⁢v+uxv,ux,y=0,uy,y2=1,vy=0
Let us choose some values. Some of them are symbolic, the other ones are numeric. First one verifies that they satisfy the above system. Then, the series is computed.
iv≔v=1+x⁢f⁡x,uy,y=1,u=c0,ux=0,uy=c2,ux,x=−1
PowerSeriesSolution⁡conditions,ideal1,iv
0=0,0=0,
PowerSeriesSolution⁡ideal1,iv,order=3
u⁡x,y=c0+c2⁢y+12⁢y2−12⁢x2−16⁢x3,v⁡x,y=1+f⁡0⁢x+D⁡f⁡0⁢x2+D2⁡f⁡0⁢x32
Inspecting the left-hand sides of the equations of the second component, one sees that the solutions depend on three arbitrary constants u⁡0,0=c0, uy⁡0,0=c1, v⁡0,0=c2, and, one constant uy,y⁡0,0 which is equal to +/-1.
Equations⁡ideal2,solved
uy,y2=1,ux=v4,vx=−2,vy=0
sols≔PowerSeriesSolution⁡ideal2,u=c0,uy=c1,v=c2,uy,y=1,order=10
sols≔u⁡x,y=c0+c1⁢y+14⁢c2⁢x+12⁢y2−14⁢x2,v⁡x,y=c2−2⁢x
These solutions are polynomials. One can plug them into the input equations, and verify the result.
sys≔Tools:-FromJet⁡syst,u,v⁡x,y
sys≔∂2∂x2u⁡x,y2⁢v⁡x,y+∂2∂x2u⁡x,y⁢v⁡x,y+∂∂xu⁡x,y,∂2∂x∂yu⁡x,y,∂2∂y2u⁡x,y2−1,∂∂xu⁡x,y≠0
eval⁡sys,sols
0,0,0,c24−x2≠0
See Also
NormalForm
DEtools[initialdata]
DEtools[rtaylor]
Download Help Document