Releases: CosmologicalEmulators/jaxace
v0.5.0
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 viaprepare_akima_spline/evaluate_akima_splinefor 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.tomlis now bundled inside thejaxacepackage, 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.tomlnot 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 splinetest_chebyshev.py— Chebyshev basis and decompositiontest_generic_emulator.py—GenericEmulatorloading and inferencetest_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
v0.4.0
What's Changed
- ci(deps): bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #21
- chore(deps-dev): bump pytest from 8.4.2 to 9.0.0 by @dependabot[bot] in #24
- Generic emu by @marcobonici in #27
- Develop by @marcobonici in #28
Full Changelog: v0.3.1...v0.4.0
v0.3.1
v0.3.0
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
What's Changed
- Cosmology class by @marcobonici in #16
- Cosmology class (#16) by @marcobonici in #17
Full Changelog: v0.1.1...v0.2.0
v0.1.1
What's Changed
- Fixing weights loading by @marcobonici in #13
- Develop by @marcobonici in #14
Full Changelog: v0.1.0...v0.1.1
v0.1.0
What's Changed
- Develop by @marcobonici in #1
- Develop by @marcobonici in #9
- Develop by @marcobonici in #10
- chore(deps-dev): bump pytest-cov from 4.1.0 to 7.0.0 by @dependabot[bot] in #8
- ci(deps): bump actions/setup-python from 5 to 6 by @dependabot[bot] in #4
- ci(deps): bump actions/download-artifact from 4 to 5 by @dependabot[bot] in #2
- chore(deps): bump numpy from 1.26.4 to 2.2.6 by @dependabot[bot] in #6
- chore(deps-dev): bump pytest from 7.4.4 to 8.4.2 by @dependabot[bot] in #7
- ci(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #3
- chore(deps): bump diffrax from 0.6.2 to 0.7.0 by @dependabot[bot] in #5
- Update poetry.lock by @marcobonici in #11
New Contributors
- @marcobonici made their first contribution in #1
- @dependabot[bot] made their first contribution in #8
Full Changelog: https://github.com/CosmologicalEmulators/jaxace/commits/v0.1.0