Releases: patrick-kidger/optimistix
Releases · patrick-kidger/optimistix
Optimistix v0.0.9
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
- 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
- @johannahaffner made their first contribution in #69
- @NeilGirdhar made their first contribution in #77
Full Changelog: v0.0.7...v0.0.8
Optimistix v0.0.7
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
- Fixed a crash when using
jax.disable_jit
(See patrick-kidger/diffrax#368, #43) - Fixed terminating on the first step for functions with initial value zero. (Thanks @NightWinkle! #49)
Other
- Documentation fixes. (Thanks @ColCarroll! #32)
- Now compatible with
jax_numpy_rank_promotion=raise
andjax_numpy_dtype_promotion=strict
.
New Contributors
- @ColCarroll made their first contribution in #32
- @NightWinkle made their first contribution in #49
- @Randl made their first contribution in #53
Full Changelog: v0.0.6...v0.0.7
Optimistix v0.0.6
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 (forsol = 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
Very simple release!
- Added
optimistix.compat.minimize
as a replacement forjax.scipy.optimize.minimize
. (#14)
Full Changelog: v0.0.4...v0.0.5
Initial release!
Hurrah! How exciting.