What's New in Version 9.0

This page lists what is new in Version 9.0 of Numerics.NET in point form. For a more in-depth discussion of some of these features, see our blog post about version 9.

.NET Core and .NET Standard support

  • Support for .NET Core 3.1.
  • Support for .NET Standard 2.0.
  • Support for .NET Framework 4.6.2.
  • Support for .NET 6.0 and 8.0.
  • All packages are available on the Nuget Gallery.

Linear algebra

Tensor library

  • A rich multi-dimensional array (tensor) type.
  • Powerful features like broadcasting and advanced indexing.
  • A comprehensive set of mathematical functions, linear algebra, and more.
  • Easy interop with both managed arrays and external or native arrays.
  • Excellent performance with the infrastructure in place to grow even faster.

Learn more about the tensor library in our

Other improvements

  • New: Schur decomposition and generalized Schur (QZ) decomposition.
  • New: Vectors and matrices can use native memory for element storage.
  • New: Span-based API for core linear algebra and signal processing operations.
  • Improved: Upgraded native linear algebra libraries to Intel OneAPI version 2024.1.

Mathematics

General improvements

  • Optimized complex arithmetic using hardware intrinsics.
  • Performance improvements in arbitrary precision numbers.
  • New random number generators: Permuted Linear Congruential (PLC) generator.
  • New random generator methods provide parity with recent improvements in .NET.

Generic arithmetic

  • All numerical types (Quad, BigInteger, BigRational, BigFloat, Complex<T>) support the generic arithmetic interfaces introduced in .NET 7.0.
  • Operations<T> now supports additional methods, including: ExpM1, Log2, Log1p, MaxNumber
  • Operations<T> has been optimized for nullable value types and complex numbers.
  • Generic versions of 1D equation solvers, numerical integrators, linear curve fitting.

More math

  • New: Quadratic program solver based on the method of Goldfarb and Idnani.
  • New: Barycentric interpolation.
  • New window functions: Blackman-Nuttall and Lanczos

Special functions

  • New: Bessel and Airy functions with complex arguments.
  • New: Spherical Bessel functions of real order.
  • New: Kelvin functions.
  • New: Jacobi Epsilon and Zeta functions, Gudermannian.
  • New: Hurwitz Zeta function, generalized harmonic numbers.
  • New: Chebyshev-Hermite and Jacobi orthogonal polynomials.
  • New: Bernoulli numbers and Bernoulli polynomials.

Statistics and data analysis

Aggregators

  • Improved performance for aggregators.
  • New: Aggregators support arbitrary intermediate and result types.
  • New: Select values to include in an aggregation using predicates.
  • New: Accumulator types for incremental evaluation of aggregations.

Probability distributions

Statistical models

  • New: PRESS and Predicted R Squared for linear regression.
  • New: Track steps in a stepwise regression.

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