Nuget packages
Nuget packages for Numerics.NET are available in the NuGet Gallery. This document lists the available packages.
Numerics.NET is made up of several packages that provide different features. For convenience, several bundles are available that combine the most commonly used packages.
Numerics packages
The main package is called Numerics.NET.Core and is required for all applications that use Numerics.NET.
The main library only handles calculations with double-precision real and complex numbers. The classes that work with single-precision numbers are contained in a separate package, Numerics.NET.SinglePrecision.
To work with arbitrary numerical types, including quad-precision and arbitrary precision numbers requires the Numerics.NET.Generic package.
The new tensor library is contained in the Numerics.NET.Tensors package.
Numerics.NET - main package.
Numerics.NET.SinglePrecision - single-precision linear algebra and FFT's.
Numerics.NET.Generic - generic linear algebra.
Numerics.NET.Tensors - tensor library.
Data access libraries
Classes used for loading and saving objects to and from files are contained in the Numerics.NET.Data and Numerics.NET.Data.Json packages. The latter package is used for serialization in JSON and has a dependency on Newtonsoft.Json.
Numerics.NET.Data - text files (including CSV), R, stata, Matlab...
Numerics.NET.Data.Json - JSON serialization.
Native libraries
For better performance, optimized native linear algebra and FFT libraries based on IntelĀ®'s Math Kernel Library may be used. These come in two variants depending on the interop method: native interop and P/Invoke.
There are separate packages for single and double precision. The packages are platform-dependent and are available for Windows and Linux. Currently only x64 is supported. Other platforms will be added in the future..
Numerics.NET.Native.Mkl.win-x64 - MKL based provider for Windows (x64, double-precision only).
Numerics.NET.Native.Mkl.linux-x64 - MKL based provider for Linux (x64, double-precision only).
Numerics.NET.Native.Mkl.SinglePrecision.win-x64 - MKL based provider for Windows (x64, single-precision).
Numerics.NET.Native.Mkl.SinglePrecision.Linux - MKL based provider for Linux (x64, single-precision).
Bundle packages
To simplify the installation of Numerics.NET in your applications, we've created bundles of the most commonly used packages.
Numerics.NET
The Numerics.NET package contains all the managed libraries: Numerics.NET.Core, Numerics.NET.SinglePrecision, Numerics.NET.Generic, Numerics.NET.Tensors, and Numerics.NET.Data.
Numerics.NET.win-x64
The Numerics.NET.win-x64 package contains all the packages in Numerics.NET as well as the double-precision native libraries for Windows (x64).
Numerics.NET.win-x86
The Numerics.NET.win-x86 package contains all the packages in Numerics.NET as well as the double-precision native libraries for Windows (x86).
Numerics.NET.linux-x64
The Numerics.NET.linux-x64 package contains all the packages in Numerics.NET as well as the double-precision native libraries for Linux (x64).
Language interface libraries
These packages provide additional features that are specific to programming languages. There is a package for F# and one for IronPython.
Numerics.NET.FSharp - support for F#.
Numerics.NET.IronPython - support for IronPython.