What's New in Version 10.0

Numerics.NET v10 aligns with the .NET 10 release and consolidates a year of v9.x improvements into a single, long-term support milestone. If you’ve kept up with 9.x updates, many enhancements will feel familiar. v10 brings them together with a few additions and API refinements.

Supported frameworks

  • .NET 10.0 (new), .NET 8.0, .NET 9.0
  • .NET Framework 4.6.2
  • .NET Standard 2.0
  • Language: C# 13 for most targets; C# 14 features when targeting .NET 10

We’ve also added support for modern C# language features like collection expressions.

Linear algebra

Factory API modernization (v10)

  • Clear, intention-revealing creation methods for matrices and vectors:
    • Copy vs wrap semantics (CopyFrom, Wrap)
    • Generative methods (Zeros, Ones, Identity, Random, FromFunction)
    • Shape-aware builders (FromRows, FromColumns, and specialty matrices: symmetric, Hermitian, triangular, diagonal)
  • Legacy Create* methods are [Obsolete] with direct replacements.

Performance & algorithms (consolidated from 9.x)

  • Compound assignment operators for vectors and matrices (.NET 10 only).
  • Faster symmetric tridiagonal eigen operations and pool-backed temporary storage (LinearAlgebraPool<T>).
  • Computation of column/row/null-space basis.

BLAS/LAPACK provider updates

  • Native libraries have been updated to the latest stable release (Intel OneAPI 2025.3).

Collections and iteration (v10)

  • Vector<T>, Matrix<T>.Rows, Matrix<T>.Columns, Index<T>, ModelTermCollection now implement IReadOnlyList<T>.

Mathematics

Signal processing (v10)

  • Static SignalMath convenience class for 1D operations:
    • FFT / IFFT, convolution, correlation/autocorrelation (auto select direct vs FFT)
    • Windowing (Hamming, Hanning, Blackman, …)
    • Spectral analysis (periodogram)
  • Convolution and correlation kernel processors for optimized computation for multiple inputs:
    • Anchor/origin control, padding modes (zero, constant, reflect, replicate, wrap)
    • Output modes (Full, Same, Valid), real/complex support
    • Conventions aligned with NumPy/SciPy/OpenCV
  • Discrete Cosine Transform (DCT/IDCT) and Discrete Sine Transform (DST/IDST)
  • Improved performance of managed FFT, including for arbitrary lengths.

Interpolation (v10)

  • Static Interpolation convenience class.
  • Quick one-off methods for: linear, cubic, Akima, log/linear variants, periodic/circular, inverse linear.
  • Curve builders: piecewise (constant/linear), cubic spline, monotone cubic, Akima, plus log/log-linear and logit transforms.
  • PiecewiseInterpolatingCurve with coordinate transforms, periodicity, and configurable out-of-range behavior.

Optimization & solvers (consolidated from 9.x)

  • Global optimizers: Particle Swarm Optimization, Differential Evolution, CMA-ES, Simulated Annealing.
  • Root finding: Halley, Ridders, Regula Falsi variants (Illinois, Pegasus, Anderson–Bjork), with allocation-free paths.
  • Improved adaptive numerical integration + IntegrationRules (stand-alone rules).

Nonlinear curve fitting (v10)

  • Dose–response: 4PL, 5PL, Hill
  • Enzyme kinetics: Michaelis–Menten
  • Growth/decay: Gompertz, Richards, Weibull CDF
  • Distributions/peaks: LogNormal, Normal CDF, EMG, Pseudo-Voigt
  • Signals: damped sine, plus power and double sigmoid

Special functions (consolidated from 9.x)

  • Expanded special functions: scaled Airy/Bessel variants, exponential integrals (including arbitrary order), inverse digamma, harmonic numbers / power sums, and naming consistency fixes.

Utilities (consolidated from 9.x)

  • Compare helpers to compare numbers/sequences within tolerances.
  • Span-friendly APIs and vector/matrix normalization helpers.

Statistics and Data Analysis (consolidated from 9.x)

  • New distributions: Zipf/Zipfian, Burr Type XII, Chi, Folded Normal, Hyperbolic Secant.
  • Measures of Effect size: Cohen’s d, Hedges’ g, η², ω².
  • Multiple-testing corrections (Bonferroni, Holm, etc.).
  • Automatic selection of Histogram bin count and/or size.
  • Improvements to logistic regression, LDA/QDA.
  • ICA (FastICA) for independent component analysis.

Compatibility, deprecations, and removals

  • Dropped support for .NET Core 3.1 and .NET 6.0.
    Both platforms have reached end-of-life and are no longer supported by Microsoft. Applications targeting these runtimes should migrate to .NET 8 (LTS) or later to continue receiving updates and security fixes.
  • Factory API: many legacy Create* methods are [Obsolete]; use CopyFrom, Wrap, Zeros / Ones / Identity / Random, or From* builders.
  • SpanSlice: length-taking overloads are [Obsolete]; pass the slice directly.
  • Binary serialization: removed across the library (use modern serializers or dedicated exporters).

Notes on upgrading from 9.x

  • No need to update packages. Simply build for supported TFMs.
  • Address compiler warnings for obsolete factory/SpanSlice methods (straightforward renames).
  • All 9.x improvements listed above are included and supported in v10.

Want to go further back? See what was new in version 9.0.