CSR-Matrix - Matrix-Multiplikation

Habe ich zwei quadratische Matrizen A und B

Muss ich konvertieren B zu CSR Format und bestimmen das Produkt C

A * B_csr = C

Ich fand eine Menge von online-Informationen in Bezug auf CSR-Matrix - Vektor-Multiplikation. Der Algorithmus ist:

for (k = 0; k < N; k = k + 1)
  result[i] = 0;

for (i = 0; i < N; i = i + 1)
{  
  for (k = RowPtr[i]; k < RowPtr[i+1]; k = k + 1)
  {  
    result[i] = result[i] + Val[k]*d[Col[k]];
  }  
}

Ich allerdings erfordern Matrix - Matrix Multiplikation.

Weiter, es scheint, dass die meisten algorithmen anwenden A_csr - vector Multiplikation, wo ich eine A * B_csr. Meine Lösung ist die Umsetzung der zwei Matrizen vor dem konvertieren dann die Umsetzung des endgültigen Produktes.

Kann mir jemand erklären, wie die Berechnung einer Matrix - CSR Matrix Produkt und/oder eine CSR Matrix - Matrix Produkt?

  • In der ersten Schleife was ist i? Auch, was ist result, wie wird es eingeleitet, welche Art beinhaltet es? Was sind val und col? Was ist RowPtr? Was ist d?
  • i wäre die ith index C. Die anderen Werte beziehen sich auf die Vektoren im Zusammenhang mit der CSR - format. Na ja, ich habe nur, sofern der Algorithmus für die Referenz, obwohl ich interessiert bin in einem anderen Fall.
Schreibe einen Kommentar