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.