Frage

Überprüfung Das Beispiel (API-Beispiel am Ende) möchte ich ein paar Fragen stellen.

1) Im Beispiel versorgen wir die Matrix a mit Nicht-Null-Elementen. Wie groß ist die Matrix tatsächlich? Und das sind die Elemente der Matrix oder die Positionen, die Nicht-Null-Elemente enthalten?

2) Kann ich bei den Berechnungen (Verwendung in einer Funktion wie culaSparseSetDcooData) eine Matrix A verwenden, die Null- und Nicht-Null-Elemente enthält?Wenn ich nur zum Testen eine Beispielmatrix erstellen möchte, muss ich dann eine Matrix mit null Elementen erstellen, sie dann mit einigen Elementen füllen und dann?

War es hilfreich?

Lösung

Zu 1) Interessanterweise ist die Größe der Matrix im COO-Format nicht explizit angegeben:Es besteht aus Koordinaten der Nicht-Null-Elemente der Matrix.Wenn Sie eine COO-Matrix mit einem Element ungleich Null haben, könnte dies der Fall sein

double a[1] =  { 1.0 };
int colInd[1] = { 10 };
int rowInd[1] = { 20 };

und (wie Sie an den Zeilen-/Spaltenindizes erkennen können) beschreiben Elemente einer Matrix, die hat mindestens Größe 11*21, oder es könnte sein

double a[1] =  { 1.0 };
int colInd[1] = { 1000 };
int rowInd[1] = { 2000 };

und beschreiben Sie Elemente einer Matrix, die hat mindestens Größe 1001*2001

In diesem Beispiel scheint es sich jedoch um eine quadratische Matrix zu handeln n=8 Scheint an der Größe zu liegen.(Leider scheint es keine detaillierte Dokumentation davon zu geben culaSparseSetDcooData Funktion...)

Zu 2) Das ist nicht ganz klar.Wenn Ihre Frage ist, ob die Werte „ungleich Null“ sind Mai (in Wirklichkeit) einen Wert von haben 0.0, dann kann ich sagen:Ja, das sollte erlaubt sein.Das von Ihnen angesprochene Beispiel zeigt jedoch bereits, wie man eine einfache Testmatrix erstellt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top