Releases: 0xC000005/ChebyshevSharp
ChebyshevSharp 0.15.2
Documentation patch release. Library code is unchanged from 0.15.0/0.15.1.
Documentation
- Trimmed the American-option case study's embedded ~400-line continuous-state dynamic-programming lecture to a short, problem-specific summary that cross-links the From MDPs to Chebyshev Collocation primer (#224). The empirical results, glossary, boundary picture, Bellman diagnostics, and the GMP19 scope-fence are unchanged; the page drops from 1295 to ~900 lines.
Full notes: https://0xc000005.github.io/ChebyshevSharp/docs/changelog.html
ChebyshevSharp 0.15.1
Documentation patch release. Library code is unchanged from 0.15.0 — the package differs only in version/metadata and the bundled README.
Documentation
- New primer From MDPs to Chebyshev Collocation: a Map of Methods (#222): the general-to-specific theory companion to the American-option case study — MDPs → contraction / value & policy iteration → finite-horizon continuous state → four ways to represent the value function (basis functions, regression, neural networks, discretisation) → comparison — including the compute-once transition-kernel derivation and a finite-difference-vs-collocation comparison.
- Citation/attribution corrections and benchmark-scope disclosures across the docs (#221): fixed the Bermudan recombining-quadratures authors (Lim/Lee/Kim 2014), the Goreinov–Tyrtyshnikov 2001 page range, and the Halperin QLBS year; added Homma & Saltelli (1996), the maxvol-2010 paper, and the Orthogonal Chebyshev Sliding Technique reference; fixed a non-compiling ChebyshevTT snippet.
Full notes: https://0xc000005.github.io/ChebyshevSharp/docs/changelog.html
ChebyshevSharp 0.15.0
[0.15.0] - 2026-06-03 — Continuous-state dynamic programming
Added
- Added
ChebyshevSharp.DynamicProgramming, a finite-horizon continuous-state
Bellman-collocation API for one-dimensional state problems with discrete
action grids.
Examples
- Added
examples/ContinuousStateDynamicProgramming, covering dynamic asset
allocation and stochastic growth as non-option examples of the generic
Bellman-collocation API.
Documentation
- Clarified that the American-option case study uses QLNet finite difference
and binomial engines as the numerical oracle, while QuantEcon
ContinuousDPs.jlis a Bellman-collocation workflow reference rather than a
direct American-option parity oracle. - Added a Continuous-State Dynamic Programming how-to guide that presents the
generic API before the finance-specific American-option case study and cites
QuantEcon,ContinuousDPs.jl, CVXPortfolio, and PyPortfolioOpt as related
documentation patterns. - Reworked the documentation landing page as a reader-oriented hub with direct
paths for tutorials, how-to guides, concepts, reference, common workflows, and
case studies. - Simplified the top navigation to
Docs,API,Release Notes, andGitHub
while keeping tutorial, how-to, concept, and reference landing pages available
inside the documentation tree. - Added the documentation math template used by the American-option tutorial so
LaTeX formulas render consistently in the DocFX site.
Tests
- Added a Dynamic Chebyshev Bellman expectation regression test for the
Black-Scholes risk-neutral first-moment identity. - Added regression tests for the generic finite-horizon Bellman solver, dynamic
asset-allocation example pattern, stochastic-growth example pattern, input
validation, and out-of-domain model evaluation.
CI
- Added the continuous-state dynamic-programming console example to the
validation workflow's runnable example gate.
ChebyshevSharp 0.14.0
Highlights
- Added
examples/AmericanOptionDynamicChebyshev, a QLNet-backed American option case-study harness comparing finite-difference and binomial references, Longstaff-Schwartz regression simulation, Stanford-style LSPI, and a reusable Dynamic Chebyshev continuation-value model. - Added finance regression tests for the American-option reference pricer, Longstaff-Schwartz baseline, LSPI baseline, and Dynamic Chebyshev solver.
- Added the American Option Dynamic Chebyshev case study with optimal-stopping formulas, continuation-value intuition, reproducible commands, accuracy results, speed evidence, and citations.
- Advanced package metadata to
0.14.0and package validation baseline to0.13.4.
See docs/docs/changelog.md for the full release entry.
ChebyshevSharp 0.13.4
ChebyshevSharp 0.13.4 — Callable bond risk clone case study
This patch release publishes the callable fixed-rate bond surrogate case study and risk-acceptance harness. It does not intentionally change the public ChebyshevSharp API.
Documentation
- Expanded the callable-bond case study with risk-acceptance validation, full-pillar DV01/PV01 evidence, anchored HDMR and factor-residual trials, state-dependent local-risk, exercise-moneyness residual, and dynamic short-rate-state evidence.
- Added the first risk-acceptable reference-semantics callable tree clone with parallel hybrid effective DV01 acceleration.
- Added references for HDMR and dynamic Chebyshev methods for early-exercise products.
Examples
- Added
examples/CallableBondSurrogate, including the QLNet-backed callable baseline, the full-dimensional public wrapper, naive surrogate discovery, structured-alternatives evidence modes, and full 60-pillar DV01 checks.
Release
ChebyshevSharp 0.13.3
This patch release packages high-dimensional documentation improvements for
ChebyshevSlider and ChebyshevTT. It does not intentionally change public API
or numerical behavior.
Documentation
- Added
examples/SliderPartitionValidation, a runnable 8D Slider example that
compares a correct pairwise partition against an intentionally weak singleton
partition and shows why held-out validation matters
(#185, #188). - Expanded the Slider guide with a pivot/slide mental model, a practical
partition-selection workflow, and held-out validation code for detecting
missing cross-group interactions. - Improved the Tensor Train guide with a core-chain mental model, a complete
first example that builds, evaluates, validates, and prints ranks/compression,
plus a TT-Cross acceptance checklist and troubleshooting table.
CI
- Runs the .NET 10 xUnit suite with VSTest parallelization disabled because
existing verbose-output tests captureConsole.Out; this avoids
nondeterministic writer-disposal failures in CI while preserving full test
coverage.
Release
- Advanced package metadata to
0.13.3and updated package validation to
compare this release against0.13.2.
ChebyshevSharp 0.13.2
Fixed
ChebyshevSlider.Build()no longer overflows full-grid diagnostic arithmetic for high-dimensional partitioned sliders whose per-slide grids are tractable (#182, #183).ChebyshevSlider.ToString()now reports oversized full-tensor comparisons without throwing for valid slider decompositions (#183).
Documentation
- Improved documentation-site navigation by promoting release notes, adding a project-links page, exposing a top-level GitHub repository link, and adding footer links for GitHub, NuGet, issues, release notes, and contributing (#181).
Release
- Advanced package metadata to
0.13.2and updated package validation to compare against0.13.1.
Validation passed in PR #184: format, release build, examples, tests, package validation, DocFX, hosted CI, and Codecov patch coverage.
ChebyshevSharp 0.13.1
Summary
- Packages the completed public documentation audit as a patch release.
- Updates package metadata, getting-started package examples, release-gate documentation, and issue-template placeholders to 0.13.1.
- Sets package validation to compare this patch release against 0.13.0.
Compatibility
This release does not intentionally change public APIs or numerical behavior.
Validation
PR #180 passed format, pack, docs, .NET 8 build, .NET 10 tests, all-tests, and codecov/patch gates before merge.
ChebyshevSharp v0.13.0
[0.13.0] - 2026-05-08 — Audit-driven correctness and validation hardening
This release collects the post-0.12.0 audit fixes. It is primarily a
backward-compatible correctness release, but users may see stricter exceptions
for invalid inputs that were previously accepted, extrapolated, or surfaced as
implementation-level exceptions.
The summary sections below describe user-visible impact. The traceability
inventories at the end of this release section cover the 83 audit pull requests
merged after v0.12.0, this release-preparation pull request, and the 35 issues
closed in the post-0.12.0 release window.
Upgrade Notes
- No public APIs were intentionally removed in this release.
- Invalid domains, dimensions, scalar controls, derivative orders, malformed
load data, and out-of-domain evaluation points may now throw earlier with
public argument exceptions instead of producing extrapolated values,
inconsistent state, or lower-level runtime exceptions.
Changed
- Public evaluation now rejects out-of-domain points across dense, spline,
slider, and Tensor Train interpolants instead of silently extrapolating
(#74,
#76). - Public scalar algebra now rejects
NaN, infinity, zero divisors, and null
operands consistently before producing invalid interpolant state
(#129,
#131). - Runtime evaluation, derivative registries, and serialized derivative metadata
now enforce configuredmaxDerivativeOrderbounds
(#123,
#125). - NuGet package validation now compares this release against
0.12.0.
Fixed
- Adaptive auto-N construction now validates off-grid convergence more robustly,
rejects non-finite validation samples, and commits rebuilt approximation state
only after the full adaptive loop succeeds
(#41,
#147). - Dense, spline, slider, and Tensor Train builders now reject non-finite build
values and invalid numeric controls earlier, with public argument exceptions
instead of delayed internal failures. ChebyshevSpline.Build(),ChebyshevSlider.Build(), and adaptive
ChebyshevApproximation.Build()now publish replacement state atomically, so
failed rebuilds preserve the previous built interpolant
(#143,
#145,
#147).- Public state accessors now return snapshots rather than mutable live arrays,
including domains, node counts, tensor values, special points, cached
evaluation points, and result wrapper records
(#75,
#77,
#78,
#79,
#80,
#81,
#82). - JSON and
.pcbloaders now reject malformed dimensions, tensor lengths,
oversized binary declarations, invalid spline/slider/TT state, and legacy TT
dimension metadata before materializing inconsistent objects
(#72,
#117,
#141). ChebyshevSpline.SobolIndices()now includes between-piece variance and
interval-membership interactions instead of only aggregating independent
per-piece Sobol energies (#84).ChebyshevSpline.AutoKnots()now validates public inputs before scanning the
user function (#86).- Spline calculus and batch evaluation now reject derivative requests at knot
boundaries and handle jump root detection more consistently. - Tensor Train validation now rejects zero-dimensional grids, invalid auto-order
inputs, invalid round tolerances, non-finite build values, and build calls
without a source function at the public boundary
(#121,
#127,
#135). - Tensor Train lifecycle and ownership fixes preserve unbuilt clone state,
isolate extrusion/slicing result cores from source cores, and repair reduced
QR handling for wide matrices
(#137,
#139). - Deferred construction, integration results, slider derived results, fixture
generation, and legacy JSON migration fixtures now preserve their intended
construction and metadata contracts.
Documentation
- README and docs now distinguish value-only evaluation benchmarks from
price-plus-Greeks benchmarks and record benchmark provenance
(#107,
#109,
#111). - Package snippets and current guides now use C# API names and document JSON
plus portable.pcbserialization (#113). - DocFX API metadata is generated into ignored build output instead of tracked
source files, preventing local source-path churn during docs verification
(#88).
CI and Security
- GitHub Actions are pinned to full-length commit SHAs, DocFX and Stryker tool
versions are pinned, and the SDK matrix explicitly selects the requested SDK
(#90,
#103,
#105). - CI now audits transitive NuGet dependencies across target frameworks and
keeps main branch merges behind required test and Codecov patch gates
(#115).
Complete PR Inventory
- Release metadata and changelog:
#148. - Documentation, community, and benchmarks:
#30,
#31,
#32,
#44,
#88,
#101,
#107,
#109,
#111,
#113. - CI, dependency, package, and security gates:
#33,
#34,
#90,
#103,
#105,
#115,
#117. ChebyshevApproximation, adaptive build, and evaluation validation:
#35,
#38,
#41,
#43,
#45,
#46,
#62,
#63,
#64,
#71,
#74,
#76,
#77,
#81,
#147.- Core numerical tests and fixture provenance:
#36,
#37,
#39,
#40,
#93,
#95,
#97,
#99. ChebyshevSplinevalidation, calculus, Sobol, and rebuild lifecycle:
#47,
#52,
#53,
#54,
#55,
#56,
#57,
[#59](https:/...
ChebyshevSharp v0.12.0
Release PR: #29
Quality and documentation hardening release.
Highlights:
- Added tensor-shape arithmetic guards across dense, serialization, slicing/extrusion, axis kernels, slider diagnostics, and Tensor Train materialization paths.
- Added deterministic property tests, Stryker.NET mutation-test configuration, runnable examples, contributor documentation, and PR checklist.
- Expanded and reorganized docs around tutorials, how-to guides, concepts, reference material, citations, and validation.
- Clarified Type I Chebyshev node convention and the split from MoCaX/Ruiz-Zeron Lobatto grids.
- Hardened SobolIndices variance handling with a scale-relative noise floor and direct TT nonconstant-energy contraction to preserve low-amplitude sensitivity signals.
- Fixed stale documentation around Slider calculus and TT extrusion/slicing/arithmetic availability.
Validation before release:
- GitHub PR checks passed: Format/Pack/Docs, .NET 8, .NET 10, All Tests Passed, codecov/patch.
- Local Release validation passed: format, build, 1156 tests with coverage, and NuGet pack.