Ich möchte ein einfaches 2D-Array in eine SparseMatrix konvertieren, um Leistung und Laufzeit zu verbessern, da es sich um ein Array mit einer Größe von 50.000-70.000 handelt.Wie konvertiert man ein großes 2D-Array mithilfe der Eigen-Bibliothek in eine dünn besetzte Matrix?
Bisher was ich habe:
SparseMatrix<double> sp;
sp.resize(numCells,numCells);
double Matrix[numCells,numCells];
Matrix = Map<SparseMatrix>(Matrix,numCells,numCells);
Der Compiler kehrt Typenkonflikt Wert auf Argument 1 in der Liste Template-Parameter für 'Template-Klasse Eigen :: Map'. Ich verstehe, ich vermisse hier etwas, aber ich kann es nicht herausfinden.
Ist die C++ Syntax? 'doppelte Matrix [numCells, numCells];'. Ich kann mich nicht erinnern, in der Lage zu sein, N-dimensionale Arrays auf diese Weise zu spezifizieren. – smac89
Nein, das ist keine C++ Syntax. Ich hätte syntaktisch korrekt sein sollen. Entschuldigung. –