DEtools
IVPsol
specializes ODE solutions to match given initial or boundary conditions
Calling Sequence
Parameters
Description
Examples
IVPsol(ics, sol)
ics
-
a set or list of initial or boundary conditions for an ODE problem. This value can include the ODE itself.
sol
a solution of the form y(x) = ... where the lhs is the unknown of the ODE problem
The IVPsol command specializes the integration constants of the form _Cn (where n is an integer) by entering the given solution sol to match the given initial or boundary conditions ics.
This command is part of the DEtools package, and so it can be used in the form IVPsol(..) after executing the command with(DEtools). However, it can always be accessed through the long form of the command by using DEtools[IVPsol](..).
with⁡DEtools:
ode1≔x⁢diff⁡y⁡x,x,x+4⁢y⁡x2=0
ode1≔x⁢ⅆ2ⅆx2y⁡x+4⁢y⁡x2=0
A general solution for ode[1] is not known. Therefore, in principle, it would be not possible to solve an initial value problem that contains it, for example, by using the following initial conditions.
ic1≔y⁡1=−12,D⁡y⁡1=12
However, suppose that you find a solution for ode[1] that has been computed by another means, for example
sol1≔y⁡x=_C12⁢x
You can pass the initial conditions and the solution directly to the DEtools[IVPsol] command.
DEtoolsIVPsol⁡ic1,sol1
y⁡x=−12⁢x
For the following example, the general solution of the ODE involves the inverse of an elliptic integral, represented by the elliptic function JacobiSN.
ode2≔diff⁡y⁡x,x,x−2⁢y⁡x3=0
ode2≔ⅆ2ⅆx2y⁡x−2⁢y⁡x3=0
gensol2≔dsolve⁡ode2
gensol2≔y⁡x=c__2⁢JacobiSN⁡I⁢x+c__1⁢c__2,I
Consider the following initial conditions for ode[2]:
ic2≔y⁡0=1,D⁡y⁡0=1
When solving the complete ODE-IVP, instead of directly using the general solution gensol[2], dsolve first searches for symmetries from where a particular solution could be computed. The computed solution could be easier to specialize to satisfy the given conditions y(0) = 1, D(y)(0) = 1, resulting in the following ODE-IVP solution.
dsolve⁡ode2,ic2
y⁡x=−1−1+x
If you use the following command to view the results of trying to specialize the general solution gensol[2], instead of using a short-hand form for the process using symmetries, the following results are returned. This is the solution returned in Maple 12.
DEtoolsIVPsol⁡ic2,gensol2
y⁡x=RootOf⁡I⁢_Z2⁢JacobiCN⁡InverseJacobiSN⁡1_Z,I,I⁢JacobiDN⁡InverseJacobiSN⁡1_Z,I,I−1⁢JacobiSN⁡I⁢x+InverseJacobiSN⁡1RootOf⁡I⁢_Z2⁢JacobiCN⁡InverseJacobiSN⁡1_Z,I,I⁢JacobiDN⁡InverseJacobiSN⁡1_Z,I,I−1,IRootOf⁡I⁢_Z2⁢JacobiCN⁡InverseJacobiSN⁡1_Z,I,I⁢JacobiDN⁡InverseJacobiSN⁡1_Z,I,I−1⁢RootOf⁡I⁢_Z2⁢JacobiCN⁡InverseJacobiSN⁡1_Z,I,I⁢JacobiDN⁡InverseJacobiSN⁡1_Z,I,I−1,I
Yet another general solution, involving elliptic integrals themselves, is obtained using Lie symmetry methods to compute it; this is the solution returned in Maple 11 and earlier. It can also be specialized.
gensol2.1≔dsolve⁡ode2,Lie,explicit
gensol2.1≔y⁡x=RootOf⁡−∫` `_Z1_f4+c__1ⅆ_f+x+c__2,y⁡x=RootOf⁡∫` `_Z1_f4+c__1ⅆ_f+x+c__2
DEtoolsIVPsol⁡ic2,gensol2.11
y⁡x=RootOf⁡∫_Z11_f4ⅆ_f+x
As illustrated, the solution returned by dsolve without extra arguments (that is, dsolve([ode[2], ic[2]])) is the simplest one. This solution is obtained by first computing a particular solution from the symmetries (see DEtools,particularsol).
partsol2≔DEtoolsparticularsol⁡ode22
partsol2≔y⁡x=1−x+c__1
This particular solution, which depends on only one arbitrary constant c__1, can also be specialized.
DEtoolsIVPsol⁡ic2,partsol2
y⁡x=11−x
See Also
dsolve
dsolve, Lie
Download Help Document