diff options
| author | 8oldr <8oldr@proton.me> | 2026-10-13 15:57:59 +0300 |
|---|---|---|
| committer | 8oldr <8oldr@proton.me> | 2026-10-13 15:57:59 +0300 |
| commit | 603549dff56cc4c9ffe2dd309579cac74315f59c (patch) | |
| tree | 4e55ead4f8d504f6b24ca793491f537925adcded /lecture_1.typ | |
| parent | 75e3d2b8d149a865bb2383be4975057012880e6f (diff) | |
Lecture 1
Diffstat (limited to 'lecture_1.typ')
| -rw-r--r-- | lecture_1.typ | 51 |
1 files changed, 44 insertions, 7 deletions
diff --git a/lecture_1.typ b/lecture_1.typ index dcade12..b46df53 100644 --- a/lecture_1.typ +++ b/lecture_1.typ @@ -26,7 +26,8 @@ #let colourmaths(x, color) = text(fill: color)[$#x$] -// author: eric1102 - may slightly interfere with maths blocks +// author: eric1102 - https://sitandr.github.io/typst-examples-book/book/typstonomicon/math_display.html +// may slightly interfere with maths blocks #show math.equation: it => { if it.body.fields().at("size", default: none) != "display" { return math.display(it) @@ -181,13 +182,49 @@ $ *Claim*: $norm(M)_"op" = sigma_1$, and $v_1$ is a vector that attains the maximum. \ _Proof_: Let $v in RR^m : norm(v) = 1$. We will write $v = sum_(i = 1)^(m)alpha_i v_i$. So: $ - M dot v & = sum_(i = 1)^(m)alpha_i (M dot v_i) \ - & = sum_(i = 1)^(k) alpha_i dot sigma_i u_i \ - 1 = norm(v)^2 & = sum_(i = 1)^(m)alpha_i^2 \ - norm(M v) & = sum_(i = 1)^(k) alpha_i^2 dot sigma_i^2 \ - & <= sigma_1^2 dot sum_(i = 1)^(k)alpha_i^2 \ - & <= sigma_1^2 + M dot v & = sum_(i = 1)^(m)alpha_i (M dot v_i) \ + & = sum_(i = 1)^(k) alpha_i dot sigma_i u_i \ + 1 = norm(v)^2 & = sum_(i = 1)^(m)alpha_i^2 \ + norm(M v) & = sum_(i = 1)^(k) alpha_i^2 dot sigma_i^2 \ + & <= sigma_1^2 dot sum_(i = 1)^(k)alpha_i^2 \ + & <= sigma_1^2 $ We showed that $norm(M v) <= sigma_1$, and this may be attained by taking $v = v_1$: $M v_1 = sigma_1 u_1 => norm(M v_1) = sigma_1$. +*Reminder*: $v bot v' => lr(chevron.l v, v' chevron.r) = 0$ \ +*Exercise*: $max{norm(M v) : v in RR^m, norm(v) = 1, v bot v_1} = sigma_2$, $v_2$ attains the maximum. + +#pagebreak() + +=== SVD Proof + +Our strategy is that we will construct an orthonormal basis $v_1, dots, v_m$ for $RR^m$, such that $M v_1, dots, M v_m$ +are orthogonal: $lr(chevron.l M v_i, M v_j chevron.r) = 0$. The idea is that +$ + u_1 = (M v_1) / (norm(M v_1)), wide u_2 = (M v_2) / norm(M v_2), wide dots +$ +as long as $M v_i != 0$, and complete it to an orthonormal basis. In particular, $sigma_i := norm(M v_i)$. + +_Proof_: We will construct recursively: ++ Let $v_1$ be a unit vector that maximises $ {norm(M v) : v in RR^(m), norm(v) = 1} $ ++ Given $v_1, dots, v_(i - 1)$, we will let $v_i$ be a unit vector that maximises $ {norm(M v) : v in RR^m, norm(v) = 1, + v bot v_1, dots, v_(i - 1)} $ +We will now prove that $forall i < j #h(0.5em) lr(chevron.l M v_i, M v_j chevron.r) = 0$. Consider $f : RR -> RR, +#h(0.5em) f(t) = norm(M (v_i + t v_j))^2$. ++ We will observe that $t = 0$ is a local maximum of $f(t)$ since $x_t = (v_i + t v_j) / norm(v_i + t v_j)$ is a unit + vector orthogonal to $v_1, dots, v_(i - 1)$. Therefore $norm(M x_t)^2 <= norm(M v_i)^2 = norm(M underbrace(x_0, t = + 0))^2$ + +Now: +$ + f(t) & = norm(M((v_i + t v_j) / norm(v_i + t v_j)))^2 \ + & = (norm(M(v_i + t v_j))^2) / norm(v_i + t v_j)^2 \ + & = norm(M (v_i) + t M (v_j))^2 / (norm(v_i)^2 + 2 lr(chevron.l v_i, t v_j chevron.r) + norm(t v_j)^2) \ + & = (norm(M v_i)^2 + 2 lr(chevron.l M v_i, t M v_j chevron.r) + norm(t M v_j)^2) / (1 + 0 + t^2) \ + & = (norm(M v_i)^2 + 2 t lr(chevron.l M v_i, M v_j chevron.r) + t^2 norm(M v_j)^2) / (1 + t^2) \ + f'(t) & = ((2 lr(chevron.l M v_i, M v_j chevron.r) + 2 norm(M v_j)^2 t) dot (1 + t^2) - 2 t dot (dots)) / ((1 + + t^2)^2) \ + ==> f'(0) & = 2 lr(chevron.l M v_i, M v_j chevron.r) \ + & = 0 "since " t = 0 " is a local maximum" +$ |
