问题标签 [boost-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.

0 投票
0 回答
145 浏览

c++ - 如何将 CSR 矩阵直接加载到 boostcompressed_matrix 中?

我想将矩阵从应用程序 A(使用 LDU 格式的矩阵)传输到应用程序 B(使用 boost ublascompressed_matrix,CSR 格式)。

我有一个将 LDU 格式转换为 CSR 格式的功能。ldu2csr 函数为我提供了以 CSR 格式存储稀疏矩阵所需的三个数组(可以在此处找到 CSR 格式的详细信息:compressed_matrix in boost 分配的空间): ... values[idx] = matrix.upper()[i ]; cols[idx] = 列;行[行]++;

如何将这些数组直接加载到 boost ublascompressed_matrix 的相应数组中?

0 投票
1 回答
302 浏览

c++ - 在 boost::ublas 中禁用警告日志

在用我反转矩阵时,boost::ublas有时会在日志中出现此错误:

在第 298 行的文件 /usr/include/boost/numeric/ublas/lu.hpp 中检查失败:detail::expression_type_check (prod (triangular_adaptor (m), e), cm2)

我知道这通常是有用的信息,但对我来说不是。有没有办法抑制该消息(以某种方式配置提升或使用编译器标志)?BOOST_UBLAS_NDEBUG不削减它。

0 投票
1 回答
34 浏览

c++ - identity_matrix/zero_matrix:他们分配了吗?

矩阵类identity_matrixzero_matrix模​​板ALLOC作为第二个参数。但是他们真的分配内存吗?

0 投票
2 回答
705 浏览

c++ - 带升压 ublas 的常数矩阵

我想用这样的 boost 定义一个恒定的 3x3 矩阵,它在执行过程中永远不会改变:

这个矩阵将是一个类的成员。那么,我可以像原始类型一样将常量矩阵变量定义和初始化为类成员吗?当我尝试为 someMatrix 变量键入 const 时,我无法在构造函数中分配矩阵数据并收到此错误:

以下是代码:

测试.h

测试.cpp

主文件

我真正想要的是找到一种方法来定义 someMatrix 像这样:

0 投票
1 回答
35 浏览

c++ - 封装 ublas 并重载对 operator() 的 const 引用

考虑以下玩具示例,我在其中声明了一个ublasboost 库中封装的类:

我期待输出

但我得到了

我究竟做错了什么?如何正确跟踪何时mtr_可以更改其值?

0 投票
2 回答
399 浏览

c++ - typedef 固定大小的向量和 boost::numeric::ublas::vector

我的意思是typedef一个具有固定大小的向量/提升向量的名称,然后是相应的迭代器。我能做的是(见下文)

这个想法是稍后在我的代码中使用类似

问题1:这可能与

  1. std::vector<double>

  2. boost::numeric::ublas::vector<double>?

如果不可能:

  1. 问题2:什么是替代实现?(以下除外)。

  2. 问题 3:我将如何typedef使用迭代器?

截至目前,由于我找不到方法,我定义了自己的类(见下文)。但这带来了(至少)必须重新定义我自己的beginend迭代器(例如this)的负担。我的意思是避免这种情况。

问题 4:operator+=我在(见下文) 的定义中将两条替代行放在一起。其中之一不工作。问题是什么?

0 投票
1 回答
325 浏览

c++ - Boost 矩阵的 iterator1 和 iterator2 是什么以及如何使用?

我正在寻找一种使用迭代器迭代 Boost 矩阵元素的方法。文档报告返回 iterator1 和 iterator2 的 Matrix 方法:

我尝试遍历它们,并且 iterator1 遍历矩阵的第一列(仅),而 iterator2 遍历第一行(仅)。

这些 iterator1 和 iterator2 是如何使用的?

0 投票
1 回答
147 浏览

c++ - 将按值返回向量的函数作为 ublas::element_prod() 的参数传递有什么问题?

我似乎无法理解为什么直接将函数作为参数传递给 ublas::element_prod() 会产生错误的结果。

如果我运行以下代码:

我得到以下输出:

谁能告诉我为什么第二种编码风格会产生错误的结果,而没有编译错误?

0 投票
1 回答
163 浏览

c++ - 在 Boost.uBLAS 中直接使用 vector_expression

我们有一个性能问题,首先将表达式转换为 Boost.uBLAS 向量,然后进行评估。如果可以跳过向量创建并且直接使用vector_expression,则会有所不同。如果允许,我在 Boost.uBLAS 文档中找不到。事实上,文档中的示例是使用容器类而不是直接使用表达式。它只提到 Boost.uBLAS 使用表达式模板,理论上应该使案例工作。norm_2 函数接受 vector_expression 作为参数,这可能是第二条线索。

一个简化的情况是这样的,其中计算矩阵行之间的范数:

有谁知道这是否允许?

0 投票
1 回答
112 浏览

c++ - 提升矩阵矩阵产品定义

这是我正在运行或更好地尝试运行的示例代码。长话短说,它没有按预期工作。

它给出了以下错误。

基本上有很多这样的。为什么这不被接受?我需要将 qvm 转换为矩阵表达式吗?如果是怎么办?我想在将来使用 axpy_prod,但如果这不起作用,那就没有意义了。