Subdeterminant
Vzhled
Mějme čtvercovou matici , kterou získáme z matice odstraněním i-tého řádku a j-tého sloupce. Determinant matice , tzn. nazýváme subdeterminantem (též minorem) příslušným k prvku matice .
Algebraický doplněk
Algebraickým doplňkem nebo také kofaktorem nazýváme číslo
Výpočet determinantu rozvojem podle řádků (sloupců)
Algebraický doplněk lze použít k výpočtu determinantu n-tého řádu. Pro libovolné (pevně dané) i lze determinant matice vyjádřit pomocí algebraických doplňků jako
Tento postup je označován jako rozvoj (rozklad) determinantu podle -tého řádku.
Ekvivalentně lze determinant vyjádřit rozvojem (rozkladem) podle -tého sloupce.
Počítačový algoritmus
V programování lze velmi dobře využít metodu subdeterminantů pro výpočet determinantů čtvercové matice libovolného rozměru za pomocí rekurze.
Příklad kódu v jazyce Java:
public int determinant(int[][] m) {
int n = m.length;
if(n == 1) {
return m[0][0];
} else {
int det = 0;
for(int j = 0; j < n; j++) {
det += Math.pow(-1, j) * m[0][j] * determinant(minor(m, 0, j));
}
return det;
}
}
public int[][] minor(final int[][] m, final int i, final int j) {
int n = m.length;
int[][] minor = new int[n - 1][n - 1];
int r = 0, s = 0;
for(int k = 0; k < n; k++) {
int[] row = m[k];
if(k != i) {
for(int l = 0; l < row.length; l++) {
if(l != j) {
minor[r][s++] = row[l];
}
}
r++;
s = 0;
}
}
return minor;
}