Skip to main content

Scipy-based Delay Differential Equations solver

Project description

ddeint

PyPI Tests Changelog

Scipy-based delay differential equation (DDE) solver. See the docstrings and examples for more infos.

Examples

from pylab import cos, linspace, subplots
from ddeint import ddeint

# We solve the following system:
# Y(t) = 1 for t < 0
# dY/dt = -Y(t - 3cos(t)**2) for t > 0

def values_before_zero(t):
    return 1

def model(Y, t):
    return -Y(t - 3 * cos(Y(t)) ** 2)

tt = linspace(0, 30, 2000)
yy = ddeint(model, values_before_zero, tt)

fig, ax = subplots(1, figsize=(4, 4))
ax.plot(tt, yy)
ax.figure.savefig("variable_delay.jpeg")

screenshot

from pylab import array, linspace, subplots
from ddeint import ddeint

# We solve the following system:
# X(t) = 1 (t < 0)
# Y(t) = 2 (t < 0)
# dX/dt = X * (1 - Y(t-d)) / 2
# dY/dt = -Y * (1 - X(t-d)) / 2


def model(Y, t, d):
    x, y = Y(t)
    xd, yd = Y(t - d)
    return array([0.5 * x * (1 - yd), -0.5 * y * (1 - xd)])


g = lambda t: array([1, 2])
tt = linspace(2, 30, 20000)

fig, ax = subplots(1, figsize=(4, 4))

for d in [0, 0.2]:
    print("Computing for d=%.02f" % d)
    yy = ddeint(model, g, tt, fargs=(d,))
    # WE PLOT X AGAINST Y
    ax.plot(yy[:, 0], yy[:, 1], lw=2, label="delay = %.01f" % d)

ax.figure.savefig("lotka.jpeg")

screenshot

Licence

Public domain. Everyone is welcome to contribute !

Installation

ddeint can be installed by unzipping the source code in one directory and using this command: ::

(sudo) python setup.py install

You can also install it directly from the Python Package Index with this command: ::

(sudo) pip install ddeint 

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ddeint-0.3.0.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

ddeint-0.3.0-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file ddeint-0.3.0.tar.gz.

File metadata

  • Download URL: ddeint-0.3.0.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for ddeint-0.3.0.tar.gz
Algorithm Hash digest
SHA256 51dd96545e06750037b25329880896d9408940a67a6228d0a07a82c38e33710f
MD5 1796df8caad35de1f45a59f1071b029b
BLAKE2b-256 ce06094f64e440a9d9f14ebf9d1c3fdd9637b2bbc0709fe3cc2196bcd6f78ad9

See more details on using hashes here.

File details

Details for the file ddeint-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: ddeint-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 6.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for ddeint-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 44c5cbb447069539ae5d03b245738724da6575bb0388d99261dabc0f8e162841
MD5 74d25604a31821a3850626f84e93c994
BLAKE2b-256 1def6303681fdc6cf3b72d0b158ea9b18480a1ebc3fab16605a243112725fa68

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page