Metadata-Version: 2.1
Name: desolver
Version: 3.0.0b4
Summary: Differential Equation System Solver
Home-page: https://github.com/Microno95/desolver
Author: Ekin Ozturk
Author-email: ekin.ozturk@mail.utoronto.ca
License: MIT
Description: # DESolver
        [![BCH compliance](https://bettercodehub.com/edge/badge/Microno95/desolver?branch=master)](https://bettercodehub.com/)
        [![Build Status](https://travis-ci.com/Microno95/desolver.svg?branch=master)](https://travis-ci.com/Microno95/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.
        
        # In Beta Development
        **3.0.0b4** - PyAudi support has been added to the module. It is now possible to do numerical integrations using `gdual` variables such as `gdual_double`, `gdual_vdouble` and `gdual_real128`.
         
        This version can be installed with `pip install desolver[pyaudi,pytorch]==3.0.0b4`
        
        # Latest Release
        **2.5.0** - Event detection has been added to the module. It is now possible to do numerical integration with terminal and non-terminal events.
         
        **2.2.0** - PyTorch backend is now implemented. It is now possible to numerically integrate a system of equations that use pytorch tensors and then compute gradients from these.
         
        **Use of PyTorch backend requires installation of PyTorch from [here](https://pytorch.org/get-started/locally/).**
        
        # 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
        6. ABAs5o6HA Method -- Based on arXiv:1501.04345v2 - ABAs5o6H
        7. Runge-Kutta 5 - The 5th order integrator from RK45 with Cash-Karp Coefficients.
        8. Runge-Kutta 4 - The 4th order integrator from RK45 with Cash-Karp Coefficients.
        #### Implicit Methods
        **NOT YET IMPLEMENTED**
        
        
        # Minimal Working Example
        
        This example shows the integration of a harmonic oscillator using DESolver.
        
        ``` python
        import desolver as de
        import desolver.backend as D
        
        @de.rhs_prettifier("""[vx, x]""")
        def rhs(t, state, **kwargs):
            x,vx = state
        
            dx  = vx
            dvx = -x
        
            return D.array([dx, dvx])
        
        y_init = D.array([1., 0.])
        
        a = de.OdeSystem(rhs, y0=y_init, dense_output=True, t=(0, 2*D.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[0].y and a[-1].y should be near identical.")
        print(a[0].y, a[-1].y)
        ```
        
Keywords: ode solver,differential equation,differential system,ode system,non-linear ode
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
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 :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Description-Content-Type: text/markdown
Provides-Extra: pyaudi
Provides-Extra: pytorch
