问题标签 [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.
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中所述)但它返回
因此,我有两个问题:
- 难道我做错了什么?
- 如果不是,用 ruby 解决矩阵系统的其他解决方案(不包括 GSL)是什么?
谢谢 !
ruby - 第二列中 NMatrix 矩阵的水平串联不正确
在 Ruby 和 SciRuby 的 NMatrix 模块的帮助下,我正在生成一个符合 CCSDS 标准的 LDPC 奇偶校验矩阵。生成矩阵涉及创建子矩阵,将它们连接在一起以形成最终的奇偶校验矩阵。但是连接的最终结果是不正确的。
这是我现在为连接所做的:
这是我在 Octave 中绘制最终的h矩阵时得到的结果:
如您所见,第二个块列是空的,但这不是预期的。这个块列应该有一个身份子矩阵和另一个子矩阵pi_5_6。我觉得在子矩阵的连接过程中出现了问题,但是我没有发现任何问题。
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 数组?
由于我对高性能感兴趣,因此将不胜感激最佳解决方案。