Releases: pnkraemer/matfree
v0.6.0
This release includes some changes to matfree's API, most notably the stochtrace module, thanks to @sethaxen's contributions.
These changes include renaming the Rademacher samplers to sampler_signs (because now this sampler can produce complex numbers), renaming the estimator to estimator_monte_carlo, and adding a leave-one-out family of estimators estimator_leave_one_out (think: xtrace). Another breaking change is that integrand_wrap_moments is replaced by estimator_monte_carlo_mean_and_sem, which should provide easier access to error estimates for the trace estimators.
The release also drops a JavaScript extension that caused some security issues, caught by @Ceyron.
Consult the release notes below for precise changes.
What's Changed
Breaking Changes
- Replace sampler_rademacher with sampler_signs by @sethaxen in #270
- Rename
estimatorAPI toestimator_monte_carloto distinguish it from LOO by @pnkraemer in #272 - Remove stochtrace.monte_carlo_wrap_moments and replace it with a dedicated error estimation API by @pnkraemer in #276
New Features
- Make stochastic trace estimation work for complex numbers by @pnkraemer in #268
- Make
decomp,funm, andeighpytree compatible and improve docs by @pnkraemer in #278 - Add sampler for the unit sphere by @sethaxen in #264
- Add exchangeable LOO-based estimators of the trace by @sethaxen in #263
Improvements to the Documentation
- Include a docstring-example for
matfree.eigby @pnkraemer in #262 - Replace the normal sampler with the signs sampler in the tutorials by @pnkraemer in #271
- Fix maths rendering issue in documentation by @pnkraemer in #274
Other Changes
- Make flaky tests more robust and test them with multiple seeds by @pnkraemer in #265
- Rename
stdtosemto clarify standard deviation vs standard error by @pnkraemer in #277 - Remove polyfill.js from extra_javascript by @Ceyron in #279
New Contributors
Full Changelog: v0.5.5...v0.6.0
v0.5.5
What's Changed
New Features
- Include LstSq correction factors for rank-deficient matrices by @pnkraemer in #260
Full Changelog: v0.5.4...v0.5.5
v0.5.4
What's Changed
Improvements to the Documentation
- Make readme batches consistent in color by @pnkraemer in #258
- Refine citation references in README, lsmr, and tridiag_sym by @pnkraemer in #259
Full Changelog: v0.5.3...v0.5.4
v0.5.3
What's Changed
New Features
- Replace blackdoc with mdformat-black by @pnkraemer in #256
- Reduce the number of transpositions in LSMR by @pnkraemer in #255
Improvements to the Documentation
- Add bibtex to Roy et al. (2025) for gradients of least-squares by @pnkraemer in #254
- Update bibtex for Lanczos paper and mention LstSq paper in readme by @pnkraemer in #257
Full Changelog: v0.5.2...v0.5.3
v0.5.2
What's Changed
New Features
- Include damping gradients for lstsq by @pnkraemer in #253
Full Changelog: v0.5.1...v0.5.2
v0.5.1
What's Changed
New Features
- Fix a custom-vjp error that's encountered when jitting LSMR by @pnkraemer in #252
Full Changelog: v0.5.0...v0.5.1
v0.5.0
What's Changed
Breaking Changes
- Allow initial guesses to be passed to LSMR by @pnkraemer in #251
Full Changelog: v0.4.1...v0.5.0
v0.4.1
What's Changed
New Features
- Raise a ValueError in the Hessenberg-adjoints if num_matvecs=0 to catch an existing error by @pnkraemer in #249
- Introduce a reortho flag in bidiag() and parallelise GS by @pnkraemer in #250
Improvements to the Documentation
- Correct variable name in loop. by @Whatisthisname in #247
Other Changes
- Rename variable to adhere to paper by @Whatisthisname in #248
New Contributors
- @Whatisthisname made their first contribution in #247
Full Changelog: v0.4.0...v0.4.1
v0.4.0
What's Changed
Breaking Changes
- Rename 'use_custom_vjp' to 'custom_vjp' to ensure consistency with the rest of the code by @pnkraemer in #244
- Drop Python 3.10 support because JAX did by @pnkraemer in #246
New Features
- Update the Ruff-part of the pre-commit hook by @pnkraemer in #245
Improvements to the Documentation
- Change variable names in hessenberg-adjoint to improve documentation by @pnkraemer in #243
Full Changelog: v0.3.1...v0.4.0
v0.3.1
What's Changed
New Features
- Implement a custom VJP for LSMR by @pnkraemer in #242
Full Changelog: v0.3.0...v0.3.1