为.NET所用的NumPy和SciPy_最新动态_新闻资讯_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 新闻资讯 > 最新动态 > 为.NET所用的NumPy和SciPy

为.NET所用的NumPy和SciPy

 2011/8/8 8:03:55    InfoQ  我要评论(0)
  • 摘要:作者JonathanAllen译者侯伯薇作为PythonToolsforVisualStudio项目的一部分,NumPy和SciPy程序库已经迁移到.NET上了。这项迁移通过本地的C核心组合了C#和C接口,从而所有.NET语言都能够从中受益。IronPython对NumPy和SciPy的端口是完整的.NET端口,并且包含了针对一般本地C核心的自定义C#/C接口。这意味着不仅IronPython能够使用所有功能,而且所有.NET语言——像C#和F#&mdash
  • 标签:.net net

  作者 Jonathan Allen 译者 侯伯薇

  作为Python Tools for Visual Studio项目的一部分,NumPy和SciPy程序库已经迁移到.NET上了。这项迁移通过本地的C核心组合了C#和C接口,从而所有.NET语言都能够从中受益。

  IronPython对NumPy和SciPy的端口是完整的.NET端口,并且包含了针对一般本地C核心的自定义C#/C接口。这意味着不仅IronPython能够使用所有功能,而且所有.NET语言——像C#和F#——也可以使用,它们只需要访问C#接口对象,或者有时需要从其它.NET语言解析IronPython表达式。这意味着多维数组对象(ndarray)可以在IronPython和C#或者F#代码之间平滑地传递。此外,ndarray对象实现了标准的IEnumerable接口,这让数组对象可以由现存的代码经常使用,即便不是特别针对NumPy的代码也没问题。

  NumPy是一种很低级别的API,用于在大型、多维数组和矩阵上执行数学运算。这个库最初叫做Numeric,是在1995年创建的,那仅仅是Python 1.0发布一年之后。采用当前名称的版本是在2005年创建的,那时这个产品组合了早先的版本和名为numarray的竞争对手的程序库。

  SciPy是在其基础之上构建的。据维基百科上所说,“SciPy包含很多模块,能够用于优化、线性代数、整合、插入、特定函数、FFT、符号和图像处理、ODE解析器以及其它科学和工程领域的一般任务。”人们经常会考虑把它作为MATLAB的替代方案,尽管SciPy经常需要与其它库组合才能够完全替代MATLAB。

  NumPy和SciPy的组合为一般的.NET代码提供了很多显而易见的优势。.NET的垃圾回收程序能够比手动的内存管理提供更好的性能,还有就是,通过高度优化的C代码,我们可以获得很好的计算速度。

  在此之上还有视图的概念。NumPy不会复制数组,而是让我们可以创建作为其他数组子集存在的数组。改变子集(也就是所说的视图),也会改变原始的数组。这让我们可以在不牺牲性能的情况下获得更整洁的代码。

  查看英文原文:NumPy and SciPy for .NET

发表评论
用户名: 匿名