From 5026da324a478098b7b5e1566d5ebe07cc69b5c4 Mon Sep 17 00:00:00 2001
From: Claudio Maggioni <maggicl@usi.ch>
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.
+
+<!--
+$$\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$$
+-->
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
zcmV<XAq3u&-6h@XC4hthgaU*Egaot&>=6PnG?M`?D1Y5tOOx9+628x`&{3*b2=NBu
z${uDb-m27AYIi-U9I`$z5=UZ<Mw&<*kH?4o?b{$g3ZTG;UXGK4EpkKxjeeo~>xPoi
zVw8;jag(^u+q;`@-w{62NDCrHclRTV5&~Z(BRrA`;)xtdj1iW2boV&=b$qwX){`m2
z$+%c%_J3l%**@B<&3)smU6DOaKHUBI?K>{~Iot$TOGGdYXZW9eL16ENX@V3J@Xp;F
zo^V69kxdegIBU>7TV?5X^=iq=*RySw?y{Y|O?QzgD;kOBh*A-b_TPlEZX#&HkXDV?
z>Uq&*Dij~Tn<zZqY@1BWCU`vCtmpQ2w#|!dn}2WCZ{VKd@ymqBv3qp3d3<^<vi$%+
zQ%yODPYE#+S_6}XrQrAHbiPfCd^VX<O2?0z$&{$^JX_iOdqa%5NX-WuFS0dEJ&Uo2
zV#F!0M6zdyVBS*-k@^u5Q3Q=xqN@jfolN;SiOeOD)T(;wZDbgR7^xq?A0m>0Ay_@p
zcYiSr6A4OyOR#JtrLqq`M&?p5lH4zwCzB~iGN!Z?Daji;8w|x^MiLCwGsvFHjd7Ur
z$HC?w2v(}`_mLq9s41n@^Y>A)VYsgcOk#u?z2<5pfE@?KY5232R8_=LScbqn(1Tz?
z5TMY&`~6c7ktvNu;fkz9WEhTc{ry9P7JoZHla`ww?rwg+sqLLfL<JuSA&~~Hnmyk9
z`XL$3;maRK38J8hFXf|;;2IFqhLNk$`<s7TUm9|nX{5k+2(FMwSV%Ytn1sO&2*}!L
z-d$w*0uc!c>OFM}7L!Cdfi+4%O$AKPnqmxHaZ`*q!V-<az{C)iR3h>?5=>VQ<$rU8
z#MLW-4T2*6W%Y~n=-1v|ovdJ5mHuo1Hz|lkc5>4V<#Th0Be|9ihN?xujR@Z_ML1^2
zV*ac#W#CAFMN*_;{2uxlxB%KszZ^}yr#k58Nbmh*%#&gWkgzzxlOAn?RKx1YB`mNS
zsm}nx3rg~rG(eVMM20c5*Tb^}!hZ!p2YGmWmT>{|7()bDJtbf?g!Wm2$Ak_`@SdtB
zn^Mfie~T$9N)lCt?g_Xa@X&%XB$bPAlXy(Le+f$nJ#_fe4x-}Bgqw*8ZPmEE#t@Y6
zo*%Q0z#MB6$Ea|y+a3x?LJ-3Zvh$st{;3RxH@m#ZKh~5a5FH!MUqclB#((|+0_|-E
zp>kH=+6%~xAT%%X`ismYM&>GC+t2&w^{jwU-rjBQJC?@;f#va#(j!f<l?_ZnQUmH5
zWy3mKq$LMr#eo!ZkyvIyKvjv$EQ+OJ+4Iik4~{3yW*D-{FqoHNtnH`EiSqR##tcw-
z>WAB{SqA<p(hL)|)YQ(iI)BTwxz>79Y}WZKU70-8{K;(9#l~L$Rw`d+Z=SZ<EZ@1C
zI%hL4nr#$WVFZbKDG$gw6}YQX9zSi20AFATf%k?5*Sn?vO|eW1b5*Ia`IG$`{@d7Z
zW~(%R+}STn-G$G^Hl622;nlcsUoAJQxxGqPyN$gv;%?V*%8Vz&A%EemLN=<_A!I-K
z2HO#ogyWWS$6eGIyhHKut+zchNt49U@E!7@2OCfXX)ME+5RgaJ_?L+ym86{G$*dGo
z$I;4#bhr*BVY_AF_{;8vz&3|S!kVIphLZI>T0-O^n(tuRJr##NlZ%7bs_?LlYuv<1
zP4O5CUyM8MAk$d~*MGou<1ag?)Cf!28}aq|BZ-6-Jwczjs$<L8%7bLrCiKP`yyW0$
zOHaB>ADx5nZLxAJB-!PQHGI1FYK$w$5+T7z#6dt6Vhf7Y>m3Zu9l#uP0L;M#z#Q~2
zod{MGjPnp-tAc&69>nZxmaFx4&#Zq`rGG3pvb3nK>;}n76Mvk5pL82Jt8qQ}<1Pv=
zVX%0{Ot^)SW-fGFM%U=GVF;_DdMqHw33aCigGLxwz*%>?fhj=}_Bt*oFkPIJZ`4C^
zNV;Gltto;iZO=n2uBeUy>K4<ZU?XoqzycE<Du`h!dyvzRGO=atyPrga3Y*w6&wZJN
zNKAV09q_1_@qbH5yB_LPX}1G@Pti=rxE62GKSvQ;rDVXGZ(5{Dj+16G5cEADIgsXU
zggY9v4+kU<(ZNB}{TyAF0QCr`J6%`t5M7lg>MF&gtgBo=SL>m^oUX<s(U__!iIceu
zLm9B3srJL*CIe@1auF_9L&dm^ySVHbp}+Xj2oKjDgMXV2+1L&@eZ{u=g*D{-ZLT+L
zIoX$+)zdalMGkOf@436^Xf+zl&L@75rjVhULaxfIj*>qZ?1-BxXq79~DXBKK{wg+x
zn<9OvKq93begGHqY@2_aa5hdo98LGYT?8^Ktiy?WQdUv|^x-Q#87sjWf&tQer!QkA
zM3jhebAPHHW)jLEr^exHHs=5~y?DIyFd1M}Uf92u`38KZtMb{@{P*hq_Ef@Z6;=rY
zneKpuk8_lvN*<88bR_SPiePdS!x^NDX1_dw;fz5%j*n(I<VuK;qZ!UPN0>GkzD$o{
zV+`ly1OgM~5QoEL+hvjL00ONt$5NgqP23$oo_{v`L|as#7#B5ciarWZ@hxD0?|kFg
zrzA*$9!^0Y6CNa=rqJzqmC$9za0^K0G(Xy99-pQ*IU&oS<zTqR*2tRW|G&n5PY3Py
z<dpq>3TD=7#2`Z|zrsCR3{}9dEfYJBR}HmbUb;$n%%KM5=|5Rq_NSHcso8dWzZOAM
z`G0BgSv6k~)O;6_+)rY}i5@YXz#hyx%i|1jjyuZZ^;imaQmwC99>)w(c-+e$yPHHp
z^<!bPpa!=G_xntgkSNX%yE<&Iu&XlF-7H6df{Tez_KA=|yecjtKsV9=@txT_WaUR9
z@@qgxl++g3o2}kPf*b`QkQha6y#X_jJ%7@SqtQeYV^~CV$#N!C5klk68k-o+f7HTa
zQ=%lqxVo$!aIVAZ6l-<(S8Sn-z%PgWS_GB17xq|fGL`;N9WoU?GVL`k(;%uKRb>X)
z0y4V#_c$U<b~T7{(<3J#-_eL(xj!^eOUP)z#St)Tg_}OEX>gP}t&}0-LRW|nOMjjt
zs%;BP?e_k-rZ0*y63HN`NswB(n0DaUjpa#gNOX0Tjjy-qvW2psBmSZ~*JhvILuc5h
z@wwhei)e)pM~ZF@x11cPKW%B6YM=p(fO}&OTzFqKuaP~T1J@4~PS(-BMkOc_35UDw
zAptW5%wpk77FHnR-Rt9HR&1-Y9e)m%An~>~(rjxhd$zi|N+<*i=IBF=;1+Kzj+S=o
z$|-}$0PH)u@^t5y@mDJ}nKH)AStZ-2_okLm-C^~xM>63Xzsm2}Q#S8Kz#s+|CaU(6
z&2zEK=Wa-I`YGsrdrG$sC|YK_8vJpeB^sqXG|IGnIY~|MIQKj7=(y^dOMl9xaksRI
zIXz@o$AZ;)i(})>y6QJuXPIkwsJhNP;L$-=-^JnzZd%_67@jO!F3$=t`h7X+@#W^&
z7_)6uED>k9@@gnaQL=XhUu^^ZpUjubi}>=r!n9x^vV^IE${}HGc*p@wtii|{Wqe~(
z@`pGaDe)zO7VjWJJj1Lj<$tt)X-7dlt-;8E6BJ_T35p9V@Cl@~DR98jbCLybpd<7*
z*ypB{!Bz+H$&_e>sY~$czWAy)cw;;N==eUJ6`O5cOsI+v?%{d1-aO{(w5U6+w^_Ko
z1c5+(=o5C3dKdKfl4^@shkeRrZ*OK>krSk~3M+`Pg(AghT|uN(dw*T9HF+JbaF<ry
zbnDDf^t5#cRG(+AhO&D~XIX5E@@j6)=~XmE^-iy*Zzoeo!(eTZfrZzSN1})W+q;7Q
zM08h{P^}ja{S>tT&RwD_f)4b9G^_Sc%RUqDTowiTst5B{pmu6nWOQImfqMIrrw~sk
zCZ+dz|9w|PNsZT{;eQKh)cOgy5sx=LP=W9r({B-r3&@7xhAJ6SQHEK<C@%9AS5}H^
z6chCFqt`cD#gNSF6s<qka~FC!E$8D^4konD(rqlrq-AR2qTHqtP-g_r9O0YSiYOBh
z8Y(~5wZ(L`s*V(Fto>)(BCpOQR3Yo`d1l60dNx+Zf%WeMe1H26s0r{))2uVavOFSZ
zog2YP;~mb!cVvys{WCX9&x;8}+J<^nS3##7<Eoc{m94<rU16U{w~OaTh^S3;9t%?w
zM-UlkAD^6kyhcM_ME586PB#!+TkszGCR%{-K+9gTKO5Z~chPPVHF62s1>rvJ{bwLQ
zMXgt8b_&pEtbg}4elU~oU2ZQ5{5f8zk@%uCnNE7KKRQr`j%{^Sa5x$_Sk^$@bfS)3
zV6)3v#yXD=wcv_OXhEoDL)AlYE$kcU4`jbA|5`J`4toSUI&G_Mw0Wp9@v0ws+vTCB
z=A=E<=lJON7EgNZa<%lUa<vzBS0@A;S8)wjCXXVb)qen2!6UOa_d1B5{8{@Y@EQ;I
z!hpG_5GulCj~rC{j^@^<i2Yf{@3DcP^=nr~bF<hnH1iuE`!iOz@l&I8f9$LR2x~a^
zO^jsh3+*f>ipw!k#+cYRi@^jQ{*ww9U6?U|PjUO?SoQ8&qAx(>d#a~Y*bPC{Hhkdm
zXrIU9mw(<87`Em9)3=0wnb_L_2-G$OE9zAe*4b`%$;iBgd1^0=j_m>?rg`6X;XU*R
zM7N*pW)S<ag%WD78IrUdWh70nQEZ<p+@`{hn3>EkJ+$CJdofy6XNpaOHCRTVFSg=!
zC>8>{9A<-)m@5SYp<hiPOI5yo>^pGhbt%N5PJgR1Bdv2~mvNh4V)KzFuT&P(bIssV
zmN;ISz7Jx>V(%_w6tM*MbIk@qmP311=s@iHDDTt^dkOQoUt-s#!Y_M6pM~#37x5%l
zFmaNSG)z-*b>Kq}&l8d1xZAZ+=K~S`W%Q>3izgakBf$h|;)-+TM<%KY>TI^z&TFL0
zmVY!oApGxXg=!gyZ2EqGW6uF>i_eue$bNrLS9xKvG}zHx0r@A3Rl5Rfet!s#XP=(x
z7|>wi>C6nhtj2XfHjQ9-{wSN@iZow;7c~lnq~xJTxoCmJY(r6{5oM3p73(C;8lLnj
zMduZ{_*F_te_WNTtvQ+w=R|ia<neBy`DVj74Y$ylMqXM==~Z3Z3FSPj5GJDhp)QS`
z<N9TpTL<*U56>cnDKL1#decSKkuHXH!RPHd4FAB{ne%yKoUYt2R)swwFIxx<*Nd<K
z0Gy_f-Wv`HB$X?)>)@Fm?r#1MQj8N)mu(>hCj>GvH8Ya|E-8OpOLN;c5Wf3Y@F-0q
z6xhX!?eyYl)0x~lb*G0Uolz{>){GvGCCAfCe|r}MNs$yNQWE9JPEMww<zlh>VRx}0
zz@yuUN55b2?C<5(#gA{bh+-CN(9zXR1PYnd80k1>AgE~)y&v2TKVH2fLWner4O&O2
znBZ|FnGn(wU1fhnWp0{*(b1?xm9vs1D#NTXBu`54frIokN|$H^XNtrrh!hWWhr~$c
zGz~(F{bjx!jug-NRi#2EbXh9VAemuC#x0T^qRz{VN|jhy#+50v`oMW6lZs1p#0?7B
zMW8#$qzM_Xq5>~?Nduk+REcH;mbfTI56EKSX`k+<*F%4>gS+7f5eL(i`zxt=y!I_m
z?$^XWFOp=EO#JhD=_yxtOGoikZM}a;TfdZEUS}*NJq?9#l_V?5hgH_s?ZbF7O&0E@
ztmS&SSgjw%(@mQk+%0F5mH+u>`49r2L1wUoWt0KDTSnT+NFbonn8}Sw-xK(P)*(p6
z1=Y_1He`Q3uth%~19ow!EGU>Ghy>$6Ej$vD;mi`awbBd;yjOD~dONf*prMaY3DRcb
zA65xz%UOq}Nl9;JuzuqjwKJs|WW?ji@_wB?`d3!d`E)kUn7WtO$?d-x#mbZ1<b8e`
zjvOocKWCSBT<&9%IMpu_|I64nE|MqzaPzphUQd6Qi_nD5#;(ZU2u`y~S(-1_5B{Hk
z6-JH@2-r+R>=k(z;=56+5{lH0RlPR2jg2@l)3K_*Be10_(Ag-eT?x{IfWa?2dd!V4
zCBs<yH|K%gERDrf-15k(!G8_Txq$tB(35ZhWmY6601SQzFasJT;)Xb=3C*Oa`DW2D
z3yOb<^d@&1ZrVR)KIwk;czZit+~&V!e&yHY?JUU}SL@{76BF{QWS<|$6T&okyY$~V
zIV$2kNoGF<WFC>pB%xyjF~i*NHUbY@f#<N+A!@2URq1A-4FkxKr!Sn!@sN>ikimT*
z1BXDSajaDo-UP=gbTNXERPG56NepUY*Ast(E*a8&usf&G5~II@qq4S|8MF?qo4)%I
z`7#i5W5$iBX^8U%so`i1X{HU<4U(fN2dKl3071k?ma?#m->xn`U*wJ$fjlwDNDIkg
z3DNcZ;{8V+P3XsW5hv$tqo<T~PBO*Ty*7*fy!gZC_7$NDR$MVHY$*XD5d@{+npuB>
z^LPB5HGZ}^`T%z5+M#9{w|3y)BnF@h2H;G5NFI^scc2&#m}U+Zvc**}GFO(+H{mcM
zc19~(PSJW?#&$AESVu9oqsUe>OG42|2E`YGRMc;@RY$|lq(Pzs?A$QLiC{;N)1+Is
z_-b0KXj*v4Q+2=1&Clrri#Z|j1TufF;{y>#6u`~yP!7^C1twC~rY1cilozZFWz(^)
z)Dmh6$OF6V!-?*P=A-Sa`ipA1_t70aSK(C3^m8>W=O8WoRZE5`fiNxlfMvnztYO(?
zxZdpc6`Y*u-O1_0oSZ~TGpz0dO$DoC&{VB>%S!nl!c|k#+e-R{_=}S}U-N$~`S}?s
zv%38uHL>O*E$X?cniBs#v{-C!ly@>F$;0%EFJ=ciH4Kf7N>#rjs?r^cgL2>E;I;}X
zPC8ikROAh)r*3u6;Ls|YVCm3Grs07;fxL>^d#?9fA>Ct}^0`WWN7p~_bcsz-J0mSp
z65Nt-bI-@^gSh#3Ov0VBqJDps(c#+JbJSi>zdkzLg{xjlEH4gb$k8PYJ)kV-^qe3&
zUo-TWmK>K3f3H`6{RPd}T-Be8SK1VP(K?={Ui3{#n(A|ICtq|E4m;@r`_cvO)`hHf
z*8(i;<QlN~lO{^B0V`#2R~Q!QQgTNa5Y8r)A#l#PJthidjAYE2QL29)1#~?Mbou0L
z_r%6dSj3L5c`yAx!^A#!Ft_gNVe=}$GNLInEWy>bB*!uJpr8l5=A0S;+jH8|mpS2i
z=SC;rWNLGxL)wC!(iS|YEmrKb#riTW*v-53xW#^6-YuZaO4?#5wpzJ&+VV<N(OcBq
zCu?a51A?5k<%Dg64Ag&dc}vbpBjqphg~WjqTe~r7xeRpYGoO~2zYT}pa-@@F;Qb{m
zm>v}A0jUM6<B<9y6VTIU^RF#q!EerjuV+1mePk?xGfgk~j0O5Gw4D3bhI>@-diX@H
z$Fv5NVG3!~k~{&Lqk=`w3e5&65IooA>|XhZnv38k2EM~aM$~^#T$*q^d^oSf<oNGB
zTJ}K#-}))hj|+a0<ym>AJ8-XS<3LskCDacIlUo)*6Tub2foZFIK12M?WCe#WFywyD
zd)M&4LiYHA3N)vxc5S6R0+9(&^k8Ulg#D#FuWr+FYu4=l<=`{TnjN8q@)czocN^0`
zJn%&qC%0QYD~x}}B|zxU3j1T(AUCJ@!5zO(9+I1(82HoM)Uy1vc1OjV4`K_W7?R^h
z>&`Vp%R%h+^ROkcg{6N?T$Q`!AhxiQ8Kdj(1oNMAS23lmcI&lZpxYGY+^$Ofm0(~i
z^#t59s2iije&DXLkhc1cI|%Jg@NW)6gTFIjG4Us%Q+t1=7b|$n?$BDgh_X=aV7_}G
zC}Jj|!8#kxAk$@1h3daBJgn5a&JvgV22vu%P3CISBcft8QKp&Vri)3EWHVyy|4fqW
zhh)4el<96IpsA5wOh654u)Nu!Qc2(yTY$>1n`n|yT8fd}R9_3;WKrBaz{zyR><f6s
zV{$99`r3c4`vw&7^uC#f0o9gAXiN1U&Rb+b_YGGK-XT-g?mj^6mX6uo598Ttx%1`^
zGCjmE^5T!ul?P_<ND$0!J-A-Z?`O$+``!b0#frPafB;%(q)Z_Pvt&LWrx%J8R}Dpi
zmeHgk2W=*^L|yO-4Xxn+2l=cvHVS2KWOH<KWnq_GBLzPJGm`->D1WV3+in|241M3P
z7@#jnA7+P~dtn4{lDY}dplO@}X>Fr$oK336kql{#xPRY6MUq$2t~HVUpuLRFkR0-m
z!&y>BS!GEDMNBFx3RaO(Y`h{;>@Z>#r>w{+3mkc6BOpOJ@)bMfd{pd}%Smxi-eGQ3
zKCyBt;BQQcIbf<vDSs(zRK|#fRD*feK}qzLg)&R5EYx^oAR2dPm1Eo!REa{)$^joD
zL<1jTiG$VACnZ)UL&_!GovXaT9rHZoWX$uBlQGX@DF*Yrmj%L{pqQY~XT^*K1gzL*
z1H-X$m<(UQ1EC5IOQfs<=6Qeu<^_WVV(9_OgRC9%pn@ajL4P#I7*qs4!<dMr8Z0J?
z2a>N6oKBonf-4A<;4RCrD<Kq&$w_>T^(1i|7M(EP;vyb&@FBus9ijl0)>Ei5<ajJ1
zLryTzgZTmTGJ=($H)DQ=v#~^*VN8ZA4Z}&|YZK%F&LbnChj+>ON?shCh!Mn?CGwzz
zV~EZefY}&;=YKsW5D4Quln^N6f<zC&bRo%K5EDTRG7%5aR3y~Na3)bw-jGlL5t48a
zO!5ZC2^Bp_)FoJil@r6O*2!NOaY6(}Je?RQd<!0uCDKv2Aw-PASu3$6VHdzz=ps=y
zu$RC&gb=2J1i@q(5dyG`AkyFoD34IH<?7%-)yJy-Wq<N^qUz`B#3F0nsQPHso~b8K
z@OM?e{qL$#_3QIbO;taejN4}1&XgBiRljLwlk4e4Geb_y2VONFM(0l_H|oS-07{V~
zd{$xl6!XBDIcy>MR^Pin|573A6ogqxXXMrR`ttIu9~sRzB$Fn@em620uPvxtg0$L$
z+`ExJk$;Z9L_6eZ$(aIVAZ?K~1xSw-<r3|VjV=R{*RIG(s5m+y!wZnf>l8O+9)Uzk
zh<7A~VnH}CBQG9N%fOq(v(&>S1kX!&kovd8pvIZyIO-WK$5G3ca-{Apxs5#HZ*pKz
z{dzjNIBr^X0**gFQuW*Brd2Cjd&zHkll|80Nq>JT<A29x15W5Ju<MXDCv=>1e<!3Z
zCxq{DLVY+MPax++_DZqC&TGo1);X%GkFVdi^Y>pz<Ih$7bTa+WOy}~=S^c7ZSwB0W
z`HL8IfrZ%2+92tIvpS;U*_^bOI*7zcfq*+y8^!O@i;t5@3w4dA$KsYgL;5tM!YW#6
zCVz6;O6iRnI}LU>9T1S1G)nr}Y9;f9)Q1NLbMf`zMLU{|>*M;5H!tP)=%2Q|n*CJQ
z%~*dOeI8wjPxWN_sg}3;dGm2J9<|NiU(Va<=;nu4*O%?+>T+~(E@B?v+AbW6<ux|;
z6hzjkugt}sikNjq@|HjY%9ksIvL^3~pnoo+BvTm_)jJj$;Ih@O%vmmGT_)5*zsXz#
zWdx0i^rM;4F%>z0X?L(v&}6boMoWJ@P>}9Zgu2B{`f9Ud2S88cmb#<~cFSk9P+?iv
z@Eq?`*n-(CY(DK*-F+_3ye@Q^c^S=sp&}@FCtZF4)JYvI((e#{UkG(hGrV2`wSQm}
z6-l)@XgOOHK+y%G!7JJ{yL=kt?f_rcINjkWPE%ne$HS<_GfpXy?!(0xHn|x0Y_y{<
z=3*DRY_$yt*3)Wtp*ZZIPB@%Kyf$!0fmodEv>c@ipf;jlvMqvQb7AL;pdJ)UTm*#+
zd@S-7OMmQ&JirN?OPQ@WccVX#C4W#tl3NqXpwg|BNyXWS`93)|)RA{{teZb5#j&@`
z@8nxI4^aY>f2amGZ{=RzGxu_N?&Y4`W2@!de-~7OZ3(RF={|ZyvX%XUil7{InVn3w
zcfaU^nuuJ=B~YTIlksIxIBIwk7&=OJNi%q?>~0R-=A=XDb;7;-?ft)U9DfkiFTaqA
z_HHf$1o}PO!AWVyHb^O-pGsJXW61_B<ttYyFW0bhwndz)+z#NX9$GCQ?~1UAw9ol_
zkH15~>IV0g0NVj#l^-TR6t@CIe%}C5C=XB<I}Z?m?A+bJW#+_y(<zl<19q&<gzOK{
zn)AEuQn&5e`N3v8Sn@G9Jby^E*lk6NdEaQUz0b#-wZ#uPXn^J2J@d8<t)G|H*}unr
zNSwBv74~*k{9b1bHS2>6>NutAxLc?1a>V-Ap;<HkM)Tw1<Itm18v}mv)EM)#TyEsj
z$Ym;*3%QKsGF$y|YMhZfJsuX%+u~o#WwMetmP=bI&u+{6T`t!vs~%=6d83u0aaa7Q
z@$>un;^i)N?%~wEzg71?4#-fcm!Ja%6o+Oi1&3xT28U)U2Zv@V2)AY`2@yC2H!?Xh
zHkW*22_6MEGC4Cgx1VAOpa@YlHa9XxMM5|*GeI*nLqSA1IXFc!H#S8zGBPwaFgG$j
zAUriTH!?;=LO3upK{GT%K}0w?I7KoyHbpfuGBh?YH!?n53NK7$ZfA68AT~KOmyl}-
zD}OmpRZ$d$&%W{=_dStGKtw?1;W2{>$~@1rA~=9RVMr{rwXoCDT^KE`Otd%t3}Yxv
zv@jOhSXodS2fk(VWvzS9+4sD?*Lfj?@HYw}3YN%Z0?I(Hg^(v3ffL8@EwG8r0txH}
zDhaYd3{t$f2CjoU$F<Y!@O>2Ze2;Z$aDNiyfK$BKVTtM$fIJK7r#ePHI1P$GEhw~5
z{7i3)*?SXJ0?vR^a2Aw-bD$hl@C{BMRf6-N3RF|&2C4>ii*@QoJE*fz)1$A|g9gwD
znm{wifELh7fn5r)!*BDf%|ibt6&L~?7TSKuc7iSz)90ug^neTCBDh4AZB#Gl1Amvn
z70?d`z@SCT<0?7}hAs3S%8r0hFb2lK1egR<U>eL=*5f7ZSO#+zExeGO2Mb^kEOA`T
zoJmJ3mi6e1)~$jyunw*Qg=WJN1s}D9SVWrEmL;n1>zUfFjx&Ww4co?QGCM#)(zJHL
z9##|Fr#Zn=YvtrPU4dn89$}feD}TUQSaRUXZW2p2oZsOwmb|zEoW_zNC!(H%C0DMT
z=3>d3=Yf2zLP%`A5KB&-#Cj1{N=r(xg(%f4#cG>AUWO&@u9KEy^$q>3N^CBQMtBug
z2U2!xuv{kRes~>Lrzf%AfaTITv32I_WY-y#6JRI6&hVTRJF|2}xeag)ya@v^RVTLI
z1y%r;zikN>f4~x5t-2qBmUwj}HDrlDIa0%xOh1$wv1IEvsZmSzy^|WV<mzjwaZ7%_
zCpBT&nGaHvmi^?p)RbkvFO!<KIQhTIjK%AlQnMDneJM3(@!?mgd5gafOD$OZ^S9KZ
z#lPyLmMnE}q?jo$DWJC30(HC|sM(F62{eNYXaTLD7!9<84$ukoFVJnNy9dX4e()yz
Z14^Zfy_afk2_6eLIWjN`B_%~qMhXbdfcyXe

delta 7017
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
E11!lat^fc4

diff --git a/Claudio_Maggioni_midterm/dogleg.m b/Claudio_Maggioni_midterm/dogleg.m
index 35df6bf..7d8f702 100644
--- a/Claudio_Maggioni_midterm/dogleg.m
+++ b/Claudio_Maggioni_midterm/dogleg.m
@@ -1,3 +1,5 @@
+% Discussed with: Gianmarco De Vita (MATLAB solver for determining \tau)
+
 function pk = dogleg(B, g, deltak) 
     pnewton = - (B \ g);