MathNet.Numerics 2.5.0

The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org. Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package MathNet.Numerics --version 2.5.0
NuGet\Install-Package MathNet.Numerics -Version 2.5.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MathNet.Numerics" Version="2.5.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MathNet.Numerics --version 2.5.0
#r "nuget: MathNet.Numerics, 2.5.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install MathNet.Numerics as a Cake Addin
#addin nuget:?package=MathNet.Numerics&version=2.5.0

// Install MathNet.Numerics as a Cake Tool
#tool nuget:?package=MathNet.Numerics&version=2.5.0

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. Numerics is the result of merging dnAnalytics with Math.NET Iridium and is intended to replace both. Also includes a portable build supporting .Net 4 and higher, SL5, WP8 and .NET for Windows Store apps.

Product Compatible and additional computed target framework versions.
.NET Framework net40 is compatible.  net403 was computed.  net45 was computed.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages (343)

Showing the top 5 NuGet packages that depend on MathNet.Numerics:

Package Downloads
MathNet.Numerics.FSharp The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

F# Modules for Math.NET Numerics, 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.

MathNet.Spatial The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

Math.NET Spatial, providing methods and algorithms for geometry computations in science, engineering and every day use. Supports .Net Framework 4.6.1 or higher and .Net Standard 2.0 or higher on Windows, Linux and Mac.

QuantConnect.Common The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

QuantConnect LEAN Engine: Common Project - A collection of common definitions and utils

MathNet.Filtering The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

Math.NET Filtering, providing methods and algorithms for signal processing and filtering in science, engineering and every day use. Supports .Net Framework 4.0 or higher and .Net Standard 1.3 or higher, on Windows, Linux and Mac.

QuantConnect.Indicators The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

QuantConnect LEAN Engine: Indicators Project - A collection of financial indicators

GitHub repositories (64)

Showing the top 5 popular GitHub repositories that depend on MathNet.Numerics:

