问题标签 [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 进行子矩阵操作的新手问题
这让我困惑了几个小时,所以也许这里有人可以提供帮助。我正在尝试使用 uBLAS 将以下简单的 Matlab 程序翻译成 C++:
这是我的尝试,但它不起作用:
产生的输出是:
我不明白为什么第三行现在全为零。有人可以指出我的解决方案吗?
谢谢!
c++ - 对 Boost::uBLAS 向量执行 STL 操作
如何将函数映射到 uBLAS 中向量的每个元素(如 Mathematica 中的 Map[])?
例如; 我想采用sin()
uBLAS 向量的所有元素。在 Boost、GSL 或任何其他数值库中是否有优化的方法来执行此操作,而不是简单地循环遍历向量的元素?
此外,我将如何对 uBLAS 向量执行其他高级操作,例如旋转、删除重复项或用零填充等?
boost - 从 Boost::ublas 到 ATLAS,
我使用 Boost::ublas 编写了一个程序,该程序使用了广泛的稀疏矩阵向量乘法。我对它的速度一点也不满意,我想试试 ATLAS。是否有明确的程序来转换代码?为了讨论,我在下面附上了一个非常简单的代码。
c++ - 为什么编译器选择 const 方法而不是 non-const?
我正在尝试使用来自 boost 的 uBlas 矩阵作为后端来实现一个三维张量。其中一个功能是获取对切片的引用并可以轻松分配矩阵。
下面是张量类的一个片段:
layout_type 看起来像:
用例如下:
此行存在问题:
当 trans 和 project 函数一起使用时,编译器会选择 project 和 trans 的 const 重载,我不能像上面那样进行赋值。但是,如果我只留下项目,则使用非常量方法并且一切正常。不幸的是,由于设计的存储布局(映射到二维矩阵),切片的转置是必要的。
是否有任何解决方案来指示正确的功能重载?或者我在某处犯了错误?
c++ - 将 Boost UBLAS blas-1 应用于矩阵
如何在 boost::numeric::ublas 矩阵上应用 1 级 blas?例如,我想计算最大条目或所有条目的总和。在矩阵上使用 norm_1 或 norm_inf 不会产生编译器错误,但会返回(在我看来)任意结果。我正在使用提升 1.42
c++ - 处理 boost ublas 稀疏或密集矩阵的 API
我对 Boost ublas 文档有点困惑。我似乎不清楚稀疏矩阵类和密集矩阵类共享一个共同的父类——我相信这是设计使然。但是,我如何设计一个可以接受稀疏或密集矩阵的 API,假设它只需要使用 operator() 访问器对矩阵的条目进行操作,例如。例如,像这样:
也许我对这个的想法是错误的。任何有关如何考虑 ublas 类的对象建模的指导将不胜感激!
c++ - c++ 和 ublas:创建一个不同大小的 c_vectors 数组
有没有办法创建一个不同大小的 ublas c_vectors 数组?
例如
array[0]
将返回ublas::c_vector< double, 3 >
(size=3) 并array[0](0)
访问其第一个元素
array[1]
将返回ublas::c_vector< double, 7 >
(size=7) 并array[1](0)
访问其第一个元素
ETC
c++ - 访问 UBLAS 稀疏向量中非零元素的索引
我如何知道 ublas 中 sparse_vector 中第一个非零元素的索引以及每个后续非零元素的索引?函数 begin() 给了我一个迭代器,它可以用来知道存储的第一个非零值,而不是它在向量中的索引。
c++ - BOOST uBLAS 矩阵积极慢
有没有办法提高boost ublas产品的性能?
我有两个矩阵 A,B 我想乘/添加/子/...
在 MATLAB 与 C++ 中,对于 2000x2000 矩阵运算,我得到以下时间 [s]
为什么这里会有如此巨大的性能损失?
矩阵只是真正的双打。但我也需要正定、对称、矩形产品。
编辑:代码很简单
编辑 2:结果是 10 次尝试的平均值。标准差小于 0.005
我希望一个因素可能是 2-3,但不是 50(!)
编辑 3:一切都在发布( NDEBUG/MOVE_SEMANTICS/.. )模式下进行。
编辑 4:产品结果的预分配矩阵不影响运行时间。