问题标签 [ublas]
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.
c++ - 你如何获得一个迭代器到 boost::numeric::ublas::matrix 的一行?
我正在研究矩阵乘法,我想在单行提升矩阵上使用迭代器?这可以做到吗?
目前,我必须得到一个迭代器并推进它。似乎 CPU 工作过多/未优化...
c++ - 乌布拉斯矢量指针
我试图通过在我的 .h 文件中定义向量来初始化/赋值给 ublas 向量:
然后在我的 .cpp 文件中:
代码编译得很好,但是当我运行它时,我的 .cpp 文件中的最后一行给出了错误。我可能缺少一些非常简单的东西,但我不知道是什么......
提前谢谢了!:)
c++ - 关于 boost::ublas 中的逐元素操作
我发现 boost::ublas 不能很好地支持逐元素操作和按顺序操作(但效率相当高:))我正在尝试
D = A^2 .* B^3 .* C
其中 A、B、C 都是相同大小的方阵,运算符“.*”表示逐元素运算,^ 是矩阵的幂。使用 boost:ublas,我写了
在我的程序中,我有许多类似上面显示的后续操作,无论如何我可以获得相同的结果,但使用一行代码而不是循环?
另外,我观察到为矩阵或向量的所有元素分配一个常数似乎是无效的
boost::numeric::ublas::vector v(100); v = 0.2;
相反,我必须使用循环再次进行分配,有更好的方法来保存一些代码吗?我的算法真的很长,并且有很多像上面提到的那样繁琐的操作。我尝试了另一个数值库 Armadillo,它提供了一种简化操作的好方法,但它目前不假设稀疏矩阵(它将花费大约 10 次运行我的代码)。
c++ - 用给定的向量定义一个 boost::ublas 矩阵
我正在寻找一种从 boost::ublas 中给定的 1xm 向量定义 nxm 矩阵的方法。我尝试以下代码
但这只会将向量复制到矩阵的第一行。我想要的是将 v 复制到行,以便 M 的每一行与 v 相同。所以除了循环每一行并运行复制 10 次之外,还有更好的方法吗?谢谢。
c++ - 为什么 boosts 矩阵乘法比我的慢?
我已经实现了一个矩阵乘法boost::numeric::ublas::matrix
(请参阅我的完整工作增强代码)
另一个使用标准算法(参见完整的标准代码):
这就是我测试速度的方式:
两个程序都读取包含两个 2000 x 2000 矩阵的硬编码文本文件。这两个程序都是用这些标志编译的:
我的实现用了15 秒,而提升实现用了4 多分钟!
编辑:编译后
ikj 算法得到28.19 秒,Boost 得到60.99 秒。所以Boost仍然相当慢。
为什么 boost 比我的实现慢得多?
c++ - 如何在 boost/c++ 中使用 zero_vector 进行初始化?
我正在查看以下答案之一: 填充 boost 向量或矩阵 ,但我认为我是 boost(和 xcode,就此而言)的新手,并且正试图将我的头绕在 boost zero_vector 周围。
我尝试了一个简单的程序,我认为它与其中一个答案大致相同:
它可以编译,但是当它运行时,我得到一个运行时错误(用“/PATH/TO”代替真实路径)。
在这里,我只是使用一个 main.cpp 作为测试区域。在我的真实程序中,我将声明拆分为一个 .h 文件,并将我的初始化放在我的对象的一个 .cpp 文件中。但是上面的代码和我的真实程序一样失败。(即为什么我将声明和初始化分为两个步骤)
另外,我知道调整大小已经初始化为零。也许我会做一个 scalar_vector 代替,或者我可能需要稍后重置数组或其他东西。我只是想隔离正在破坏的代码。
boost - boost::number::ublas 中的项目和子范围函数有什么区别?
即,两者之间有什么区别
和
?
我问是因为我正在研究一些似乎同时使用两种形式的代码(一种与另一种没有明显的押韵/原因),但我看不出两者之间有任何区别......只是想检查一下确保我没有遗漏任何东西。
c++ - 如何将文件流式传输到 C++ boost ublas 中的矩阵中?
我正在尝试将包含矩阵数据的文件读入提升矩阵。"" 已经应该对这类事情有运算符重载,我可以让它写入标准流(cout)。我不知道走另一条路有什么问题。我对 C++ 相当陌生,所以我猜我对文件流做出了不正确的假设,但这似乎是有道理的。这是我要访问的网页:
http://www.boost.org/doc/libs/1_51_0/boost/numeric/ublas/io.hpp
http://www.cplusplus.com/reference/iostream/ifstream/ifstream/
这是我的代码:
这是我的文件的样子:
c++ - 使用指针或引用返回 Boost 矩阵是否有优势?
我正在使用 Boost 来做一些矩阵代数。我试图了解这种优化是否有任何作用。原来的:
优化:
基本上,我假设使用指针作为参数和返回类型会阻止复制大对象。阅读完源代码后,我想知道 Boost ublas 是否基本上可以解决这个问题。似乎您总是在处理 Boost 代码中的引用。
c++ - 以 boost ublas 矩阵 matlab 样式插入数据
我ublas::matrix
想像这样(或类似的东西)在与 Matlab 相同的一行中插入数据: