Releases: JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl
Releases · JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl
v0.6.1
v0.6.0
TLDR
The API has been completely redesigned to use DifferentiationInterface instead of AbstractDifferentiation. Basic use cases should not be significantly altered, but if you were using custom condition backends or solvers, please refer to the documentation.
What's Changed
- Add codecov token by @gdalle in #130
- Update ComponentVector compatibility with Zygote by @sfalmo in #133
- Spring cleanup by @gdalle in #134
- Add docs for memoization by @sfalmo in #132
- Switch to DifferentiationInterface by @gdalle in #135
- Update CompatHelper by @gdalle in #136
- CompatHelper: add new compat entry for DifferentiationInterface at version 0.1, (keep existing compat) by @github-actions in #137
- CompatHelper: add new compat entry for ADTypes at version 0.2, (keep existing compat) by @github-actions in #138
- Update to DI v0.2 by @gdalle in #139
- Clarify linear solvers and vector requirements by @gdalle in #140
- Fix escaping in docstrings by @gdalle in #141
- CompatHelper: bump compat for DifferentiationInterface to 0.3, (keep existing compat) by @github-actions in #144
- Transfer to org by @gdalle in #145
- Bump compat for DifferentiationInterface to 0.4 by @github-actions in #146
- CompatHelper: bump compat for DifferentiationInterface to 0.5, (keep existing compat) by @github-actions in #147
- Add thesis citation by @gdalle in #148
- Cleanup before release by @gdalle in #149
New Contributors
Full Changelog: v0.5.2...v0.6.0
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)