Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem C++ - Jak dostat z řídké matice čtvercovou část?

Ahoj všichni!

Potřeboval bych dostat z řídké matice zadané souřadnicovým formátem dostat čtvercovou část "vpravo dole" pro výpočet Schurova doplňku. Nevím ale jak na to bez toho, že bych převáděl matici do hustého formátu - ten je pro mě dost nevýhodný, protože matice budou pak v reálu hodně velké.


Příklad uložení matice:

int order_of_matrix = 4

int row_coords[] = {1,1,2,3,3,4};
int col_coords[] = {1,3,3,3,4,4};
int vals[]       = {1,2,3,4,5,6};
Mi popisuje matici
|1 0 2 0|
|0 0 3 0|
|0 0 4 5|
|0 0 0 6|
Příklad extrakce prvků:
int schur_complement_size = 1
|6|

int schur_complement_size = 2
|4 5|
|0 6|

int schur_complement_size = 3
|0 3 0|
|0 4 5|
|0 0 6|

int schur_complement_size = 4
|1 0 2 0|
|0 0 3 0|
|0 0 4 5|
|0 0 0 6|
Moc díky za veškeré rady,
Katsu

Odpověď na otázku

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny