integrate.tests.test_banded_ode_solvers

Module Contents

Functions

_band_count(a) Returns ml and mu, the lower and upper band sizes of a.
_linear_func(t,y,a) Linear system dy/dt = a * y
_linear_jac(t,y,a) Jacobian of a * y is a.
_linear_banded_jac(t,y,a) Banded Jacobian.
_solve_linear_sys(a,y0,tend=1,dt=0.1,solver=None,method=”bdf”,use_jac=True,with_jacobian=False,banded=False) Use scipy.integrate.ode to solve a linear system of ODEs.
_analytical_solution(a,y0,t) Analytical solution to the linear differential equations dy/dt = a*y.
test_banded_ode_solvers()
_band_count(a)

Returns ml and mu, the lower and upper band sizes of a.

_linear_func(t, y, a)

Linear system dy/dt = a * y

_linear_jac(t, y, a)

Jacobian of a * y is a.

_linear_banded_jac(t, y, a)

Banded Jacobian.

_solve_linear_sys(a, y0, tend=1, dt=0.1, solver=None, method="bdf", use_jac=True, with_jacobian=False, banded=False)

Use scipy.integrate.ode to solve a linear system of ODEs.

a : square ndarray
Matrix of the linear system to be solved.
y0 : ndarray
Initial condition
tend : float
Stop time.
dt : float
Step size of the output.
solver : str
If not None, this must be “vode”, “lsoda” or “zvode”.
method : str
Either “bdf” or “adams”.
use_jac : bool
Determines if the jacobian function is passed to ode().
with_jacobian : bool
Passed to ode.set_integrator().
banded : bool
Determines whether a banded or full jacobian is used. If banded is True, lband and uband are determined by the values in a.
_analytical_solution(a, y0, t)

Analytical solution to the linear differential equations dy/dt = a*y.

The solution is only valid if a is diagonalizable.

Returns a 2-d array with shape (len(t), len(y0)).

test_banded_ode_solvers()