问题标签 [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::ublas::matrix。当我在第一种情况下添加这个对象时,它正在工作,但在第二种情况下,我遇到了分段错误。我想使用第二种方式,所以如果有人知道我为什么会出现段错误,我将不胜感激。
编码:
img.h
img.cpp
我很确定这段代码不是段错误的原因。但是当我在主程序中使用它时,我遇到了段错误(仅适用于第二种方式,第一种方式有效):
主文件
c++ - C++,boost::numeric::ublas::mapped_matrix - 使用 std::tr1::unordered_map 而不是 std::map 时的迭代问题
我正在使用 boost 库(1.44)和 VC++ 2010。
我发现下面的代码有问题,
此测试仅针对使用 std::tr1::unordered_map 的 StorageUnorderedMap 失败。但是 insert_element() 和 find_element() 测试全部通过。
c++ - 提升 uBLAS 矩阵/向量积
有人可以提供一个如何使用uBLAS产品来乘法的例子吗?或者,如果有更好的 C++ 矩阵库,您可以推荐我也欢迎。这正在变成一个令人头疼的问题。
这是我的代码:
这是错误:
我已经用尽了我的搜索。Stackoverflow 对此有疑问。Boost 文档在这里有一个示例。我已经从示例中复制了代码,但这对我没有用,因为适用于标准输出的模板魔法对我来说毫无用处。
c++ - boost ublas矩阵产品的问题
我正在尝试使用 Boost 的 ublas 部分,但由于某种原因,我无法将矩阵相乘并将结果分配给其他矩阵。
这有效:
但是,如果我取消注释该行goo = prod(foo,foo);
或尝试类似:
我收到一个我无法破译的运行时错误。
如何将矩阵相乘并分配结果?
matlab - 为什么向量化对 Matlab 程序有益?NumPy 和 Boost(uBLAS) 是否相同?
使用矢量化来代替 for 循环可以显着提高 Matlab 程序的速度。是因为矢量化代码是并行运行的吗?
矢量化是否也有利于使用 NumPy 或 uBLAS 的程序?
c++ - Boost 向量与 STL 向量
运行时效率如何boost::numeric::ublas::vector
和std::vector
比较?
假设我可以通过编写将整个程序从使用转换std::vector
为使用是否安全:boost::numeric::ublas::vector
而不是#include<vector>
?我可以只使用增强向量,就好像它们在所有方面都是 STL 向量吗?
函数是否<algorithm>
与升压向量一起使用?他们使用相同的迭代器吗?
它们在 C++0x 中工作吗?它们适用于基于范围的循环吗?
c++ - uBLAS 慢矩阵-稀疏向量乘法
我正在转换我自己的一些向量代数代码以使用优化的 boost uBLAS 库。但是,当我尝试进行 SymmetricMatrix-SparseVector 乘法时,我发现它比我自己的实现慢了大约 4 倍。向量大小通常在 0-500 左右,大约 70-80% 的条目为零。
这是我的代码
sparseVectorIndexes 存储输入向量的非零值的索引,vectorLength 是向量的长度,sparseLength 是向量中非零的个数。该矩阵存储为对称矩阵symmetric_matrix<double, lower>
。
我自己的实现是一个简单的嵌套循环迭代,其中矩阵只是一个二维双数组:
}
为什么 uBLAS 慢 4 倍?我没有正确写乘法吗?还是有另一个图书馆更适合这个?
编辑:如果我使用密集向量数组,那么 uBLAS 只会慢 2 倍......
c++ - 使用 uBLAS 从 C++ 中的向量创建矩阵
如果我有 n 个长度为 m 的向量并想加入它们以创建一个 mxn 矩阵,那么使用 Boost uBLAS 在 C++ 中执行此操作的最有效方法是什么?
显然,我可以遍历它们并为每个矩阵元素分配相应的向量值,但我觉得有更好的方法来做到这一点,我不知道。
c++ - 从 uBlas 压缩矩阵中删除一行?
我想知道从 uBlas 的压缩矩阵中删除一行的最佳方法是什么?我想知道是否有某种方法可以获取向量内的压缩列数据?我正在查看此页面http://netlib.org/linalg/html_templates/node92.html并且找不到如何访问这些元素。
我的矩阵声明如下:
我的最终目标是使用此方法删除所有零行。
编辑: 我怀疑解决方案将涉及在内部更改 ublas::compressed_matrix 结构。我认为可以安全地假设非零条目的数量约为 1k。我希望调用该方法来删除一行,也许,20 次。