Přidání 3., 4. a 6. okruhu z NM

This commit is contained in:
Filip Znachor 2024-06-17 16:32:09 +02:00
parent 89fda3155a
commit 087d35be13
3 changed files with 267 additions and 0 deletions

View file

@ -0,0 +1,117 @@
**Přímé metody pro řešení soustav lineárních algebraických rovnic. Gaussova eliminační metoda. LU a Choleského rozklad. Existence a jednoznačnost trojúhelníkového rozkladu. Stabilita trojúhelníkového rozkladu. Přímé metody pro soustavy se speciální maticí.**
### Soustava lineárních algebraických rovnic
Metody
- přímé
- iterační
Formulace
- Dána matice $A$ a vektor pravé strany $b$. Hledáme vektor $x$, aby platilo $Ax = b$.
- Předpokládáme, že $A$ je **regulární** (tj. soustava má jedno řešení).
2 typy soustav
- soustavy s obecnou maticí
- přímé metody
- soustavy se speciální maticí (symetrická, řídká, ...)
- iterační nebo modifikovace přímých metod
Cramerovo pravidlo
- metoda
- $x_{i} = \frac{\det(A_{i})}{\det (A)}$
- nutno vypočítat $(n+1)$ determinantů
Princip
- Soustavy $Ax = b$ a $TAx = Tb$, kde $T$ je regulární matice, jsou ekvivalentní.
- Touto transformací lze získat trojúhelníkovou soustavu ... $Ux = y, U = TA, y = Tb$ ... tu lze řešit zpětným chodem
### Gausova eliminační metoda
Přímý chod
- převedení matice na trojúhelníkový tvar sčítání řádku s násobkem jiného
- cílem vynulování sloupce pod diagonálou
- trojúhelníkovou soustavu řešíme zpětným chodem
Efektivnost algoritmu GEM
- výpočet multiplikátoru + přímý chod + zpětný chod
- $\frac{1}{3}N^3 + N^2 - \frac{1}{3}N$, kde $N$ je řád matice $A$
Realizovatelnost GEM
- může se stát, že algoritmus bude v nějakých případech nucen při řádkových úpravách dělit nulou
- pro tyto případy normální GEM není realizovatelná a musíme použít GEM s pivotací
- je-li matice $A$ **ostře diagonálně dominatní**, pak je algoritmus **GEM realizovatelný**
- absolutní hodnota čísla na diagonále je ostře větší než součet abs. hodnot a ostatnách čísel v tomto řádku
- je-li matice $A$ **symetrická a pozitivně definitní**, pak je algoritmus **GEM realizovatelný**
- má všechna vlastní čísla kladná
**Existence řešení**
- soustava $Ax = b$ má právě 1 řešení, když je $A$ regulární
- lineárně nezávislé řádky a sloupce
- $\det A \neq 0, \quad \forall \lambda \neq 0$
**GEM se sloupcovou pivotací**
- vždy vezmeme sloupec a najdeme v něm **největší absolutní hodnotu** a **prohodíme řádky** tak, aby **to číslo bylo na diagonále** (tím zajistíme, že nebudeme dělit nulou)
- nevýhodnou je prohledávání
- s postupující GEM se ale zrychluje - prohledáváme méně prvků
- řádková pivotace
- princip stejný, akorát je třeba zaměnit i příslušné složky řešení $x$ (prohození sloupců prohází složky řešení)
- GEM s pivotací je **realizovatelná pro libovolnou regulární matici** $A$
### Metoda LU-rozkladu
**LU-rozklad**
- $A$ ... regulární matice řádu N
- lze rozložit na $A = LU$
- $L$ ... dolní trojúhelníková matice řádu N
- $U$ ... horní trojúhelníková matice řádu N
LU-rozklad **existuje**, pokud lze provést pivotaci tak, aby se eliminovaly nuly na diagonále.
Jednoznačnost LU-rozkladu
- LU-rozklad **není jednoznačný**. Jednoznačnosti je možné dosáhnout tak, že si zvolíme diagonálu jedné z matic (např. do L dáme na diagonálu jedničky).
- Pokud je $A$ **regulární** a **všechny pivoty jsou nenulové**, tak existuje jednoznačný LU rozklad (jinak je potřeba provést pivotaci).
**Řešení soustavy LU-metodou**
1. zadáno $A, b$, provedeme LU-rozklad: $A = LU$
2. řešení trojúhelníkové soustavy: $Ly = b$ - hledám $y$
3. řešení trojúhelníkové soustavy: $Ux = y$ - hledám $x$
**Využití LU-metody**
- když počítáme více soustav, kde se mění pouze pravá strana $b$
- stačí provést pouze jeden LU-rozklad (náročný) a poté už jen několikrát opakovat řešení trojúhelníkových soustav (jednoduchý výpočet - výhoda oproti GEM)
- řešení maticových soustav $AX = B$
- nedourčené soustavy - soustavy se singulární maticí
- máme méně rovnic než neznámých (dovyrobíme si další řádky)
**Choleského rozklad**
- speciální případ LU-rozkladu pro **pozitivně definitní matice**
- $A = L\cdot L^T$
- pozitivně definitní matice má vždy Chol. rozklad
- rozklad je jednoznačný, pokud jsou diagonální prvky $L$ kladné
Stabilita LU-rozkladu
- obecně stabilní, pokud se provádí s pivotací (permutací řádků)
- bez pivotace může být nestabilní, pokud má matice $A$ velmi malé nebo velké prvky
- Chol. rozklad je numericky stabilní pro pozitivně definitní matice
### Přímé metody pro soustavy se speciální maticí
Symetrická matice
- používáme symetrickou verzi GEM a LU-rozkladu
- $A = LDL^T$ - $D$ je diagonální matice
- rozklad zachovává symetrii původní matice
- efektivnější, rychlejší a stabilnější než obecná LU-metoda
- symetrická + pozitivně definitní
- Choleského rozklad
Pásová matice
- řídká matice s **nenulovými prvky kolem diagonály**
- **zachovávají se pozice nul** (to v obecném případě neplatí)
- pásová + symetrická + pozitivně definitní
- Choleského rozklad
3-diagonální matice
- pásová matice, kde jsou nenulové prvky na 3 diagonálách
- metoda faktorizace
- $A \cdot Y = F$ ... soustava $n+1$ lineárních algebraických rovnic
- přímý chod + zpětný chod

