From 37d800cf67e27792a18cdf84bfdfb84cff0866c8 Mon Sep 17 00:00:00 2001 From: Claudio Maggioni Date: Tue, 23 Mar 2021 15:54:55 +0100 Subject: [PATCH] hw1: ready for submission --- .../Claudio_Maggioni_1.pdf | Bin 366036 -> 371011 bytes .../Claudio_Maggioni_1.tex | 81 ++++++++++++++---- {hw1 => Claudio_Maggioni_1}/contour.tex | 0 {hw1 => Claudio_Maggioni_1}/ex3.m | 16 ++-- {hw1 => Claudio_Maggioni_1}/norms.tex | 0 {hw1 => Claudio_Maggioni_1}/surf.tex | 0 {hw1 => Claudio_Maggioni_1}/yseries.tex | 0 7 files changed, 72 insertions(+), 25 deletions(-) rename hw1/main.pdf => Claudio_Maggioni_1/Claudio_Maggioni_1.pdf (91%) rename hw1/main.tex => Claudio_Maggioni_1/Claudio_Maggioni_1.tex (73%) mode change 100644 => 100755 rename {hw1 => Claudio_Maggioni_1}/contour.tex (100%) rename {hw1 => Claudio_Maggioni_1}/ex3.m (88%) rename {hw1 => Claudio_Maggioni_1}/norms.tex (100%) rename {hw1 => Claudio_Maggioni_1}/surf.tex (100%) rename {hw1 => Claudio_Maggioni_1}/yseries.tex (100%) diff --git a/hw1/main.pdf b/Claudio_Maggioni_1/Claudio_Maggioni_1.pdf similarity index 91% rename from hw1/main.pdf rename to Claudio_Maggioni_1/Claudio_Maggioni_1.pdf index 2bee882036591a01f8afcdb7495a20dc8d2a2921..2d2655c2da9e8a850fbe9e8cc2b431b3e53bf173 100644 GIT binary patch delta 30400 zcmZsCQ*2TOHeW$A8eVZQHhO+jcrOI=8pZIS==x#++-cda9~VbJb!6 z#=tyA>^ESpIzc30z)PV4SdaD>`SIEFd|Ts*P9sGa9C1RJY{{9h4YO%E!jt$ng#n9U zkA1xFB$_nj2_m_zC2EySA@j;;@Z2rEpiZ6Sa%$6I>;gDy1{lVcpa>u+zA09^qThrsthOtSPU(bl80`M(5!o6F> zE#87@G9e&W-oxYhRr-b~yb9!bXsvxECf=zMN8-a|CIGlfY7-pn1f?ZKEAL~aEh{~S z;6lH%UAZfDZ&5z3!}<7*?=@+!PtOWHZj<1~3`m)v)m**7uH~poxr>~b3>jE$s?O;V zG%#F5A&*xe;KIhfg5glC*8`2d;&nX?ES5ifxo}aqf(jky!>k!_`Z|Q=U{`K@=AluU z4b6b~TLHm>CTOmN1|0>}rc(hh2}Oy0?alODE>yC4Xx3z$rCQ5ep?i35kur0u_y_4k z;nKLJXcsar%6F(Stw)lP<_w=!FtY%)#>YI1F=v|c2pE`W4&=R+H?`^@>9))bl}8i$um8M-Zp z{CAU{G=@UtXc*QuVAFWuk6WWX1;u5Vy)HS8%=)66yGBKKDa14h0`4XQC3!qYyD|B~ ztP*vR_rV|rMmF~=SeXf$TaifkS!W02Gc;jLr+7@T=@gbAC$2(QTaU)LsKEW|NZnvk?d*$nMhUCSgzcuR= zNBEH)IF-XL(xP7DtkX2fM@mwO+}Tz@#6urmFqbtE+{;!Q-`(S zO!35LS=BZdC}I*YG5u8G-(JeEjQ zL`Te#`5h_b*!#X9+xrgRfBNAZn!N0AJ>B~qql{nPT<=|T0x~%2tRNWl(UHnWv%o;y zY0hS~RD-Kny&UL|H5YiUwdj+Y4L2S;j`f&j|w+Q`f*iVCjsu-0OS<%x^B>qE5A@@YkR$_XIZ zzAH;Mg=bSV6;Shomr!I9aVVJB^v7=0HQMC-Ag(;;@Y)Y z`D5{h)R`@fxOl*DpGo!o9d;GfH&$EG+!Vr+iKXolE@+*{aIc*WM?0wp>2o2=NPqN# z<6Ao8$bh};y^ts1;m-w#rwteCSz7ipW*jaI4RXd*`#FvWMeOQ6L+V5-Q{Q!;)GAw9 zcLX~eylOy`&=bLX06=!KG``>B1hJ_#UMe8607SQ430e$Py$-M#gi7kZLX!|lA4Idg zHXutzT8bngqt6Qi^e~L*iPYvn%$v($$hw66!7o*5aA<*8Y|~C}wRFx`Fa(o{wQ7_p z6~qZc$yGGw_s7@n93kr@JOb`S5MKJ{@B86H7Vh& zJoO&C@)lqIF@|vPHA>FATmdtd)AW0cVJ$BB!Fy+NOvLHgXJxZKo4I5kwk2l8z73eE z4`xffV*OjTEI=TsMScXffNu&ar+QB;`>LhNu9rWCGIODdv!hdY%e}%-Suq|)MTv9E z3H8^BPqXwJ{I_2KUE_*$SOZCN-6*wo9^d7oxEQ(fo<@1^es_vo^J0%SjE6ck?p&f0 zVE$&nHv9d&ukNLEp$VYCpo6`MYmBjkvooT7+)|9F(eevH8a~h`IZ!%!Nswqj+ zk;ZUGJf-827n1K?Ps&{dGU$A*PhEGjD}t6U)u8#eMzbRpHnvdOwx1>osY66>DkiSH zghxNWKvir}vSCc^Oq^YuObu=Ss_c!dU|3RWnLwz(SXeok;sntEM_Mv5crD1?*EOdF zKiw@cD#8&>_m<)=O?HBMXv`JAiWxlJ4`0JbtH#A)pBhn${J)Dp~tvpyMb<;#VlJ zPLaTClWWON=Yn9)$M2-rejchi;N-G1(3&6*`{g@K%SR{fMNiDiYgsZji&dqvPMxG3 ze_jmiRIt|4XwZ5!*cg?3^YM7uqx87f{QbpcDP~aun6mBx$O6#-jpqQee!tv=912TZ zPBiz92itVa6d2EwG+aF3z2Kkc_PViwdXa#cf^3;8pz(ToEY9-Hu#p#be;Rz)keWHL zSD`A`1wFD6N|E`@uj@6L5ds)vDx3I(D%i0-NUALl>|6QrUGIYT0&WtwQxWT(^whTJ zWju|lU*&!S2)Cdyji%+%d+L z@O?{cjd#=Y5MJ*@(e-56C_4Eehvt~_%K5eNI+QHp(y+`n-mTe*?RKykc-JSlY(=aq z1j)MOuV%cN9=)KV47X*91S76_txf!G+YB=saQIc~pB`cq_khrw(N<2IeU~3g$eJ2u!2H53P{@i2tEg;UuMx>z+ zsd%E`mYamcWYKT;!PGZo;;t2>!mk8IaBBhvs$n2wfA=;Dy_`#eQPHE(8s$(GO^S2ekdRiDHhgnS$w zfc)&Kuiw%geJ6hQln$*Z1x@>5;L>O{Z7g$wEbSQ0L?%Ig-z;jMbW}WEx&QL4R`|)O z{PnC{`r)luY@r18E~})+Gkq+6(px`S@?uN9oNht`Exa;?2I}@(*+o&uQ!nb!`FxJF zbUfWYp1)B{R>qd0GK(W0Dh@+ICK+`*RZ+>5Zyzo9Ni@VWL#Ywx&MkSwk`IUeE%dGev7>?*fxpTgMW821T@$+Z2wezTK8H-m%jHb(68nVf#< zO-Ba|x{2b1Xx#RZVtk>AjysJ9fJ1zZPrtMJ2=$ozAd}P^&VPawJ0k*rtlcA|opQ2c z5UEfWJ1}G(L1{$vU~;In8{_0Lc#skrjoB7m zqJ9#CyK%l{fL;B^d^ce}vD6;e9607iOg*|(+dYZFLn8tR!YW+o7g4+v`o_)6ZwfM&K?@A; z19wDJEpJ>fT%IFr@gueBC;jq4Mn*Iz`~9i-ZE&RPJa#oiK*X%*Al(-W}T)ZSJ7EvLL1%W_s_dV zd+56=${G6g+yNk#{e;C@LbY$bWZO03y~*n`dRPzhAb; zhzo)4{P1efUa-@b7z*SRG0tzmC(OEfiHCzUleRDDEOOV#d3t52sS0Up=rq+Ws_SO@ z?x*LPJObY$L2kuyjJH^Idf-!GLP5_smzBk4KvX1mifC7@s)M%iW)fdiky~s@!M8`X z#-VMW8kkR$JYROj4N%A9O3)n9nESGIEMVcoHHg#@H*Q!sy@S|)21RR25Wb#qD>gW! zJ5(C5a_|6kRHlJio%O~c%6*{05wXwIPbkLuszUkRH9&!ZKxLn@2a8|g-b8O3u)3i{ z(rxIK03Q$GSzuvZKOBe|)480&!5(Uk&5LB-VY1Y$fN??`1~|5@Gd={0(!FL)_Tu=d z`o;MAsAW`r=A4adW}b1+mFQvyes;2$*+9Md>M<31KX>Yy&i(^^g+vIX_whHw$S%!T z-<+wGpgb@)A{w9@Uv+*wKP1^iXJ3XASGO?l?QNqa#^6_mz8x!E9k&B+FjJ_MEjrFZ zEPqvL>zfa64`3)UwH}?doPKn9DN5#4M)fwlLII;Yq;08FZ1X@FX%aR&<2p@5>zK09@k>YUC< zfs2JRmg+p@yh~eMquYQ%TwV7MUGYncYi?~eWg{_@QcGV}B*Y>~;m(!CP@y%Tsxoa{ zMwurYZ?Y-A&Bl@8byw!YR<%W7^py9V6@MRYsNyxB_ieiqA*U$L&SZ)UsL^vBrf8=A zA=s2LSY_qILiR{)!s}Pu@M{PmGJ|V;1^*>anU?H}xP%41cnrH=wgz2-<>DdXI@^ya zeQCmM8P|uqEs&PKPqhU5fk~95K`I1-Ht8|8djvjk?eA#}66T0d6DCoqz?iu>{+3u- znq$$VoN!&w-xup}{n=5<&~LFUS`LWXz)!U)N`N%|;Nmy$Uh|q!iq`o8#RnLYBppu* z=t_1dxqZIKLS`=B7eaVnq^OZ2mFzsfeo4*Ya+i%s?Nw!ECJAe?b^)?|1!OGsi`cRS zYEly7;?>!zN;$QlAGS`e{Zdf1BTA~Hl+R?)w$x)w{0d-GnpFJ1~k_KyqV}ZgWTv55A@31y5rv* z^e_-MuPT{T8QX-Xer31`UW2vQ-q_z#>ST0lhMym-zA#W$sNQW24R|1Y=yEqfg9zG> zTORVH!S`D)C8*(45taa6U!3w|z182%=1edU&DdZSTdmSmmx>@Lzmi?tPO7=1s1K=$ z1FJjnblOR(Kk+=PpMGKhrFj&E%{ZsrR?mt`kULg8kGka@Yx?c6^pYV;@#Im|*<}JZ zR7xFV%+5l}9vDeejj)CBHsRk)%YK7QJ(N;ws$g#nHiDT5$T9=O&RH&`q^GyXah$PU z%N0SW7g;rHI~Tk5pD&kUd6)KAV|w`5E)_Js;7P)ZSWwVQ;K15CuawTOV2xLFC#fiN z@kEvQJo- zYvkgHQq6{gf9nIJ7J-&URHi_K54xLlAmnoPMm+Vqv)5~YLTlD9V)o?k_}2?F(%mR_ zfHEq!gO|~>Po-6ps0kToAK8S{Mju&is7z%RxNMK?Q`fkZvZE&EQ)pYHK>JI|2J!~^ z2m4IM4b9!FI$S;MqxUo16PXrgE&(>n+|mu=j0> zGg%Y;5GDL<`!qOXnUhrCxAa{#b({}%D~-(L^~nK4(ot%|&<0~|@F`mF{i?6V@9Dn^ z4K4Ib*#l{!gLIbdw)-Au-NF1&r!He24()I~s&4tl8!{F&|0DtIETdU{t3q{&G@6Op z%|~}`O{zqN1fR^15qd6Rm9y1#4u+NBJ_8FlLzEh&zGf-Npnix2 zX25UjuWccJ^l=2XoWeN95L-D^al+AKzAXR`eAcW1W(oeL169?}Cc{RY%@>_DiDT~{ z?PbEE>U#TVrEAiUv2{SsK6_*%%^>mHRIG~lX)yb_!Jd3FU75XYCo%7wijMn~rL)Li zjzmSI)V6@_3;$3CC<)eW%=7`{H|P+R&mRtoxxEx_nTHvlDvJ3`!wgZr{cT{jnZW?I zHt7zd*H2JO7Kt^&mtPZ7nqGzY!-A@B5seExY9su=ID|osV?>wYez)cLKK>~CVE&?0 zV-O%2b=DHBz>1NMNuxy7oA{2{Cdnf%S;#XuAILgjP2cBq1x@0t0g4$yP_pa@|89;s%u4^GI{9r9tFTW@g^TZin>4*89R2Cyw1? zivJ@hDlk_9KS??yD>FMgD?4YxHVNMU)WD=^I_yMDM9M^riiR#OrcQQ5tQ`OJV(u;y zDlUdDrbMiq|E!4H+qn?&@ewhKv$GJfa{ar=#zDl&{cp{|NyNtV-#RxD8*_@4FsM)< zCs_+88L(m%FlR~~69{EXZY*dwFbF$SieWq`T1!Sg2q`WIJM&*1Moae0*?Srs^uyg<2fH8Bkvi_CLG+|HJ;d0(w)vOjosl#y( zP@Y58=9gR83Hiu4SMmCqc-SZBNFti~$sx>klCbhC=J_m|$e{hWMh46BF(Y!H2 zvU5>)Hi1Ggs`l=kq;&LLB?4VA0n6$yR756YZhyRh47|p4AU;s?CL*LQ=H&Yo?JdYK713v#auGe z?4hr53ZYk_tCD9GlySslGh=qsOeA|ySw}!$1S`Z*f6mxL^`k@}k##9uW2HQ`p=n@* z7$U`U!S(fc@T-i+HV2r%d~CcN2$5dfFq};_vg+Ld?2yR4o#*V-mY}E#?ZmnOKBHV_ z4kTP{rv;0+x|WiYox6s zCTdTB;zOmeYdo*SXHE^x1cteH?aIn142&BJR%=+%;Y|~>Uy@$RTUKVjI%n6bGc;W< zW%I~^Hly4)q+w5XDR^-eL9(>#SPSUyqM-XRQhBrs(I8Vl{O+d`U!LCl?xeY9(c_{a zsT3lDy%%Q}&UFcL1Bgi!QO{Nh3sD8rg)S%oIcFP$Xi^8P#7D5s9g~QXYN5%;WHlLt zY*5ycfaTC!UEAMPZ!7c;20!6^>)q?h5+sZx5b5ZzoLuAZBS3=~j6{MDRo%DD(Q)#) z!?mwkDIEFJ-3_YqL$Z_AXoYSWT~^w_!V=lcbOdzGQA>y$gGWXm^Fu}q7Avl1PHr$M;M+j@A0&eo3+GHENkAVV;Ml3 zU%pw+g5)+g^iL|3yoN~IJLROaT2!fkvZp4IF~P||_-Rgj9tT<=9Lva~tF%tfYB5|0_0I z6Q#{w`egK`aiO9MQCi;P9jl@})iRrp$?sRniloh{YylEQau=Z2)vWi*mX_?x9na-x&~;n1P$T0g$VuAd*57} z2)7sBfNsU{+-Azzm6`#CAB6L#N8yd)D!b{bHP7J}rG_>RPvS(%A&32uyD1m=%62*a zhx2`j5M$-@g~iEeypSY!xwDsZ7d#%pU@l1Mb5SChT!%_Arc4RJY#%=XGT4iy?ms6a z+_iU!W9)S7iYFvXv4O!y4=6ed0|mAEBCYR39F@(r+-Bh2{d=|>e?W>+G)faLteB~} z2v5T`kzx+PP=4Z7;cmKAl7_=tm9vKD{XB!4tU9k3Shy)VZNMAFE4+onU#sW0CM2RI z+`luSDY#eWYZbCK=eddk3}mx`z`%M{SV6Vop&qki^H&hiCn_rWBUByO59Bb~vk;E*4tCCX4PEA4}+_vaJcat>USP|F^$ez|o|3c*fSFBI$@53++i zZK9My=bta`UsA=X!#pKmRA>`dp$5laXKIYlw#_sn9S2v02un!;#$@7=_lbDQ@yvfG zsP<5CLme+X5fLV)`MQz`YA1Y0}|OcGue7S-}M#G9*w z*w5vcwM)+jbUONp=86(zvhb$h7~!nfMB2mXn3lmgr!#=9TH%OCMLMPvJyJ)cJrf;~ z(I54z%#@5$WS6G`poSGsYUxVDvw2#?WDlv6n8=L8@Aw0K%j08mCIgb2rpSZF4pdjh zE6DDdyThDDmc*~XTBv^{a|>6EWrktInt5tDrl@CSUg_Mh#f{pE7%HeAJ!Vom8fG?L zW!+IAzGQ4o+4gfvV5_|))1DkEDN?{ns#-`-PU zTo`zdl<6m*H>`8VnI+0N@SM?*%j=r9O3#6Rnt-=x(RE@HE|nZSR)Q*Pz~0-ova&LB zFQ$0eI<*~BG+$FV+XG1h5L!w;3Mgij$_wku@=EW;&#qXEo>`d52f%de)m;N&3i9sQ zRrtqkH7x7_15eG`PjviE#`N~ z)=*Va(Xa1qowMH+dzn>0bd#jXlkioSc-#98EDF93BV43n@%P14_@j?Hyn0dDi$_Fz zt*LZYkx1Y6M9K_aaGp5Xi|I5=7UM{tngrsU*;z@^y4gTk~d zb%9jk0dxGNGU6aXIR6nTf5{AXV5YxS1}HZ-R|?Y&C^}$DLoVik1Fq}j`^ze~C~15= z75zL=!c?(^J-Cy#7fmfceE9a;z0CPQ9i`j8Nk^K{?r7Y@pu}xjqfti>&&FqCy}eef z{f5xU@*onAw2jTpR!&U?K;0k~UnPyXl`#-qgEt%CTV(h3eE$7)m9}|#Y1Pxf_JQ#w+P1tMII}en&*uA;E16- zK4ZTW0=u62EfL2Tw&+IPlc6kHhs`XiGQ(}QP#gd`LvZ4$gBj`dfg8Tg{1BpRSD=xj zN~C!Rv;EqA->u0d+n~ir-}~N9N%$>(#vq0Plw)$FGl(gR5LpUwv(RQCHY61mLB?yH z5ucp#EG#>;wF`s}RqD>r7;Q0Am`iS|FauMq!UfpkLMH23VBMrSMOj*80xn7=v}6DX zsy9FkpVs6!%~9wH|5bL+3!11@l#7iUZRo5BXUdo|j1JEEEA+(z?;xHDRN5UKS+=m2 zYFv;=-NNQbI=7Ql?vc62Yr=vQ0e#wE4dCwGaY)}B!zKcwv(i72PEIlG?xf%B+nptGMZ-Dkd zq!gMMAIyC}Rf1$T=oXf#aN-)PWA;QI*-*GaCt*%@@wv8j4q~5fWzpS@MpHcDB@Ku3A#Y;UTCYW82Ujw6MLn)V!4s=iVvdOv z4hzu|Y;gmT2aMN@_;6*6lM&DYsyy4c$M!_-ay&HQmQHdYavYi_b(`kcI&lbUV`n<} z*DJjXov_g|^x|bh3DGKVK=XZ6HJN}jjsV0Y1b0xEZ$0lx1*G&I4`ahCVEZ++CDaTR zHoca4PIOp=hQqfnzsLQtqKa^#1(dmar&~jxQ9lUd<>hd+erQ$gvoU7TCAdo~a_=p+ zCtX9%&sh&Ua`Tg?doA4(3i3ED#)9tIf)Uc-$0tC)zC-(pEIU%3J=D;sk{<#n>Lrq< znY14@^i5l|>F^sN4l)m}KqW^YxUqk3KnW=Ggu#h+=j@;yIi#yj%g7O^UZBFGIppcF z4?RMc+>M3b%Onkqfu(!R<^4dKeg$?sRsffsCgX0%{|&uDNluNVQsK>A{Toz$Cp_-| zGY;lVfjt8G$4Id;v;8lY{i*-LGQQ(KSoSY={fA{-|037_Vj0(eu=PJ!_QyeS{fA#{ z+(cae8Zz-eSjNTi50S>pgrQn@E@S9itSE{!L`FT=7LUkC}p-Bf_1FDp98Ki{S5G7n3 zm&)S&I6gy`IK(U>94D9!R(}pfP@_jc+=*7s0>iT)vi*}&G*CexnG)4qcikbKHtl=- zUgWcLQGsSRA33<`>ux3>34)AJ<`4za-7qYSql&MAjROyHd5-TsUBZ~rcyGF+hR;Wn z+VbJm=A+y)YObG$we;zh6Z(oeA=vAC49G(9IvTRJkzo=5&H)#TOl33df*2IA zETrM8U<&yWZ1!jV@vXtbolFYC=7xrP3IRUVHE5) z@NAqtkl-G70T}@nj%cVOCQxEg=Rl+l2T(5FFmlWu%&TS16NsSUYFMo1-aIJKA_Ryk zoO}KnY<3F(8AzGbE*6Rt+W-?xP#pO(XblBSd44F5s-uy?Lyqvp*{OM97D?FDWb@7}(%eGdj;RIx+yeZjwMCWWmM`0bJg;?BcJ*YI+p@c#C+-TokJvR%T#dt3 zZY*K;GRnD=j{vVTtp}v+qpbt`76~8LB%S{}Xw?J&zlb(FnyFKm3Y*E8ZYH-xBirh? z_KK5pkGf{aO6j5x6AcIiB@^yzr{C6RxH}mZ<$X&3TQc64d{$Z4AU zT*Ldg3tNgsVBsHB{gs_vTA+eEJH7Nyyzsy6Jk%5)1<7-?L@%xMPX$UBQ0mbJ&`g=f;vx9h9{ zt3~oR~4=lKbh@EI33xH#H6z?bJc#EjIx952qvxzhcWrr$W~Nq24S_!cABkl-*fVq4>_mK z|A1X0!`bq%rbYuRoAD5Yv@*3)%d;-w^O+M=iz9UpmA%r?WEun&mS z=VQ0WA41;se~}+zI9rNP>MPja+8Ky@El`uC5LiAwvh_6Q9C?b4^OG=uZ!x1mp6vSS zw!a4yZ=$n(7p1ee?675Tf-|BcLp$X(rGMM2)L4D3%B_|zD0P}f&7 zWV>ylc{Y?ss*BE|CQlvRY%SEpDq~@yYPU9M`v-ADRD$VEedRIw&A?$2^KSbOB92l+Pkv{mqaT-P2|Nb{iaSpUkux4gn-)jNBFH`|}8 zuCS_>-|`&t1th_=^`4R}2>P#kVCMKgjLY#i<8BCn(i{EDu>UbGGt<8W`@fXS%=90< z{$I{zX8Mn4|Bx;-)4#FjU#!c_^k3rnC+K8m;%fQhClKWSu7WiK!=XUm_2a*_a; zIc4t%482994ipdfPxHTtCMYutOA9bNXgp+!-Xth|N+%Nt-d}9Y4#M(xkVyr?&Hj(6 zNK&hd-e7{;x<@Cd5phYRQbI9szd6#$b#899wm;vVsj&#JzihRP=#>;r@ILe^1Q{3s z8aRPnyngld(AB}BONBdP-2~{^cz_1tlcb8WiGqNl1;5YiT|glTd(Z*(xjgn^MEHQ- zwER9a^O!}~*Y|dAGQO3yx$assegv5Y@U>}N)@AyHJvF>IKnSqb8}w08My5yXH0V=> z38z;xpBRx3YkN+n4r0n&fiz@egPK1&aOvve6agbN+c(jzj^}2?_ZGE^b&g40sPg|P z+jNRXN}BJMZo72vi>=}*7u(*y8`ok@UBPWM(f+4XDEqW~(_4NDa%N~k*m3=Yyn z8STB5_QZH)?Y(ValMHk{yOOgHO)tjtwTBVTy$T;*vRorahO|u_kDQevra0&PHflRce<=qR5%5V zv1K^dXRLfS!KZYtQl=p>rz+ZQ&2J}leOTUcYJS9wuQnGNQez@!cWha!;VpIE`b@Og zW*;w3dk#K6%f&5}Qq7D|uUep7iG74rmCdV6LpUY;)~tv^8yqmzrvEghE$-RLvL)NQ z`BvfDeksRru{-O2-6VfkB6R&cVXwIthyQo-pK^Kq@0$n0!kQxV35taZ6hN8`i2+5; zR!P0*00cx33+DdURO19OhTbbSS6nEo|H}W z>*E!r^aifz=tpbx`^G*D!bHUWk_10Xpg;mZkBDPPh=_<#VwFv`n=}Zif}2aCRI9Yk zWZIjxWqz$?e@fVUP0K@Jba=U4A8w9yJ@+`DeEq)u`i+c4f=rAAb!-!<(Zft*W+-Y> z$RGxIj?ekg$TC+LwY0Ia>^S3auK~TEP0`v0g23$<8LJX1O%BqjO42AL+GE$>9MUdP zH0=y6toUtUTi+S7%!J@;rb_-U(`TP_?EYs2DlyS9l5^PmU=2uIuNspG(>oyZ;`-pE z#XZUHN3dR2DGSZV=Ld$z+Pk1wZ43z=hkOBm6_?FQ%tpGCWKsh8tRQqg?NzhM$e%&1 zPNpn;iGs=nIvnfBENCou5f?4YGt07N51ddeQrcEA)zvd9pywh<%d}DmyN0P~koFO# zK)Ot$!_X&^L^Q=nRkZXVks6|?e?vQui7E*uX|9!bbY;at`eE)2)d$rbH?U^e(BuZt zbbXKDK~FQxOX9MWUixV59eE}$79d{}`W?r3Nh@#$@b==4SF}JmV)cFa!i`$wAcdngb|tcDO6>YgYXvYZXYZ|O^teQ5GLig+maI9aSeKjy?R z?3nzVjBW_!oFS3F!NPbuB3%z8vS6PyX#QQC)NhRt+LkF!cmQG$nbAApexF zWR7`0Uj6C7oa~Fm(2TZRifo@pgvhyX%QSH= z^y_$ENbpB-Z4mZ*_yX*#*+Q^)miJJ2gT6WQjlh~y>Mu~14~Y*nH*GG$8G}**I-gx= zwn^@LTV5^rdkgQ>PW5jtx8)z3fZE?}R^sg|FsACOc8~5W7{-C5-Vz>;;!wr*KjEuv zgmMV^*&U=f-tOoxgUM?;anO9;7+X}3+3QK@KW1o67=2ryHv0~?x8A9MzlTI_Y#+r!F6C{JT&AAv)|5uorJH5man&t54c`B>C8?L3}pfL>E40vCIb zjKCYNw1nPrRel?M(3sJ7g65Pyz5H!54$M6X6FZci<&kApCi&&(TWjTIm;rT%6Jun< zj<2X#*dvD7@5%L=GAZ`@ksQ;Q=4YC=PP|^B9)2PGW0$G|IQSn>>!Tw0-mxlcHp8gF zLT{pzMdqX0gblhD09S8&zyh+H2Q4qO$pDr%m?pc12#arJUVO@olxxXc5fCUwj z!Y_MQ2M9t8^V;F7;=Azlz|waMz=G-PY1wXVQH8#j7^d${esozWm&OtuubGYHg#2_2 z;)@e}Xs^$QHWEq4_n%1_))>8yeS1R0Er`uLQ0;KO#9lB6<#Ew$05p82YeNSf-^0wF z5PIf`_;Oe}C>kbYDKl(}u3%S{XfY7S2_bzvo4mSgF#eBAx*!e#AR4TEFEzJViBTPN zM5h{lAW{?E>uVzYuQAZYZ{QnLv@J~$&7>j6eN<;ezdI>&U55wUdANZ;24A|MOR>ih zXAZQ^|%&k&R5d;RZ%dpeKQQnuR~q0 zeb-a>=4xuGYN=^vY^-zn?_p_EvDSDJEw%Q{?i!h?!-QUm=A*h2ey`?Cwd%6)k&iiN z-;{H(gB_x|biY};93YB+jhK*#frRA60OW8Rx3u_$Kl?3r0i-xEb+gAoLD|6WJQUY& zfeUTUQJ*D9*=a2{eZn5TMwTKtDtbyvYgE<~7V=9OtO@LL6^0m-{@C8jHbN7B+&OMO zXaI+=_h&|2pTf==TRJY%(LBC>R=3u$@qknn(NUP<;5|e6L?6hv>Np#Njf4eQXXl96 zyCXTT1sR=s077BXsmWV$zDUSB?T#d_P)?-p@Up`Ob3!3{DRLIK2DKdh1{w1 zFW-(WqqJ~v_YFY{U|~Z7WFV~fUI5lFVqG4beP8GY3?F#+bw8K ziIyWm{YA=>Zhsb;2^RW0z2>5{y0Bk%xKAf&iMh#HylXDpdRB0<51-`sdI+qw*Z2Im zrqIw*z8lLc+w%p*`JYW?PUsnCW_oDmb#K+@!SmfbiChldg(?WYxAZ$lB(3LLC)E2o znq~Of0peH3Cg?8#HdK=a&tprK)LCKZB@M*~U6*_EU{PdxVWf-hoNn<)wNhPCQB5O? z;1B+sVA>%%=^5kW=caDuT=0PwSRfwFk(J%>@AmffO6Km}Ho5*fY{6L^w&R;kpna^5 zJ2Bfyg!Zf2s(ona=;&snaB|1dPshX6{)4cL03&RG+z77&L1@4T@*_Qz?*|H*?5K*2 zaKZPWAw-QSs+y|GDm@PGqf7H2(>2SHt($|%noihS@GLJY87rxMK{e?}ZJIt3 z8p3$v8`L`FA}Q4L<2CkCy1r$|#jSY+$|tB!y}V!O#b^=kVYYNW$MnM;0^@D3tS&bvaLBrHzmJp)>Ar=>8@ zI}jlh055HDWZ9gxXdT@+FHXWI+v4vLOXyu``a$x9JjQKQgk5bubLsRoA;U~u=n~u~ z*R*uwah4meEBQ3L1X68W;XjCT@VtZF1tDL4t_t^tU{=^vuM7Vux?8dyG3JN!1<(N= zC#fqb%KTFToY-sX`M02=L%%li({(IZbuO-J&Mrk3Ipi#1H^_R#IT{<1rG7nf!Du_c z*>KP7kQl(aCeWrP?sB2b1dt2%gPbIoe9nzna!$oXS6wQZ6`kY|aQ$ekPiFW$ls+$P z%p&VUXY6IYMLFS$xBBuSDCQ1_05BF!t}q$H%{VNl5x|Z$hN)b7j^a1MOt0^PDKw(B z%8D%BGvV?Y&Ut4y8*-hS^WkO+KA?^g!38bOy9;5t={D2B=@P=%gmPVHj4nl{U|G}N{AWb$jVs%lJdXdN5c*EhHAO6i(f2*Z!>q{9kZ ziYhzH9~>;Fg0gYOT&i7{drkqMrdQ4!|H#I_{*VD-<4Vzg2gL*=Oj%tpAq74A!nh(! zVpf~-MsJ|NO)2!v78W7w+2LEp(}t3hZbWqYkVkC_x3vL>cxQ97N)(J8UKPOTxAF+5 z3Mk$|XW_5~Iy6;n7_ey4{+a8%;{!nohDv`YRW@@rn2`AWv-G{R*Y{EW4{3;%t}tA(mH9Nr}9*< zvip$IWgc~L-bFZG{S2Xv=WO5DRyyCw>dOvNgu9H(+i^dpq57($ZPvK6cXyRz==L0g6$ z8sjb+(hV3)vWfR2j1AA>Ssz2Am>pBcKc|tJN}f7LPdmAA0Qyo_@=_L82HOtZ^Z)GN z3fs(y!QlGAY3?QFw$aTQ0I!wd>OgyTwYl9Kd(+iaWmPrKZ?`qllU?+@vJ0z=Muhp# zBY%JV;}oWZ!0T&mzHlA#?|b+{J`oI=- zrH>DfhAfGb@`Hk+p8N@+$MYv2B2mCe|J;j@WLdUbShAaxnwh1qmzh--o0^ipTU4@J zQL>w&kAOC%Iy*X}A}Kv3IVq(ws-OZT6{Sc;FHcXSF3C8~NKduAr~)-MN~caW!#J)E zG%r@hT^2S}Mh#QsL0u*WLylbrbCuUe3}g4|K@KC3Hdf{_R0acRZ-;>yDl3D*CMO41 ze|sY@I`e!LJA1PfWFLCtMiLu(Bl2mt`|V5IE|5K4?b}!FNsdkqWBDouLtRE5mc~8g zSt{`J9#7>iL787g`Cghuh6dY@C>R?{RIqojcW`u6`O61>CuVAE2R=K=NB>LLV99fM zVF$eBSNntR&sPb+T+Ds`ju@cBwd6DT`S~__Td~XJu{=oIjePR-GA^UVW#S=ge#T4L zXg{N3V&cfB>+V-)q4Jtc#|8%dRd%a}9rk+(CM5?$V#YV0=Xw?89d zSeewD4r|yu51#gvA|94zPtQXon2(<{;~h!|G4&BW9F=JD3~W%R>%%!VY>X%@#T>?y zO6J6qSZTD3_`?tw@A#?uHydl-dNsEp_pYG;wK(Y*9_=LOkoD|{Qs;xu83^$}Dfo8e z?~6%_ckrF$MT>NuG6d!QS5+iey^vRue@<3E0zq>|$abPT^quFOXIC;2uN@awS<#WC zQSZO+4vSY>ZMhA??q{<}&>!L-C;S|aV>3-FC<2xa0OB$;s~tN|#ek~bavzMMId|hR z@HZbRqDNNO{qsUFSm?wXPA7&4d3;g2c3=T&ARj|-~k^ET199gqnTAQP~!CjM= zCUVxE!&*jWFG!F1n2+ksOou)*N|iMGCdf=Zex0;?|<)euFvgS z_0&~8tE%RF$5<(jBw&=l?1{)Q1fXn;tp9YOF10M|HY9$0Ug^ydFk`Bpy#qmj4$9(s zEyp05;F*E@$XgH3^(VuHr%67oTvw0{2@})4N?gD}B#fFi#FncqeU@h=8Dv_ZgCu5- z?WRG=>`6J8{x*2wGQsMe-Wz8;23Nu-4>hE*@5$pt!5wPS7gC>UG#1)#R+Tx?Pg|A& zV8(b41PQ~g?_Yo{ET;5f>A;?+#dC1?7@#InVL}ZQ?u|anaE%%e<%ANd?!p<+jC)BK zp=IF-uS67d24@BghOW+^!NW>6DZ%Mb{5s6b49<@cCV(E2r?=09SB{Io3ZsxT2rG^c zr&{Nj=nOjPw{{P1K%KPW;yzNC5rjqrsB|U5&*Ad55!V4yW7rHx*Dxny7VdA=kw*eci~joCtDA-#*pg#YD9fK?*o)Bv>=idWYnnj7NPi(dOyi*2i`E1E_ zxdk_al8cMOg#M|vEh)?A8OV30-aU?Hgm?12|pMcQvX6llGx?ZcV5>jP7C)c>Me z>I*lEoZPM%Mx%U0yE@Dg(DHm}giTMWRC~2-pKR>r+VZ4(jsM;5GyAUJFkh3f_Ui1M zC|f*8hJ{~nO0)IFleu5t!B4YrEsk+|j8*qbbor6X*Tvbr^%(*$hvlIH<2|@-B8HI~ zl{cfwGo-X;M?k{8bOy_q^@!8y__51jx@_A$r;Jd}ok*19Z7;$y7a&!^IoS9C% z9kS06UbxQ=qikq_lgKz14KW}t3tPtdW_vwNH`62_kn}PeugCM1MRI{Mh z>>$)6l3MA((_1J;fj2YdY%W?e&+aNFP>d$z(?bWMqJm?#gtB*xo!mLWNU1q_D>hRK z=xud5yR&iuIJ-LmQgMM%y6M_EiuQB76IRFu&XUmB^7QJ@o-AKX@1!UOWUwXTT{)?x(c#a_Z6L9z;cNI#OLR*w0hL^bDs>sjjr1g z$;?c-go!ztEMFsfU0oSIGWi30&v+RN{jOBRN^F?h*uy`HCq0Q>KV=B?1HB=Fv6oqK0D!(;{C(_fK z^U0PhpHu|_5ons0I^{v78%akY>%+-Z{oL=!8Y1o@a;+&k3w8nyPW*DjB01!g)0N5j z0&Tu{_Lqi%VP_GZfg|vZwGs+wQHs?0bebD9kkF`@nRvb*c8=LDoo>+*%lss! z3#D^DT6uYJY02*Q zYWaiu%{o(xB-y2K>*T#Cozs_wrT5I-7q*N3EvGTERa+JHHX83gyOLtP`t+(Rqtyf6i0}v!`~+!H1p`@v7AGeA{=Q z$Z#fCyFgUfI-@$`6oWSCU6%?8D^%WN&?xWYtL;PF$)s6YlM%`L=a5i{`8AhUpC|>O ztBG_+si&om=2kV|z*8$FvVb%T$E3G#zzVT7ZznM0_U7I{q^zHTg-vNQ$&2~y3XvEDG=LzgUP(xB*O(BN5*@vPW~-&6mx zF2RqXtW!*4i?D|D@h80}!q=GR<&%E0UrQB+r zQ!0OokMdhL%(Bs)X2xovqwn#qCGD)bWtdvYrg{bDHQ?Gp_f7W&q1&wJ;^pIXWx*Rx zh~SlXgS|O0)wv*+q3I7r9#1G>dM%#+RJ^_I2%p5(Icb4nPGP4;`ugW)%zI447BFO& z{HPN?ti~Rfh379HnDCd}{wCt) z7urL+Au0UbNf|z8toUERCCmB=F5ywYt0vb}Cz}pNj2@5%S9Bagf6{LO7hLxI+a3Q*{IIlQ_Q&}{~_`D^8DQ%()8w(&Z{9S6}9%iK#NTif+iIUdyib+CfkPk5M z;AGifS@AnATzpZ^#((ntJ$jWM4qWJx?})zchIE(3kUSbdJyREFzU%^TxK&FpjFK+r zb_AFn%jztBDIQ9uPAfI~EdBrmPoU++TIdxY;#RGuswohRvwH+eI>{SxlCQ)}#l$|h z#6D9oo<*1x=6~)80Jf3nzNibD8G235m$8>D5oQ7`W2d8P#Lb3z*OPrKj^J<8Y}~n} zQ(qIFzG2>G`cfR|!3h67f|6l@kwWYD?*akA-+-9?^8yu^^?#SqzYdRo0n?)YdRj;c zdFjO+QFS)M(|8-U)TJVI&6d3RxwFKx5wlb(N#gEMGD7$~G*Ek3j?jp}lr=zt3DD{k zgKB70mM%Uj7F9!4S}hyxs#+JW9hYswp_f-+UhBMO9mf}(UdNf-PFJ7TUEkk6JD&4&o;Nf7_8jmp(VcT@m@v=?{K+%3JbQq+$Y^!sjxC+B z8gG`%n3teEU6^c)6PCEvbl?ZMK1iyHY zisnp6jjN@XNy_zPRGCAZh55)DJyQ9bk+h=9YLDv(X)wKjVMmDTeyOuGqih75=xeBV ztNSUNgNeEKJ`R`HStwMN4oMR|p{s@4dGMd|5<@3AO91#1yNN%MSN2nUgkAyT)T_Ll zrNhnNi8yWDcD{Z;=zlq*WZ^nVJFK^2#V)6ym+z@l2MgUK&UP84p2xUE{eBv?v5QY1!zV8PuQ4 zOu+Z@y8(puFgmTwwD)%%9-uTAc+86qFq~E?(WtpRLKmJRO3amWS0T?Me8jyO90lMx-F_Jz@ zt(LL11u39c(qWgx!;kdsiDJGDUvc-_kq?juJCyzAgi-JM$|VLftT4)f%NSi4gXFaA zh&`=0r*IqtcFVX zTC5;+_M&ElZ(Yyzsfe%KZ9=s*Gm0v(*<0U|s?LRS<9s7SvvktPwl(%+;*fd;uLvNF z_1Vko4YwTM3vS3y zh2afVQ;7qS$u8SDF>{aWT34s7@AW<7#StrmqJJRquYRWxGzXTDbqNGd(*JauThE{(B>E;+~}g zSA6lAc)zI^z2}wOtAUM2ol5Tv^)Aa56UC02+!pI9Udt{aQ`+AU!vy5=T5@_xaDvS| z;uRrq$2P*p4TRn$;^o?LM@cA*gNwGVMYa(aVqrJ|JFUrhr?q(?*&o|;S56l-zEx4m zCBWGd1b3D6Izwh#(rJpBz)*0K?E&BQs@0AY8Mmnd7f)OvAj$xG{^@K#m(`b5@s!e~w|{s!cA2qAFTm-W)mbf&FA z|7FoKn$QUhJEtE+iTQrqqNQHIrr^-zvy2=_h$a-vDELc zVg`RbEKGv2K!R)�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 G@qYl~!`^2A diff --git a/hw1/main.tex b/Claudio_Maggioni_1/Claudio_Maggioni_1.tex old mode 100644 new mode 100755 similarity index 73% rename from hw1/main.tex rename to Claudio_Maggioni_1/Claudio_Maggioni_1.tex index c4e78e7..fa0cc82 --- a/hw1/main.tex +++ b/Claudio_Maggioni_1/Claudio_Maggioni_1.tex @@ -95,44 +95,34 @@ However, for if $A$ would be guaranteed to have full rank, the minimizer would b $f(x,y)$ can be written in quadratic form in the following way: -\[f(v) = \frac12 \langle\begin{bmatrix}2 & 0\\0 & 2\mu\end{bmatrix}v, v\rangle + \langle\begin{bmatrix}0\\0\end{bmatrix}, x\rangle\] +\[f(v) = v^T \begin{bmatrix}1 & 0\\0 & \mu\end{bmatrix} v + \begin{bmatrix}0\\0\end{bmatrix}^T v\] where: \[v = \begin{bmatrix}x\\y\end{bmatrix}\] -\subsection{Finding the optimal step length $\alpha$} - -Considering $p$, our search direction, as the negative of the gradient (as dictated by the gradient method), we can rewrite the problem of finding an optimal step size $\alpha$ as the problem of minimizing the objective function along the line where $p$ belongs. This can be written as minimizing a function $l(\alpha)$, where: - -\[l(\alpha) = \frac12 \langle A(x + \alpha p), x + \alpha p\rangle\] - -To minimize we compute the gradient of $l(\alpha)$ and fix it to zero to find a stationary point, finding a value for $\alpha$ in function of $A$, $x$ and $p$. - -\[l'(\alpha) = 2 \cdot \frac12 \langle A (x + \alpha p), p \rangle = \langle Ax, p \rangle + \alpha \langle Ap, p \rangle\] -\[l'(\alpha) = 0 \Leftrightarrow \alpha = \frac{\langle Ax, p \rangle}{\langle Ap, p \rangle}\] - -Since $A$ is s.p.d. by definition the hessian of function $l(\alpha)$ will always be positive, the stationary point found above is a minimizer of $l(\alpha)$ and thus the definition of $\alpha$ given above gives the optimal search step for the gradient method. - -\subsection{Matlab implementation with \texttt{surf} and \texttt{contour} plots} +\subsection{Matlab plotting with \texttt{surf} and \texttt{contour} plots} The graphs generated by MATLAB are shown below: \begin{figure}[h] \resizebox{\textwidth}{!}{\input{surf.tex}} \caption{Surf plots for different values of $\mu$} +\label{fig:surf} \end{figure} \begin{figure}[h] \resizebox{\textwidth}{!}{\input{contour.tex}} \caption{Contour plots and iteration steps. Red has $x_0 = \begin{bmatrix}10&0\end{bmatrix}^T$, yellow has $x_0 = \begin{bmatrix}10&10\end{bmatrix}^T$, and blue has $x_0 = \begin{bmatrix}0&10\end{bmatrix}^T$} +\label{fig:cont} \end{figure} \begin{figure}[h] \resizebox{\textwidth}{!}{\input{yseries.tex}} \caption{Iterations over values of the objective function. Red has $x_0 = \begin{bmatrix}10&0\end{bmatrix}^T$, yellow has $x_0 = \begin{bmatrix}10&10\end{bmatrix}^T$, and blue has $x_0 = \begin{bmatrix}0&10\end{bmatrix}^T.$} +\label{fig:obj} \end{figure} \begin{figure}[h] @@ -141,15 +131,72 @@ The graphs generated by MATLAB are shown below: exact minimizer no matter the value of $x_0$, so no gradient norm other than the very first one is recorded. Again, Red has $x_0 = \begin{bmatrix}10&0\end{bmatrix}^T$, yellow has $x_0 = \begin{bmatrix}10&10\end{bmatrix}^T$, and blue has $x_0 = \begin{bmatrix}0&10\end{bmatrix}^T.$} +\label{fig:norm} \end{figure} -Isolines get stretched along the y axis as $\mu$ increases. For $\mu \neq 1$, points well far away from the axes are a +Isolines (found in Figure \ref{fig:cont}) get stretched along the y axis as $\mu$ increases. For $\mu \neq 1$, points well far away from the axes are a problem since picking search directions and steps using the gradient method iterations will zig-zag to the minimizer reaching it slowly. -Additionally, from the \texttt{surf} plots, we can see that the behaviour of isolines is justified by a "stretching" of sorts +From the \texttt{surf} plots (Figure \ref{fig:surf}), we can see that the behaviour of isolines is justified by a "stretching" of sorts of the function that causes the y axis to be steeper as $\mu$ increases. +\subsection{Finding the optimal step length $\alpha$} + +Considering $p$, our search direction, as the negative of the gradient (as dictated by the gradient method), we can rewrite the problem of finding an optimal step size $\alpha$ as the problem of minimizing the objective function along the line where $p$ belongs. This can be written as minimizing a function $l(\alpha)$, where: + +\[l(\alpha) = \langle A(x + \alpha p), x + \alpha p\rangle\] + +To minimize we compute the gradient of $l(\alpha)$ and fix it to zero to find a stationary point, finding a value for $\alpha$ in function of $A$, $x$ and $p$. + +\[l'(\alpha) = 2 \cdot \langle A (x + \alpha p), p \rangle = 2 \cdot \left( \langle Ax, p \rangle + \alpha \langle Ap, p \rangle \right)\] +\[l'(\alpha) = 0 \Leftrightarrow \alpha = \frac{\langle Ax, p \rangle}{\langle Ap, p \rangle}\] + +Since $A$ is s.p.d. by definition the hessian of function $l(\alpha)$ will always be positive, the stationary point found above is a minimizer of $l(\alpha)$ and thus the definition of $\alpha$ given above gives the optimal search step for the gradient method. + +\subsection{Matlab code for the gradient method and convergence results} + +The main MATLAB file to run to execute the gradient method is \texttt{ex3.m}. Convergence results and number of iterations are shown below, where the verbatim program output is written: + +\begin{verbatim} +u= 1 x0=[ 0,10] it= 2 x=[0,0] +u= 1 x0=[10, 0] it= 2 x=[0,0] +u= 1 x0=[10,10] it= 2 x=[0,0] +u= 2 x0=[ 0,10] it= 2 x=[0,0] +u= 2 x0=[10, 0] it= 2 x=[0,0] +u= 2 x0=[10,10] it=18 x=[4.028537e-09,-1.007134e-09] +u= 3 x0=[ 0,10] it= 2 x=[0,0] +u= 3 x0=[10, 0] it= 2 x=[0,0] +u= 3 x0=[10,10] it=22 x=[1.281583e-09,-1.423981e-10] +u= 4 x0=[ 0,10] it= 2 x=[0,0] +u= 4 x0=[10, 0] it= 2 x=[0,0] +u= 4 x0=[10,10] it=22 x=[2.053616e-09,-1.283510e-10] +u= 5 x0=[ 0,10] it= 2 x=[0,0] +u= 5 x0=[10, 0] it= 2 x=[0,0] +u= 5 x0=[10,10] it=22 x=[1.397370e-09,-5.589479e-11] +u= 6 x0=[ 0,10] it= 2 x=[0,0] +u= 6 x0=[10, 0] it= 2 x=[0,0] +u= 6 x0=[10,10] it=22 x=[7.313877e-10,-2.031632e-11] +u= 7 x0=[ 0,10] it= 2 x=[0,0] +u= 7 x0=[10, 0] it= 2 x=[0,0] +u= 7 x0=[10,10] it=20 x=[3.868636e-09,-7.895176e-11] +u= 8 x0=[ 0,10] it= 2 x=[0,0] +u= 8 x0=[10, 0] it= 2 x=[0,0] +u= 8 x0=[10,10] it=20 x=[2.002149e-09,-3.128358e-11] +u= 9 x0=[ 0,10] it= 2 x=[0,0] +u= 9 x0=[10, 0] it= 2 x=[0,0] +u= 9 x0=[10,10] it=20 x=[1.052322e-09,-1.299163e-11] +u=10 x0=[ 0,10] it= 2 x=[0,0] +u=10 x0=[10, 0] it= 2 x=[0,0] +u=10 x0=[10,10] it=20 x=[5.671954e-10,-5.671954e-12] +\end{verbatim} + + + +\subsection{Comments on the various plots} + +The objective function plots and the gradient norm plots can be found respectively in figures \ref{fig:obj} and \ref{fig:norm}. + What has been said before about the convergence of the gradient method is additionally showed in the last two sets of plots. From the objective function plot we can see that iterations starting from $\begin{bmatrix}10&10\end{bmatrix}^T$ (depicted in yellow) take the highest number of iterations to reach the minimizer (or an acceptable approximation of it). The zig-zag behaviour described before can be also observed in the contour plots, showing the iteration steps taken for each $\mu$ and starting from each $x_0$. diff --git a/hw1/contour.tex b/Claudio_Maggioni_1/contour.tex similarity index 100% rename from hw1/contour.tex rename to Claudio_Maggioni_1/contour.tex diff --git a/hw1/ex3.m b/Claudio_Maggioni_1/ex3.m similarity index 88% rename from hw1/ex3.m rename to Claudio_Maggioni_1/ex3.m index c6f71f8..9f9312a 100644 --- a/hw1/ex3.m +++ b/Claudio_Maggioni_1/ex3.m @@ -47,8 +47,8 @@ end sgtitle("Surf plots"); % comment these lines on submission -addpath /home/claudio/git/matlab2tikz/src -matlab2tikz('showInfo', false, './surf.tex') +% addpath /home/claudio/git/matlab2tikz/src +% matlab2tikz('showInfo', false, './surf.tex') figure @@ -121,8 +121,8 @@ end sgtitle("Contour plots and iteration steps"); % comment these lines on submission -addpath /home/claudio/git/matlab2tikz/src -matlab2tikz('showInfo', false, './contour.tex') +% addpath /home/claudio/git/matlab2tikz/src +% matlab2tikz('showInfo', false, './contour.tex') figure @@ -142,8 +142,8 @@ end sgtitle("Iterations over values of objective function"); % comment these lines on submission -addpath /home/claudio/git/matlab2tikz/src -matlab2tikz('showInfo', false, './yseries.tex') +% addpath /home/claudio/git/matlab2tikz/src +% matlab2tikz('showInfo', false, './yseries.tex') figure @@ -163,6 +163,6 @@ end sgtitle("Iterations over log10 of gradient norms"); % comment these lines on submission -addpath /home/claudio/git/matlab2tikz/src -matlab2tikz('showInfo', false, './norms.tex') +% addpath /home/claudio/git/matlab2tikz/src +% matlab2tikz('showInfo', false, './norms.tex') diff --git a/hw1/norms.tex b/Claudio_Maggioni_1/norms.tex similarity index 100% rename from hw1/norms.tex rename to Claudio_Maggioni_1/norms.tex diff --git a/hw1/surf.tex b/Claudio_Maggioni_1/surf.tex similarity index 100% rename from hw1/surf.tex rename to Claudio_Maggioni_1/surf.tex diff --git a/hw1/yseries.tex b/Claudio_Maggioni_1/yseries.tex similarity index 100% rename from hw1/yseries.tex rename to Claudio_Maggioni_1/yseries.tex