initialdata - find initial data for a solved-form ODE or PDE system

Calling Sequence

initialdata( system )

initialdata( system , vars )

initialdata( rifresult )

initialdata( rifresult , vars )

Parameters

system - list or set of polynomially nonlinear PDEs or ODEs in solved form

vars - the dependent variables to compute the initial data with respect to

rifresult - a single case result as returned by rifsimp

Description

> sys:=[diff(f(x,y),x,x,x)=0,diff(f(x,y),x,y)=0];

3 2
d d
sys := [--- f(x, y) = 0, ----- f(x, y) = 0]
3 dy dx
dx

> initialdata(sys);

table([Finite = [D[1](f)(x[0], y[0]) = _C1, D[1, 1](f)(x[0], y[0]) = _C2],

Infinite = [f(x[0], y) = _F1(y)]

])

> d1:=[3,0],[4,0],[3,1],[4,1],[3,2],[4,2],[3,3],[4,3],[3,4],[4,4]:
> plot([d1], x=-0.1..4.1, y=-0.1..4.1, style=point,
xtickmarks=[0,1,2,3,4], ytickmarks=[0,1,2,3,4]);

4 + H H
|
|
|
3 + H H
|
|
|
2 + H H
|
|
|
1 + H H
|
|
|
-+--------+--------+--------*--------*-
| 1 2 3 4

> d2:=[1,1],[2,1],[3,1],[4,1],[1,2],[2,2],[3,2],[4,2],[1,3],[2,3],
[3,3],[4,3],[1,4],[2,4],[3,4],[4,4]:
> plot([d1,d2], x=-0.1..4.1, y=-0.1..4.1, style=point,
xtickmarks=[0,1,2,3,4], ytickmarks=[0,1,2,3,4]);

4 + A A A A
|
|
|
3 + A A A A
|
|
|
2 + A A A A
|
|
|
1 + A A A A
|
|
|
-+--------+--------+--------*--------*-
| 1 2 3 4

Examples

> with(Rif):
sys1:=[diff(f(x,y,z),x,x)=0,diff(f(x,y,z),y)=0,diff(f(x,y,z),z)=0];

sys1 := [diff(f(x,y,z),`$`(x,2)) = 0, diff(f(x,y,z)...

This system is fully specified if the following derivatives are known.

> initialdata(sys1);

TABLE([Infinite = [], Finite = [f(x[0],y[0],z[0]) =...

For this next system, the initial data contains a number of arbitrary functions of one variable.

> sys2:=[diff(f(x,y,z),x,y)=0,diff(f(x,y,z),x,z)=0,
diff(f(x,y,z),y,z)=0];

sys2 := [diff(f(x,y,z),x,y) = 0, diff(f(x,y,z),x,z)...

> initialdata(sys2);

TABLE([Infinite = [f(x,y[0],z[0]) = _F1(x), D[2](f)...

For the next system, the initial data contains a number of arbitrary functions of two variables.

> sys3:=[diff(f(x,y,z),x,y,z)=0];

sys3 := [diff(f(x,y,z),x,y,z) = 0]

> initialdata(sys3);

TABLE([Infinite = [f(x,y,z[0]) = _F1(x,y), D[3](f)(...
TABLE([Infinite = [f(x,y,z[0]) = _F1(x,y), D[3](f)(...
TABLE([Infinite = [f(x,y,z[0]) = _F1(x,y), D[3](f)(...

Of course, we must include the one-dimensional heat equation.

> sys4:=[diff(u(x,t),t)=diff(u(x,t),x,x)];

sys4 := [diff(u(x,t),t) = diff(u(x,t),`$`(x,2))]

> initialdata(sys4);

TABLE([Infinite = [u(x,t[0]) = _F1(x)], Finite = []...

This example is a system that contains mixed data:

> sys5:=[diff(f(x,y,z),x,y,y)=0,diff(f(x,y,z),x,z)=0,diff(f(x,y,z),y,z,z)=0];

sys5 := [diff(f(x,y,z),x,`$`(y,2)) = 0, diff(f(x,y,...

> initialdata(sys5);

TABLE([Infinite = [f(x,y[0],z[0]) = _F1(x), D[2](f)...
TABLE([Infinite = [f(x,y[0],z[0]) = _F1(x), D[2](f)...
TABLE([Infinite = [f(x,y[0],z[0]) = _F1(x), D[2](f)...
TABLE([Infinite = [f(x,y[0],z[0]) = _F1(x), D[2](f)...

And an example of use of initialdata with a nonlinear rif result:

> sys6:=[diff(u(x),x,x)^2*u(x)+diff(u(x),x)^3];

sys6 := [diff(u(x),`$`(x,2))^2*u(x)+diff(u(x),x)^3]...

> rif6:=rifsimp(sys6);

rif6 := TABLE([Solved = [diff(u(x),`$`(x,3)) = 1/2*...
rif6 := TABLE([Solved = [diff(u(x),`$`(x,3)) = 1/2*...
rif6 := TABLE([Solved = [diff(u(x),`$`(x,3)) = 1/2*...
rif6 := TABLE([Solved = [diff(u(x),`$`(x,3)) = 1/2*...
rif6 := TABLE([Solved = [diff(u(x),`$`(x,3)) = 1/2*...

> initialdata(rif6);

TABLE([Infinite = [], Finite = [u(x[0]) = _C1, D(u)...
TABLE([Infinite = [], Finite = [u(x[0]) = _C1, D(u)...
TABLE([Infinite = [], Finite = [u(x[0]) = _C1, D(u)...
TABLE([Infinite = [], Finite = [u(x[0]) = _C1, D(u)...

where it is understood that the selected initial data must obey the nonlinear constraint (so in truth we only have two free parameters) and must not violate the pivots (so _C3<>0 , and as a result _C2<>0 ).

See Also

caseplot , rifsimp , rtaylor