View file

@ -0,0 +1,62 @@
**Stacionární iterační metody pro soustavy lineárních algebraických rovnic. Jacobiho a Gaussova-Seidelova metoda, SOR metoda. Nutná a postačující podmínka konvergence iterační metody, postačující podmínka konvergence iterační metody.**
### Iterační metody
- používány pro řídké matice
Obecný zápis
- $Ax - b = 0 \leftrightarrow F(x) = 0$ přepíšeme na tvar $x = Hx+g \leftrightarrow x = \Phi(x)$
- iterační formule ... $x^{(k+1)} = H \cdot x^{(k)} + g$
- $H$ rozhoduje o kvalitě metody
- počáteční aproximace $x^{(0)}$, zastavovací podmínka $\Vert x^{(k)}-c^{(k-1)}\Vert < \epsilon$
**Jacobiho metoda**
- z $i$-té rovnice vyjádřím $i$-tou složku vektoru $x$
- $i$-tá rovnice ... $a_{i1}x_{1} + a_{i2}x_{2} + \dots a_{in}x_{n} = b_{i}$
- iterační formule
- $\displaystyle x_{i}^{(k+1)} = \frac{1}{a_{ii}}\left( b_{i} - \sum^n_{j=1; j\neq i} a_{ij}x_{j}^{(k)} \right)$ pro $a_{ii} \neq 0$
- $H$ ... řádky jsou jednotlivá vyjádření $x_{i}$
- $g$ ... sestavený z členů bez $x$ ve vyjádření $x_{i}$
**Gaussova-Seidelova metoda**
- stejný princip jako u Jacobihovy metody, ale pokud při výpočtu $(k+1)$-iterace již známe $(k+1)$ iteraci u některých složek, tak ji použijeme
- iterační formule
- $\displaystyle x_{i}^{(k+1)} = \frac{1}{a_{ii}}\left( b_{i} - \sum^{i-1}_{j=1} a_{ij}x_{j}^{(k+1)} - \sum^{n}_{j=i+1} a_{ij} x_{j}^{(k) }\right)$
**SOR metoda**
- princip
- vychází z Gauss-Seidelovy metody
- vyjádříme $(k+1)$-iteraci pomocí $k$-té iterace a změny ... $x_{i}^{(k+1)} = x_{i}^{(k)} + r_{i}^{(k)}$
- idea: k urychlení nepřičteme změnu $r_{i}^{(k)}$ ale její násobek $\omega\cdot r_{i}^{(k)}$
- iterační formule
- $\displaystyle x_{i}^{(k+1)} = \omega\cdot x_{i,GS}^{(k+1)} + (1-\omega)x_{i}^{(k)}$
- lineární kombinace $(k+1)$-iterace GS-metody a $k$-té iterace metody SOR
- volba $\omega$
- musíme si zvolit parametr $\omega$
- tento parametr může metodu zhoršit či vylepšit oproti GS
- vzorec, který (ne vždy) dokáže vypočítat optimální $\omega$
- $\displaystyle\omega_\text{opt} = \frac{2}{1 + \sqrt{ 1- \rho(H_{J}) }}$
- $\rho(H_{J})$ ... spektrální poloměr Jacobiho matice $H$
### Konvergence iteračních metod
$\displaystyle\lim_{ x \to \infty } x^{(k)} = x^*$
Nutná a postačující podmínka konvergence
- $\rho(H) = \max|\lambda_{i}(H)| < 1 \Longleftrightarrow$ metoda konverguje $\Longleftrightarrow$ úloha je stabilní
- $\rho(H)$ ... spektrální poloměr matice $H$ = maximální vl. číslo matice $H$ v abs. hodnotě
- čím blíž bude spektrální poloměr 1, tím bude metoda pomalejší
- snaha, dostat ho co nejvíce k 0
Postačující podmínka konvergence
- $\Vert H\Vert \leq q < 1 \implies$ metoda je konvergentní
- multiplikativní maticová norma: $\Vert A\cdot B\Vert \leq \Vert A\Vert\cdot\Vert B\Vert$
- podmínka pro konvergenci SOR
- $\rho(H_{SOR}) \geq |\omega-1| \quad \forall \omega \in R$
Konvergenční věty
- podmínky pro $H$ jsou nepraktické, $H$ je těžko spočitatelná
- $A$ je ostře diagonálně dominantní $\implies$ konverguje Jacobiho i GS metoda pro libovolnou volbu $x_{0}$
- $A$ je symetrická a poz. definitní $\implies$ konverguje GS metoda
- SOR metoda konverguje $\implies 0 < \omega < 2$
- $A$ je symetrická a poz. definitní, $0 < \omega < 2 \implies$ SOR metoda konverguje

