C++ Bc. 10: Porovnání verzí
Bez shrnutí editace |
Bez shrnutí editace |
||
Řádek 7: | Řádek 7: | ||
'''Řešení''' | '''Řešení''' | ||
Výpočet determimnántu je triviální v případě trojúhelníkové matice, | Výpočet determimnántu je triviální v případě trojúhelníkové matice, kdy determinant je roven součinu prvků na hlavní diagonále. Speciálně, pokud je se na hlavní diagonále vyskytuje nula, je determinant nulový. | ||
Funkce proto převádí danou matici na horní trojuúhelníkovou pomocí elementárních operací, které nemění hodnotu determinantu: | Funkce proto převádí danou matici na horní trojuúhelníkovou pomocí elementárních operací, které nemění hodnotu determinantu: | ||
* výměna dvou různých řádků matice změní pouze znaménkou determinantu, nemění ale jeho absolutní hodnotu | * výměna dvou různých řádků matice změní pouze znaménkou determinantu, nemění ale jeho absolutní hodnotu | ||
* pokud k libovolnému řádku matice přičteme násobek jiného řádku, hodnota determinantu se tím nemění | * pokud k libovolnému řádku matice přičteme <math>p</math>-násobek jiného řádku, hodnota determinantu se tím nemění | ||
[ [[C plus plus Bc.|Zpět]] ] | [ [[C plus plus Bc.|Zpět]] ] |
Verze z 26. 2. 2006, 12:29
Determinant
Napište funkcí, která počítá determinant matice
double determinant(GNU_gama::Mat<>& A);
Řešení
Výpočet determimnántu je triviální v případě trojúhelníkové matice, kdy determinant je roven součinu prvků na hlavní diagonále. Speciálně, pokud je se na hlavní diagonále vyskytuje nula, je determinant nulový.
Funkce proto převádí danou matici na horní trojuúhelníkovou pomocí elementárních operací, které nemění hodnotu determinantu:
- výměna dvou různých řádků matice změní pouze znaménkou determinantu, nemění ale jeho absolutní hodnotu
- pokud k libovolnému řádku matice přičteme -násobek jiného řádku, hodnota determinantu se tím nemění
[ Zpět ]