MKL.NET alternatives and similar packages
Based on the "Mathematics" category.
Alternatively, view MKL.NET alternatives based on common mentions on social networks and blogs.

Microsoft Automatic Graph Layout
A set of tools for graph layout and viewing 
AngouriMath
New opensource crossplatform symbolic algebra library for C# and F#. Can be used for both production and research purposes. 
WPFMath
.NET library for rendering mathematical formulae using the LaTeX typsetting style, for the WPF framework 
UnitConversion
Expansible Unit Conversion Library for .Net Core and .Net Framework 
AutoDiff
A .NET library that provides fast, accurate and automatic differentiation (computes derivative / gradient) of mathematical functions. 
Vim.Math3d
A .NET Standard 2.0 library for simple and efficient 3D math that is a featurerich replacement for System.Numerics https://vimaec.github.io/Math3D 
Rationals
๐ Implementation of rational number arithmetic for .NET with arbitrary precision. 
Jodo.Numerics
Simple, reliable .NET libraries covering numbers, geometry and data structures 
ALGLIB
ALGLIB is a crossplatform numerical analysis and data processing library. It supports several programming languages (C++, C#, Delphi) and several operating systems (Windows and POSIX, including Linux) [Proprietary] and [Free Edition]
Build timeseriesbased applications quickly and at scale.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of MKL.NET or a related project?
README
MKL.NET
A simple cross platform .NET API for Intel MKL.
Exposing functions from MKL keeping the syntax as close to the c developer reference as possible.
Reference the MKL.NET package and required runtime packages and use the static MKL functions. The correct native libraries will be included and loaded at runtime.
MKL.NET  

runtimes:  
MKL.NET.winx64  
MKL.NET.winx86  
MKL.NET.linuxx64  
MKL.NET.linuxx86  
MKL.NET.osxx64  
libraries:  
MKL.NET.Matrix  
MKL.NET.Optimization  
MKL.NET.Statistics 
Rationale
 Use freely available Intel MKL packages repackaged to work for each runtime.
 The MKL.NET API is just a thin .NET wrapper around the native API keeping the syntax as close as possible.
 The project is well defined, with an open design, and no business logic and could benefit from external input.
 Cross platform testing is easy and free using Github actions.
 MKL.NET native packages can just be referenced for needed runtimes at library or application level.
MKL.NET.Matrix
 Performance and memory optimised matrix algebra library.
 Matrix expressions are optimised to perform intermediate calculations inplace and reuse memory.
 Operations such as scale, transpose, +, * are combined into single MKL calls.
 Intermediate matrices are disposed (or reused) automatically.
 ArrayPool underlying memory model using IDisposable and Finalizers.
 Uses the Pinned Object Heap for net5.0.
 All these combined result in it being much faster than other matrix libraries.
The following example only results in one new matrix r (using ArrayPool) without mutating inputs.
public static matrix Example(matrix ma, matrix mb, vector va, vector vb)
{
using matrix r = 0.5 * Matrix.Abs(1.0  ma) * mb.T + Math.PI * va.T * Vector.Sin(vb);
...
}
Example statistics matrix function:
public static (vector, matrix) MeanAndCovariance(matrix samples, vector weights)
{
if (samples.Rows != weights.Length) ThrowHelper.ThrowIncorrectDimensionsForOperation();
var mean = new vector(samples.Cols);
var cov = new matrix(samples.Cols, samples.Cols);
var task = Vsl.SSNewTask(samples.Cols, samples.Rows, VslStorage.ROWS, samples.Array, weights.Array);
ThrowHelper.Check(Vsl.SSEditCovCor(task, mean.Array, cov.Array, VslFormat.FULL, null, VslFormat.FULL));
ThrowHelper.Check(Vsl.SSCompute(task, VslEstimate.COV, VslMethod.FAST));
ThrowHelper.Check(Vsl.SSDeleteTask(task));
return (mean, cov);
}
Note: arrays need to be pinned across all MKL function calls when there are multiple as above as MKL stores native pointers and the arrays could be moved between calls. MKL.NET handles pinning automatically, unpinning when the task is deleted. This is a common seen bug when using MKL directly from .NET which causes occasional crashes.
MKL.NET.Optimization
Simple and high performance optimization and root finding library loosely based on the scipy.optimize API.
The aim is to include the latest algorithms such as Toms748, robustly tested with CsCheck. Full use of MKL.NET will be made to improve performance. Algorithms will be performance tested and default to the best for given inputs.
 Root  root finding algorithms. Default algorithm has 20% fewer function calls than Brent, Toms748, Newton and Halley. Further details here.
 Calculus  derivative and integral numeric calculations and check to any precision using Richardson extrapolation.
 Minimum  minimum finding algorithms in one dimension. Default algorithm has 50% fewer function calls than Brent.
 Minimum  in N dimensions. Intuative tolerance parameters. Optimised no array allocation in main loop using in place symmetric MKL rankk, rank2k functions.
Should scale well with the number of dimensions. ~ 5070% fewer function calls than other BFGS algorithms.  CurveFit and nonlinear LeastSquares  helper functions based on Minimum.
 Minimum_Global  global minimum algorithm in N dimensions returning a sequence of parallel grid BFGS searches ever reducing the spacing between prior searches. Further details here.
MKL.NET.Statistics
Simple and high performance statistics functions.
 Summary  Sum, Mean, Median, MAD, Raw/Central/Standard Moments, Quartiles, Quantiles, Covariance, Correlation. All can be weighted.
 Estimator  Running high performance, low memory estimators for Quantile, Quartiles, Quantiles, Histogram, Central/Standard Moments. Further details here.