Standard Problems Module

Contents

modespy.std_problems.Problem

Members

This module defines various standard problems from the literature, commonly used as benchmarks for different ODE methods.

Equations, descriptions, limits, etc for each problem are stored together in a Problem dataclass. All problems are stored in the module-wide constant PROBLEMS.

At present standard problems include:

  • Non-Stiff:

    • Lotka-Volterra

    • Pleiades

  • Stiff:

    • HIRES

    • Pollution

  • Both:

    • Butterfly

Future

  • More standard problems can be included.

class modespy.std_problems.Problem(equation: Callable[[float, Sequence[float]], Sequence[float]], jacobian: Callable[[float, Sequence[float]], Sequence[float]] | None = None, analytic: Callable[[float, Sequence[float]], Sequence[float]] | None = None, default_t: Tuple[float, float] | None = None, default_y0: Sequence[float] | None = None, description: str | None = None)

Bases: object

__init__(equation: Callable[[float, Sequence[float]], Sequence[float]], jacobian: Callable[[float, Sequence[float]], Sequence[float]] | None = None, analytic: Callable[[float, Sequence[float]], Sequence[float]] | None = None, default_t: Tuple[float, float] | None = None, default_y0: Sequence[float] | None = None, description: str | None = None) None
analytic: Callable[[float, Sequence[float]], Sequence[float]] | None = None
default_t: Tuple[float, float] | None = None
default_y0: Sequence[float] | None = None
description: str | None = None
equation: Callable[[float, Sequence[float]], Sequence[float]]
jacobian: Callable[[float, Sequence[float]], Sequence[float]] | None = None
modespy.std_problems.butterfly_jac(t: float, y: Sequence[float])
modespy.std_problems.butterfly_rhs(t: float, y: Sequence[float])
modespy.std_problems.butterfly_sol(t)
modespy.std_problems.hires_jac(t, y)
modespy.std_problems.hires_rhs(t, y)
modespy.std_problems.lotka_jac(t, y)
modespy.std_problems.lotka_rhs(t, y)
modespy.std_problems.pleiades_rhs(t, y)
modespy.std_problems.pollution_jac(t, y)
modespy.std_problems.pollution_rhs(t, y)