Skip to content

Releases: patrick-kidger/optimistix

Optimistix v0.0.9

21 Oct 09:20
Compare
Choose a tag to compare

This is a compatibility release: JAX 0.4.34 changed how custom autodifferentiation rules work. As of this update we should now be compatible with this. (#87)

Full Changelog: v0.0.8...v0.0.9

Optimistix v0.0.8

30 Sep 00:41
Compare
Choose a tag to compare
  • Compatibility with latest JAX (fixed some warnings, fixed some crashes from the jax.ShapeDtypeStruct.weak_dtype breaking change).
  • Many solvers that need to calculate Jacobians will now preferentially use forward mode over reverse mode where possible. This generally improves speed. (#61)
  • OptaxMinimiser now supports Optax optimizers that need the current parameter state. (Thanks @NeilGirdhar! #77)
  • Bisection now optionally supports expanding the interval to find the root. (Thanks @NeilGirdhar! #78)
  • Added warning that complex numbers are still a work in progress -- turns out that some facets of optimizing functions C->R autodifferentiably is perhaps still an open research question (?)
  • Doc fixes. (Thanks @johannahaffner! #69)
  • Added py.type file to signal static type checking compatibility. (Thanks @NeilGirdhar! #80)

New Contributors

Full Changelog: v0.0.7...v0.0.8

Optimistix v0.0.7

12 May 12:53
Compare
Choose a tag to compare

Features

  • Support for complex numbers! In theory these should now be supported everywhere. In practice we're still considering this a little experimental at the moment, just in case we've missed something. (Huge thanks to @Randl! #53)
  • optimistix.{AbstractGaussNewton, GaussNewton, LevenbergMarquardt, IndirectLevenbergMarquardt, Dogleg} should now all support using reverse-mode autodiff to calculate Jacobians. (#51)

Bugfixes

Other

  • Documentation fixes. (Thanks @ColCarroll! #32)
  • Now compatible with jax_numpy_rank_promotion=raise and jax_numpy_dtype_promotion=strict.

New Contributors

Full Changelog: v0.0.6...v0.0.7

Optimistix v0.0.6

27 Dec 17:06
Compare
Choose a tag to compare

Bugfix release!

  • Fixed recompilation happening on every step when iterating step-by-step with a Gauss--Newton solver. (#30)
  • sol.state previously included only the array-valued parts of the state (for sol = optx.{minimise, least_squares, root_find, fixed_point}(...)). It now includes everything.
  • Fixed optx.internal.implicit_jvp misbehaving for non-Optimistix use cases.
  • Fixed optx.{Newton,Chord}(cauchy_termination=False) failing when started close to the solution.

Full Changelog: v0.0.5...v0.0.6

Optimistix v0.0.5

13 Oct 21:15
Compare
Choose a tag to compare

Very simple release!

  • Added optimistix.compat.minimize as a replacement for jax.scipy.optimize.minimize. (#14)

Full Changelog: v0.0.4...v0.0.5

Initial release!

05 Oct 23:56
Compare
Choose a tag to compare

Hurrah! How exciting.