NumSharp(Numerical .NET)可以说是C#中的科学计算库。 它是用C#编写的,符合.netstandard 2.0库标准。 它的目标是让.NET开发人员使用NumPy的语法编写机器学习代码,从而最大限度地借鉴现有大量在python代码的转译成本。 NumSharp使用最新的Span技术安全高效地访问内存,优化每个模拟API的性能,确保最底层的NDArray达到最佳性能状态。NumSharp对于在数组上执行数学和逻辑运算非常有用。 它为.NET中的n维矩阵的操作提供了大量有用的功能。
经过3个月的反复锤炼和不断重构,NumSharp已经能完成非常多的功能,引入了LAPACK的线性代数库支持,并且抽象成Provider模式,从架构上来看具有了可扩展性。增加了更多的Unit Tests,用来保证团队合作时的质量把控。添加了流体动力方程的示例。
NDArray增加了隐式转换支持,可以更方便地初始化一个多维数组,并且支持标量ndarray的创建。
NumSharp v0.6.1发布,加入支持维度为零时的标量和创建NDArray时的隐式转换,比如支持如下形式创建多维数组:
NDArray nd = new double[,]{{1, 2, 3},{4, 5, 6}};
nd = "[1,2,3;4,5,6]";// 支持标量nd = 5.0f;
虽然离最终的1.0版本还有很长的一段距离,但是我确信,我们是在用正确的方式做我们喜欢的事情。
特别感谢我的队友Christian Kahr,没有他的热情加入,我无法把NumSharp做到如此好的状态。他的聪明和持续贡献,甚至超过我的提交次数。经历两次大重构,耗费了我们无穷的时间和精力,幸运的是最后的结果非常令人满意。
SciSharp repos: https://github.com/SciSharp
Chat room: https://gitter.im/sci-sharp/community
原文地址: https://my.oschina.net/haiping008/blog/2993480
.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com