Skip to main content

Simulation of population dynamics

Project description

popdyn

Library for simulation of population dynamics.

Allows to simulate the interaction between specific groups in a population, calculating the amount of members for each group along the time. The transitions between groups are defined using probabilistic rules, and the result is obtained through the solution of the differential equations involved in the process.

Installing

pip3 install popdyn

Using the library

Let's dive in a simple example to see how it works.

First step is define the model, for this example the SIR model.

from popdyn import Model, Transition

# storage in a dict the ID and the initial population for each group
groups = {
    'S': 1000000,
    'I': 10000,
    'R': 5000
}

# intialize the model
sir = Model(list(groups.keys()))

# add transitions between groups
sir['S', 'I'] = Transition(0.0561215, 'S', 'I', N=True)
sir['I', 'R'] = Transition(0.0455331, 'I')

If we print the model, we can see the transitions for each group (N is the total population):

>>> print(sir)
S -> {'I': 0.0561215 * S * I / N^1}
I -> {'R': 0.0455331 * I}
R -> {}

Once ready the model, we can simulate the behavior of the groups in a period of time using one of the available solvers: stochastic or ode.

results = sir.solve(t=100, initial_pop=list(groups.values()), solver='stochastic')

Getting in results a dictionary with a key 'time' and a key for each group with the population at every time point.

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

popdyn-0.4.0.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

popdyn-0.4.0-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

Details for the file popdyn-0.4.0.tar.gz.

File metadata

  • Download URL: popdyn-0.4.0.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.5

File hashes

Hashes for popdyn-0.4.0.tar.gz
Algorithm Hash digest
SHA256 6c7136013c32e20ebf5a8d196ec2150c513e0ce58dd97d5bda1c77658a2498f1
MD5 de60a5d69f299d411d31d3d56aea603a
BLAKE2b-256 972e289049fb054e43eacb33ed76172ecb215df34d3560684f9ae779fa107bf8

See more details on using hashes here.

File details

Details for the file popdyn-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: popdyn-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 5.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.5

File hashes

Hashes for popdyn-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 51ee030cbd4e6872e67a112661521a19e4686586af8e9553e7290f44f47ec53b
MD5 260b5d5887e13440c9cc2e1ff8945a2a
BLAKE2b-256 26a5f5ce155a1f1846ade12202c6219e56916264e260c4ef7beef3b3f6958a19

See more details on using hashes here.

Supported by

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