c++ - 稀疏矩阵加法条件

标签 c++ c sparse-matrix

我正在阅读稀疏矩阵相加的代码,并遇到了这种情况

if( sp1[0][0] != sp2[0][0] || sp1[0][1] != sp2[0][1] )
{
    printf("Invalid matrix size ");
    exit(0);
}

无法理解为什么非零行和列的数量应该相同? 抱歉我是新手。

整个代码是here

最佳答案

在矩阵加法中,第一个矩阵中的行数需要等于第二个矩阵中的行数。

对于列也是如此。

第一个矩阵的列数必须等于第二个矩阵的列数。

这就是您发布的代码所显示的内容。 以下是链接代码的引用:

In this matrix sparse matrix is stored as follows

s[0][0]=Total rows in sparse matrix

s[0][1]=Total columns in sparse matrix

s[0][2]=Total number of non-zero values

关于c++ - 稀疏矩阵加法条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40748443/

相关文章:

python - 从 anaconda PyThreadState_Get : no current thread 在 C/C++ 中嵌入 Python

c# - 如何在 C# 中编码这个嵌套的、可变长度的 C 结构

c - 使用 X11 绘制更大的点

java - java中稀疏矩阵的实现和运算

c++来自无拷贝的密集 vector 的特征 block 对角矩阵

c++ - C++ 中是否存在隐式默认构造函数?

C++,使用 ifstream 读取文件

c - AIX 6.1 : CORE DUMP - GDB "thread apply all bt full" returns NOTHING?

python - Numpy 排序数组(稀疏)

c++ - 没有键盘输入的 SFML 动画