Witam,
tym razem chciałem zapytać o jakieś sugestie co do transponowania macierzy...
Macierz przechowywana jest w 3 wektorach:
vector <float> mtx_val; // kolejne wartości z wczytanej macierzy
vector <unsigned int> mtx_col; // pozycje (kolumny) kolejnych el. niezer. z powyzszego wektora
vector <unsigned int> mtx_nzl; // liczba elementów niezerowych w kolejnych wierszach
Ja sobie wymyśliłem transponowanie za pomocą 2 pomocniczych wektorów:
vector < vector <float> > trns_val; // wektor roboczy przechowujacy transponowana macierz (wartosci)
vector < vector <unsigned int> > trns_col; // wektor roboczy przechowujacy transponowana macierz (kolumny)
przy czym jest do dość nieoptymalne pamięciowo, a na tym mi bardzo zależy (równie bardzo, co na szybkości), bo macierze mogą być dosyć duże.
pozdrawiam