Releases: ucl-bug/jaxdf
Releases · ucl-bug/jaxdf
jaxdf v0.3.0
Autogenerated release notes as follows:
What's Changed
- Update dependencies and build system by @astanziola in #147
- chore(deps): update development dependencies to latest versions by @astanziola in #153
- Fix inconsistent shift_operator (#146) by @astanziola in #157
- chore(deps): pin jax to >=0.9.0,<0.10.0 by @dependabot[bot] in #155
- fix(deps): update dependencies to resolve security vulnerabilities by @astanziola in #158
- chore(deps): widen pre-commit and python-kacl version bounds by @astanziola in #159
- feat: operator params introspection, eqx.Module tests, tutorial, and Linear.eq fix by @astanziola in #161
- Fix FiniteDifferences.replace_params losing accuracy by @astanziola in #162
- Fix draft release workflow by @astanziola in #163
- Allow bump-my-version to run in dirty worktree by @astanziola in #164
- Fix bump-my-version config section name by @astanziola in #165
- Release 0.3.0 by @astanziola in #166
- Fix release workflow changelog check by @astanziola in #167
- Fix release workflow quoting by @astanziola in #168
- Fix release tests: clear nbval addopts by @astanziola in #169
- Fix plum 2.x import and release test config by @astanziola in #170
- Run tests once on main by @astanziola in #171
- Fix plum 2.x import and release test-script quoting by @astanziola in #172
- Use forked release action with changelog check and quoting fix by @astanziola in #173
- Use uv run in release test-script by @astanziola in #174
Full Changelog: 0.2.8...v0.3.0
Release 0.2.8
[0.2.8] - 2024-09-17
Fixed
- Fixed
util.get_implementedbug that was happening with the new version ofplum
Removed
- Removed the deprecated
util._get_implementedfunction
Release 0.2.7
[0.2.7] - 2023-11-24
Changed
- The Quickstart tutorial has been updated.
- The property
Field.ndimhas now been moved intoField.domain.ndim, as it is fundamentally a property of the domain - The
init_paramsfunction now will inherit the default parameters from its operator, to remove any source of ambiguity. This means that it should not have any default values, and an error is raised if it does.
Removed
- The
__about__file has been removed, as it is redundant - The function
params_mapis removed, usejax.tree_util.tree_mapinstead. - Operators are now expected to return only their outputs, and not parameters. If you need to get the parameters of an operator use its
default_paramsmethod. To minimize problems for packages relying onjaxdf, in this release the outputs of anoperatorare filtered to keep only the first one. This will change soon to allow the user to return arbitrary PyTrees.
Added
- JaxDF
Fields are now based on equinox. In theory, this should allow to usejaxdfwith all the scientific libraries for the jax ecosystem. In practice, please raise an issue when you encounter one of the inevitable bugs :) - The new
operator.abstractdecorator can be used to define an unimplemented operator, for specifying input arguments and docstrings. Linearfields are now defined as equal if they have the same set of parameters and the sameDomain.Ongridfields now have the method.add_dim(), which adds an extra tailing dimension to its parameters. This is not an in-place update: the method returns a new field.- The function
jaxdf.util.get_implementedis now exposed to the user. - Added
laplacianoperator forFiniteDifferencesfields. - JaxDF now uses standard Python logging. To set the logging level, use
jaxdf.logger.set_logging_level, for examplejaxdf.logger.set_logging_level("DEBUG"). The default level isINFO. - Fields have now a handy property
.θwhich is an alias for.params ContinuousandLinearfields now have the.is_complexpropertyFieldandDomainare nowModuless, which are based on fromequinox.Module. They are entirely equivalent toequinox.Module, but have the extra.replacemethod that is used to update a single field.
Deprecated
- The property
.is_field_complexis now deprecated in favor of.is_complex. Same goes for.is_real. Field.get_fieldis now deprecated in favor of the__call__method.- The
@discretizationdecorator is deprecated, as nowFieldsareequinoxmodules. It is just not needed now, and until removed it will act as a simple pass-trough
Fixed
OnGrid.from_gridnow automatically adds a dimension at the end of the array for scalar fields, if needed- Added a custom operator for
equinox.internal._omega._Metaωobjects and Fields, which makes the library compatible withdiffrax
Release 0.2.6
[0.2.6] - 2023-06-28
Changed
- removed
jaxlibfrom dependencies. See https://github.com/google/jax/discussions/16380 for more information
Release 0.2.5
[0.2.5] - 2023-06-23
Fixed
- The default_parameters function now works with custom field types
__rpow__forOnGrid- Avoids changing parameters of
OnGridinside jax transformations - Spectral gradient for signal of even length now treats the Nyquist frequency correctly
- Staggering in
FiniteDifferenceskernel - Incorrect behaviour for 3d staggered derivatives
Added
- Heterogeneous laplacian operator
FourierSeriesvalues on arbitrary point using__call__method- Automatically infer missing dimension for scalar fields
- Shift operator
- Staggering for
FourierSeriesdifferential operators
Changed
- Updated docs
- Renamed ode variable update, removed wrong test in utils
- Updated support/packaging files
Release v0.2.4
New release
Release v0.2.2
New release
Release v0.2.3
New release
Release v0.2.1
New release
v0.2.0
New Features
- fourier field value on arbitrary point using call method.
- Shift_operator for FourierSeries. [Antonio Stanziola]
- automatically infer missing dimension for scalar fields. [Antonio
Stanziola] - staggering for Fourier differential operators. [Antonio
Stanziola]
Fix
- rpow for OnGrid. [antonio]
- Avoids changing parameters of OnGrid inside jax transformations.
[Antonio Stanziola] - Spectral gradient for signal of even length now treats the Nyquist
frequency correctly. [Antonio Stanziola] - Fourier laplacian
- Jaxlib in requirements, or actions fail. [Antonio Stanziola]
- Staggering in fd kernel. [Antonio Stanziola]
- Added jaxlib to requirements for CI. [Antonio Stanziola]
- Error on 3d staggered derivatives. [Antonio Stanziola]
Breaking
- removed the
ode.pymodule. [Antonio Stanziola] - params are only accepted as keyword argument. [Antonio Stanziola]
- changed how operator parameters are returned.
[Antonio Stanziola]
Other
- Remove breaking changes warning. [Antonio Stanziola]
- Black pre-commit. [Antonio Stanziola]
- Plum documentation via plumkdocs. [Antonio Stanziola]
- Params reimplemented as private property. [Antonio Stanziola]