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
1.4.0 — the deprecation release: epistemic parity, zero breaks
EPIC3 Phase 2. Every old name still works (removals are 2.0-only,
MIGRATION.md ships now):
- error-bar parity: density/cumulants/extreme grow with_err=True
(per-probe scatter, atoms exact); kappa_w grows full=True (the whole
per-direction curvature distribution)
- the trace split: trace_certified(f, support=) — one name per return shape
- defect.defect_barycentres (canonical; spectroscopy stays as legacy alias)
- resona.synthesize — the discoverable verb for from_measure
- lift.r_inverse / s_inverse — the R/S duals for spectral design
(monotone-window check + bisection, round-trip < 1e-10)
108 tests; full-gallery ratchet vs baseline: zero metric diffs (timing
columns only) — all 1.4 additions are strictly additive.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: docs/README.md
+5-3Lines changed: 5 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -41,15 +41,17 @@ matvec = lambda v: A @ v # your operator, however you can apply it
41
41
| collapse the variance on a spiked operator (Hutch++) |`resona.of(mv, N, deflate=K)`|[reading-spectra](reading-spectra.md)| — |
42
42
| high-resolution density without reorthogonalization |`resona.of(mv, N, k=256, engine="kpm")`|[reading-spectra](reading-spectra.md)| — |
43
43
| get a CERTIFIED bracket (the answer provably inside) |`resona.quadform(mv, "inv", v, certified=True, support=(a,None))`|[precision-and-defects](precision-and-defects.md)|[`certified_logdet.py`](../examples/certified_logdet.py)|
44
-
| certify the k-truncation of a trace estimate |`s.trace("log", certified=True, support=(a,None))`|[precision-and-defects](precision-and-defects.md)|[`certified_logdet.py`](../examples/certified_logdet.py)|
44
+
| certify the k-truncation of a trace estimate |`s.trace_certified("log", support=(a,None))`|[precision-and-defects](precision-and-defects.md)|[`certified_logdet.py`](../examples/certified_logdet.py)|
45
+
| error bars on density / cumulants / extremes |`s.density(xs, with_err=True)` etc. — every stochastic read has one |[reading-spectra](reading-spectra.md)| — |
| check how close a disorder computation is to the critical edge |`resona.subordination.contraction(s, xs, σ²)` → compare to 1 |[composing-operators](composing-operators.md)| — |
47
48
| read the Koopman generator out of a legacy solver's error |`resona.defect.generator_read(P_n, P_2n, t, n)`|[precision-and-defects](precision-and-defects.md)|[`defect_spectroscopy.py`](../examples/defect_spectroscopy.py)|
48
-
| read a band spectrum from the same error (blind-zone-free) |`resona.defect.spectroscopy(power, bands, coords)`|[precision-and-defects](precision-and-defects.md)|[`defect_spectroscopy.py`](../examples/defect_spectroscopy.py)|
49
+
| read per-band barycentres from the same error (blind-zone-free) |`resona.defect.defect_barycentres(power, bands, coords)`|[precision-and-defects](precision-and-defects.md)|[`defect_spectroscopy.py`](../examples/defect_spectroscopy.py)|
49
50
| follow eigenvalues through CROSSINGS along a parameter path |`resona.wkernel.track(A0, Bs, path)`|[inverse-problems](inverse-problems.md)| — |
50
51
| size a safe parameter step (trust region for frozen W) |`resona.wkernel.kappa_w(A0, Bs, k0)`|[inverse-problems](inverse-problems.md)| — |
51
52
| disorder-average a DOS (no realizations) |`resona.subordination.averaged_dos(sA,σ,xs)`|[composing-operators](composing-operators.md)|[`anderson_localization.py`](../examples/anderson_localization.py)|
52
-
| CONSTRUCT an operator with a prescribed spectrum | inverse-CDF levels → `resona.from_measure(levels, 1/N)`|[inverse-problems](inverse-problems.md)|[`spectral_phenomena/operator_synthesis.py`](../examples/spectral_phenomena/operator_synthesis.py)|
53
+
| CONSTRUCT an operator with a prescribed spectrum | inverse-CDF levels → `resona.synthesize(levels, 1/N)`|[inverse-problems](inverse-problems.md)|[`spectral_phenomena/operator_synthesis.py`](../examples/spectral_phenomena/operator_synthesis.py)|
54
+
| invert an R/S-transform for spectral design |`resona.lift.r_inverse(s, target)`|[composing-operators](composing-operators.md)| — |
| read a topological invariant matrix-free | P = `apply(H, step, v)` chains → Chern marker |[solving-and-evolving](solving-and-evolving.md)|[`quantum/chern_from_noise.py`](../examples/quantum/chern_from_noise.py)|
55
57
| turn a TIME SERIES into an operator |`mv, rmv, r = resona.lift.koopman(snapshots)`|[lifting-nonlinear](lifting-nonlinear.md)|[`science/koopman_dynamics.py`](../examples/science/koopman_dynamics.py)|
0 commit comments