Recent Releases of ImplicitDifferentiation
ImplicitDifferentiation - v0.9.1
ImplicitDifferentiation v0.9.1
Merged pull requests: - fix: provide initial value to iterative linear solver (#182) (@gdalle) - chore: bump compat for KrylovKit to v0.10.0 (#184) (@gdalle) - feat: add least-squares linear solver (#185) (@gdalle)
- Julia
Published by github-actions[bot] 6 months ago
ImplicitDifferentiation - v0.9.0
ImplicitDifferentiation v0.9.0
Breaking changes
- Switch to KrylovKit for linear solve
- Remove options from
IterativeLinearSolverandOperatorRepresentation - Remove preparation-related options from the
ImplicitFunctionconstructor
Merged pull requests: - test: use ChainRulesTestUtils (#175) (@gdalle) - Revert "test: use ChainRulesTestUtils" (#177) (@gdalle) - refactor!: split out preparation (#179) (@gdalle) - revamp!: use KrylovKit for type flexibility (beyond Vector), split out preparation (#180) (@gdalle) - fix: only factorize for direct linear solve (#181) (@gdalle)
- Julia
Published by github-actions[bot] 7 months ago
ImplicitDifferentiation - v0.8.1
ImplicitDifferentiation v0.8.1
Merged pull requests: - fix: ignore input type in LinearOperator construction by default (#174) (@gdalle)
- Julia
Published by github-actions[bot] 9 months ago
ImplicitDifferentiation - v0.8.0
ImplicitDifferentiation v0.8.0
Breaking changes
- Renamed
KrylovLinearSolverintoIterativeLinearSolver - Strengthened typing in iterative solve, which will make ComponentArrays error unless the
OperatorRepresentationis switched from LinearOperators to LinearMaps - Split the
backendkeyword toImplicitFunctionintobackends(one forxand one fory) - Activated
strictmode with DifferentiationInterface to catch typing errors
Merged pull requests: - Update TagBot (#168) (@gdalle) - CompatHelper: bump compat for Krylov to 0.10, (keep existing compat) (#169) (@github-actions[bot]) - chore: bump version (#170) (@gdalle) - fix!: revamp linear operator handling (#172) (@gdalle) - test!: better tests (#173) (@gdalle)
- Julia
Published by github-actions[bot] 9 months ago
ImplicitDifferentiation - v0.7.2
What's Changed
- Allow generic arrays, not just vectors by @gdalle in https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/pull/167
Full Changelog: https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/compare/v0.7.1...v0.7.2
- Julia
Published by gdalle 11 months ago
ImplicitDifferentiation - v0.7.1
What's Changed
- Update ForwardDiff.jl compat by @longemen3000 in https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/pull/164
- Bump version by @gdalle in https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/pull/165
New Contributors
- @longemen3000 made their first contribution in https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/pull/164
Full Changelog: https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/compare/v0.7.0...v0.7.1
- Julia
Published by gdalle 11 months ago
ImplicitDifferentiation - v0.7.0
What's Changed
- Complete revamp by @gdalle in https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/pull/160
- Remove mention of (now unsupported) kwargs by @gdalle in https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/pull/162
- Delete build directory by @gdalle in https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/pull/163
Main breaking changes
- The
forwardfunction (now calledsolver) must return a byproductzin all cases, which will usually benothing. It used to be optional. For most users, adaptation will only require replacingforward(x) = ybyforward(x) = (y, nothing). - Support for keyword arguments has been removed.
- Forward rules for Enzyme have been dropped (temporarily).
Please refer to the API reference and FAQ for more details.
Main new features
- The ability to run preparation on the differentiation of
conditions. This is useful e.g. to leverage a sparse backend and build Jacobian matrices instead of calling lazy pushforwards and pullbacks
Full Changelog: https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/compare/v0.6.3...v0.7.0
- Julia
Published by gdalle 11 months ago
ImplicitDifferentiation - v0.6.3
What's Changed
- docs: fix typo by @gdalle in https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/pull/158
- test: add runtime activity to enzyme by @gdalle in https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/pull/159
- Remove wrong transpose by @gdalle in https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/pull/161
Full Changelog: https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/compare/v0.6.2...v0.6.3
- Julia
Published by gdalle 11 months ago
ImplicitDifferentiation - v0.6.2
What's Changed
- Adapt to new Enzyme and DifferentiationInterface by @gdalle in https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/pull/156
- Make Krylov solver verbose and public by @gdalle in https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/pull/157
Full Changelog: https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/compare/v0.6.1...v0.6.2
- Julia
Published by gdalle 11 months ago
ImplicitDifferentiation - v0.6.1
What's Changed
- Fix Enzyme extension and add new broken test by @gdalle in https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/pull/151
Full Changelog: https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/compare/v0.6.0...v0.6.1
- Julia
Published by gdalle over 1 year ago
ImplicitDifferentiation - 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 https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/pull/130
- Update ComponentVector compatibility with Zygote by @sfalmo in https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/pull/133
- Spring cleanup by @gdalle in https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/pull/134
- Add docs for memoization by @sfalmo in https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/pull/132
- Switch to DifferentiationInterface by @gdalle in https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/pull/135
- Update CompatHelper by @gdalle in https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/pull/136
- CompatHelper: add new compat entry for DifferentiationInterface at version 0.1, (keep existing compat) by @github-actions in https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/pull/137
- CompatHelper: add new compat entry for ADTypes at version 0.2, (keep existing compat) by @github-actions in https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/pull/138
- Update to DI v0.2 by @gdalle in https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/pull/139
- Clarify linear solvers and vector requirements by @gdalle in https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/pull/140
- Fix escaping in docstrings by @gdalle in https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/pull/141
- CompatHelper: bump compat for DifferentiationInterface to 0.3, (keep existing compat) by @github-actions in https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/pull/144
- Transfer to org by @gdalle in https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/pull/145
- Bump compat for DifferentiationInterface to 0.4 by @github-actions in https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/pull/146
- CompatHelper: bump compat for DifferentiationInterface to 0.5, (keep existing compat) by @github-actions in https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/pull/147
- Add thesis citation by @gdalle in https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/pull/148
- Cleanup before release by @gdalle in https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/pull/149
New Contributors
- @sfalmo made their first contribution in https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/pull/133
Full Changelog: https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/compare/v0.5.2...v0.6.0
- Julia
Published by gdalle over 1 year ago
ImplicitDifferentiation - 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)
- Julia
Published by github-actions[bot] over 2 years ago
ImplicitDifferentiation - v0.5.1
What's Changed
- Fix typos in 0_intro.jl by @pitmonticone in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/117
- Don't test on nightly by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/120
- More lenient iterative linear solver by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/119
New Contributors
- @pitmonticone made their first contribution in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/117
Full Changelog: https://github.com/gdalle/ImplicitDifferentiation.jl/compare/v0.5.0...v0.5.1
- Julia
Published by gdalle over 2 years ago
ImplicitDifferentiation - 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 NaNs 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 https://github.com/gdalle/ImplicitDifferentiation.jl/pull/56
- No differentiating byproducts by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/61
- No byproduct by default by @mohamed82008 in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/57
- cache the LU factorisation in the direct linear solver and better static array support by @mohamed82008 in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/64
- test the output type of the forward function when a byproduct exists by @mohamed82008 in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/76
- Fix docs and change constructor by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/81
- NaNs for linear solvers when failed by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/83
- Add precompilation workflows for ForwardDiff and Zygote by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/85
- Transparent handling of byproduct by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/86
- Customize backend for conditions by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/87
- Fix wrong nb of pullbacks by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/91
- Accept nondifferentiated args by @thorek1 in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/89
- Copy README into docs by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/93
- Add warning when linear solver returns NaNs by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/94
- Add benchmarks by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/95
- Add warning for sparse arrays by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/96
- Fix some issues related to sparse and static arrays by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/97
- Plotting benchmarks by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/99
- Performance fixes by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/100
- Shorten code by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/102
- Verbose or not for solver by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/103
- 2d benchmarks by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/104
- Output size is kwarg in benchmarks by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/105
- Back to b linop by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/106
- Add judgement script by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/110
- Test different shapes for x and y by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/109
- Dense jacobians by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/111
- Better document test_rrule tweak by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/113
- Simpler tests that work with SparseArrays by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/114
- Bump version to 0.5.0 by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/115
New Contributors
- @thorek1 made their first contribution in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/89
Full Changelog: https://github.com/gdalle/ImplicitDifferentiation.jl/compare/v0.4.4...v0.5.0
- Julia
Published by gdalle over 2 years ago
ImplicitDifferentiation - v0.4.4
ImplicitDifferentiation v0.4.4
Closed issues: - Type instabilities? (#36)
Merged pull requests: - Fix flattening bug (#52) (@gdalle) - Document single output (#53) (@gdalle)
- Julia
Published by github-actions[bot] almost 3 years ago
ImplicitDifferentiation - v0.4.3
ImplicitDifferentiation v0.4.3
Closed issues:
- Support several inputs instead of just x (#33)
- Seems CI on 1.6 fails because of this line (#44)
Merged pull requests:
- Performance tweaks (#47) (@gdalle)
- Don't dualize z (#49) (@baggepinnen)
- Remove <:Real constraint in rrule (#50) (@gdalle)
- Julia
Published by github-actions[bot] almost 3 years ago
ImplicitDifferentiation - v0.4.2
What's Changed
- Allow AbstractVectors by @baggepinnen in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/45
New Contributors
- @baggepinnen made their first contribution in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/45
Full Changelog: https://github.com/gdalle/ImplicitDifferentiation.jl/compare/v0.4.1...v0.4.2
- Julia
Published by gdalle almost 3 years ago
ImplicitDifferentiation - v0.4.1
What's Changed
- Improve type stability by @YingboMa in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/41
New Contributors
- @YingboMa made their first contribution in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/41
Full Changelog: https://github.com/gdalle/ImplicitDifferentiation.jl/compare/v0.4.0...v0.4.1
- Julia
Published by gdalle almost 3 years ago
ImplicitDifferentiation - 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)
- Julia
Published by github-actions[bot] almost 3 years ago
ImplicitDifferentiation - v0.3.0
What's Changed
- Improve docstring to specify dimension of conditions by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/13
- Prepare for 1.8 by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/19
- Refresh tests and add ForwardDiff example by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/27
- Enable higher-order derivatives by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/31
Full Changelog: https://github.com/gdalle/ImplicitDifferentiation.jl/compare/v0.2.0...v0.3.0
- Julia
Published by gdalle almost 3 years ago
ImplicitDifferentiation - v0.2.0
What's Changed
- Compatibility with higher-dim arrays & better examples by @gdalle in https://github.com/gdalle/ImplicitDifferentiation.jl/pull/12
Full Changelog: https://github.com/gdalle/ImplicitDifferentiation.jl/compare/v0.1.0...v0.2.0
- Julia
Published by gdalle over 3 years ago
ImplicitDifferentiation - v0.1.0
First functional version, in time for JuliaCon 2022!
- Julia
Published by gdalle over 3 years ago