Closed-Form Solutions of Linear Differential Equations
A differential equation is an equation involving an unknown function and
one or more of its derivatives. The equation is called ordinary if
derivatives with respect to only one dependent variable appear in the
equation (it is called partial otherwise). The package
ElementaryFunctionODESolver
provides the top-level operation
solve for finding closed-form solutions of
ordinary differential equations.
To solve a differential equation, you must first create an operator for the
unknown function. We let y be the unknown function in terms of x.
You then type the equation using D to create the
derivatives of the unknown function y(x) where x is any symbol you choose
(the so-called dependent variable). This is how you enter the equation
y'' + y' + y = 0
The simplest way to invoke the solve command
is with three arguments,
- the differential equation
- the operator representing the unknown function
- the dependent variable
So, to solve the above equation, we enter this.
Since linear ordinary differential equations have infinitely many solutions,
solve returns a particular solution f_p and
a basis f1,..fn for the solutions of the corresponding homogeneous equation.
Any expression of the form fp+c1 f1+...+cn fn where the ci do not involve the
dependent variable is also a solution. This is similar to what you get when
you solve systems of linear algebraic equations.
A way to select a unique solution is to specify initial conditions: choose a
value a for the dependent variable and specify the values of the unknown
function and its derivatives at a. If the number of initial conditions is
equal to the order of the equation, then the solution is unique (if it exists
in closed form) and solve tries to find it. To
specify initial conditions to solve, use an
Equation of the form x=a for the third
parameter instead of the dependent variable, and add a fourth parameter
consisting of the list of values y(a), y'(a), ...
To find the solution of y''+y=0 satisfying y(0)=y'(0)=1, do this.
You can omit the "=0" when you enter the equation to be solved.
Axiom is not limited to linear differential equations with constant
coefficients. It can also find solutions when the coefficients are
rational or algebraic functions of the dependent variable. Furthermore,
Axiom is not limited by the order of the equation. Axiom can solve the
following thrid order equations with polynomial coefficients.
On the other hand, and in contrast with the operation
integrate it can happen that Axiom finds
no solution and that some closed-form solution still exists. While it is
mathematically complicated to describe exactly when the solutions are
guaranteed to be found, the following statements are correct and form
good guidelines for linear ordinary differential equations.
- If the coefficients are constants, Axiom finds a complete basis of
solutions (i.e. all solutions).
- If the coefficients are rational functions in the dependent variable,
Axiom ast least finds all solutions that do not involve algebraic
functions.
Note that this last statement does not mean that Axiom does not find the
solutions that are algebraic functions. It means that it is not guaranteed
that the algebraic function solutions will be found. This is an example
where all the algebraic solutions are found.