Transpozycja macierzy (Java)
Transpozycja macierzy to zamiana wierszy z kolumnami (pierwszy wiersz z pierwszą kolumną, drugi wiersz z drugą kolumną, etc). Wartości leżące na przekątnej głównej nie zmieniają się.
Mamy tablicę:
Po transpozycji otrzymujemy:
Jeśli transponujemy macierz wierszową:
to otrzymamy macierz kolumnową:
i odwrotnie.
Transpozycje możemy wykonać przy użyciu metody transpose
z klasy Matrix
.
public void transpose() { double[][] temp = new double[getColCount()][getRowCount()]; for (int i = 0; i < getRowCount(); i++) { for (int j = 0; j < getColCount(); j++) { temp[j][i] = getArray()[i][j]; } } setArray(temp); }
W działaniach na macierzach macierz transponowaną oznacza się jako AT.
Przykład w klasie Matrix023
.
Jak widzimy w przypadku macierzy, które nie są kwadratowe, przy transpozycji zamianie ulegają również wymiary
macierzy.
Właściwości transpozycji
(n – jest wartością skalarną)
Przykład
Ten przykład jest obliczony w klasie Matrix026
.
Przykład 2
Jak widzimy
Ten przykład obliczony jest w klasie Matrix085
.
Pliki do ściągnięcia
Moduł matrices – aktualny stan projektu = 011;