Python package for stochastic simulations
Project description
Stochastic Simulation Algorithms in Python
Introduction
pyssa is a Python package for stochastic simulations. It offers a simple api to define models, perform stochastic simulations on them and visualize the results in a convenient manner.
Install
Install with pip:
$ pip install pyssa
Documentation
- General: https://pyssa.readthedocs.io.
Usage
from pyssa.simulation import Simulation
sim = Simulation(V_r, V_p, X0, k)
sim.simulate(max_t=150, max_iter=1000, chem_flag=True, n_rep=10)
You can change the algorithm used to perform the simulation by changing the algorithm flag
sim.simulate(max_t=150, max_iter=1000, chem_flag=True, n_rep=10, algorithm="tau_leaping")
Plotting
sim.plot()
Accessing the results
results = sim.results
You can also access the final states of all the simulation runs by
final_times, final_states = results.final
Benchmarks
We chose numba after extensive testing and benchmarking against python and cython implementations.
| Name (time in ms) | Min | Max | Mean | StdDev | Median | IQR | Outliers | OPS | Rounds | Iterations |
|---|---|---|---|---|---|---|---|---|---|---|
| test_numba_benchmark | 314.1758 (1.0) | 342.9915 (1.0) | 322.9318 (1.0) | 11.4590 (1.0) | 318.7983 (1.0) | 9.1533 (1.0) | 1;1 | 3.0966 (1.0) | 5 | 1 |
| test_cy_benchmark | 17,345.7698 (55.21) | 19,628.3931 (57.23) | 18,255.3931 (56.53) | 862.4711 (75.27) | 18,148.9358 (56.93) | 1,030.3676 (112.57) | 2;0 | 0.0548 (0.02) | 5 | 1 |
| test_py_benchmark | 27,366.3681 (87.11) | 28,417.8333 (82.85) | 27,782.2482 (86.03) | 387.2758 (33.80) | 27,728.4224 (86.98) | 347.3891 (37.95) | 2;0 | 0.0360 (0.01) | 5 | 1 |
License
Copyright (c) 2018, Dileep Kishore, Srikiran Chandrasekaran. Released under: Apache Software License 2.0
Credits
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file pyssa-0.6.0.tar.gz.
File metadata
- Download URL: pyssa-0.6.0.tar.gz
- Upload date:
- Size: 73.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e4d19db4d48f645616a40afbcc4be23ca95c0436a0a9a9d200c123c958bcf95
|
|
| MD5 |
91b1bd5ea156d763b7cbfc6731473db8
|
|
| BLAKE2b-256 |
29af874de26f959f8cf87ca1002cff22b8352dc11b74d738cf7acc5a89e89994
|