问题标签 [nmatrix]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
150 浏览

ruby - gem NMatrix的求解函数

当我尝试在 gem NMatrix 中使用函数“solve”时,我发现错误的结果......

我正在尝试解决线性a*x = b系统

哪个应该给出答案

我调用求解函数a.solve(b)(如http://www.rubydoc.info/gems/nmatrix/0.2.1/NMatrix#solve-instance_method中所述)但它返回

因此,我有两个问题:

  1. 难道我做错了什么?
  2. 如果不是,用 ruby​​ 解决矩阵系统的其他解决方案(不包括 GSL)是什么?

谢谢 !

0 投票
2 回答
54 浏览

arrays - Ruby 分组非零数字和连续时间

我有一系列这样的项目:[DateTime, value]. 我想对满足以下条件的项目进行分组:

  • 3个或更多项目的序列
  • 项目包含 > 0 的值
  • 时间是连续的(增加 1 秒)

我想获得满足这些条件的序列的开始和结束的索引。

例如

应该返回:

我看了一下DaruNMatrix但我不知道如何进行顺序比较来做我想做的事。

现在我刚刚有一个大循环,可以进行很多比较 - 有没有更好的方法来做到这一点?

0 投票
0 回答
23 浏览

ruby - 第二列中 NMatrix 矩阵的水平串联不正确

在 Ruby 和 SciRuby 的 NMatrix 模块的帮助下,我正在生成一个符合 CCSDS 标准的 LDPC 奇偶校验矩阵。生成矩阵涉及创建子矩阵,将它们连接在一起以形成最终的奇偶校验矩阵。但是连接的最终结果是不正确的。

这是我现在为连接所做的:

这是我在 Octave 中绘制最终的h矩阵时得到的结果:

Octave 中的矩阵图

如您所见,第二个块列是空的,但这不是预期的。这个块列应该有一个身份子矩阵和另一个子矩阵pi_5_6。我觉得在子矩阵的连接过程中出现了问题,但是我没有发现任何问题。

0 投票
1 回答
84 浏览

ruby - 将文件读入 Ruby Numo::NArray

我给出了一些文件,它们都具有相同的大小。我要做的是将这些文件加载​​到Numo::Narray中,每个文件都需要位于该数组的不同行中。在创建 Narray 之前,文件的数量及其大小是已知的。我现在使用的是 8 位无符号整数。

示例:对于 5 个大小为 512 的文件,我需要形状为 [5, 512] 的多维数组。数据应该存储在伽罗瓦域中。这是至关重要的,因为这个矩阵将用于数学运算。我现在用来存储数据的是二进制数据转换的 8 位无符号整数数组。遗憾的是,ruby 的“read”和“unpack('*C')”方法的性能还不够高。

我已经用旧版本的NArray做到了这一点,但是性能不够好,因为我必须首先创建用零填充的固定大小的 NMatrix,将数据加载到普通的 Ruby 数组并替换 NMatrix 的给定行。这个新库非常大,我找不到插入行或动态添加数据到行的方法。我是否必须声明固定的 NArray 或者可能有一种方法可以通过将数据直接从 file.read 方法加载到 Narray 来动态地做到这一点,这样我就不必创建辅助 ruby​​ 数组?

由于我对高性能感兴趣,因此将不胜感激最佳解决方案。