Skip to content

Releases: JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl

v0.6.0

25 Jun 11:16
e0f156c

Choose a tag to compare

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

16 Nov 21:18
e6fada5

Choose a tag to compare

ImplicitDifferentiation v0.5.2

Diff since v0.5.1

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

09 Sep 18:10
028d3fb

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.5.0...v0.5.1

v0.5.0

18 Aug 19:31
8ec0ad5

Choose a tag to compare

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 #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

24 May 18:22
58fa014

Choose a tag to compare

ImplicitDifferentiation v0.4.4

Diff since v0.4.3

Closed issues:

  • Type instabilities? (#36)

Merged pull requests:

v0.4.3

24 May 14:00
8da575b

Choose a tag to compare

ImplicitDifferentiation v0.4.3

Diff since v0.4.2

Closed issues:

  • Support several inputs instead of just x (#33)
  • Seems CI on 1.6 fails because of this line (#44)

Merged pull requests:

v0.4.2

23 May 08:37
a710a81

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.4.1...v0.4.2

v0.4.1

23 May 08:37
c854b5d

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.4.0...v0.4.1

v0.4.0

08 May 11:21
c6c8fc2

Choose a tag to compare

ImplicitDifferentiation v0.4.0

Diff since v0.3.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)

v0.3.0

27 Mar 15:27
26666c9

Choose a tag to compare

What's Changed

  • Improve docstring to specify dimension of conditions by @gdalle in #13
  • Prepare for 1.8 by @gdalle in #19
  • Refresh tests and add ForwardDiff example by @gdalle in #27
  • Enable higher-order derivatives by @gdalle in #31

Full Changelog: v0.2.0...v0.3.0