Math.NET Numerics

Math.NET Numerics是一个用于.NET和Mono的开源数值库,用C#和F#编写。它的功能类似于BLAS和LAPACK。

Math.NET Numerics
開發者C. Rüegg, M. Cuda, et al.
当前版本
  • 5.0.0 (2022年4月3日)[1]
編輯維基數據鏈接
源代码库 編輯維基數據鏈接
编程语言C#, F#, .NET CLR
操作系统Cross-platform
类型Numerical library
许可协议MIT/X11
网站numerics.mathdotnet.com

历史 编辑

Math.NET Numerics开始于2009年,是由dnAnalytics的代码和团队与Math.NET Iridium合并而成。它受到ALGLIB、JAMA和Boost等的影响,并接受了大量的代码贡献[2],它是Math.NET倡议的一部分,从2002年开始,为.NET平台构建和维护开放的数学工具箱。

Math.NET被多个开源库和研究项目所使用,如MyMediaLite[3],FermiSim[4]和LightField Retrieval[5],以及各种学位论文和期刊论文等。

特性 编辑

  • 概率分布:离散、连续和多变量。
  • 伪随机数生成,包括Mersenne Twister MT19937。
  • 实数和复杂线性代数类型和求解器,支持稀疏矩阵和向量。
  • LU, QR, SVD, EVD, 和 Cholesky分解。
  • 矩阵IO类,可从Matlab和分界文件中读取和写入矩阵。
  • 复数算术和三角函数。
  • 特殊方程,包括Gamma, Beta, Erf, 修正Bessel和Struve函数。
  • 插值方程,包括Barycentric, Floater-Hormann。
  • 线性回归/曲线拟合例程。
  • 数值正交/积分。
  • 找根方法,包括Brent、Robust Newton-Raphson和Broyden。
  • 描述性统计、阶次统计、直方图和皮尔逊相关系数。
  • 马尔科夫链蒙特卡洛抽样法。
  • 基础金融统计学。
  • 傅立叶和哈特利变换(FFT)。
  • 过载的数学运算符,简化复杂的表达式。
  • 在Microsoft Windows和支持Mono的平台上运行。
  • 可选支持Intel Math Kernel库(Microsoft Windows和Linux)。
  • 可选的F#扩展名,更多的成语用法。

参考资料 编辑

  1. ^ Release 5.0.0. 2022年4月3日 [2022年10月28日]. 
  2. ^ Math.NET Numerics ReadMe. GitHub.com. [2013-05-08]. (原始内容存档于2018-03-08). 
  3. ^ MyMediaLite Recommender System Library. [2013-05-08]. (原始内容存档于2013-06-01).  |url-status=|dead-url=只需其一 (帮助)
  4. ^ FermiSim, studying potential solutions to the Fermi paradox via computational simulation of models for space colonisation. [2020-04-08]. (原始内容存档于2019-12-11). 
  5. ^ Three-Dimensional Model Shape Description and Retrieval Based on LightField Descriptors. [2020-04-08]. (原始内容存档于2016-01-18).