Math.NET Numerics
Math.NET Numerics是一个开源的**.NET和Mono数值计算库**。
Math.NET Numerics是Math.NET计划的数值基础,旨在为科学、工程和日常使用中的数值计算提供方法和算法。涵盖的主题包括特殊函数、线性代数、概率模型、随机数、统计、插值、积分、回归、曲线拟合、积分变换(FFT)等。
除了核心.NET包(完全用C#编写)外,Numerics还专门支持F#,提供惯用的扩展模块,并维护源自F# PowerPack的数学数据结构,如BigRational。如果需要性能提升,可以将支持其线性代数例程和分解的托管代码提供程序替换为优化的本机实现包装器,如Intel MKL。
Math.NET Numerics遵循MIT许可证条款。因此,您可以在开源和专有软件项目中链接和使用它。我们欢迎贡献!
当前版本
Math.NET Numerics
MKL本机提供程序
OpenBLAS本机提供程序
数据扩展
安装说明
获取Math.NET Numerics的推荐方式是使用NuGet。以下包在公共NuGet Gallery中提供和维护。
核心包:
- MathNet.Numerics
- MathNet.Numerics.FSharp - 可选扩展,提供更好的F#体验。BigRational。
Intel MKL提供程序(可选):
- MathNet.Numerics.Providers.MKL - 绑定到本机Intel MKL提供程序。
- MathNet.Numerics.MKL.Win - 本机Intel MKL提供程序(Windows)。
- MathNet.Numerics.MKL.Win-x86 - 本机Intel MKL提供程序(仅Windows/32位)。
- MathNet.Numerics.MKL.Win-x64 - 本机Intel MKL提供程序(仅Windows/64位)。
用于读取和写入数据的数据/IO包(可选):
- MathNet.Numerics.Data.Text - 基于文本的矩阵格式,如CSV和MatrixMarket。
- MathNet.Numerics.Data.Matlab - MATLAB Level-5矩阵文件格式。
平台支持和依赖项
支持的平台:
- .NET 5.0或更高版本(包中包含5.0和6.0的构建)
- .NET Framework 4.6.1或更高版本(包中包含4.6.1和4.8的构建)
- .NET Standard 2.0或更高版本(包中包含2.0的构建)
有关完整详细信息、依赖项和平台差异,请参见平台兼容性。
构建Math.NET Numerics
您可以使用IDE(如VisualStudio或JetBrains Rider)、MsBuild、.NET CLI工具或FAKE(推荐)来构建Math.NET Numerics。
FAKE:
./build.sh build (或build.cmd)
./build.sh test
.NET CLI:
./restore.sh (或restore.cmd)
dotnet build MathNet.Numerics.sln
MsBuild/XBuild:
./restore.sh (或restore.cmd)
msbuild MathNet.Numerics.sln
有关如何构建、生成文档甚至创建完整发行版的完整详细信息,请参见构建和工具。