你好我知道有很多关于稀疏矩阵乘法的问题,但很多答案都说只使用库。我想在不使用库函数的情况下做到这一点。到目前为止,我已经完成了简单的部分,将我的矩阵转换为
元素数组
列数组
行数组的形式。
我需要帮助的是逻辑部分。如果矩阵 A 是 M*N,矩阵 B 是 N*P,我该怎么做?我考虑迭代矩阵 A 中的元素并检查它是否为 rowA== colB,如果是,如果 colA==rowB,如果是,则相乘。我目前知道我的版本是错误的,但我想不出一种方法来纠正它。
for(int i = 0; i < rows; i++)
{
sum = 0;
for(int k = 0; k < cols; k++)
if (row_values.get(i) == col_valuesb.get(k))
if (col_values.get(i) == row_valuesb.get(k))
{
sum += (short) (elements.get(i)*elementsb.get(k));
}
elementsc.add(sum);
row_valuesc.add(row_values.get(i));
col_valuesc.add(col_values.get(k));
}