Math.NET Numerics

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

Math.NET Numerics
开发者C. Rüegg, M. Cuda, et al.
当前版本4.7.0(2018年11月11日,​5年前​(2018-11-11
源代码库 编辑维基数据链接
编程语言C#, F#, .NET CLR
操作系统Cross-platform
类型Numerical library
许可协议MIT/X11
网站numerics.mathdotnet.com

历史

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

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

特性

  • 概率分布:离散、连续和多变量。
  • 伪随机数生成,包括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. ^ Math.NET Numerics ReadMe. GitHub.com. [2013-05-08]. (原始内容存档于2018-03-08). 
  2. ^ MyMediaLite Recommender System Library. [2013-05-08]. (原始内容存档于2013-06-01).  |url-status=|dead-url=只需其一 (帮助)
  3. ^ FermiSim, studying potential solutions to the Fermi paradox via computational simulation of models for space colonisation. [2020-04-08]. (原始内容存档于2019-12-11). 
  4. ^ Three-Dimensional Model Shape Description and Retrieval Based on LightField Descriptors. [2020-04-08]. (原始内容存档于2016-01-18).