From 5026da324a478098b7b5e1566d5ebe07cc69b5c4 Mon Sep 17 00:00:00 2001 From: Claudio Maggioni Date: Mon, 10 May 2021 17:30:38 +0200 Subject: [PATCH] midterm: done all except 2.1{a,d,f} --- .../Claudio_Maggioni_midterm.md | 60 +++++++++++++++--- .../Claudio_Maggioni_midterm.pdf | Bin 618131 -> 619869 bytes Claudio_Maggioni_midterm/dogleg.m | 2 + 3 files changed, 54 insertions(+), 8 deletions(-) diff --git a/Claudio_Maggioni_midterm/Claudio_Maggioni_midterm.md b/Claudio_Maggioni_midterm/Claudio_Maggioni_midterm.md index d8fb9e8..62eb807 100644 --- a/Claudio_Maggioni_midterm/Claudio_Maggioni_midterm.md +++ b/Claudio_Maggioni_midterm/Claudio_Maggioni_midterm.md @@ -376,7 +376,7 @@ We first show that the lemma holds for $\tau \in [0,1]$. Since $$\|\tilde{p}(\tau)\| = \|\tau p^U\| = \tau \|p^U\| \text{ for } \tau \in [0,1]$$ -Then the norm of the step $\tilde{p}$ clearly increases monotonically as $\tau$ +Then the norm of the step $\tilde{p}$ clearly increases as $\tau$ increases. For the second criterion, we compute the quadratic model for a generic $\tau \in [0,1]$: @@ -388,17 +388,18 @@ term in function of $\tau^2$ is negative and thus the model for an increasing $\tau \in [0,1]$ decreases monotonically (to be precise quadratically). -Now we show that the monotonicity claims hold also for $\tau \in [1,2]$. We -define a function $h(\alpha)$ (where $\alpha = \tau - 1$) with same monotonicity -as $\|\tilde{p}(\tau)\|$ and we show that this function monotonically increases: +Now we show that the two claims on gradients hold also for $\tau \in [1,2]$. We +define a function $h(\alpha)$ (where $\alpha = \tau - 1$) with same gradient +"sign" +as $\|\tilde{p}(\tau)\|$ and we show that this function increases: $$h(\alpha) = \frac12 \|\tilde{p}(1 - \alpha)\|^2 = \frac12 \|p^U + \alpha(p^B - p^U)\|^2 = \frac12 \|p^U\|^2 + \frac12 \alpha^2 \|p^B - p^U\|^2 + \alpha (p^U)^T (p^B - p^U)$$ We now take the derivative of $h(\alpha)$ and we show it is always positive, -i.e. that $h(\alpha)$ has always positive gradient and thus that is it -monotonically increasing w.r.t. $\alpha$: +i.e. that $h(\alpha)$ has always positive gradient and thus that it is +increasing w.r.t. $\alpha$: $$h'(\alpha) = \alpha \|p^B - p^U\|^2 + (p^U)^T (p^B - p^U) \geq (p^U)^T (p^B - p^U) = \frac{g^Tg}{g^TBg}g^T\left(- \frac{g^Tg}{g^TBg}g + B^{-1}g\right) =$$$$= \|g\|^2 @@ -445,7 +446,50 @@ Which, since $B$ is symmetric, in turn is equivalent to writing: $$g^T g \leq (g^TBg) (g^T B^{-1} g)$$ -which is what we needed to show to prove that the first monotonicity constraint +which is what we needed to show to prove that the first gradient constraint holds for $\tau \in [1,2]$. -**TBD** +For the second constraint, we adopt a similar strategy as for before and we +define a new function $\hat{h}(\alpha) = m(\tilde{p}(1 + \alpha))$, thus +plugging the Dogleg step in the quadratic model: + +$$\hat{h}(\alpha) = m(\tilde{p}(1+\alpha)) = f + g^T (p^U + \alpha (p^B - p^U)) + +\frac12 (p^U + \alpha (p^B - p^U))^T B (p^U + \alpha (p^B - p^U)) = $$$$ = +f + g^T p^U + \alpha g^T (p^B - p^U) + (p^U)^T B p^U + \frac12 \alpha (p^U)^T B +(p^B - p^U) + \frac12 \alpha (p^B - p^U)^T B p^U + \frac12 \alpha^2 +(p^B - p^U)^T B (p^B - p^U)$$ + +We now derive $\hat{h}(\alpha)$: + +$$\hat{h}'(\alpha) = g^T (p^B - p^U) + \frac12 (p^U)^T B (p^B - p^U) + \frac12 +(p^B - p^U)^T B p^U + \alpha (p^B - p^U)^T B (p^B - p^U) = $$$$ += (p^B - p^U)^T g + \frac12 ((p^U)^T B (p^B - p^U))^T + +\frac12 (p^B - p^U)^T B p^U + \alpha (p^B - p^U)^T B (p^B - p^U) = $$$$ += (p^B - p^U)^T g + \frac12 (p^B - p^U) B^T (p^U)^T + +\frac12 (p^B - p^U)^T B p^U + \alpha (p^B - p^U)^T B (p^B - p^U) = $$$$ += (p^B - p^U)^T (g + \frac12 \cdot 2 \cdot B p^U) + \alpha (p^B - p^U)^T B +(p^B - p^U) \leq $$$$ +\leq (p^B - p^U)^T(g + B p^U + B (p^B - p^U)) = $$$$ +=(p^B - p^U)^T(g+Bp^B) = 0$$ + +and we therefore obtain $\hat{h}(\alpha) \leq 0$, thus finding that the +$m(\tilde{p})$ is indeed a decreasing function of $\tau$ or $\alpha = \tau - 1$ +also for $\tau \in [1,2]$, thus completing the proof for the lemma. + + diff --git a/Claudio_Maggioni_midterm/Claudio_Maggioni_midterm.pdf b/Claudio_Maggioni_midterm/Claudio_Maggioni_midterm.pdf index dd9522dd46805edeb45496ff5ceea2715a573956..e7162306f0cad8a789416d635a128e6e52f5fa9b 100644 GIT binary patch delta 8699 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