Experimental tool to convert differential equations to DSP code

Change license to GPL3

Implement stability report; fix some bugs

Makefile: allow test target to fail

- read-only
- https://git.sr.ht/~kdsch/ode2dsp
- read/write
- git@git.sr.ht:~kdsch/ode2dsp

ode2dsp is a Python library for generating ordinary differential equation (ODE) solvers in digital signal processing (DSP) languages. It automates the tedious and error-prone symbolic calculations involved in creating a DSP model of an ODE.

- Support linear and nonlinear systems of ODEs
- Support trapezoidal and backward Euler discrete-time integral approximations
- Approximate solutions of implicit equations using Newton's method
- Render finite difference equations (FDEs) to Faust code

- Calculate stability of ODEs and FDEs at various operating conditions

Specify your system of ODEs with a SymPy expression and select an integral approximation method. ode2dsp applies this integral approximation to the ODEs, creating FDEs. The solution variables of the FDEs are solved for. If no explicit solution can be calculated, the solution is approximated in terms of a finite number of iterations of Newton's method.

- Python 3
- SymPy

We welcome patches. We are open to rendering to DSP languages other than Faust, but our ability to support them is limited.