Skip to content

Releases: JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl

v0.9.1

18 Aug 08:22
5380155

Choose a tag to compare

ImplicitDifferentiation v0.9.1

Diff since v0.9.0

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)

v0.9.0

19 Jul 16:49
f065a08

Choose a tag to compare

ImplicitDifferentiation v0.9.0

Diff since v0.8.1

Breaking changes

  • Switch to KrylovKit for linear solve
  • Remove options from IterativeLinearSolver and OperatorRepresentation
  • Remove preparation-related options from the ImplicitFunction constructor

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)

v0.8.1

15 Jun 09:03
b75add5

Choose a tag to compare

ImplicitDifferentiation v0.8.1

Diff since v0.8.0

Merged pull requests:

  • fix: ignore input type in LinearOperator construction by default (#174) (@gdalle)

v0.8.0

11 Jun 11:17
74bb967

Choose a tag to compare

ImplicitDifferentiation v0.8.0

Diff since v0.7.2

Breaking changes

  • Renamed KrylovLinearSolver into IterativeLinearSolver
  • Strengthened typing in iterative solve, which will make ComponentArrays error unless the OperatorRepresentation is switched from LinearOperators to LinearMaps
  • Split the backend keyword to ImplicitFunction into backends (one for x and one for y)
  • Activated strict mode 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)

v0.7.2

15 Apr 13:16
da2c944

Choose a tag to compare

What's Changed

  • Allow generic arrays, not just vectors by @gdalle in #167

Full Changelog: v0.7.1...v0.7.2

v0.7.1

11 Apr 06:10
853a544

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.7.0...v0.7.1

v0.7.0

11 Apr 06:10
1a51ffa

Choose a tag to compare

What's Changed

Main breaking changes

  • The forward function (now called solver) must return a byproduct z in all cases, which will usually be nothing. It used to be optional. For most users, adaptation will only require replacing forward(x) = y by forward(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: v0.6.3...v0.7.0

v0.6.3

02 Apr 13:24
f45ada3

Choose a tag to compare

What's Changed

Full Changelog: v0.6.2...v0.6.3

v0.6.2

02 Apr 13:24
a2ad001

Choose a tag to compare

What's Changed

  • Adapt to new Enzyme and DifferentiationInterface by @gdalle in #156
  • Make Krylov solver verbose and public by @gdalle in #157

Full Changelog: v0.6.1...v0.6.2

v0.6.1

23 Sep 21:01
6195cd3

Choose a tag to compare

What's Changed

  • Fix Enzyme extension and add new broken test by @gdalle in #151

Full Changelog: v0.6.0...v0.6.1