Subdeterminant: Porovnání verzí

Smazaný obsah Přidaný obsah
Addbot (diskuse | příspěvky)
m Bot: Odstranění 16 odkazů interwiki, které jsou nyní dostupné na Wikidatech (d:q1341061)
Přidání počítačového algoritmu
Řádek 13:
Ekvivalentně lze determinant vyjádřit ''rozvojem (rozkladem) podle <math>j</math>-tého sloupce''.
:<math>\det \mathbf{A} = \sum_{i=1}^n a_{ij} A_{ij}</math>
 
==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]]:
 
<source lang="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;
}
</source>
 
== Související články ==