Ruby core Matrix vs NArray的NMatrix

时间:2010-09-15 00:19:21

标签: ruby arrays math vector matrix

我发现Ruby中似乎有三个矩阵模块

  • Matrix:似乎是核心Ruby的一部分
  • NArray:NMatrix是NArray库的一部分(github
  • NMatrix:SciRuby的一部分

目前似乎NArray的{​​{1}}比NMatrix更快,有一些更有用的方法,但需要更多设置。

是否有任何一方都有经验的人可以粗略概述为什么我应该使用一个而不是另一个?

2 个答案:

答案 0 :(得分:2)

现在只是在这个问题上磕磕绊绊......自从你问过这已经过了7个月,所以我相信你现在已经找到了你的答案。

但是,请查找信息here

基本上,核心Matrix类的作者在实例化后没有添加对数组执行运行时修改的方法。 NArray 类允许这样做。

就计算时间而言,我会将其留给其他人,因为我不知道。

答案 1 :(得分:2)

球赛有点晚了,但你看过新的NMatrix宝石吗?它的灵感来自NArray。它也是用C / C ++编写的,而Ruby Matrix只是用Ruby编写的 - 所以NMatrix肯定更快。

对于NArray来说也是如此,这只是C-only。

使用NMatrix而不是NArray::NMatrix的优点是您可以在不同的存储类型(稀疏,密集等)之间进行选择。