Metadata-Version: 2.1
Name: pyodeint
Version: 0.9.5
Summary: Python binding for odeint from boost.
Home-page: https://github.com/bjodah/pyodeint
Author: Björn Dahlgren
Author-email: bjodah@DELETEMEgmail.com
License: BSD
Description: pyodeint
        ========
        
        .. image:: http://hera.physchem.kth.se:9090/api/badges/bjodah/pyodeint/status.svg
           :target: http://hera.physchem.kth.se:9090/bjodah/pyodeint
           :alt: Build status
        .. image:: https://circleci.com/gh/bjodah/pyodeint.svg?style=svg
           :target: https://circleci.com/gh/bjodah/pyodeint
           :alt: Build status on CircleCI
        .. image:: https://secure.travis-ci.org/bjodah/pyodeint.svg?branch=master
           :target: http://travis-ci.org/bjodah/pyodeint
           :alt: Build status on Travis-CI
        .. image:: https://img.shields.io/pypi/v/pyodeint.svg
           :target: https://pypi.python.org/pypi/pyodeint
           :alt: PyPI version
        .. image:: https://img.shields.io/pypi/l/pyodeint.svg
           :target: https://github.com/bjodah/pyodeint/blob/master/LICENSE
           :alt: License
        .. image:: http://hera.physchem.kth.se/~pyodeint/branches/master/htmlcov/coverage.svg
           :target: http://hera.physchem.kth.se/~pyodeint/branches/master/htmlcov
           :alt: coverage
        .. image:: https://zenodo.org/badge/41257136.svg
           :target: https://zenodo.org/badge/latestdoi/41257136
        
        `pyodeint <https://github.com/bjodah/pyodeint>`_ provides a
        `Python <http://www.python.org>`_ binding to `odeint <http://www.odeint.com>`_.
        Currently, the following steppers are exposed:
        
        - ``rosenbrock4``: 4th order Rosenbrock (implicit multistep) stepper
        - ``dopri5``: 5th order DOPRI5 (explicit runge-kutta)
        - ``bs``: Bulirsch-Stoer stepper (modified midpoint rule).
        
        The Rosenbrock4 stepper requires that the user provides a routine for
        calculating the Jacobian.
        
        You may also want to know that you can use ``pyodeint`` from
        `pyodesys <https://github.com/bjodah/pyodesys>`_
        which can e.g. derive the Jacobian analytically for you (pyodesys also provides
        plotting functions, C++ code-generation and more).
        
        Documentation
        -------------
        Autogenerated API documentation for latest stable release is found here:
        `<https://bjodah.github.io/pyodeint/latest>`_
        (and the development version for the current master branch are found here:
        `<http://hera.physchem.kth.se/~pyodeint/branches/master/html>`_).
        
        
        Installation
        ------------
        Simplest way to install is to use the `conda package manager <http://conda.pydata.org/docs/>`_:
        
        ::
        
           $ conda install -c bjodah pyodeint pytest
           $ python -m pytest --pyargs pyodeint
        
        tests should pass.
        
        Binary distribution is available here:
        `<https://anaconda.org/bjodah/pyodeint>`_
        
        Source distribution is available here:
        `<https://pypi.python.org/pypi/pyodeint>`_
        
        here is an example of how to build from source::
        
           $ CPLUS_INCLUDE_PATH=~/Downloads/boost_1_63_0 python3 setup.py build_ext -i
        
        
        Examples
        --------
        The classic van der Pol oscillator (see `examples/van_der_pol.py <examples/van_der_pol.py>`_)
        
        .. code:: python
        
           >>> from pyodeint import integrate_adaptive  # also: integrate_predefined
           >>> mu = 1.0
           >>> def f(t, y, dydt):
           ...     dydt[0] = y[1]
           ...     dydt[1] = -y[0] + mu*y[1]*(1 - y[0]**2)
           ... 
           >>> def j(t, y, Jmat, dfdt, fy=None):
           ...     Jmat[0, 0] = 0
           ...     Jmat[0, 1] = 1
           ...     Jmat[1, 0] = -1 -mu*2*y[1]*y[0]
           ...     Jmat[1, 1] = mu*(1 - y[0]**2)
           ...     dfdt[0] = 0
           ...     dfdt[1] = 0
           ...
           >>> y0 = [1, 0]; tend=10.0; dt0=1e-8; t0=0.0; atol=1e-8; rtol=1e-8
           >>> tout, yout, info = integrate_adaptive(f, j, y0, t0, tend, dt0, atol, rtol,
           ...                                       method='rosenbrock4', nsteps=1000)
           >>> import matplotlib.pyplot as plt
           >>> series = plt.plot(tout, yout)
           >>> plt.show()  # doctest: +SKIP
        
        
        .. image:: https://raw.githubusercontent.com/bjodah/pyodeint/master/examples/van_der_pol.png
        
        For more examples see `examples/ <https://github.com/bjodah/pyodeint/tree/master/examples>`_, and rendered jupyter notebooks here:
        `<http://hera.physchem.kth.se/~pyodeint/branches/master/examples>`_
        
        See also
        --------
        `pyodesys <https://github.com/bjodah/pyodesys>`_ for how to automatically
        generate the jacobian callback function (and easily swtich to other solvers).
        
        License
        -------
        The source code is Open Source and is released under the very permissive
        "simplified (2-clause) BSD license". See ``LICENSE`` for further details.
        Contributors are welcome to suggest improvements at https://github.com/bjodah/pyodeint
        
        Author
        ------
        Björn I. Dahlgren, contact:
        
        - gmail address: bjodah
        - kth.se address: bda
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Mathematics
Provides-Extra: docs
