desolver

A Python library for solving Initial Value Problems using various numerical integration methods.

https://github.com/microno95/desolver

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    3 of 5 committers (60.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.2%) to scientific vocabulary

Keywords

initial-value-problem numerical-integrators numerical-methods numpy ode ordinary-differential-equations python pytorch
Last synced: 6 months ago · JSON representation

Repository

A Python library for solving Initial Value Problems using various numerical integration methods.

Basic Info
  • Host: GitHub
  • Owner: Microno95
  • License: other
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 8.93 MB
Statistics
  • Stars: 18
  • Watchers: 2
  • Forks: 4
  • Open Issues: 1
  • Releases: 1
Topics
initial-value-problem numerical-integrators numerical-methods numpy ode ordinary-differential-equations python pytorch
Created about 10 years ago · Last pushed 10 months ago
Metadata Files
Readme Changelog License

README.rst

DESolver
========


.. image:: https://github.com/Microno95/desolver/actions/workflows/pytest-ubuntu.yml/badge.svg
   :target: https://github.com/Microno95/desolver/actions/workflows/pytest-ubuntu.yml
   :alt: Build Status

.. image:: https://readthedocs.org/projects/desolver/badge/?version=latest
    :target: https://desolver.readthedocs.io/en/latest/?badge=latest
    :alt: Documentation Status

.. image:: https://codecov.io/gh/Microno95/desolver/branch/master/graph/badge.svg
   :target: https://codecov.io/gh/Microno95/desolver
   :alt: codecov


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.

Documentation
=============

Documentation is now available at `desolver docs `_! This will be updated with new examples as they are written.

To Install:
===========

Just type

``pip install desolver``

Use of PyTorch backend requires installation of PyTorch from `here `_.

Minimal Working Example
=======================

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

.. code-block:: python

   import desolver as de
   import desolver.backend as D

   def rhs(t, state, k, m, **kwargs):
       return D.array([[0.0, 1.0], [-k/m,  0.0]])@state

   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-9, atol=1e-9, constants=dict(k=1.0, m=1.0))

   print(a)

   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  = {}".format(a[0].y))
   print("a[-1].y = {}".format(a[-1].y))

   print("Maximum difference from initial state after one oscillation cycle: {}".format(D.max(D.abs(a[0].y-a[-1].y))))

Owner

  • Name: Ekin Ozturk
  • Login: Microno95
  • Kind: user
  • Location: London, UK
  • Company: Imperial College London

PhD in Computer Graphics at Imperial College London

GitHub Events

Total
  • Release event: 1
  • Watch event: 2
  • Delete event: 23
  • Issue comment event: 6
  • Push event: 75
  • Pull request event: 9
  • Create event: 23
Last Year
  • Release event: 1
  • Watch event: 2
  • Delete event: 23
  • Issue comment event: 6
  • Push event: 75
  • Pull request event: 9
  • Create event: 23

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 439
  • Total Committers: 5
  • Avg Commits per committer: 87.8
  • Development Distribution Score (DDS): 0.351
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Ekin Ozturk e****k@m****a 285
Ekin Ozturk e****k@e****t 139
Microno95 e****k@g****m 6
Ekin Ozturk e****7@i****k 5
Microno95 –****k@m****a 4
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 1
  • Total pull requests: 12
  • Average time to close issues: 7 days
  • Average time to close pull requests: 4 days
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 3.0
  • Average comments per pull request: 0.75
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 12
  • Average time to close issues: N/A
  • Average time to close pull requests: 4 days
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.75
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • octaviodario (1)
Pull Request Authors
  • Microno95 (12)
Top Labels
Issue Labels
Pull Request Labels
feature (4) bug (2) enhancement (2) documentation (2)

Dependencies

docs/requirements.txt pypi
  • coverage *
  • ipython *
  • nbsphinx *
  • numpy >=1.18.0
  • pandoc >=1.0.2
  • pytest >=5.4.3
  • pytest-cov >=2.10.0
  • pytest-xdist >=1.32.0
  • scipy >=1.4.1
  • stanford_theme *
  • tqdm >=4.47.0
requirements.txt pypi
  • coverage *
  • numpy >=1.18.0
  • pytest >=5.4.3
  • pytest-cov >=2.10.0
  • pytest-xdist >=1.32.0
  • scipy >=1.4.1
  • tqdm >=4.47.0
.github/workflows/pytest-ubuntu.yml actions
  • actions/checkout v4 composite
  • actions/checkout master composite
  • actions/download-artifact v4 composite
  • actions/setup-python v5 composite
  • actions/setup-python v1 composite
  • actions/upload-artifact v4 composite
  • astral-sh/setup-uv v5 composite
  • codecov/codecov-action 13ce06bfc6bbe3ecf90edbbf1bc32fe5978ca1d3 composite
  • conda-incubator/setup-miniconda 505e6394dae86d6a5c7fbb6e3fb8938e3e863830 composite
  • pypa/gh-action-pypi-publish release/v1 composite
build-requirements.txt pypi
  • hatch *
pyproject.toml pypi
  • numpy >=1.18
  • scipy >=1.4.1
  • tqdm >=4.47.0