Releases: esa/torchquad
Releases · esa/torchquad
torchquad v0.4.0
Changelog
Major
- Support for vectorized multiple integrand compute with one call
- Better support for custom integrators
- Added Gauss Legendre integration
Minor
- Various changes to tests
- Additional examples in docs and various docstring changes
- Workflow improvements for repo
- Added automatic test coverage investigation
- Small bugfixes
Detailed changes
- Release -> develop by @gomezzz in #151
- Release -> main by @gomezzz in #150
- Change the backend argument behaviour by @FHof in #154
- Fixing build badge by @gomezzz in #159
- Switching to CI to use mamba. by @gomezzz in #158
- main -> develop by @gomezzz in #161
- (feat): multi-dimensional integrand by @ilan-gold in #160
- Disable autoblack action commits by @gomezzz in #168
- (fix): use
static_argnums
forjax
jit
by @ilan-gold in #165 - (feat): add JIT integrator tests by @ilan-gold in #166
- Display test coverage reports on PRs by @gomezzz in #167
- Fixing coverage workflow by @gomezzz in #169
- Gaussian quadrature by @elastufka in #141
- (feat): add customization API for
IntegrationGrid
by @ilan-gold in #173 - main -> develop for Release 0.4.0 by @gomezzz in #174
- (chore): add and/or clean up
Gaussian
/GaussLegendre
docs by @ilan-gold in #176 - (chore): small doc improvements by @ilan-gold in #177
- develop -> release for Release 0.4.0 by @gomezzz in #175
- (fix): bump tolerances for some GPU tests by @ilan-gold in #179
- Type related errors with integration domain by @gomezzz in #181
New Contributors
- @ilan-gold made their first contribution in #160
- @elastufka made their first contribution in #141
Full Changelog: v0.3.0...v0.4.0
torchquad v0.3.0
Major
- Added support for NumPy, JAX, Tensorflow via autoray for most integrators. Refer to docs for more details.
- Support for (JIT) compilation of the integration, except VEGAS. Refer to docs for more details.
- Huge performance improvements to VEGAS
Minor
- More tests
- New environment variable called
TORCHQUAD_LOG_LEVEL
to conveniently control loglevel, default changed to "warning" - More strict code linting with flake8 and a corresponding small code cleanup
- Docs improvements
- Custom RNG class
- Refactoring of Newton-Cotes integrators
torchquad v0.2.4 - JOSS release
Release for Zenodo archiving for the JOSS publication
torchquad v0.2.3
Major
- Added support and test for complex integrands (except in VEGAS, WIP)
- Further vectorized VEGAS leading to significant performance improvements (still work to do though, currently VEGAS is faster on CPU)
- Transitioned to PyTorch 1.9.0
- Submitted paper to JOSS (currently in press)
- Expanded docs (example for computing gradients, minimal working example)
- Improved README
Minor
- Added automated tests for computed gradients
- Fixed gradient flow through all integrators (e.g. w.r.t domain)
- Fixed setting loglevel
- Switched to loguru as logger
- Removed benchmark notebook (more extensive benchmarking will follow in the future)
- Updated contribution guidelines
- Several small fixes in the docs
- Improved automated tests
- Added some performance and convergence plots to README
JOSS Paper Version
Tagged version for the JOSS proof. Based on torchquad 0.2.2 with some updates to documentations.
torchquad v0.2.1
Changelog
Major
Huge improvements to documentation
Added VEGAS Enhanced
Minor
Added Boole's rule
Migrated examples to docs
Updated requirements
Added option to set precision (float or double)
Improved comments
Added 10D unit test
torchquad v0.1.1-rc1
- Fixes to workflows
- Improved README
- Fixes in requirements.txt
- Fixes in setup.py
- More verbose errors when calling integrators with incompatible inputs
- Simpson's & Boole's Rule now automatically pick compatible numbers of points and will warn
- Small improvements to unit tests
torchquad v0.1.0-rc1
First version of torchquad.
The first version of torchquad enables n-dimensional integrations using torch / CUDA utilizing several Newton-Cotes formulas or a simple Monte Carlo Integration. This should already enable huge speedups compared to CPU-only libraries. Also it should be differentiable using torch. Please feel free to test it and get back to us to help us improve it!