You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+13Lines changed: 13 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,19 @@ All notable changes to PyChebyshev will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
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.
-`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)
80
84
81
85
### Tests (`tests/`)
82
86
@@ -101,6 +105,9 @@ Not part of the library. Compare Chebyshev barycentric against alternative metho
|`bounds`|`tuple`, `list[tuple/None]`, or `None`| Sub-interval bounds. `None` = full domain. Single `(lo, hi)` for one dim, or list with positional correspondence to `dims`. |
209
292
210
293
**Returns**: `float` if all dimensions are integrated; otherwise a
211
-
lower-dimensional interpolant of the same type (`ChebyshevApproximation` or
212
-
`ChebyshevSpline`).
294
+
lower-dimensional interpolant of the **same type** (`ChebyshevApproximation`,
295
+
`ChebyshevSpline`, `ChebyshevSlider`, or `ChebyshevTT`).
213
296
214
297
**Errors**:
215
298
@@ -357,9 +440,10 @@ Partial integration on a spline returns a lower-dimensional `ChebyshevSpline`.
357
440
358
441
## Derivatives, Error Estimation, and Serialization
359
442
360
-
**Partial integration** returns a fully functional interpolant (either
361
-
`ChebyshevApproximation` or `ChebyshevSpline`). All existing features
362
-
work on the result:
443
+
**Partial integration** returns a fully functional interpolant of the same
444
+
type (`ChebyshevApproximation`, `ChebyshevSpline`, `ChebyshevSlider`, or
445
+
`ChebyshevTT`). For `ChebyshevApproximation` and `ChebyshevSpline`, all
446
+
existing features work on the result:
363
447
364
448
-**Derivatives**: `vectorized_eval(point, [1])` computes derivatives in
365
449
the surviving dimensions via the spectral differentiation matrices.
@@ -400,10 +484,10 @@ matrices, and barycentric evaluation.
400
484
401
485
## Limitations
402
486
403
-
-**Not yet supported on `ChebyshevSlider` or `ChebyshevTT`.**
404
-
Calculus on Tensor Train interpolants would require TT-specific
405
-
coefficient extraction; slider calculus would need per-slide integration
406
-
with additive recombination.
487
+
-**`roots()`, `minimize()`, and `maximize()` are not yet supported on
488
+
`ChebyshevSlider` or `ChebyshevTT`.** These operations require
489
+
1-D polynomial coefficient extraction; generalising to the sliding
490
+
decomposition or TT format is deferred.
407
491
-**Multi-D rootfinding** (2D Bezout resultants) is not implemented. Only
408
492
1-D slices are supported via the `dim` + `fixed` interface.
409
493
-**Result has `function=None`** -- partial integration results cannot call
0 commit comments