Repository Stars
rocksdanister/lively
Free and open-source software that allows users to set animated desktop wallpapers and screensavers powered by WinUI 3.
QuantConnect/Lean
Lean Algorithmic Trading Engine by QuantConnect (Python, C#)
StockSharp/StockSharp
Algorithmic trading and quantitative trading open source platform to develop trading robots (stock markets, forex, crypto, bitcoins, and options).
MassTransit/MassTransit
Distributed Application Framework for .NET
mathnet/mathnet-numerics
Math.NET Numerics
Version Downloads Last updated
6.0.0-beta1 7,075 12/17/2023
5.0.0 6,791,788 4/3/2022
5.0.0-beta02 1,956 4/3/2022
5.0.0-beta01 20,623 3/6/2022
5.0.0-alpha16 3,548 2/27/2022
5.0.0-alpha15 2,486 2/27/2022
5.0.0-alpha14 1,691 2/27/2022
5.0.0-alpha13 1,580 2/27/2022
5.0.0-alpha12 1,600 2/27/2022
5.0.0-alpha11 1,731 2/27/2022
5.0.0-alpha10 25,694 2/19/2022
5.0.0-alpha09 2,232 2/13/2022
5.0.0-alpha08 22,696 12/23/2021
5.0.0-alpha07 7,116 12/19/2021
5.0.0-alpha06 1,681 12/19/2021
5.0.0-alpha05 1,688 12/19/2021
5.0.0-alpha04 1,585 12/19/2021
5.0.0-alpha03 5,475 12/5/2021
5.0.0-alpha02 76,846 7/11/2021
5.0.0-alpha01 11,360 6/27/2021
4.15.0 7,356,493 1/7/2021
4.14.0 61,556 1/1/2021
4.13.0 11,425 12/30/2020
4.12.0 1,686,859 8/2/2020
4.11.0 1,186,187 5/24/2020
4.10.0 4,771 5/24/2020
4.9.1 1,154,816 4/12/2020
4.9.0 1,909,042 10/13/2019
4.8.1 1,311,900 6/11/2019
4.8.0 128,987 6/2/2019
4.8.0-beta02 2,814 5/30/2019
4.8.0-beta01 5,766 4/28/2019
4.7.0 1,880,530 11/11/2018
4.6.0 200,714 10/19/2018
4.5.1 1,371,908 5/22/2018
4.5.0 15,268 5/22/2018
4.4.1 147,970 5/6/2018
4.4.0 385,278 2/25/2018
4.3.0 6,125 2/24/2018
4.2.0 10,759 2/21/2018
4.1.0 10,255 2/19/2018
4.0.0 142,550 2/11/2018
4.0.0-beta07 3,193 2/10/2018
4.0.0-beta06 3,714 2/3/2018
4.0.0-beta05 3,886 1/22/2018
4.0.0-beta04 3,861 1/13/2018
4.0.0-beta03 4,585 1/9/2018
4.0.0-beta02 3,424 1/7/2018
4.0.0-beta01 2,778 1/7/2018
4.0.0-alpha04 2,763 1/5/2018
4.0.0-alpha03 8,092 12/26/2017
4.0.0-alpha02 5,005 11/30/2017
4.0.0-alpha01 4,546 11/26/2017
3.20.2 356,303 1/22/2018
3.20.1 24,468 1/13/2018
3.20.0 626,857 7/15/2017
3.20.0-beta01 12,409 5/31/2017
3.19.0 873,907 4/29/2017
3.18.0 92,725 4/9/2017
3.17.0 343,737 1/15/2017
3.16.0 42,838 1/3/2017
3.15.0 13,380 12/27/2016
3.14.0-beta03 3,317 11/20/2016
3.14.0-beta02 3,006 11/15/2016
3.14.0-beta01 3,486 10/30/2016
3.13.1 322,621 9/6/2016
3.13.0 34,881 8/18/2016
3.12.0 99,226 7/3/2016
3.11.1 131,087 4/24/2016
3.11.0 80,935 2/13/2016
3.10.0 82,808 12/30/2015
3.9.0 64,535 11/25/2015
3.8.0 226,848 9/26/2015
3.7.1 15,725 9/21/2015
3.7.0 140,790 5/9/2015
3.6.0 35,718 3/22/2015
3.5.0 69,617 1/10/2015
3.4.0 22,470 1/4/2015
3.3.0 15,767 11/26/2014
3.3.0-beta2 2,956 10/25/2014
3.3.0-beta1 23,739 9/28/2014
3.2.3 56,393 9/6/2014
3.2.2 3,305 9/5/2014
3.2.1 8,200 8/5/2014
3.2.0 3,948 8/5/2014
3.1.0 7,710 7/20/2014
3.0.2 17,566 6/26/2014
3.0.1 3,603 6/24/2014
3.0.0 20,454 6/21/2014
3.0.0-beta05 2,752 6/20/2014
3.0.0-beta04 2,787 6/15/2014
3.0.0-beta03 3,093 6/5/2014
3.0.0-beta02 2,798 5/29/2014
3.0.0-beta01 5,699 4/14/2014
3.0.0-alpha9 3,130 3/29/2014
3.0.0-alpha8 3,212 2/26/2014
3.0.0-alpha7 8,461 12/30/2013
3.0.0-alpha6 3,189 12/2/2013
3.0.0-alpha5 5,655 10/2/2013
3.0.0-alpha4 3,149 9/22/2013
3.0.0-alpha1 3,101 9/1/2013
2.6.2 78,377 10/21/2013
2.6.1 27,968 8/13/2013
2.6.0 6,300 7/26/2013
2.5.0 123,077 4/14/2013
2.4.0 14,179 2/3/2013
2.3.0 7,749 11/25/2012
2.2.1 9,212 8/29/2012
2.2.0 3,779 8/27/2012
2.1.2 35,324 10/9/2011
2.1.1 8,750 10/3/2011

### Potentially Breaking Changes:

Despite semver this release contains two changes that may break code but without triggering a major version number change. The changes fix semantic bugs and a major usability issue without changing the formal API itself. Most users are not expected to be affected negatively. Nevertheless, this is an exceptional case and we try hard to avoid such changes in the future.

- Statistics: Empty statistics now return NaN instead of either 0 or throwing an exception. *This may break code in case you relied upon the previous unusual and inconsistent behavior.*

- Linear Algebra: More reasonable ToString behavior for matrices and vectors. *This may break code if you relied upon ToString to export your full data to text form intended to be parsed again later. Note that the classes in the MathNet.Numerics.IO library are more appropriate for storing and loading data.*

### Statistics:

- More consistent behavior for empty and single-element data sets: Min, Max, Mean, Variance, Standard Deviation etc. no longer throw exceptions if the data set is empty but instead return NaN. Variance and Standard Deviation will also return NaN if the set contains only a single entry. Population Variance and Population Standard Deviation will return 0 in this case.
- Reworked order statistics (Quantile, Quartile, Percentile, IQR, Fivenum, etc.), now much easier to use and supporting compatibility with all 9 R-types, Excel and Mathematica. The obsolete Percentile class now leverages the new order statistics, fixing a range check bug as side effect.
- New Hybrid Monte Carlo sampler for multivariate distributions.
- New financial statistics: absolute risk and return measures.
- Explicit statistics for sorted arrays, unsorted arrays and sequences/streams. Faster algorithms on sorted data, also avoids multiple enumerations.
- Some statistics like Quantile or empirical inverse CDF can optionally return a parametric function when multiple evaluations are needed, like for plotting.

### Linear Algebra:

- More reasonable ToString behavior for matrices and vectors: `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.
- Performance: reworked and tuned common parallelization. Some operations are up to 3 magnitudes faster in some extreme cases. Replaced copy loops with native routines. More algorithms are storage-aware (and should thus perform better especially on sparse data).
- Fixed range checks in the Thin-QR decomposition.
- Fixed bug in Gram Schmidt for solving tall matrices.
- Vectors now implement the BCL IList interfaces (fixed-length) for better integration with existing .Net code.
- Matrix/Vector parsing has been updated to be able to parse the new visual format as well (see ToMatrixString).
- DebuggerDisplay attributes for matrices and vectors.
- Map/IndexedMap combinators with storage-aware and partially parallelized implementations for both dense and sparse data.
- Reworked Matrix/Vector construction from arrays, enumerables, indexed enumerables, nested enumerables or by providing an init function/lambda. Non-obsolete constructors now always use the raw data array directly without copying, while static functions always return a matrix/vector independent of the provided data source.
- F#: Improved extensions for matrix and vector construction: create, zeroCreate, randomCreate, init, ofArray2, ofRows/ofRowsList, ofColumns/ofSolumnsList, ofSeqi/Listi (indexed). Storage-aware for performance.
- F#: Updated map/mapi and other combinators to leverage core implementation, added -nz variants where zero-values may be skipped (relevant mostly for sparse matrices).
- F#: Idiomatic slice setters for sub-matrices and sub-vectors
- F#: More examples for matrix/vector creation and linear regression in the F# Sample-package.

### Misc:

- Control: Simpler usage with new static ConfigureAuto and ConfigureSingleThread methods. Resolved misleading configuration logic and naming around disabling parallelization.
- Control: New settings for linear algebra ToString behavior.
- Fixed range check in the Xor-shift pseudo-RNG.
- Parallelization: Reworked our common logic to avoid expensive lambda calls in inner loops. Tunable.
- F#: Examples (and thus the NuGet Sample package) are now F# scripts prepared for experimenting interactively in FSI, instead of normal F# files. Tries to get the assembly references right for most users, both within the Math.NET Numerics solution and the NuGet package.
- Various minor improvements on consistency, performance, tests, xml docs, obsolete attributes, redundant code, argument checks, resources, cleanup, nuget, etc.