NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
NuGet · #716 most downloaded on NuGet
Math.NET Numerics is the numerical foundation of the Math.NET project, aiming to provide methods and algorithms for numerical computations in science, engineering and every day use. Supports .NET 5.0 or higher, .NET Standard 2.0 and .NET Framework 4.6.1 or higher, on Windows, Linux and Mac.
Last release 2 years ago
no release in 18 months
Ships unpredictably
gaps range from 8 days to 1.7 years
Nearly every release is documented
notes for 57 of the last 60 stable releases
4 versions withdrawn
withdrawn after publishing
127 years old
116 releases · first in 1900
Random: random sources (all except crypto) now support ephemeral serialization.
Root Finding: improve accuracy handling *~Konstantin Tretyakov*
One column per quarter.
FFT: MKL native provider backend.
Nothing published for this version
Nothing published for this version
Nothing published for this version
BUG: Random: Next(x,x+1) must always return x *~Juri*
Linear Algebra: faster tall, wide managed matrix multiplication. *~Aixile*
ODE Solver: Runge-Kutta (order 2, 4) and Adams-Bashforth (order 1-4) algorithms *~Yoonku Hwang*
BUG: Linear Algebra: sparse vector pointwise multiply/divide to itself
Special Functions: error functions to use static coefficient arrays (perf) *~Joel Sleppy*
Statistics: single-precision floating point support.
Distributions: Normal.CDF avoids problematic subtraction by using Erfc instead of Erf.
Distributions: PDF and CDF more robust for large distribution parameters.
BUG: Linear Algebra: fix optimized path of adding a sparse matrix to itself.
Statistics: RunningStatistics now propagates min/max on Combine, handles NaN on Push.
Distributions: ChiSquare.CDF more robust for large numbers *~Baltazar Bieniek*
Differentiation: derivative, partial and mixed partial; hessian & jacobian *~Hythem Sidky*
Special Functions: Generalized Exponential Integral *~Ashley Messer*
Linear Algebra: Vector.Fold2 (fold2 in F#), storage optimized
Nothing published for this version
Nothing published for this version
BUG: MatrixNormal distribution: fix density for non-square matrices *~Evelina Gabasova*
BUG: MatrixNormal distribution: density computation switched row and column covariance *~Evelina Gabasova*
Package fix: make sure .NET 3.5-only dependencies are not installed on .Net 4 and newer.
Linear Algebra: Vector.Map2 (map2 in F#), storage-optimized
Random: generate a sequence of integers within a range in one go
BUG: fixing a bug in Matrix.RemoveRow range checks.
BUG: fixing a bug in new Matrix.ToMatrixString and Vector.ToVectorString routines.
Stable API, no more breaking changes for all future v3 releases (except previews).
BUG: Distance: fix bug in Hamming distance that skipped the first pair.
FoldRows renamed to FoldByRow, now operates on and returns arrays; same for columns. Breaking.
Linear Algebra: vector outer product now follows common style, supports explicit result argument, more efficient.
optimized sparse-sparse and sparse-diagonal matrix products. *~Christian Woltering*
Zeros.AllowSkip).Major release with breaking changes
Vector<double>..Generic in the namespaces and flattened solver namespaces.matrix function.SkipZeros instead of the cryptic nz suffix for clarity..*, ./, .% where supported (F#)ConjugateDotProduct in addition to DotProduct.Matrix.ConjugateTransposeAndMultiply and variants.Matrix<T> member methods (replacing the extension methods). Discrete implementations no longer visible.Solve methods to matrix type.OfColumnVectors).Matrix<double>.Build.DenseOfEnumerable(...).Build.SameAs(...))Matrix.SetSubMatrix.double)Providers namespace and are fully generic again.Control.UseNativeMKL(), Control.UseManaged().MeanVariance and MeanStandardDeviation methods (often used together).Ranks, QuantileRank and EmpiricalCDF.SystemRandomSource.SystemRandomSource.Doubles routine with lower randomness guarantees.SystemRandomSource.Default and MersenneTwister.Default instances to skip expensive initialization.Random module, also including default and shared instances.Fit class, supporting more simple scenarios..LinearRegression namespace with more options.Differentiate2 instead of DifferentiateAll.Integrate(a,b) in addition to existing indefinite Integrate(t).Interpolate facade, e.g. "Spline" is a well known name.GammaLowerRegularizedInv.Distance: euclidean, manhattan, chebychev distance of arrays or generic vectors. SAD, MAE, SSD, MSE metrics. Pearson's, Canberra and Minkowski distance. Hamming distance.System.Numerics for complex numbers, among others, which is not available in profile 136..Data packages (see list on top)..Signed suffix.Transform class.Atanh(2), where incidentally MATLAB and Mathematica do not agree on the sign either).Func suffix instead of just F if they return a function.AlmostEqual with numbers-between/ULP semantics, please do review your code to make sure you're still using the expected variant!. If you use the decimal-places semantics, you may need to decrement the digits argument to get the same behavior as before.ArgumentNullException if an unexpected null argument would not have caused an immediate NullReferenceException.ArgumentOutOfRangeExceptions where thrown with wrong arguments (i.e. no parameter name) now throw ArgumentException instead.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Patch release, fixing the NuGet package to work better in WindowsPhone 8 projects. Assemblies are not changed.
BUG: fixing a bug in ArrayStatistics.Variance on arrays longer than 46341 entries.
ArrayStatistics.Variance on arrays longer than 46341 entries.See also: What's New in Math.NET Numerics 2.6
Stable distribution. ~Artyom BaranovskiySee also: What's New in Math.NET Numerics 2.5
ToString methods no longer render the whole structure to a string for large data, among others because they used to wreak havoc in debugging and interactive scenarios like F# FSI. Instead, ToString now only renders an excerpt of the data, together with a line about dimension, type and in case of sparse data a sparseness indicator. The intention is to give a good idea about the data in a visually useful way. How much data is shown can be adjusted in the Control class. See also ToTypeString and ToVector/MatrixString.Drops the dependency on the zlib library. We thus no longer have any dependencies on other packages. *~Marcus Cuda, Thomas Ibel*
Portable Library: Adds support for WP8 (.NET 4.0 and higher, SL5, WP8 and .NET for Windows Store apps)
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →