sisyphe


Namesisyphe JSON
Version 1.2.1 PyPI version JSON
download
home_pagehttps://sisyphe.readthedocs.io
SummarySimulation of Systems of interacting mean-field Particles with High Efficiency
upload_time2023-10-28 07:19:18
maintainer
docs_urlNone
authorAntoine Diez
requires_python>=3
license
keywords particles gpu self-organization swarming mean-field
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Simulation of Systems of interacting mean-field Particles with High Efficiency

<p align="center">
<img src="./doc/_static/ball.png" alt="logo" width="224"/>
</p>

Please visit the [website](https://sisyphe.readthedocs.io/en/latest/) for a full documentation.

------------------------------------------------------------------------------------------------


The SiSyPHE library builds on recent advances in hardware and software for the efficient simulation of **large scale interacting particle systems**, both on the **GPU** and on the CPU. The implementation is based on recent libraries originally developed for machine learning purposes to significantly accelerate tensor (array) computations, namely the [PyTorch](https://github.com/pytorch/pytorch) package and the [KeOps](https://www.kernel-operations.io/keops/index.html) library. The **versatile object-oriented Python interface** is well suited to the comparison of new and classical many-particle models, enabling ambitious numerical experiments and leading to novel conjectures. The SiSyPHE library speeds up both traditional Python and low-level implementations by **one to three orders of magnitude** for systems with up to **several millions** of particles. 

<p align="center">
<img src="./doc/_static/mill.gif" alt="mill">
</p>

## Citation 

If you use SiSyPHE in a research paper, please cite the [JOSS publication](https://joss.theoj.org/papers/10.21105/joss.03653#) :

```
@article{Diez2021,
  doi = {10.21105/joss.03653},
  url = {https://doi.org/10.21105/joss.03653},
  year = {2021},
  publisher = {The Open Journal},
  volume = {6},
  number = {65},
  pages = {3653},
  author = {Antoine Diez},
  title = {`SiSyPHE`: A Python package for the Simulation of Systems of interacting mean-field Particles with High Efficiency},
  journal = {Journal of Open Source Software}
}
```

Diez, A., (2021). SiSyPHE: A Python package for the Simulation of Systems of interacting mean-field Particles with High Efficiency. Journal of Open Source Software, 6(65), 3653, https://doi.org/10.21105/joss.03653

[![DOI](https://joss.theoj.org/papers/10.21105/joss.03653/status.svg)](https://doi.org/10.21105/joss.03653)

## Installation 

### Requirements

- **Python 3** with packages **NumPy** and **SciPy** 
- **PyTorch** : version>= 1.5
- **PyKeops** : version>= 1.5

### Using pip

In a terminal, type:

```
pip install sisyphe
```
    
### On Google Colab

The easiest way to get a working version of SiSyPHE is to use the free virtual machines provided by [Google Colab](https://colab.research.google.com).

1. On a new Colab notebook, navigate to Edit→Notebook Settings and select GPU from the Hardware Accelerator drop-down.

2. Install PyKeops with the Colab specifications **first** by typing

```    
!pip install pykeops[colab]
```

3. Install SiSyPHE by typing 

```
!pip install sisyphe
```    

### Testing the installation

In a Python terminal, type 

```python
import sisyphe
sisyphe.test_sisyphe()
```    

<p align="center">
<img src="./doc/_static/band.gif" alt="band">
</p>   

## Contributing

Contributions to make SiSyPHE grow are warmly welcome! Examples of possible (and ongoing) developments include the following. 

* The implementation of new models.

* The implementation of more complex boundary conditions and of models on *non-flat* manifolds. 

* An improved visualization method (currently only basic visualization functions relying on [Matplotlib](https://matplotlib.org/) are implemented). 

Contributions can be made by opening an issue on the GitHub repository, via a pull request or by contacting directly the author.  


## Author

- [Antoine Diez](https://antoinediez.gitlab.io), Imperial College London 

### Acknowledgments

The development of this library would not have been possible without the help of [Jean Feydy](https://www.jeanfeydy.com/), his constant support and precious advice. This project was initiated by [Pierre Degond](https://sites.google.com/site/degond/) and has grown out of many discussions with him. 

            

Raw data

            {
    "_id": null,
    "home_page": "https://sisyphe.readthedocs.io",
    "name": "sisyphe",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3",
    "maintainer_email": "",
    "keywords": "particles gpu self-organization swarming mean-field",
    "author": "Antoine Diez",
    "author_email": "antoine.diez18@imperial.ac.uk",
    "download_url": "https://files.pythonhosted.org/packages/73/44/573dcff27e8aef6c7fb1dab5ea96ee51ed0e29e9ddb0996c7a0e24be7905/sisyphe-1.2.1.tar.gz",
    "platform": null,
    "description": "# Simulation of Systems of interacting mean-field Particles with High Efficiency\n\n<p align=\"center\">\n<img src=\"./doc/_static/ball.png\" alt=\"logo\" width=\"224\"/>\n</p>\n\nPlease visit the [website](https://sisyphe.readthedocs.io/en/latest/) for a full documentation.\n\n------------------------------------------------------------------------------------------------\n\n\nThe SiSyPHE library builds on recent advances in hardware and software for the efficient simulation of **large scale interacting particle systems**, both on the **GPU** and on the CPU. The implementation is based on recent libraries originally developed for machine learning purposes to significantly accelerate tensor (array) computations, namely the [PyTorch](https://github.com/pytorch/pytorch) package and the [KeOps](https://www.kernel-operations.io/keops/index.html) library. The **versatile object-oriented Python interface** is well suited to the comparison of new and classical many-particle models, enabling ambitious numerical experiments and leading to novel conjectures. The SiSyPHE library speeds up both traditional Python and low-level implementations by **one to three orders of magnitude** for systems with up to **several millions** of particles. \n\n<p align=\"center\">\n<img src=\"./doc/_static/mill.gif\" alt=\"mill\">\n</p>\n\n## Citation \n\nIf you use SiSyPHE in a research paper, please cite the [JOSS publication](https://joss.theoj.org/papers/10.21105/joss.03653#) :\n\n```\n@article{Diez2021,\n  doi = {10.21105/joss.03653},\n  url = {https://doi.org/10.21105/joss.03653},\n  year = {2021},\n  publisher = {The Open Journal},\n  volume = {6},\n  number = {65},\n  pages = {3653},\n  author = {Antoine Diez},\n  title = {`SiSyPHE`: A Python package for the Simulation of Systems of interacting mean-field Particles with High Efficiency},\n  journal = {Journal of Open Source Software}\n}\n```\n\nDiez, A., (2021). SiSyPHE: A Python package for the Simulation of Systems of interacting mean-field Particles with High Efficiency. Journal of Open Source Software, 6(65), 3653, https://doi.org/10.21105/joss.03653\n\n[![DOI](https://joss.theoj.org/papers/10.21105/joss.03653/status.svg)](https://doi.org/10.21105/joss.03653)\n\n## Installation \n\n### Requirements\n\n- **Python 3** with packages **NumPy** and **SciPy** \n- **PyTorch** : version>= 1.5\n- **PyKeops** : version>= 1.5\n\n### Using pip\n\nIn a terminal, type:\n\n```\npip install sisyphe\n```\n    \n### On Google Colab\n\nThe easiest way to get a working version of SiSyPHE is to use the free virtual machines provided by [Google Colab](https://colab.research.google.com).\n\n1. On a new Colab notebook, navigate to Edit\u2192Notebook Settings and select GPU from the Hardware Accelerator drop-down.\n\n2. Install PyKeops with the Colab specifications **first** by typing\n\n```    \n!pip install pykeops[colab]\n```\n\n3. Install SiSyPHE by typing \n\n```\n!pip install sisyphe\n```    \n\n### Testing the installation\n\nIn a Python terminal, type \n\n```python\nimport sisyphe\nsisyphe.test_sisyphe()\n```    \n\n<p align=\"center\">\n<img src=\"./doc/_static/band.gif\" alt=\"band\">\n</p>   \n\n## Contributing\n\nContributions to make SiSyPHE grow are warmly welcome! Examples of possible (and ongoing) developments include the following. \n\n* The implementation of new models.\n\n* The implementation of more complex boundary conditions and of models on *non-flat* manifolds. \n\n* An improved visualization method (currently only basic visualization functions relying on [Matplotlib](https://matplotlib.org/) are implemented). \n\nContributions can be made by opening an issue on the GitHub repository, via a pull request or by contacting directly the author.  \n\n\n## Author\n\n- [Antoine Diez](https://antoinediez.gitlab.io), Imperial College London \n\n### Acknowledgments\n\nThe development of this library would not have been possible without the help of [Jean Feydy](https://www.jeanfeydy.com/), his constant support and precious advice. This project was initiated by [Pierre Degond](https://sites.google.com/site/degond/) and has grown out of many discussions with him. \n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Simulation of Systems of interacting mean-field Particles with High Efficiency",
    "version": "1.2.1",
    "project_urls": {
        "Bug Reports": "https://github.com/antoinediez/Sisyphe/issues",
        "Homepage": "https://sisyphe.readthedocs.io",
        "Source": "https://github.com/antoinediez/Sisyphe"
    },
    "split_keywords": [
        "particles",
        "gpu",
        "self-organization",
        "swarming",
        "mean-field"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7344573dcff27e8aef6c7fb1dab5ea96ee51ed0e29e9ddb0996c7a0e24be7905",
                "md5": "cc27418e31acef8005981e4f38917fec",
                "sha256": "dfea0913d12e12123365ba4d9cecf6290c951bddd883ebfba0f9467e80dada0a"
            },
            "downloads": -1,
            "filename": "sisyphe-1.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "cc27418e31acef8005981e4f38917fec",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3",
            "size": 41678,
            "upload_time": "2023-10-28T07:19:18",
            "upload_time_iso_8601": "2023-10-28T07:19:18.662048Z",
            "url": "https://files.pythonhosted.org/packages/73/44/573dcff27e8aef6c7fb1dab5ea96ee51ed0e29e9ddb0996c7a0e24be7905/sisyphe-1.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-28 07:19:18",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "antoinediez",
    "github_project": "Sisyphe",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "sisyphe"
}
        
Elapsed time: 0.38276s