2
你好,我知道有很多關於稀疏矩陣乘法的問題,但許多答案只是說使用庫。我想不使用庫函數。到目前爲止,我已經完成了簡單的部分,將我的矩陣轉換爲
元素數組
列數組
行數組。Java中的稀疏矩陣乘法
我需要幫助的是邏輯部分。如果矩陣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));
}