Skip to content

Commit 04a50ff

Browse files
0xC000005claude
andcommitted
v0.17.0: bump version + release housekeeping
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 6d6fc75 commit 04a50ff

6 files changed

Lines changed: 25 additions & 5 deletions

File tree

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,19 @@ All notable changes to PyChebyshev will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.17.0] - 2026-04-25
9+
10+
### Added — Integrate Everywhere
11+
12+
- `ChebyshevSlider.integrate(dims=None, bounds=None)` — full and partial integration via the sliding-decomposition closed form. Returns a scalar on full integration; a `ChebyshevSlider` over surviving dims on partial.
13+
- `ChebyshevTT.integrate(dims=None, bounds=None)` — full and partial integration via Fejér-1 quadrature contraction into each integrated core's node axis. Returns a scalar on full integration; a `ChebyshevTT` over surviving dims on partial. Works on TT objects built via Cross, SVD, and ALS methods.
14+
- New private helpers in `_calculus.py`: `_slider_partition_intersect()`, `_integrate_tt_along_dim()`.
15+
- Extended user-guide page `docs/user-guide/calculus.md` with v0.17 Slider/TT integration sections.
16+
17+
After v0.17, all four PyChebyshev classes support integration. Roots/min/max on Slider/TT remain deferred to v0.21.
18+
19+
**Beyond MoCaX:** MoCaX 4.3.1 has no `integrate()` API on any class.
20+
821
## [0.16.0] - 2026-04-25
922

1023
### Added — Polish Bundle (final MoCaX 4.3.1 cosmetic mirror)

CLAUDE.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ PyChebyshev is a pip-installable Python library for multi-dimensional Chebyshev
1212
# Setup
1313
uv sync
1414

15-
# Run tests (~838 tests, ~110s due to 5D Black-Scholes builds)
15+
# Run tests (~890 tests, ~110s due to 5D Black-Scholes builds)
1616
uv run pytest tests/ -v
1717

1818
# Run a single test
@@ -59,6 +59,9 @@ The installable package. Public classes: `ChebyshevApproximation`, `ChebyshevSpl
5959
`is_dimensionality_allowed()` static, `defer_build=True` +
6060
`set_original_function_values()`, and optional `Domain`/`Ns`/`SpecialPoints`
6161
typed helpers (constructors accept both forms).
62+
- v0.17 adds `integrate()` on `ChebyshevSlider` and `ChebyshevTT` (full +
63+
partial integration). After v0.17, every PyChebyshev class supports
64+
integration. Roots/min/max on Slider/TT remain deferred to v0.21.
6265

6366
### Benchmark Scripts (project root)
6467

@@ -77,6 +80,7 @@ Not part of the library. Compare Chebyshev barycentric against alternative metho
7780
- `compare_from_values.py` — PyChebyshev nodes()/from_values() vs MoCaX Extend comparison (requires `mocaxextend_lib/`)
7881
- `compare_special_points.py` — PyChebyshev special_points vs MoCaX MocaxSpecialPoints + MocaxNs comparison (requires `mocax_lib/`)
7982
- `compare_v016_polish.py` — PyChebyshev v0.16 polish surface vs MoCaX 4.3.1 cosmetic API (requires `mocaxpy`; gracefully skips MoCaX side if not installed)
83+
- `compare_calculus_completion.py` — PyChebyshev v0.17 Slider/TT integrate vs MoCaX 4.3.1 (no equivalent — beyond-MoCaX feature)
8084

8185
### Tests (`tests/`)
8286

@@ -101,6 +105,9 @@ Not part of the library. Compare Chebyshev barycentric against alternative metho
101105
`get_evaluation_points`, `get_num_evaluation_points`), `peek_format_version`,
102106
`is_dimensionality_allowed`, `defer_build` + `set_original_function_values`,
103107
`Domain`/`Ns`/`SpecialPoints` typed helpers.
108+
- `test_calculus_completion.py`~37 tests: `ChebyshevSlider.integrate()` (full
109+
and partial), `ChebyshevTT.integrate()` (full and partial), cross-class
110+
consistency checks, bounds validation.
104111

105112
### CI/CD (`.github/workflows/`)
106113

docs/roadmap.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ breaking changes.
132132

133133
**Closes MoCaX gaps:** the last cosmetic surface methods.
134134

135-
## v0.17 — Integrate Everywhere :material-clock-outline:
135+
## v0.17 — Integrate Everywhere :material-check:
136136

137137
Extend the v0.9 calculus toolkit so every class supports integration.
138138

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "pychebyshev"
7-
version = "0.16.0"
7+
version = "0.17.0"
88
description = "Fast multi-dimensional Chebyshev tensor interpolation with analytical derivatives"
99
readme = "README.md"
1010
license = {text = "MIT"}

src/pychebyshev/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "0.16.0"
1+
__version__ = "0.17.0"

uv.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)