Skip to content

Releases: CosmologicalEmulators/jaxace

v0.5.0

04 Mar 19:36
4f8e8c5

Choose a tag to compare

jaxace v0.5.0 — Release Notes

What's New

New interpolation utilities (jaxace.utils)

Two JAX-native interpolation functions ported from AbstractCosmologicalEmulators.jl are now available and fully JIT-compilable and differentiable:

  • akima_interpolation(u, t, t_new) — Akima spline interpolation. Also available in decomposed form via prepare_akima_spline / evaluate_akima_spline for efficient repeated evaluation.
  • cubic_spline_interpolation(u, t, t_new) — Natural cubic spline interpolation.

Both functions support 1-D and 2-D inputs (batch over columns), jax.jit, jax.grad, and jax.vmap.

New Chebyshev module (jaxace.chebyshev)

A complete Chebyshev spectral toolkit:

Function Description
chebpoints(K, x_min, x_max) Chebyshev–Gauss–Lobatto nodes
prepare_chebyshev_plan(...) Precompute a multi-dimensional Chebyshev plan
chebyshev_polynomials(x, x_min, x_max, K) Evaluate basis polynomials
chebyshev_decomposition(plan, f_vals) Decompose function values into Chebyshev coefficients (via DCT-I)

GenericEmulator — a flexible emulator class (jaxace.core)

A new GenericEmulator class provides a unified interface for loading and running any trained emulator, alongside FlaxEmulator. Use run_emulator(input, emulator) for inference.

Artifact-based emulator loading

  • load_trained_emulator_from_artifact(name) — loads a trained emulator directly from the artifact registry without managing file paths manually.
  • get_emulator(name, download=True) — high-level convenience function: resolves, downloads if needed, and returns the emulator in one call.
  • Artifacts.toml is now bundled inside the jaxace package, fixing a bug where the file wasn't found after a clean pip install.

Relaxed JAX version constraint

The minimum required JAX version has been relaxed to support a wider range of JAX releases.


Breaking Changes

None. All v0.4.x public APIs remain unchanged.


Bug Fixes

  • Fixed Artifacts.toml not found after pip install (was looked up relative to the wrong parent directory).
  • Removed spurious print statements from emulator loading path.

Improved Test Coverage

New test modules added:

  • test_cubic_spline.py — correctness and differentiability of cubic spline
  • test_chebyshev.py — Chebyshev basis and decomposition
  • test_generic_emulator.pyGenericEmulator loading and inference
  • test_artifact_loading.py — artifact-based loading and caching

Upgrading

pip install --upgrade "jaxace>=0.5.0"

If you are a jaxeffort user, upgrade its version pin accordingly:

jaxace = ">=0.5.0"

v0.4.1

03 Dec 22:47
d9a4f28

Choose a tag to compare

What's Changed

Full Changelog: v0.4.0...v0.4.1

v0.4.0

03 Dec 05:14
5c2aceb

Choose a tag to compare

What's Changed

Full Changelog: v0.3.1...v0.4.0

v0.3.1

07 Nov 05:21
63b5647

Choose a tag to compare

What's Changed

Full Changelog: v0.3.0...v0.3.1

v0.3.0

06 Nov 03:32
238f17d

Choose a tag to compare

What's Changed

  • Curvature support by @marcobonici in #18
  • Small API change (from W0Wa to w0wa)

Full Changelog: v0.2.0...v0.3.0

v0.2.0

13 Sep 23:52
a43c2d9

Choose a tag to compare

What's Changed

Full Changelog: v0.1.1...v0.2.0

v0.1.1

12 Sep 17:09
eee8ab9

Choose a tag to compare

What's Changed

Full Changelog: v0.1.0...v0.1.1

v0.1.0

11 Sep 21:51
ea94d8c

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: https://github.com/CosmologicalEmulators/jaxace/commits/v0.1.0