{"id":20520248,"url":"https://github.com/plasmacontrol/zernipax","last_synced_at":"2026-02-06T19:32:21.787Z","repository":{"id":223942244,"uuid":"753861138","full_name":"PlasmaControl/ZERNIPAX","owner":"PlasmaControl","description":"A python library to calculate Zernike Polynomials fast and accurately","archived":false,"fork":false,"pushed_at":"2025-12-17T02:19:43.000Z","size":3525,"stargazers_count":5,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-14T11:29:18.153Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PlasmaControl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-02-06T23:27:58.000Z","updated_at":"2025-12-17T02:19:46.000Z","dependencies_parsed_at":"2024-06-11T00:03:27.351Z","dependency_job_id":"1961022f-7d9e-4b41-98da-565be8eb6e00","html_url":"https://github.com/PlasmaControl/ZERNIPAX","commit_stats":null,"previous_names":["plasmacontrol/fastzernike","plasmacontrol/zernipax"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/PlasmaControl/ZERNIPAX","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PlasmaControl%2FZERNIPAX","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PlasmaControl%2FZERNIPAX/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PlasmaControl%2FZERNIPAX/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PlasmaControl%2FZERNIPAX/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PlasmaControl","download_url":"https://codeload.github.com/PlasmaControl/ZERNIPAX/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PlasmaControl%2FZERNIPAX/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29174127,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T19:28:14.811Z","status":"ssl_error","status_checked_at":"2026-02-06T19:28:13.420Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-15T22:18:49.950Z","updated_at":"2026-02-06T19:32:21.782Z","avatar_url":"https://github.com/PlasmaControl.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Zernipax\nA python library to calculate Zernike Polynomials fast and accurately using JAX.\n\nTo create conda environment:\n```\nconda create --name zernipax-env 'python\u003e=3.8, \u003c=3.12'\nconda activate zernipax-env\npip install -r requirements.txt\n```\n\nor, if you want to contribute\n```\npip install -r dev-requirement.txt\n```\n\n## GPU Support\nJAX installation for different systems may vary. Please refer to [their documentation](https://docs.jax.dev/en/latest/installation.html#installation) for details. Usually, you need to run something like following,\n\n```\npip install jax[cuda12]\n```\n\n## Citation\nIf you use this repository in your projects, please cite it as:\n```\n@article{ELMACIOGLU2025129534,\ntitle = {ZERNIPAX: A fast and accurate Zernike polynomial calculator in Python},\njournal = {Applied Mathematics and Computation},\nvolume = {505},\npages = {129534},\nyear = {2025},\nissn = {0096-3003},\ndoi = {https://doi.org/10.1016/j.amc.2025.129534},\nurl = {https://www.sciencedirect.com/science/article/pii/S0096300325002607},\nauthor = {Yigit Gunsur Elmacioglu and Rory Conlin and Daniel W. Dudt and Dario Panici and Egemen Kolemen},\nkeywords = {Zernike polynomials, Optics, Astrophysics, Spectral simulations, Python, JAX, CPU/GPU computing},\nabstract = {Zernike polynomials serve as an orthogonal basis on the unit disc, and have proven to be effective in optics simulations, astrophysics, and more recently in plasma simulations. Unlike Bessel functions, Zernike polynomials are inherently finite and smooth at the disc center (r=0), ensuring continuous differentiability along the axis. This property makes them particularly suitable for simulations, requiring no additional handling at the origin. We developed ZERNIPAX, an open-source Python package capable of utilizing CPU/GPUs, leveraging Google's JAX package and available on GitHub as well as the Python software repository PyPI. Our implementation of the recursion relation between Jacobi polynomials significantly improves computation time compared to alternative methods by use of parallel computing while still performing more accurately for high-mode numbers.}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplasmacontrol%2Fzernipax","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fplasmacontrol%2Fzernipax","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplasmacontrol%2Fzernipax/lists"}