NuGet Packages

NuGet packages for Numerics.NET are available in the NuGet Gallery. This page describes the Numerics.NET 10.8 package family.

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.

You need a valid license to use these packages in your applications. You can request a 30-day trial key or order here.

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 tensor library is contained in the Numerics.NET.Tensors package.

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.

Native libraries

Native providers accelerate supported operations while managed implementations remain available for other operations. Automatic provider selection prefers MKL on Windows/Linux and Accelerate on macOS, with OpenBLAS as the fallback on supported platforms.

Intel oneAPI Math Kernel Library (MKL)

MKL packages for Windows x64 and Linux x64 are separate for double and single precision:

The Windows x86 packages are legacy packages; Intel has retired 32-bit MKL:

Apple Accelerate

  • Numerics.NET.Native.Accelerate - the preferred native provider for macOS on Intel x64 and Apple Silicon ARM64. One package includes both architectures and supplies single- and double-precision acceleration for dense BLAS, LAPACK, selected vector operations, and FFTs.

This package targets macOS only.

OpenBLAS

OpenBLAS supplies single- and double-precision dense BLAS and LAPACK acceleration. It is available separately as a portable alternative to the preferred platform provider.

Bundle packages

To simplify the installation of Numerics.NET in your applications, we’ve created bundles of the most commonly used packages. Platform bundles install the preferred native provider, not the OpenBLAS fallback.

Numerics.NET

The Numerics.NET package bundles these 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 plus Numerics.NET.Native.Mkl.win-x64, the preferred double-precision MKL provider. The separate single-precision native MKL package remains optional.

Numerics.NET.win-x86

The Numerics.NET.win-x86 package contains all the packages in Numerics.NET plus the legacy double-precision MKL provider for Windows x86. The separate single-precision native MKL package remains optional.

Numerics.NET.linux-x64

The Numerics.NET.linux-x64 package contains all the packages in Numerics.NET plus Numerics.NET.Native.Mkl.linux-x64, the preferred double-precision MKL provider. The separate single-precision native MKL package remains optional.

Numerics.NET.osx

The Numerics.NET.osx package combines Numerics.NET with Numerics.NET.Native.Accelerate. One bundle supports macOS on both Intel x64 and Apple Silicon ARM64, with native acceleration for both single and double precision. OpenBLAS remains a separately installable alternative.

Language interface libraries