Skip to content

Releases: ucl-bug/jaxdf

Release 0.2.8

17 Sep 10:36
Compare
Choose a tag to compare

[0.2.8] - 2024-09-17

Fixed

  • Fixed util.get_implemented bug that was happening with the new version of plum

Removed

  • Removed the deprecated util._get_implemented function

Release 0.2.7

24 Nov 19:49
Compare
Choose a tag to compare

[0.2.7] - 2023-11-24

Changed

  • The Quickstart tutorial has been updated.
  • The property Field.ndim has now been moved into Field.domain.ndim, as it is fundamentally a property of the domain
  • The init_params function 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_map is removed, use jax.tree_util.tree_map instead.
  • 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_params method. To minimize problems for packages relying on jaxdf, in this release the outputs of an operator are 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 use jaxdf with 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.abstract decorator can be used to define an unimplemented operator, for specifying input arguments and docstrings.
  • Linear fields are now defined as equal if they have the same set of parameters and the same Domain.
  • Ongrid fields 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_implemented is now exposed to the user.
  • Added laplacian operator for FiniteDifferences fields.
  • JaxDF now uses standard Python logging. To set the logging level, use jaxdf.logger.set_logging_level, for example jaxdf.logger.set_logging_level("DEBUG"). The default level is INFO.
  • Fields have now a handy property which is an alias for .params
  • Continuous and Linear fields now have the .is_complex property
  • Field and Domain are now Moduless, which are based on from equinox.Module. They are entirely equivalent to equinox.Module, but have the extra .replace method that is used to update a single field.

Deprecated

  • The property .is_field_complex is now deprecated in favor of .is_complex. Same goes for .is_real.
  • Field.get_field is now deprecated in favor of the __call__ method.
  • The @discretization decorator is deprecated, as now Fields are equinox modules. It is just not needed now, and until removed it will act as a simple pass-trough

Fixed

  • OnGrid.from_grid now 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 with diffrax

Release 0.2.6

28 Jun 12:19
Compare
Choose a tag to compare

[0.2.6] - 2023-06-28

Changed

Release 0.2.5

23 Jun 12:29
Compare
Choose a tag to compare

[0.2.5] - 2023-06-23

Fixed

  • The default_parameters function now works with custom field types
  • __rpow__ for OnGrid
  • Avoids changing parameters of OnGrid inside jax transformations
  • Spectral gradient for signal of even length now treats the Nyquist frequency correctly
  • Staggering in FiniteDifferences kernel
  • Incorrect behaviour for 3d staggered derivatives

Added

  • Heterogeneous laplacian operator
  • FourierSeries values on arbitrary point using __call__ method
  • Automatically infer missing dimension for scalar fields
  • Shift operator
  • Staggering for FourierSeries differential operators

Changed

  • Updated docs
  • Renamed ode variable update, removed wrong test in utils
  • Updated support/packaging files

Release v0.2.4

28 Dec 21:17
Compare
Choose a tag to compare

New release

Release v0.2.2

20 Dec 09:50
Compare
Choose a tag to compare

New release

Release v0.2.3

28 Dec 21:15
Compare
Choose a tag to compare

New release

Release v0.2.1

19 Dec 20:09
Compare
Choose a tag to compare

New release

v0.2.0

19 Dec 19:02
Compare
Choose a tag to compare

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.py module. [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]

v0.1.0-alpha

29 Nov 17:38
1791725
Compare
Choose a tag to compare
Merge pull request #22 from ucl-bug/package

bugfix init imports