Metadata-Version: 2.1
Name: DESolver
Version: 2.1.6
Summary: Differential Equation System Solver
Home-page: https://github.com/Microno95/desolver
Author: Ekin Ozturk
Author-email: ekin.ozturk@mail.utoronto.ca
License: MIT
Keywords: ode solver,differential equation,differential system,ode system,non-linear ode
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: End Users/Desktop
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Description-Content-Type: text/markdown
Requires-Dist: numpy
Requires-Dist: tqdm
Requires-Dist: scipy (>=0.18.0)

# DESolver
This is a python package for solving Initial Value Problems using various numerical integrators.
Many integration routines are included ranging from fixed step to symplectic to adaptive integrators.

Implicit integrators are intended for release 3.0, but that's far off for now.

# To Install:
Just type
	pip install DESolver

## Implemented Integration Methods
### Adaptive Methods
#### Explicit Methods
1. Runge-Kutta 45 with Cash-Karp Coefficients
2. Adaptive Heun-Euler Method
#### Implicit Methods
**NOT YET IMPLEMENTED**
### Fixed Step Methods
#### Explicit Methods
1. Midpoint Method
2. Heun's Method
3. Euler's Method
4. Euler-Trapezoidal Method
5. BABs9o7H Method  -- Based on arXiv:1501.04345v2 - BAB's9o7H
5. ABAs5o6HA Method -- Based on arXiv:1501.04345v2 - ABAs5o6H
#### Implicit Methods
**NOT YET IMPLEMENTED**


# Minimal Working Example

This example shows the integration of a harmonic oscillator using DESolver.

``` python
import desolver as de

@de.rhs_prettifier("""[vx, x]""")
def rhs(t, state, **kwargs):
    x,vx = state

    dx  = vx
    dvx = -x

    return de.numpy.array([dx, dvx])

y_init = de.numpy.array([1., 0.])

a = de.OdeSystem(rhs, y0=y_init, dense_output=True, t=(0, 2*de.numpy.pi), dt=0.01, rtol=1e-6, atol=1e-9)

a.show_system()

a.integrate()

print(a)

print("If the integration was successful and correct, a.y[0] and a.y[-1] should be near identical.")
print(a.y[0], a.y[-1])
```


