od faymon » 21. 6. 2013 16:43
Nebyl někdo na přednášce když se mluvilo o LSI a SVD-rozkladu, případně rozumí tomu někdo?
Ještě bych pochopil vizi LSI, ale ten SVD-rozklad se mi zdá podzřelý. Zkoušel jsem vypočítat matice U, S, V co jsou ve skriptech na straně 103, no zatím jsem se nedopočítal. Na druhou stranu v těch skriptech jsou údajně chyby a ta matice je zbytečně velká, tak jsem zkoušel následující zadání (resp. matici):
Postup ke zjištění matice S:
Vyrobime transponovanou matici A, tj.
Spočítáme
:
Má platit:
Dá se přepsat jako soustava rovnic:
Úprava na
(1)
Spočítáme
Tj.
,
,
.
Matice S vznikne tak, že na diagonále budou odmocniny z lambd, v klesajícím pořadí, tj.
Výpočet matice U:
Dosadíme lambdy do rovnic (1):
Vychází:
Za
i
se zvolilo 1.
Máme matici
Dál se má provádět jakási normalizace a postupně se spočtou řádky matice U.
Výpočet V
Analogicky jako u U, tak se bez té normalizace nedá dobrat ani jedné ze singulárních matic.
Předem díky za každou radu.
Nebyl někdo na přednášce když se mluvilo o LSI a SVD-rozkladu, případně rozumí tomu někdo?
Ještě bych pochopil vizi LSI, ale ten SVD-rozklad se mi zdá podzřelý. Zkoušel jsem vypočítat matice U, S, V co jsou ve skriptech na straně 103, no zatím jsem se nedopočítal. Na druhou stranu v těch skriptech jsou údajně chyby a ta matice je zbytečně velká, tak jsem zkoušel následující zadání (resp. matici):
[latex]A = \begin{pmatrix} 3 & 1 & 1\\ -1 & 3 & 1 \end{pmatrix}[/latex]
[u]Postup ke zjištění matice S:[/u]
Vyrobime transponovanou matici A, tj. [latex]A^T = \begin{pmatrix} 3 & -1 \\ 1 & 3 \\ 1 & 1 \end{pmatrix}[/latex]
Spočítáme [latex]A * A^T[/latex]:
[latex]A * A^T = \begin{pmatrix} 11 & 1 \\ 1 & 11 \\\end{pmatrix}[/latex]
Má platit: [latex]\begin{pmatrix} 11 & 1 \\ 1 & 11 \\\end{pmatrix} * \begin{pmatrix} x_1 \\ x_2 \\\end{pmatrix} = \lambda * \begin{pmatrix} x_1 \\ x_2 \\\end{pmatrix}[/latex]
Dá se přepsat jako soustava rovnic:
[latex]11 x_1 + x_2 = \lambda * x_1[/latex]
[latex]x_1 + 11 x_2 = \lambda * x_2[/latex]
Úprava na
(1)
[latex](11-\lambda) x_1 + x_2 = 0[/latex]
[latex]x_1 + (11-\lambda ) x_2 = 0[/latex]
Spočítáme [latex]\begin{pmatrix} 11-\lambda & 1 \\ 1 & 11-\lambda \end{pmatrix} = 0[/latex]
Tj. [latex](11-\lambda) * (11-\lambda) - 1 * 1 = 0[/latex],
[latex]121-22\lambda+\lambda^2-1 = 0[/latex],
[latex]\lambda^2-22\lambda+120 = 0[/latex]
[latex]\sqrt{D} = 2[/latex]
[latex]\lambda_{1,2} = \dfrac{22 \pm 2}{2}[/latex]
[latex]\lambda_1 = 12, \lambda_2 = 10[/latex].
Matice S vznikne tak, že na diagonále budou odmocniny z lambd, v klesajícím pořadí, tj.
[latex]S = \begin{pmatrix} \sqrt{12} & 0 \\ 0 & \sqrt{10} \end{pmatrix}[/latex]
[u]Výpočet matice U:[/u]
Dosadíme lambdy do rovnic (1):
[latex](11-10) x_1 + x_2 = 0[/latex]
[latex]x_1 + (11-12) x_2 = 0[/latex]
Vychází:
[latex]x_1 = -x_2[/latex]
[latex]-x_2 = -x_1[/latex]
Za [latex]x_1[/latex] i [latex]x_2[/latex] se zvolilo 1.
Máme matici [latex]\begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}[/latex]
Dál se má provádět jakási normalizace a postupně se spočtou řádky matice U.
[u]Výpočet V[/u]
Analogicky jako u U, tak se bez té normalizace nedá dobrat ani jedné ze singulárních matic.
Předem díky za každou radu.