Function Repository Resource:

FrobeniusPiecewiseDSolveFormula

Source Notebook

An auxiliary function for the resource function FrobeniusPiecewiseDSolve

Contributed by: Rauan Kaldybayev

ResourceFunction["FrobeniusPiecewiseDSolveFormula"][eqn,u,x,x0]

compute the formula for a piecewise Frobenius solution to a differential equation for the function u, with independent variable x.

Details

The output is a formula to be fed into the resource function FrobeniusPiecewiseDSolve, which can in turn be used to solve ODEs.
The output of ResourceFunction["FrobeniusPiecewiseDSolveFormula"] doesn’t make much sense to a human and instead is meant to be fed into the resource function FrobeniusPiecewiseDSolve, which will in turn compute an actual solution.
When solving an ODE, the resource function FrobeniusPiecewiseDSolve first utilizes ResourceFunction["FrobeniusPiecewiseDSolveFormula"] to compute a formula for the solution. The formula is then used to calculate the approximate solutions. When a single ODE is to be solved many times with different parameters, computation time can be significantly reduced by computing the formula separately, using ResourceFunction["FrobeniusPiecewiseDSolveFormula"].
The function can solve linear homogeneous ODEs with polynomial coefficients.
Frobenius series solutions are quick to compute and very accurate. However, they generally only have a finite convergence radius, which limits their applications. This issue can be overcome with the introduction of the piecewise Frobenius method, which solves ODEs by "gluing" several series solutions together under the condition of continuity.
Read more about the working principle of the function in the related Wolfram Community post.

Examples

Basic Examples (1) 

Compute the formula for a piecewise Frobenius solution to the ODE 7x(x+3)y'-3y=0 near the regular singular point x=0:

In[1]:=
ResourceFunction["FrobeniusPiecewiseDSolveFormula"][
 7 x (x + 3) y'[x] - 3 y[x] == 0, y, x, 0]
Out[1]=

Scope (1) 

The function works with complex numbers:

In[2]:=
ResourceFunction[
 "FrobeniusPiecewiseDSolveFormula"][\[Psi]'[t] == I \[Psi][t], \[Psi], t, 0]
Out[2]=

Properties and Relations (1) 

The resource function FrobeniusPiecewiseDSolve first computes a formula and then uses it to calculate the solution. FrobeniusPiecewiseDSolveFormula allows us to compute the formula separately, which can help significantly reduce computation time when an ODE is to be solved repeatedly:

In[3]:=
Block[{eqn = (2 x^2 (x + 3)^2 y''[x] + 7 x (x + 3) y'[x] - 3 y[x] == 0), Xmin = 0, Xmax = 6, formula},
 	formula = ResourceFunction["FrobeniusPiecewiseDSolveFormula"][eqn, y, x, 0];
 	{
  		1000 First@
    RepeatedTiming@
     ResourceFunction["FrobeniusPiecewiseDSolve"][eqn, y, x, 0, {Xmin, Xmax}],
  		1000 First@
    RepeatedTiming@
     ResourceFunction["FrobeniusPiecewiseDSolve"][x, 0, {Xmin, Xmax}, formula]
  	}
 ]
Out[3]=

Publisher

Wolfram Summer Camp

Version History

  • 1.0.0 – 22 April 2021

Source Metadata

Related Resources

License Information