Releases: JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl
Releases · JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl
v0.5.2
ImplicitDifferentiation v0.5.2
Merged pull requests:
- Fix benchmarks judge order (#121) (@gdalle)
- Fix FAQ (#122) (@gdalle)
- CompatHelper: bump compat for AbstractDifferentiation to 0.6, (keep existing compat) (#124) (@github-actions[bot])
- Revert AbstractDiff compat to 0.5 (#126) (@gdalle)
- Remove type stability checks for AbstractDifferentiation 0.6 (#128) (@gdalle)
v0.5.1
What's Changed
- Fix typos in 0_intro.jl by @pitmonticone in #117
- Don't test on nightly by @gdalle in #120
- More lenient iterative linear solver by @gdalle in #119
New Contributors
- @pitmonticone made their first contribution in #117
Full Changelog: v0.5.0...v0.5.1
v0.5.0
In a nutshell
Implicit functions have become more flexible:
- byproducts are optional, and handled automatically via dispatch
- additional positional arguments are supported but not differentiated
- the conditions can be differentiated using a different backend
The linear solver has been generalized:
- it can be chosen among "implicit" and "direct"
- the direct linear solver caches the LU factorization for each pullback or pushforward
- it returns
NaN
s when the solve fails instead of erroring
General reliability of the package has improved thanks to extensive testing:
- with standard arrays, static arrays and sparse arrays (experimental)
- leveraging ChainRulesTestUtils.jl
See the brand new FAQ page in the docs for more details.
What's Changed
- Return the output only from ImplicitFunction not the byproduct by default by @mohamed82008 in #56
- No differentiating byproducts by @gdalle in #61
- No byproduct by default by @mohamed82008 in #57
- cache the LU factorisation in the direct linear solver and better static array support by @mohamed82008 in #64
- test the output type of the forward function when a byproduct exists by @mohamed82008 in #76
- Fix docs and change constructor by @gdalle in #81
- NaNs for linear solvers when failed by @gdalle in #83
- Add precompilation workflows for ForwardDiff and Zygote by @gdalle in #85
- Transparent handling of byproduct by @gdalle in #86
- Customize backend for conditions by @gdalle in #87
- Fix wrong nb of pullbacks by @gdalle in #91
- Accept nondifferentiated args by @thorek1 in #89
- Copy README into docs by @gdalle in #93
- Add warning when linear solver returns NaNs by @gdalle in #94
- Add benchmarks by @gdalle in #95
- Add warning for sparse arrays by @gdalle in #96
- Fix some issues related to sparse and static arrays by @gdalle in #97
- Plotting benchmarks by @gdalle in #99
- Performance fixes by @gdalle in #100
- Shorten code by @gdalle in #102
- Verbose or not for solver by @gdalle in #103
- 2d benchmarks by @gdalle in #104
- Output size is kwarg in benchmarks by @gdalle in #105
- Back to b linop by @gdalle in #106
- Add judgement script by @gdalle in #110
- Test different shapes for x and y by @gdalle in #109
- Dense jacobians by @gdalle in #111
- Better document test_rrule tweak by @gdalle in #113
- Simpler tests that work with SparseArrays by @gdalle in #114
- Bump version to 0.5.0 by @gdalle in #115
New Contributors
Full Changelog: v0.4.4...v0.5.0
v0.4.4
v0.4.3
ImplicitDifferentiation v0.4.3
Closed issues:
Merged pull requests:
v0.4.2
What's Changed
- Allow AbstractVectors by @baggepinnen in #45
New Contributors
- @baggepinnen made their first contribution in #45
Full Changelog: v0.4.1...v0.4.2
v0.4.1
v0.4.0
ImplicitDifferentiation v0.4.0
Closed issues:
- Add
JET.test_package
to test suite (#37)
Merged pull requests:
- Enable higher-order derivatives (#31) (@gdalle)
- Update citation to 0.3.0 (#34) (@gdalle)
- Add JET correctness testing and simplify pullbacks in rrule (#38) (@gdalle)
- Move tutorials to examples folder and add details to the docs (#39) (@gdalle)
- Add second forward output and autodiff backend extensions (#40) (@gdalle)