如何在 c++ 中将两个 spars 矩阵相加?

发布于 2024-11-02 05:34:27 字数 26 浏览 0 评论 0原文

我想在 C++ 中将两个稀疏矩阵相加?

I want to add two sparse matrices together in C++?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

一杆小烟枪 2024-11-09 05:34:27

您可以根据以下规则添加矩阵:

A[i,j] + B[i, j] = C[i,j]

添加的两个矩阵必须具有相同的行数和列数。

如何为存储方案执行此操作取决于如何映射行和列。但规则没有改变,因为矩阵就是这样运作的。

You add matricies according to this rule:

A[i,j] + B[i, j] = C[i,j]

The two matricies being added must have the same number of rows and columns.

How you do it for your storage scheme depends on how you map rows and columns. But the rules are unchanged, because that's how matricies work.

二智少女猫性小仙女 2024-11-09 05:34:27

如果您使用 boost::ublas 库,那么您可以简单地将它们添加在一起,如下所示。

#include <boost/numeric/ublas/matrix_sparse.hpp>
using namespace boost::numeric::ublas;
compressed_matrix<double > A(30000, 100, 30000 ),B(30000, 100, 30000 ),C(30000, 100, 30000 );
A(1,1) = 1.0;
B(99,99) = 10.0;
C = A + B;

If you use the boost::ublas library, then you can simply add them together, something like this.

#include <boost/numeric/ublas/matrix_sparse.hpp>
using namespace boost::numeric::ublas;
compressed_matrix<double > A(30000, 100, 30000 ),B(30000, 100, 30000 ),C(30000, 100, 30000 );
A(1,1) = 1.0;
B(99,99) = 10.0;
C = A + B;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文