find initial data for a solved-form ODE or PDE system
list or set of polynomially nonlinear PDEs or ODEs in solved form
(optional) dependent variables to compute the initial data with respect to
single case result as returned by rifsimp
The initialdata command is part of the Rif subset of commands in the DEtools package.
The initialdata command determines the initial data required to obtain a formal power series solution for a PDE or ODE system at a point (see rtaylor). The input system must be in standard or involutive form, so all equations must be of the form derivative = expression, and there must be no additional relations between the dependent variables that are not accounted for by the equations of the system. It can be used on any PDE or ODE system in isolated form, as well as for a single case result output by rifsimp. In general, all integrability conditions (equality of mixed partials) must be satisfied to obtain an accurate answer, so it is best to use rifsimp to simplify the system before calculation of the initial data.
The optional vars argument specifies the variables for which to compute the initial data. This option is useful for classification problems, where different dependent variables play different roles in the system. This option also provides a way to specify the variables of a problem and their dependencies (in the event that one of the dependent variables does not appear in the Solved list, for example).
The output is given in table form with the Finite entry containing the required zero dimensional initial data (constants), and the Infinite entry containing the required higher dimensional data (functions).
When the input to initialdata is a rifresult, then additional information is provided on output. As well as the infinite and finite initial data, the resulting table may contain a Pivots and/or Constraint entry (if these entries are present in the rifresult). These returned lists of equations are given in terms of the initial data.
When Constraint equations are present in the result, these equations must be satisfied by the initial data for the underlying system to be well posed. These Constraints must be accounted for manually.
When not using the rifresult form of the initialdata call, any nonlinear constraints must be converted to initial data form and imposed manually.
The initial data required for a system is independent of the right-hand side of the solved form equations, so for the following examples, ignore the right-hand side.
Background Information: Formal Power Series and the initialdata algorithm
Being able to obtain a formal power series solution of a PDE or ODE system at a point essentially means that the values of all derivatives of the solution at that point are known, or can be found through differential relations from the system.
As a simple example, consider the ODE in u⁡x, u'' = u u' (where prime notation is used to denote differentiation). Here the initial data is u(x0) and u'(x0). With this data and the ODE, you can then determine u''(x0) = u(x0) u'(x0), and from the derivative of the ODE, you can obtain u'''(x0) = u'(x0)^2+u(x0) u''(x0), and so on.
Knowledge of all derivatives then allows you to write u(x) = u(x0)+(x-x0) u'(x0)+(x-x0)^2 u(x0) u'(x0)/2+`...` to any desired order.
As an example of the initialdata algorithm in two dimensions, consider the following system.
In this case, we have one arbitrary function and two arbitrary constants. Plots can be used to visualize how the initialdata algorithm calculates this data. Consider an integer-valued graph where the x-axis represents differentiation by x, and the y-axis represents differentiation by y. Looking at f[xxx] from the original system, we can place dots at that value and at all of its derivatives:
plot([d1], x=-0.1..4.1, y=-0.1..4.1, style=point, tickmarks=[[0,1,2,3,4],[0,1,2,3,4]]);
Note, for example, that the point (4,1) corresponds to f[xxxxy], which can be obtained from the differentiation of f[xxx] with respect to x and y. Adding all derivatives that are known from the f[xy] equation gives the following graph.
plot([d1,d2], x=-0.1..4.1, y=-0.1..4.1, style=point, tickmarks=[[0,1,2,3,4],[0,1,2,3,4]]);
The objective is to fill in all missing points. From the graph, we can see that all points of the form (0,i) are missing, which explains the arbitrary function of y in the answer. This function describes the data for all y derivatives of f. We still require the points (1,0) and (2,0), which correspond to the arbitrary constants present in the answer for the values of f[x] and f[xx], as given in the Finite list.
sys1 ≔ ∂2∂x2⁢f⁡x,y,z=0,∂∂y⁢f⁡x,y,z=0,∂∂z⁢f⁡x,y,z=0
This system is fully specified if the following derivatives are known.
For this next system, the initial data contains a number of arbitrary functions of one variable.
sys2 ≔ ∂2∂y⁢∂x⁢f⁡x,y,z=0,∂2∂z⁢∂x⁢f⁡x,y,z=0,∂2∂z⁢∂y⁢f⁡x,y,z=0
For the next system, the initial data contains a number of arbitrary functions of two variables.
sys3 ≔ ∂3∂z⁢∂y⁢∂x⁢f⁡x,y,z=0
The one-dimensional heat equation.
sys4 ≔ ∂∂t⁢u⁡x,t=∂2∂x2⁢u⁡x,t
This example is a system that contains mixed data.
sys5 ≔ ∂3∂y2⁢∂x⁢f⁡x,y,z=0,∂2∂z⁢∂x⁢f⁡x,y,z=0,∂3∂z2⁢∂y⁢f⁡x,y,z=0
An example using initialdata with a nonlinear rif result,
sys6 ≔ ⅆ2ⅆx2⁢u⁡x2⁢u⁡x+ⅆⅆx⁢u⁡x3
rif6 ≔ rifsimp⁡sys6
where it is understood that the selected initial data must obey the nonlinear constraint (so in truth, you have only two free parameters) and must not violate the pivots (so _C3≠0).
Download Help Document