View file

@ -0,0 +1,88 @@
**Numerické metody pro řešení úloh na vlastní čísla. ƒČástečný problém a úplný problém. Mocninná metoda a metoda Rayleighova podílu. Ortogonální transformace. Singulární rozklad matice. Využití pro rešení obecných soustav lineárních algebraických rovnic.**
### Vlastní čísla
- $Av = \lambda x$
- $\lambda$ ... vlastní číslo
- $x$ ... vlastní vektor
- charakteristická rovnice ... $\det(A - \lambda I) = 0$
- spektrální matice ... $A = \text{diag}(\lambda_{1}, \lambda_{2}, \dots, \lambda_{n})$
Typy problémů
- **úplný problém**: úlohou je najít všechna vl. čísla
- **částečný problém**: úlohou je najít pouze některá vl. čísla (obvykle s největší absolutní hodnotou)
### Mocninná metoda
Řeší částečný problém - vlastní číslo matice $A$ s největší absolutní hodnotou.
**Předpoklady**
- $A$ má $n$ LN vlastních vektorů
- existuje právě jedno dominantní vlastní číslo
- vl. čísla lze seřadit: $|\lambda_{1}| > |\lambda_{2}| \geq |\lambda_{3}| \geq \dots \geq |\lambda_{n}|$
**Algoritmus**
- **vstup**: matice $A$ a sloupcový vektor $y^{(0)}$ (LK vlastních vektorů)
- **zastavovací podmínka**: $|\lambda^{(k+1)} - \lambda^{(k)}| < \epsilon$
1. pomocí iterační formule $y^{(k+1)} = A\cdot y^{(k)}$ počítáme další $y^{(k+1)}$ pro $k = 0, 1, \dots$
2. z vektoru $y^{(k+1)}$ vybereme index $i$, kde je absolutní hodnota $|y^{(k+1)}_{i}|$ největší
3. vypočítáme přibližné vl. číslo $\displaystyle\lambda^{(k+1)} = \frac{y^{(k+1)}_{i}}{y^{(k)}_{i}}$
- použijeme hodnoty na $i$-tém indexu v aktuálním a předchozím vektoru $y$
4. opakujeme, pokud neplatí zastavovací podmínka
**Poznámky**
- kvůli přetečení/podtečení je vhodné vektor $y^{(k+1)}$ v každém kroku normovat
- $\displaystyle y^{(k)} = \frac{y^{(k)}}{\Vert y^{(k)}\Vert}$
### Metoda Rayleighova podílu
Tato metoda je velice podobná mocninné metodě, ale pro výpočet lambdy použijeme **jiný vzorec** níže.
$\displaystyle\lambda_{k} = \frac{y^{(k-1)^T} \cdot y^{(k)}}{y^{(k-1)^T} \cdot y^{(k-1)}}$
**Předpoklady**
- stejné jako u mocninné metody
- **navíc**: matice $A$ je **blízce symetrická** (hodnoty jsou téměř symetrické)
- vlastní vektory jsou díky tomu ortonormální
- $v_{i}^Tv_{j} = 0, i\neq j \quad v_{i}^Tv_{i} = 1$
**Poznámky**
- konverguje k nule zhruba dvakrát rychleji
### Ortogonální transformace
**Podobnost matic**
- matice $A$ a $B$ jsou si podobné, pokud existuje $P$, pro které platí $P^{-1}AP = B$ nebo $A = PBP^{-1}$
- podobné matice mají **stejná vlastní čísla**
**Princip**
- konstruujeme posloupnost vzájemně podobných matic, která konverguje k matici, jejíž vlastní čísla se dají snadno určit
- posloupnost vzájemně podobných matic: $A_{k+1} = Q_{k}^TA_{k}Q_{k}, k = 0,1,2,\dots$
**Metoda QU-rozkladu**
- používáme pro obecnou matici
- $A = QU$
- $Q$ ... ortogonální matice - $QQ^T = I$, tedy $Q^T = Q^{-1}$
- $U$ ... horní trojúhelníková matice
- $B = UQ$
- $U = Q^{-1}A \implies B = Q^{-1}AQ = Q^{T}AQ$
Příkladem ortogonální matice je matice rovinné rotace o úhel $\alpha$.
- pro dostatečně velké $k$ je $A^k$ horní trojúhelníková matice
$$
\begin{bmatrix}
\cos \alpha & -\sin \alpha \\
\sin \alpha & \cos \alpha
\end{bmatrix}
$$
**Metoda Jacobiovy diagonalizace**
- používáme, když $A$ ... reálná symetrická matice
- $\implies \exists$ ortogonální matice $Q$ taková, že $Q^TAQ = A$
- $A$ ... spektrální matice = matice s vlastními čísly na diagonále
- **postupné nulování**
- vybereme prvek mimo diagonálu a ten vynulujeme
- poté vybereme další, ale zase se nám odnuluje ten původní
- při iteračním pojetí ale budou všechny prvky mimo diagonálu konvergovat k nulám