Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 1 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.9%) to scientific vocabulary
Keywords from Contributors
stellarator
interactive
packaging
network-simulation
hacking
autograding
observability
embedded
optim
standardization
Last synced: 6 months ago
·
JSON representation
·
Repository
Numerical quadrature with JAX
Basic Info
- Host: GitHub
- Owner: f0uriest
- License: mit
- Language: Python
- Default Branch: main
- Size: 348 KB
Statistics
- Stars: 68
- Watchers: 4
- Forks: 4
- Open Issues: 8
- Releases: 10
Created over 2 years ago
· Last pushed 6 months ago
Metadata Files
Readme
Changelog
Contributing
License
Citation
README.rst
########
quadax
########
|License| |DOI| |Issues| |Pypi|
|Docs| |UnitTests| |Codecov|
quadax is a library for numerical quadrature and integration using JAX.
- ``vmap``-able, ``jit``-able, differentiable.
- Scalar or vector valued integrands.
- Finite or infinite domains with discontinuities or singularities within the domain of integration.
- Globally adaptive Gauss-Kronrod and Clenshaw-Curtis quadrature for smooth integrands (similar to ``scipy.integrate.quad``)
- Adaptive tanh-sinh quadrature for singular or near singular integrands.
- Quadrature from sampled values using trapezoidal and Simpsons methods.
Coming soon:
- Custom JVP/VJP rules (currently AD works by differentiating the loop which isn't the most efficient.)
- N-D quadrature (cubature)
- QMC methods
- Integration with weight functions
- Sparse grids (maybe, need to play with data structures and JAX)
Installation
============
quadax is installable with `pip`:
.. code-block:: console
pip install quadax
Usage
=====
.. code-block:: python
import jax.numpy as jnp
import numpy as np
from quadax import quadgk
fun = lambda t: t * jnp.log(1 + t)
epsabs = epsrel = 1e-5 # by default jax uses 32 bit, higher accuracy requires going to 64 bit
a, b = 0, 1
y, info = quadgk(fun, [a, b], epsabs=epsabs, epsrel=epsrel)
assert info.err < max(epsabs, epsrel*abs(y))
np.testing.assert_allclose(y, 1/4, rtol=epsrel, atol=epsabs)
For full details of various options see the `API documentation `__
.. |License| image:: https://img.shields.io/github/license/f0uriest/quadax?color=blue&logo=open-source-initiative&logoColor=white
:target: https://github.com/f0uriest/quadax/blob/master/LICENSE
:alt: License
.. |DOI| image:: https://zenodo.org/badge/709132830.svg
:target: https://zenodo.org/doi/10.5281/zenodo.10035983
:alt: DOI
.. |Docs| image:: https://img.shields.io/readthedocs/quadax?logo=Read-the-Docs
:target: https://quadax.readthedocs.io/en/latest/?badge=latest
:alt: Documentation
.. |UnitTests| image:: https://github.com/f0uriest/quadax/actions/workflows/unittest.yml/badge.svg
:target: https://github.com/f0uriest/quadax/actions/workflows/unittest.yml
:alt: UnitTests
.. |Codecov| image:: https://codecov.io/github/f0uriest/quadax/graph/badge.svg?token=MB11I7WE3I
:target: https://codecov.io/github/f0uriest/quadax
:alt: Coverage
.. |Issues| image:: https://img.shields.io/github/issues/f0uriest/quadax
:target: https://github.com/f0uriest/quadax/issues
:alt: GitHub issues
.. |Pypi| image:: https://img.shields.io/pypi/v/quadax
:target: https://pypi.org/project/quadax/
:alt: Pypi
Owner
- Name: Rory Conlin
- Login: f0uriest
- Kind: user
- Repositories: 3
- Profile: https://github.com/f0uriest
PhD student, Princeton Plasma Physics Laboratory. Machine learning, dynamical systems, plasma stability and control.
Citation (CITATION.cff)
cff-version: 1.2.0
title: quadax
message: >-
If you use this software, please cite it using the
metadata from this file. To cite a specific version of quadax,
please cite the correct version from Zenodo at
https://zenodo.org/doi/10.5281/zenodo.10035983
type: software
authors:
- given-names: Rory
family-names: Conlin
email: wconlin@princeton.edu
affiliation: Princeton University
orcid: 'https://orcid.org/0000-0001-8366-2111'
identifiers:
- type: doi
value: 10.5281/zenodo.10035983
description: 'Master DOI for quadax, points to latest release.'
- type: url
value: 'https://github.com/f0uriest/quadax'
description: 'Github repository for quadax'
repository-code: 'https://github.com/f0uriest/quadax'
url: 'https://quadax.readthedocs.io'
repository-artifact: 'https://pypi.org/project/quadax/'
license: MIT
GitHub Events
Total
- Create event: 53
- Issues event: 19
- Release event: 4
- Watch event: 22
- Delete event: 44
- Issue comment event: 54
- Push event: 69
- Pull request review event: 32
- Pull request event: 100
- Fork event: 3
Last Year
- Create event: 53
- Issues event: 19
- Release event: 4
- Watch event: 22
- Delete event: 44
- Issue comment event: 54
- Push event: 69
- Pull request review event: 32
- Pull request event: 100
- Fork event: 3
Committers
Last synced: 10 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Rory Conlin | r****n@g****m | 56 |
| dependabot[bot] | 4****] | 33 |
| Matthew R. Becker | b****r | 2 |
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 16
- Total pull requests: 96
- Average time to close issues: 28 days
- Average time to close pull requests: 3 days
- Total issue authors: 13
- Total pull request authors: 4
- Average comments per issue: 1.56
- Average comments per pull request: 0.94
- Merged pull requests: 86
- Bot issues: 0
- Bot pull requests: 67
Past Year
- Issues: 9
- Pull requests: 90
- Average time to close issues: 20 days
- Average time to close pull requests: 1 day
- Issue authors: 8
- Pull request authors: 3
- Average comments per issue: 1.33
- Average comments per pull request: 0.92
- Merged pull requests: 81
- Bot issues: 0
- Bot pull requests: 67
Top Authors
Issue Authors
- quattro (2)
- javier-garcia-tilburg (2)
- twhentschel (2)
- nwood99-ctrl (1)
- wcxve (1)
- pokedthefrog (1)
- ben-cassese (1)
- maxgalli (1)
- JGameCreation (1)
- unalmis (1)
- nmearl (1)
- pierreguilmin (1)
- e-eight (1)
Pull Request Authors
- dependabot[bot] (70)
- f0uriest (35)
- beckermr (2)
- twhentschel (2)
Top Labels
Issue Labels
question (1)
Pull Request Labels
dependencies (70)
python (57)
github_actions (5)
Packages
- Total packages: 1
-
Total downloads:
- pypi 14,827 last-month
- Total dependent packages: 2
- Total dependent repositories: 0
- Total versions: 11
- Total maintainers: 1
pypi.org: quadax
Numerical quadrature with JAX
- Homepage: https://github.com/f0uriest/quadax
- Documentation: https://quadax.readthedocs.io/
- License: MIT
-
Latest release: 0.2.9
published 7 months ago
Rankings
Dependent packages count: 9.3%
Average: 38.7%
Dependent repos count: 68.2%
Maintainers (1)
Last synced:
6 months ago
Dependencies
.github/workflows/black.yml
actions
- actions/checkout v3 composite
- actions/setup-python v4 composite
- reviewdog/action-suggester v1 composite
.github/workflows/jax_tests.yml
actions
- actions/checkout v3 composite
- actions/setup-python v4 composite
.github/workflows/linting.yml
actions
- actions/checkout v3 composite
- actions/setup-python v4 composite
- reviewdog/action-flake8 v3 composite
.github/workflows/release.yml
actions
- actions/checkout v3 composite
- actions/setup-python v4 composite
- pypa/gh-action-pypi-publish 27b31702a0e7fc50959f5ad993c78deac1bdfc29 composite
.github/workflows/unittest.yml
actions
- Wandalen/wretry.action v1.0.36 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/upload-artifact v3 composite
pyproject.toml
pypi
requirements-dev.txt
pypi
- black ==22.10.0 development
- build * development
- flake8 >=5.0.0,<=6.0.0 development
- flake8-docstrings >=1.0.0,<=2.0.0 development
- flake8-eradicate >=1.0.0,<=2.0.0 development
- flake8-isort >=5.0.0,<=6.0.0 development
- pre-commit * development
- pytest >=5.0.0 development
- pytest-benchmark * development
- pytest-cov >=2.6.0 development
- pytest-monitor * development
- sphinx >3.0.0 development
- sphinx-github-style >=1.0,<=1.1 development
- sphinx-rtd-theme >=1.0,<2.0 development
- sphinx_copybutton * development
requirements.txt
pypi
- jax >=0.3.2,<=0.4.14
- numpy >=1.20.0,<1.25.0
- scipy >=1.5.0,<1.11.0
setup.py
pypi
.github/workflows/scheduled.yml
actions
- actions/checkout v4 composite
- actions/setup-python v5 composite
- actions/upload-artifact v3 composite