# pdmp_jax
This repository contains a JAX implementation of the PDMP samplers.
It contains the following PDMP samplers:
- Zig-Zag sampler (Joris Bierkens, Paul Fearnhead, Gareth Roberts. "The Zig-Zag process and super-efficient sampling for Bayesian analysis of big data." The Annals of Statistics, 47(3) 1288-1320 June 2019. https://doi.org/10.1214/18-AOS1715)
- Bouncy Particle Sampler (Bouchard-Côté, A., Vollmer, S. J., & Doucet, A. (2018). The Bouncy Particle Sampler: A Nonreversible Rejection-Free Markov Chain Monte Carlo Method. Journal of the American Statistical Association, 113(522), 855–867. https://doi.org/10.1080/01621459.2017.1294075)
- Forward Event Chain (Forward Ref with random time for the orthogonal switch) (Michel, M., Durmus, A., & Sénécal, S. (2020). Forward Event-Chain Monte Carlo: Fast Sampling by Randomness Control in Irreversible Markov Chains. Journal of Computational and Graphical Statistics, 29(4), 689–702. https://doi.org/10.1080/10618600.2020.1750417)
- Speedup ZigZag (non explosive case) (G. Vasdekis, G. O. Roberts. "Speed up Zig-Zag." The Annals of Applied Probability, 33(6A) 4693-4746 December 2023. https://doi.org/10.1214/23-AAP1930)
- Boomerang Sampler (Bierkens, J., Grazzi, S., Kamatani, K. & Roberts, G.. (2020). The Boomerang Sampler. <i>Proceedings of the 37th International Conference on Machine Learning</i>, in <i>Proceedings of Machine Learning Research</i> 119:908-918 Available from https://proceedings.mlr.press/v119/bierkens20a.html )
The implementation relies on a general class PDMP that is used to define all the PDMP samplers, making it easy to add new PDMP samplers.
It can be installed using pip:
```bash
pip install pdmp-jax
```
The file `example.ipynb` contains an example of how to use the package.
Raw data
{
"_id": null,
"home_page": "https://github.com/charlyandral/pdmp_jax",
"name": "pdmp-jax",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": null,
"author": "Charly Andral",
"author_email": "andral@ceremade.dauphine.fr",
"download_url": "https://files.pythonhosted.org/packages/89/c1/22480aea3408c00ca49618fc72d594473486e69749aaee617313a53a4d96/pdmp_jax-0.1.1.tar.gz",
"platform": null,
"description": "# pdmp_jax\n\n\nThis repository contains a JAX implementation of the PDMP samplers. \n\nIt contains the following PDMP samplers:\n- Zig-Zag sampler (Joris Bierkens, Paul Fearnhead, Gareth Roberts. \"The Zig-Zag process and super-efficient sampling for Bayesian analysis of big data.\" The Annals of Statistics, 47(3) 1288-1320 June 2019. https://doi.org/10.1214/18-AOS1715)\n- Bouncy Particle Sampler (Bouchard-C\u00f4t\u00e9, A., Vollmer, S. J., & Doucet, A. (2018). The Bouncy Particle Sampler: A Nonreversible Rejection-Free Markov Chain Monte Carlo Method. Journal of the American Statistical Association, 113(522), 855\u2013867. https://doi.org/10.1080/01621459.2017.1294075)\n- Forward Event Chain (Forward Ref with random time for the orthogonal switch) (Michel, M., Durmus, A., & S\u00e9n\u00e9cal, S. (2020). Forward Event-Chain Monte Carlo: Fast Sampling by Randomness Control in Irreversible Markov Chains. Journal of Computational and Graphical Statistics, 29(4), 689\u2013702. https://doi.org/10.1080/10618600.2020.1750417)\n- Speedup ZigZag (non explosive case) (G. Vasdekis, G. O. Roberts. \"Speed up Zig-Zag.\" The Annals of Applied Probability, 33(6A) 4693-4746 December 2023. https://doi.org/10.1214/23-AAP1930)\n- Boomerang Sampler (Bierkens, J., Grazzi, S., Kamatani, K. & Roberts, G.. (2020). The Boomerang Sampler. <i>Proceedings of the 37th International Conference on Machine Learning</i>, in <i>Proceedings of Machine Learning Research</i> 119:908-918 Available from https://proceedings.mlr.press/v119/bierkens20a.html )\n\n\nThe implementation relies on a general class PDMP that is used to define all the PDMP samplers, making it easy to add new PDMP samplers.\n\nIt can be installed using pip:\n```bash\npip install pdmp-jax\n```\n\nThe file `example.ipynb` contains an example of how to use the package.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A general PDMP sampler in JAX",
"version": "0.1.1",
"project_urls": {
"Homepage": "https://github.com/charlyandral/pdmp_jax",
"Repository": "https://github.com/charlyandral/pdmp_jax"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "7a56cdc827e763d8dece85c59917ea5ad43464691c57a3b530729ea0cf0f8ca8",
"md5": "3fb66dc6f0bf61fbb0fc687e382043a6",
"sha256": "17df2d6fc06f20dd5df86c68551f5b73999516265bdedf42ad61e20a27380a38"
},
"downloads": -1,
"filename": "pdmp_jax-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3fb66dc6f0bf61fbb0fc687e382043a6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 19782,
"upload_time": "2024-08-07T14:39:42",
"upload_time_iso_8601": "2024-08-07T14:39:42.622036Z",
"url": "https://files.pythonhosted.org/packages/7a/56/cdc827e763d8dece85c59917ea5ad43464691c57a3b530729ea0cf0f8ca8/pdmp_jax-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "89c122480aea3408c00ca49618fc72d594473486e69749aaee617313a53a4d96",
"md5": "663f60057d6641e546c8f4b1daab0200",
"sha256": "7a5f6d4d46f4833ec00363e1148fa5e50a748fa1ff450c69992de7a2dc6ab764"
},
"downloads": -1,
"filename": "pdmp_jax-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "663f60057d6641e546c8f4b1daab0200",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 14204,
"upload_time": "2024-08-07T14:39:44",
"upload_time_iso_8601": "2024-08-07T14:39:44.199678Z",
"url": "https://files.pythonhosted.org/packages/89/c1/22480aea3408c00ca49618fc72d594473486e69749aaee617313a53a4d96/pdmp_jax-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-07 14:39:44",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "charlyandral",
"github_project": "pdmp_jax",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "pdmp-jax"
}