From d41a37eee204cba3936241bfdb2766a42f89c16a Mon Sep 17 00:00:00 2001 From: RobinB27 Date: Fri, 16 Jan 2026 17:19:09 +0100 Subject: [PATCH] [NumCS] Add code (Gauss-Newton) --- semester3/numcs/numcs-summary.pdf | Bin 1479838 -> 1480161 bytes .../02_non-linear/02_gauss-newton.tex | 88 ++++++++++-------- 2 files changed, 50 insertions(+), 38 deletions(-) diff --git a/semester3/numcs/numcs-summary.pdf b/semester3/numcs/numcs-summary.pdf index 82422ad2ad3ed651d804c64104cbff398edbf42e..8ef61281d87988312f3ee1c8e65c699870227f62 100644 GIT binary patch delta 52440 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 delta 52088 zcmV)0K+eD6t6H9^T7ZNBgaU*Egam{Iga(8Mgb0KQgbIWUgbcI|8m9v?I60SaehVsp zTT64>I1;}5SFma?(oTfIn?$OzRnBIdnaoaVH%aA^q^4+zmKal%!$%zZvVVOW1o!|0 z*^;A-JzI0I3_@U|(T@+^4G0Iz00+;Hp1wKy@r2VrAtk8{-kb$oA&F%WDvnerf;Wrc z-Q;DxPKtCMXVV#DZ1P)Dtv1scjV6nK()65drtnng2R`}dW_?jt$&|Dmujgr!&l7lq zNQ@`1Hm7NBzIhtMsQD@>9+~GCah_U|KiAdu^uwDMM?bwe`gBBqTO5#{JAz20g8BOB z-3J^j;JX(AModM)WixUOBPGI;K|2dxAN}VDJ1Z6eAxH^9hf5X`38KuBBSfcvGeUsf zm+5>}Woe$oQ-&u6EQ3ioIo1z#xy%yyx-63UDzEdUW_Tn|9Lz|BgbEGapX~C|vNB7~ z<4V63Fohz@f*D4HMP}@On=haTN3f2*zb-PE)X<6RwzY0X!y1(Ek-o291k$h^3S z%hK?&(CV=5->im{%xe9tAww{KLxk`h`RpbzG>^5FbV9pmY-V$sC2KP-*OE3(Bk$g( zKwQWQR}6$ZBTAu=0y|V9#$~5FL|W}7m(?bpy`3^LNs6<0RV4ZCTC$94RcjGwCS*7{ z&g1N=Yz!2h^nWs`%)@CTtmHh-^Xif5vSNjnm7Ks}USxO4!JEsZ1pQWjNoiOP)qrIo zkdzT{-n{X}jEIJdQV7#-0JQ@mXMlEbJK&WafCDh0P;+t?gor2^FeHgZ0-x*z;@WTr zqpSqVjTNAlgjs+bA`L8004_Q-%9|E5N0%tCQr;i>=6l7i1jjACdV~;t^C?kl6+Rg+RhHDk!KwQQuH~=>5?aU)q){L-nKlc#gh~v(@ejvSv zxh5?Umok_QCVb+5vu2Hha%|1tpYNXQ$c3+n3Ww?U7-P@!bc+o=*0VN-qOhCrnb$Z4 z?LF?^pkW{jHjo$KmZT%ecd{4?Rw7C}75dN?Bp*6Ly+;`Qnmh1CfpAD14+1>%%qbA- zP3UKjC;%BFO$e|{^jn#SISC;v#GS)&TWv_}x7#%c|Jdt)Y|!it?wN<0W05^ej=UU} zb}{{CZ`8pXAfQ+86ry#;Myk3|`4Ngp^bLmYEXXw_8vp=4_dA7WZ}VX>Ah8G|Ye!@k zNaKGr6!XJCG5(93w>d5~j>~s+Tz+83-2%fQL@+Awi(y|BhQN6!(3@bG92AGy z794i+H<%QE>;hP%A;e;$&)?eY`*~cK<;(ID+Ba=DD=T&;%;uY|nnJ-J=*GBE#%ud*z>L46{IR9ml*w&&6WuY;WHuN|#tQ}=) z7dkO2A6Wv1rUcK2r_K5zORv+UsBG_v?yYm+cawYUi9!-D!_Hn#JO%|Gq4x3jyC;dH z4@a`id6Od2Hpw%KHn|P7`XYtxIBCiTcAZU6d||5``twUVvw0!~kCe>K6W3Z`b{pEZ z+Ys1)HYw!vGjJP4qHmU$xP!bL#Fj|%0cn5{}Te6ROue|J1PDfD@rIR0g97zP< z_d${NpcDTt%81xUjyo~7g^)r08|pdW#5n2+VIPsEwXc|(DuG8#;0+==fLn_H554UO zI(O0;JK(DLAyzdO%_x5g!KoD=1CfsQv#hOui@=@~`|zGKL`6sc*tb-GIo4U0Kd}KK z5x-|!81EgbBU0xJe-ab+sy_946z1K4+e7vT=L1(>AK*gn;{%6?0KP?w9kYuB!eE{c zcIK|aS(uuygjiVmjzciQ5P}Z6)1w^I%sQ8!UnN~Jt5k9Sn}8e5hR413!>?N z8N>uUvO$C)v0QfrR_vr;RI?gE#7$kqV$LW*zB)BfPD;r7YJ6LzCGeh#bg@Sdz)V8E zq!e?iv||_72R1}6LJcw)_q>mUA(D_EaQKhqjpu!O`tG!^IpuTbYbi;vBqrSDxgiZ{ zlB|f?lly{%3S_T~r9^>$M(x{8 zk!WKpLaDFPq7`vtWFH~X$6$L*ftcpq4Iy~H z5v?yaMP-QDo2Zrqd=Qst+XF;{cQZl7B(K*OSH72T0O$KpAK2NlNkF+6zBQ6LLs0^)S%=Fv}hJyDX9+{738BUKC%<$yY60^(r zo8jTL=GHWUQ(9*cG+Q zqqRc7ouL0{*6Q^1*7szj5XU5UA~Qi_on~nsXUlIRQC8(AZ5yqB0XTM|wLh?xufEfN z@AjD=kLUkzt8H1G$Q^XjvUU*N+?m?UOKsP6hKF^cd~<0Um)1)zlHzPrtgQ>JY;UU5 zi1t8xH(#;08}1B-F1wejG)qR4k918SiS3~7{yirLDK-w#h7tSN$Ul5G(t+;2)c*c3 zv89vH5Hh@*i42i{eF@NIz@f4h%4LvVs{lgxU5gB zBA!>N&i|VZ3y5bMeJW^1W^DfHg&sDoL}hsP^^G%~D%kyf(Mn(#k#`pJwo2>xW$bE^JCB zEBk}F{=!>sijssPqR6cU#VTD^-KE}z{lVeKWTEfcg%fl0j`zjCj=5i(qG}Fc2(j_C zS=S;TFsE5vSrloqY_I2SN$x2NAy4j9b>Tg63kT%}%KfGHL9LE@FMX=$t5fdIe!SVU z{sEdij7jL5hPJXrq^-Tai1T{*Yd(r;6PyNI>H~`|zmwRE|IrMS;h6LP0ciuFqqjw~ z4RQwoIG3@Y1S)@9-*4MC5PtVxA#5+sRKVRs%)i93)C^ZA4YJ-{xP)TFg>RewN37PMN5+eATCP}` z=ZHbNw5GsAqcPhfQ>VKY(<6w zs4*!rgZXfI;1gz?DS&Pm1%a?kvS1)4KDd0VWa476(L)q-Mey3FFqw4+#q&u&KGAMI ziQqs&@%sqn^&k}QM<`>vPg{g?ZQC(Enp54r3ikPGD5<>rNM&(~9?K~}!oI~Rq|<-b zj#z`g7y#VEEw5`0TI2eN2x}3>d7%fEu}PItyrS<7_DOdUKj*>zx#=SbqvIN^y zhxG>u6nZ9z32zVz+DEMB!^@5ZJK5Z6Nq&6;U<6%Y4$-fNM$ILwb8c5PkRa@WMnP^}fhNrTv+Z3&rXJAp;8%Rk07 z5JYGDr?kzIY;F72GOcCsK`@YhY>07~!5WcOIyw{vw_#rNoeLWd!P^LGsef~(y)w+V zJ*c*nNrxS{C=2o3+F~mJ^J4q|F1AK6iH}Tjx>s99Pr&^=VMLIo1uSek6>3XYI&++0y~-s zwm)yuY;U$Nqg+2$_+UmAUb&~(V2dT`;vaZG)Hrc+OxOPfbvD$%p?)#qm zzA@!bpzouitM99x;h$==a=wwdd9s)nVOG?;lOJVN+-ZLZ_UuO*^SYmDSR;QP`T+62 zd>#+Y%L(2GIsrz99lIZ0cWfNf;E+hsryD7Dib$O#+(Sd9-$1+b-X1w^CfMZdXBKb5 zO`cDFk)Mh*F^}|?^E8W##j1MJ5iP?^&dkYa`cd{x7>wRe!|+52W3J|Nos{!Ybb>_m zLYsbGA6qU9WU4*GP=BJl;uw3rqFt5OdIj8=~a%uf_9!ekRRewj+K zX;@w1BEJ3Ujv!k9rB)O6%YWd7e*vB;x~PZI!VQPf!VZVg!Vibh!VtI7!V#m@0W_Df zpad#^JZp0kxt8DaEBfP|+QMqRr7db|f$$h64399t48;e>ZW1q!ZES}L_t)R^PyQqx0Q7)e0j&_>gmfL~*Rfg$kcq=A_cDzJHtk34k4Ab941EI^^C z;0W+x&4I>`h>u}LjCj&03#&Dr4{%{&>sT{TBXmWFHJky1U1?}sfSSccVk{h#Kuy?~ zlhPkRO%_fA+dvI?A>v_ysD;;t#yQ}B20S(#vhV?D2DJb+OEY2-fY49_Yz3k?{41g{ zCDxFO03)!7q$6sBy*QlkEG6<)R0v%HV5K7U0^ccJB76y3PzDbn6>(lf2slAof&fe) zjlz>lJc5Bez-oX$X)SW6R4~fMh`^9DouMW0kq55DDlFlBz?~xj10hOkWKtA=1xbPv zZArbJST|r5**OLSs~Kcp!oCFFRv-`v4CGG%=BWz22}>e60jEkj!UJ->41_YkrBa%9 zh9UrrOaovVpaHjzd=4}>2e)q@h{NJ72(Se?e^H1xfBXrI(Q`;A=XwU1b8;~rzdQK( z=c@-R-?M(l!LF1&ueyT^ac??*p3aYF{Xtb|p7N}}Tvqc5FfTRlUoIaWFZ;_1m>N3{ z#DnQ%S=_!|hzG#7I;Lq4P*=sY>;n`z;8Sh@{wz>FH9*RMzf+?Gd6M-Uhmu$~K>3x; z91Q?!&>%#&kXinY)AVNHwPY1_;)v|aCr$2m9 zh?mvnvS<+c^7E`hw47E4fUe21nk*NnG6~v&cu_5;7xO{2V6{tqPpaXle|LIWyu}V1 zZBN1Jf|0!t-@$tQIRL@&mdD?jOr`+zEh}~0*2?NM;6NN-oGht*G@5)k5O=5ZVKt{U z%6H7gN5=e~S!@VyA4;$7&W&iVVfufs_l9_zAIhZS>9>ag#( zXREk@t^AGIDsAh#W2>+aTZNs}>LvSMdSY zD6`oNw>ojvEy!gd=lCz@@eR7u-CTFN?^AcWeRQV_8`#$NUoV5Y zu%X_r^MThl<^#`vC#FbrJ40;Z00=<}*>HeT29yi9vC{TD2CNE{O+YdUe!;(goh_HM#eWMixj3JF?oH>XVmKX$#j<}guEfQnnv0JY zqrnI0m@j*0%k%M1EeCxkJnYRLJlq+4ou1w_7$8T`2RjXaHdgg82LC72X~)mls!qRH zJVLoaJi^Vz!+)1*(#L&REUv3b57MgrH)Dh@?K8Ica{9V;`UbNfeS=@4Z%|471${I1 zC(%&}fLPlLm=9EdXh5(FKymN)*MFe(7QMw_lq*4OiFx(Dg7XY2F`5jk%kNYN2D=A? zhJ8{-8wNXnXM3glyRtyvA|X?V+3EZL8T4hZr1b~=0;@m&Oiy_TjhW3)Pl~tANyK6G zX*8%_JiPl3*LWMG?tu;VWe+ogE+-ZD|a(+tsU+jP6GYt@225g4@6Q0N>COC&Y)76#xNXu zs;z;3u3x>`T}p#nP7n51N(E2kfV#JJd5kAqYI{F}AGt$MazXs3n*q zi>N%ZAYKZgj;$ea9fDUNPAq>B(aIw0vltLma77S}oo#?7L6(XMtyEh(7SqY1KC3C0 z)wRN<6H2H*;{{-Fnc5&{h!7f)kLD6WW0Fgcy8vnQ^%@}}TIeubPo*RD5*$o^;JH_6 z1MCVms2A{4(Y7t|If*^@a0!?xI~_Cxxjliwwko2*-65)h0I)k0G}3dO_C%)l6fwBc>S-J!=MsEe_Qncf3Qa6GS?k9DRY?HbuGRA zQl@^0>SJ{DjtSZH5|8T18aaB61Wk)mXeAI9&*(f_LGGq_q@{)s(W~lGbAg{ESAcW~E*K zR1Sl7!BCT}_Dz7;Ety9-&SZT=p;d}D%XZHRLZmDYn+$JjdJ={cEUp`5rWCm*TkjjV zky2BgeNc)@5k?Sus=-ZuE~bT*ID@H^f7dmq$LQ(;dvhuqg2z2Rwlmw&TxvR*ChkeP zm{*`WC)~K6N^KGpipDd702Ais$}ku%Gm_+GVp?7#>t~i=WLjnnE;9p?n@LONCzTn@ zyrcjw`@^?;$*yq*F}6w~pT#6zFFE*KFD270eFP$MDpO#vfhE_YP=Q(^gNe)^;g7lC=A@9e{GiY-4Y|-U>Qahvlra zaj3#zmqu=3V7l~TQO@#ub|saUe{V9S?<3lCXDJ7z$ew#jtSL6iXypkKtpX`&R-^_a0;eo(0e#09cq!5Zjub!TUapbh3}uG2 z%X(R3KR1kB6Ug&hgFuo6Y^Q0Br21{S^B>PhB@>B>LZ*{T&xSiM*@q?rf8sbgX5#Qu z>esq#AvjIGW=XD?Z|0^lgU0m^G@8qGh%-Xd;L@>a;CMn&8jb5Khoc~nZ57+pWYuKK z7xE15Rn}7CjJ>9kQfYKU#5~F~o6%fqRyqoiVM;?DL`^EsoR~;xJmn?nZTPZ7jUO@o zKa>~fUNmI42sI~WYG~D6e{Eek+fiDbnO}B+q3DY?lre`|C++%0B|;&XlCA)pqy(-) z^+TnzilQV>adsr7$1m$NPMIZD$>RdX`-(1Cj3sZ`(?~^H-cS#X!Bc^xDwPh74pd1O zQRw|)j{6WE6KO0~{O@bbi`q`A?U(#h*8(nSo-f8c(lF&m&P#WkK% z>(qle23^n1#;0_=#+_?V@s-uhQ)4_|6j79f^;DucKz1?-pLoKO(hD+@Q|nSaP_BZF z41Sr6l%ET9pMbF~#u@1BVn2_Er+^oN>l9f)yd}n%7;zoRECIt=M*%8c2vDLUL`vqA zX|B<9A3>Mu8zcDif5Fk@dc=8?GKaY>hvFn+D_Fd?2oCR$0^PPpZOC~I#7QV}81b7F zy4%tbZ$aR0@w}ccF!0-6IHV+}z;U4GX~9StKMHJ1nHU)59MeZwr?0&kg6~qI$kJoe ziO9L^V$LuSra_6)h1WNhd=pG5E4tyARO&=?wj1cUdb)?=f7lDnp41eEIx;J4OGyhU zVn$8(LPS!dQBWKu=PWr!d=17-Xg$5efI%s+CnX6WGQe-5QJiB9-41EWj`EY$T4GB> z=%6xs6d*3O!c+`j>|p?HwwAn(E$KpydzzKFO@}6Q;wspmpi^meAhLvX3tHFPamKi& zOe?f7f}#ABf4*XeyO;UCxTI4MlX6M;Gwd6Mo~zI5N=g)Ya%qqmLg2SoDDsu6i8_Nf zM151=KO{0C>1aAFK93LHAyBaXltF7gf#@?L%sPI(k zVcO8VW-LEXRI+pvPWAR#;yA41y*DW`>)1Q>Dc!;Mf8`)0>O-0Ip2fm%=Gl81& zk@TaDf9driMQk5b9KxCtA`-Pbp|iirvtKJ+3V2u88E7 zeL0SF*mJXGH#l9Z*RE0<+~!%3l$valbgM~Me@rDb0mEv-HKvQf^vYbz98Gp|J>!~Z zM89#yHD}a34U^D=sN+m2AB#*`%8SyQb^In2j;phd?Kwdl!8>e7zCGDsfc_5!genUN)&G-#kaK006HELa zGQWF3Whd>lAy>xM+-89Nw(?>N%WgwSh&teOZYr}j8M#yZrpUZenvQe2u| zf;Rkm3unr0nSk)KHpgi9&N12!j5fz;e^Pl>j?rw%F`6vLXtv}SODdzB7&;KREqURLL?KqnuFH)(>= z66T-v=lE5ae~CNdo;VZ_#Ut@dJQpv-vFM9|7>Y`~7iVH5K8Ue67ZWiRGcgwnu@o2L zllc4-@Att7mXT8N_xw8FfZC3af8XBRJA8En_;}J^p54D(R+GhOI=K!f${2%)gidrqCv;Ok0(XgsN7fUgkEUVLbe>@y5X5;?nrVWsnVus%= ztk0h}vewC{+sIoP1lVX(hh0*=!9b^#H%~?@txj{9HEQ@Z8fNq9@M5s6k2UWPM}z(t z7faQXPPMHs>ly$_wNKR?f8j4K&d>Y!b;cTK(?Q5uj>f}^u-nw;;!}kJI2=wd@cZ4V zwHTqWbY)zZ`^fnHqvv;CKS?sq0(hN(YXt(%udPsg+sZc>q+Gy3LuVo`@nJ6Fx1?!= zyu3p1-6hR;Upye~_ltNeeicXJiTJJ2gfGSK;+1#<8nHi~o%O|ue>ka@s2&GrBQcl) zZb4BFt1*4A$dALT>Z!P-lXd!lw7Oy(mE*{+>>F6WofoI|w5c`;D+|NCqj-x_6g?vOjMLpHW zi~d+tmjhrXfAN0w30&mq#T?jdlzimLXi|ZrJcV-BIun`MM{dJoh}rmJ!K_xDk9eI$ z^{Ik#bV)2XufR(GH3fx!30izUU7^fgTKwp@SC3vjuPJl2g1coMgdX%0o1T8GQn?!w zMwV_XWpd26C}l(<8aE;lk(Z&XLDmLD?PU%gKYsJzf5GD#QP*ff6Et!#;K({cl({jY z{B<0RjC&Q!5+m)%tkW+*@J3$T%i=tKe)r|kuQiIV(SF9dgklr<7h7+R;_a*m2V6PX zUdsK|t4D`V(c?YtPp%K}Rf$p-;bi#JveIVEvn`n27RmaM9m$woo!qA@ZtiRGhxii> z>)>Kpe~JD%sH#POG8Fv<_^_kJ2eh>p<8jq$#>N94Rr6{wTC|Gte2AvA%Yx!P{vQeY zkL)9QK0jA>-u;K9`5>Nd68+WS`d zvNz4H^eW@qz0Bj&-yc4F{J3V1Yn*5!C9+2VfA%Q-3VW;?er)c*_`z-ElDohekAW*V z`E%0orZ@?d>5B&K+i}e<6xlIC;uiGnWy7BTa`^c5p9y`}sSSfB41Xw@eyRJbV9#HH zJ#kkwu6v$#FUxlP>i+A8_gdw2cRC(E ze?1wGKyAdgikoAlu zOLQj9E2!Mdf<1qA^!uN$x~SZOLsupodUrD%wyurz4rWo~41m&U*o5Qq1#61VrS6S~C^F*ph@Ol59obZ9al zGchzVml4Vi76LOcmv5a9Du23VSk>FwJq*$zNQcA%B&55$yFpTN0gLYLPU-IM?hfhh zZV-?bK|tzV?tRYIeV+f<_wrI4caAycJ?C$JfSg28g-*!W#t-CM9;_#kd>3O zv9@7iq*Df(I$0Xn1DNR<8Cem@$wlme296*bYf%G7AUA-+(F~wq<0T2e2DxZ3?mmz6Ym>*x0(+gG|jF zf7M{2qx)6qSGF)cK-$2_!p6nH0t7IyHU>!3%h3bmZCt=c5P-_Y8ej-CGq5xP*q8uR zff@ic6)|NMfP}Jwnt!6odwOtT6(?I;8~guo5m8Z9lb{8N3dyUA0f6eX00}h})nEUr z02hMKLaLgIVoVIb)&O7vI0Nk+K)>4l4>t-hGr(_Z;8YWP z8>_z>0I19y9c{T87+hRj=uMp*9O-TBP3dhd|Kg`=266zn*nikt0Kh-(ftJ9(gmJPq z2FvMa2K>9guT25Sf{cLH4!~bY;x>Oft-w-(lfZVze~5vFaQs!%^6zkf0}%MHHf9D6 zf91+5D#`+^3_#Y7Kx+eQBXFRjfuoZHK>sfr_%G0y@^6AbfQXa5{jVN!|8?2_)8@a_ zg>Aqq)3NmMGJkOS-yJisc5-n4Lz{mu+sMY+0p#H5@OMQZzyxFo{Kekk*Pel_|FX#m z$xDfgsi@M)f(OrBz%7RCcgA>5a%nV=z52={7v51Y86_~XH z;xG9`L13L6ZS36`{?A-nSlhT*d;DL!3CP;msv;WM=~~2>mks zjo1MU!oLv*fI;Lp;sh{={zhB?2C;t-2P2r}Z^R5>ko=8U01Q&U5i5W}`Zof1m-&sr z-G60&BXD=Q-w51Y{x<@5SNI2Ug1amJMoa((rQZn5Mfo=Zb5Z$?z+6;+BQO`W-w4b_ z{Wk)0`S2ToxoG@GU@n^fATBT$t=|ZoXYdbV0p}T5*@Dl_ubKa^l@-j;0DS-0gB&b= z%L}Gv;P|@^IMeVS#Ka6Z(aew^7%=RDi-)HWhWTwB(7C^^;#dERzWB;E7 z@QRH7L2TgOMmCno1Fy)$f%tF@l$E{09WL1pcl7))M%y4(z}Dc1{MCzqJ9A z0gtJrfz=;Xz{;5Xt^$rQ0XhFs_Ltkn$^MT7aER&eCSbqmuh#?c&k!(ov)?NLD}QF@ zW@`qt{v!fx1N{NP05|%0E`b1P=J!iVa-L8hjc2 z;Rowt^P3$w+2&tv@QQ4IyTQe54Zxquf9)zO(|@f0-cuHEFYx63_3{2El>ILo$mWk> z1S@E3>Ga16n7|gh-(|q^**V#Ozkim7zn9JQtI%K8fA?f!0!RO$Jrh{j-<8?Gt8)Na zf&M*PY`+!Cl?{fZ(li|IHa($$uSa|2Knw zU-OE;UO9h#z!`tv`~P|V{e@K=?QJZ8A3(<7r|%yjat7d2>#EHN{`xY3?chKE{h#i? z8j$~fIQ)?MT{;PC$o@O!Y zY{x`Wqx(LJdGZDADv4C5tZh9P#-(tcsTtGW65VzA4S#;;+vVv_NXM6Z z%;-piKA{!rIsLp~>@jIr+urUsS~SUdsv5^V9w{x~%14Oi!?v_o5i?kL3#$dQl+WK5 z8m1AJXh&q_V?jFPg@Y_DQl|A~m#g%k7)CtGh*c6ADOQyll?nClRESWtM0`F%d~FI4 zfIrhQC$XX}?e#T3wtryJndS`{V?)!Ws#fk!)bn9Y8|hQZ?#>K0_v|TWXBBxV2*A&- z7Q!VMbmW+2(#{cyq$3NNT=K0MPNwQse4Llh3iw$sA>L9-Y=H0SPvEehX=~8rS6>2e z#STYdc-;OPeG8ve9>pNr;OkPB=IuB7i5L>71;jFbokZep`+u+2IN#S-2x{eg7#S+y zH&v-k-tIUrX<%Oo?fAByraY<>fQbYbZ zsK_Eq&Y1*`8-KE4dS8(xGRCFI*H0Z=pg`-!__eW!@K*aB6NW={cut9W)@LEq2rTHv zLi;rhwUKhmjnMcE{?h5yokRX3p2DDzvrX|Q)}ey!n@Nnak$E`+&B#*S+P3Qt{;w&N z^|_eo;knEDg|~%c_PM8q1afA>${ff=IqoOZF5?zToqzYJ6d-nJAU4)Uz0&45v!P0P zr@22Zs=3u#z`6M%w!vQjpQLdnC_bw9(S2tybrv;M^f5g|Sir8Moe)B6uArvd#|S0j zuziG6fh0&NqH))9Ra<(m!@IAPA~d+du9Z$LAs8IE^ZnK9&&74H)?r%Bl=uX1a%|_s z?!r}@2!9Y(uM=!vt+!4La5YF?>1rBX!h6Lze+HW1DlS=}rsrD~rQ9?j6L;Bp3aE-` zD{Qz=|8428dX_`6WMXts&hN>I}pP|tXUY?CjWG(Z{V z=70HZz6LyOH@xh!bFS>ki66_1@YR8N*(bq=Dfp3HzIQ-u<0Bc{llfsZVxJ=y7x6~~ zLv&9TJP2f9>eaT6{(jXzz_TG_*mUc6`Md5?laXKJUx?WN*MG0shYOO^LbVX3^K9_$SU(Mtgf);R2Zzu0 zhg$4%=LYamEBo|j2Pc+#ySE^}{h6}Tj5fXY^i>#U)K(v+zKMX=m;IZ*$ogPATr*D5 zVb$H(&`Y}cTnBW9FZAx)lsn_NdZB=)J(rRrh;IKgRFpi1QA+uNiVr*#-)kO9qVuTMxM3?kiA_FHm)M--T zJZ}i=f(XdPlEjKPJ!|1@(%uQp+J7ipky)o*_Rr50dr`Q?m?R|>UkTCj)cNkdJV>-X+*2YC z4kn^4TiFvNOo;gM;Gw_o2EU5bwPCzaccL*Pe=ZlP6N zNC~xk(fow=gpoilqz$j&B&u4`ExLZ4L~OQJV=Noke2|Fg2~Vw};(x5;ntt##@VwR$ z>r!aK>$Lmer>b@31qSId@%5-0&i|;c1(F8D?rdg*2_HOn*$I2AVAz^#BczXnUjM z%W4aE7fYknjfr{h;&CnVq4+zj?wu^dybk14jBv#-JvVMHEAQ7c22#c9A_*k)LK6o! zoIxURErWGmKptuZptMjsd zBD5a+{z@UVxPKEb?oI4k{#c>gIkm?v$iTmE4S^#eOji%Giv##j7HT$(+fSG&WaX-nH0M+IIr}f_>UL9A75zB;kVZL8 zONrB|iLX|f%}N7aXQ!8xHqBea8a+2wV94|frl%#3mw#s#4jD*>Ml)7H51n!opCuOX zUygi^gXu(6R>4l-wZ<-|xqDj}I7N3wNiMGUDoia<_PeL$Z9p4_FJ{55=qP7$)kkEL zO@wEahF|2H$TdP=t2&NiuIE82kTO6l3w&%u>?@O!)v_$;$G%XI8 z?%U(!A7M_69WWK<&aKA;A~exd+;Y;6o2+lKwI<+5^m0GGmlY1yo>Glh97Dy;Z#(UF zeI9pQo!+_-<>Asv=yy5tFxE+Sr!ol?!8@GjajS;7k}cK2tm%S3+=D5oeVY%hA%wGp88NDHYUOb)GOHMXAE&b(g| z_J0Q8;Go^2AIz-~`c@@#ep10u?}N}P$8K6;AW;+!?x}MFx&`6I=Mmrgrl7KA7v9u$ z!2zC{%c4k6sa`5YA7g)#W{k6NYIOm#-o8sb8^-Fw4{k-i^b~ZLem{H8*6n_JOE4#A zQOH-_P>BUbw1?`k4M!AHn${2pc&a=C__ zfV8lKsCOuDoUKSQQb>&gA1IM^eLBh2X!30bHks88x?^;S=I}0)xa5gN-ms{w1b@R* zCIX4cJ=M&$4aP07<5InJE`s}_7E+T|v1o6REb#uc*EAi7*$cN+U-TA%@+;9p1TuSl zy;wE-d&Fd(RVRlJ3;G1kl9pyb#Go&Y{Y`EFDc!F4HE$WJXbw2;wo%qSO78qR@-`ffro& ze5IGCnB(Q8(g#dkJ|+S9DhqTn15o!9D*=VCaz!>g_`Tg#l;z!QAFSF3fxH$(QxPN zQEq#^VX2yLE>-MRNM zNwM!XKvV7jo$EHF$0*q3t5^heL8kt2duknfRvh!$6lCEmYDD!FBMU=6PS^I_?i>@y zGGt%n1g(CiHy59GgnuYs(|?|*ANEeAJHXkL8BxgB=>=6UX7~lZ$^EL$Q*chdAUHWc zxLfUC-mQ7KP1IEUP;k3D21luumGO#$-l=*Y_xOI|1EFS4rqj0tfoGz18N3fJlh5&G zT^9XWHE-YzFt4GgkyaMcZKqHG#5h3xA1D$v-XQ5KKz5d=wSS((<75WE!}>m&wSRX7 z97Z%7NVA3ch0EyOHQJ&v9DywT$ZOk1TnDClFE>kU%Oy&qOp1*UvTBI=!LpSM`_MgH zw?fUB^N%n_05?F$zn8E;m@C&c634hG$&Ii`fYJ71qb=}53sbywmlYbH&p3OtVX7i9 zOR@0-v^IT<_jAr=01AI24tDVJ0%o@U$rl`7il<`Vq#R467PonwFH#O{1AISfFv6*% z-{;#0Vo0|ps|7K1Sf`T^u+kkg?(GGd=9RJ`&DzitwUp|~d>UDXnqD!ZuVmRR%DU8a zlFb}{ICJV{!-Dma&)>A^n0|!0;gJ>ecqD}7!*XRr()vPtI3a(lSZ17b+ggWmB)$1A z`4v75MyPO7S@Tb37ob|L{xJ=-(1Qz02mH+3$*XSveuXdeAF3r69j79)n&R)FpvQ)i zM0_EtzT>3Tqa+KRI7>t#@Krt7M4P@E~)PPnGfEdg3e^22DFe8X#HUfG?D=*8DaTueQ@3@5w9N1YI+1s*0Y`&fONkYZQ-3^q`?YtuQobIxQ zXm=*!umFwnu}$+W-m%Rq?<_t{C@5oo_jA|>_Ko$qOoNz=(a+m=)G}vh9nnd zisqbv!OblBfe4DB#8wnIML!o*_-c)zq>|E2aaSS8q(+%r(nd`{KzSAsjFy3Dr zbG6gn(Jbt-BFW>UA>E#pzo!zR4a?B{9K5x(9fnc#`Lfp^j^9;tF>(uO-8*=v&9JXa zSCW62p?gd{T%`Im`@e6e%gnA94nJ#u^(Toc3!kee4A$J9+XIF43r}q?K_~Vp?M44C z{ew@c#7POsF*cjZPV3_sll0jWQQqy&P4DR@s4rAux5N!FP~nl{e$eW?Z-=nDJWj#E zUpEzKab|6Mh~*ApUYM%3-B}cIl^xYXxeb5#{=T23Rd+BBE-0TulMc?vYXl|w_RZ_g zk^aI+8o$%jqpv2_EHQfzBPF8^WzLpx>T4+r;aamP*c zWP%AfO!9;T;fA8BBl-FhqQwTDi*6AGQEzw!GYqY)GiTM)c^jVUiebqo942W^2n~N? zLNP6{a8tOX>YB2dBt9*ZnQ-{3T9yBYeydBIXOWf=MR45tzxx-P8c>G4} zIJ##uG4I{GH(3n+1XQQ=(TBJ$53tiIhIHr{l#05c)>g?f*66OW{Yf zR2Yh~xu-}1;vOuextk9T;*^>50}bS-5e1sB=hSrQWtt$9AL^JTJ+e&FKd;l4Cto{{ zd#>-T>2AdnbXr!I6&f`arlWrwyHa-8pmoslE=^oSeM?50Jsyb~7Uq8t;HIOka^v<# zByXpSKjz3J>snqf!k}{=;Bn21=x42#jW0;BsFA}RX{*j-M!i_V+vhvhtC2^ChI3+> zN2xghIUKcVH?yk*0Z!@8Y95NhY><)L4$wlX&mF$afzEIQBIVC>DRO@SSvXhp3gk%m zv#h?pVtK5r0o7_(uX9S7A`ynod7Dt9ZzQYPuZc*~r|9!=-ya&%%{D(#xJ?JzS%^!V z;!b?e_d6Ps#%T?^+UPghunAmkHM${TQc$Lul1t`+vMziPeI#EyDqfojkI3@3v?0W} z6H1iWVtBjti0_{ z^mOl_9owNRRkY=f`K+A6XA>HX>wm!mf@I_;bCyrj?J`C#4GMo+rIxhtLxt6TPXg2I1sM&Ho)1F`j_DjRDw!q`N}j+?i*nb76XF$}nVJU#S#4Z0Hc6`Rn{ zBAeuJ!!S%ltu1#WaC$Ic(ZEW)Hl%1+^}9@arqspM)b~Gz68L{ZrZ8c)1I3lAk~52Rfa+9@ zz_6&)>r{M%D?<$ZQoF*hldEwCE=-tQpEj%EDc?CQ3c+RP?>U3%NxPor`ehNoOA|n|-PD*<2$V zhWSpWX}Cuf60V$r5mj0-w#CVZElCESh)H;O zI8=wq$;Igv%DjI+n^i3ulY>{1(yHL7O<38sVE0n2mXY;sqe;tL=ZuDOFR2l~g@cB8**287dEXLWYFB>@_cZ zU070H6Mo}lxuzkSnCmCP-BZ^k+_Q{%{BZQiijO_uJs4Z4-Oc`av{7i$yte>ePh`Be=I)Dm1#&B?4aTi2Ng|%f;pDXA&hFD`rAJw? z$;rNaShsz4UamCK(P5u-IuC1G;q(MdwR6NumeU3zTmXm&gHHP@ZmKx53PbFe#89hj zi&3#(`F#Q0hLwfiYnw@_O`Ob0B|m?DI-~z#D|N9pke@6&`#HSGSDa@Yf}kGsUSARZ z`s8XwcXRf6dfJQi4K?`=1N39IjITNk$>4OW(FGG(WWZYEzI)HH)kqlj5m~=_%<6j1 zDBL{h8cgX%+w4KQ^buvS?96oC_Za8pIpDrRLL8*Ti*(B&% z%`q_D!V&LOMdGDx#63#6q9U-i0fS1zHJ4glit}XCI;8mz(^vageBVe*FB~?JS%W{27 zfCc;2GiopA*~O)6N#4_EZZtB?q8KkO# za1NjLk&_RLGdMo&@H@H>-q4pTD~i%13yUNnAzxaclfG7iQt55pUL44 zUS4mN8!R~vszB!Hso~Wjt|eLb^cAg3+!^O2-PGqKoafj;r-y&(QI@xr~P^{V`h}z^+QZ_JK%}=IFU7z)V1~uJy)M+j@WNJe^6|N$PN*L#RT@r zRnH3WZ>xkAXbyj#yesXDoJ%t?ru(env6Z5|q-ZB3npvn2RFz7A|18;>yWTfXIlVvd zWA2*Si?JW;`_o&ise_{aRC9G-rzoP~=VI?-s#gZ<^7s;JQR`7BWZ~qh#op66ws15s z4TTfguZfdxL}ZC-WeVHiRr&n%Pp8m&_P51`lGUS}b<2OXBT3aaxD>Eo9XSW>h})4j zpYUcGR4RJm6$QC&wx6sg0EoNPoC1nuSM6tI+5B$5Rl>PQa-ZlkJRXGpv?9;qU%hV& zk%TWugNBG!n>?p@4Sy7uX^V*v6gDRVB{Kg>IPxQIXgxiWKVsshTtD&Qj|w5uc-Ui( z)-CI(69Rurn$3}e6N^7zC)A-K4X>6jA##ztN9B=0YIUi*(aES6hOmTPdwh6@N<{RzF^YnX%7x zIBDfo3t>bpiz6U+D9t>Ig;{?d#y^N?^r|wunc{!Vx6Na&Sx}4{t1H~q#70Jn3tQ0f zM>!_*xl{HXQ)mQ9MhI_v>$g0TGNJjTAMZv-_Tve7Q8`Esx_O6MZ`ekR$V9FmO9 zRb!S;mp=}n{eZ5^a)!KMd$6%%L~83(?-hGr2+UY8fm|Yi(wV#w$ijlGgnqkEF{lQ0cpl75`TB%wM&xBfj2jH>^;icSW6yNMME#aqra3aTn!gg`swt_k&b$&~l5L z1FNm-5K8O@UJ64(x32Jeh-F+lA`E|{v@v5b%E+henLDiNFd4NVgMdsQmL%#N0*qH9 zfMlpd-NBFc(ca761%c`SYWn4Epxcr4o6exH@cr05t-g8~$&s@hb2gmV{Cp}4XB6$s zRmv4ws|y@{BsFr)zFyId(-_a~YYJul^8H&ok(0%ts*i~{ZH)T#o$Y?Qt%-l?>HJwX ziT#8Z=#isd#J#!i=0*&~Qtrj_+LgI5a`9 zpSSa%OYSW5R{iK2uK1Qrt@|P`ONA*1rnh%EpD%y(e>mBg?5*!r?o8R+>SwFxP!OvY zDnmfG?6-d@=|?hv5~tsyP2VyB5LAI_2WgI;;l{70J(puT^_ngi)TPk zoQS<+Sw0dL+uqL-)0ggdzBY53^qvIegMT3sY8e|4=(WIrWoLy6tDv*AYlz zgIZ}OH>OgI5e_HU>sqjtn>GR6^=6zAHwL1BE#I}bH-|hddFg*1qOO3NsHdH5D*@jD z{|j!nkxSFs-i48`Segtz<+t&;#9z(H9m4evXLPAJgO?lBUMpjl+>8np75n&S30O8D zjpYWy#K%mr#5+VRqmacGa7Fui7gL~q3x6;|J zL1kzVM#nMPQS2K#lV^b8cg_{P}M4=0HU)MCjY^90a}J*+mWjyElw7Ubo!cZ!m( z>AQ%*_pWu;eD1XNO``E%pxJ{8i>!529!%L;-**lLgeSZ?tedCrYwwhQoA*&;ejw~w z9Oj)9!YPOal%h|DyNN}|5O!+Dz3*IE#rI{&ZqPdT-XUbZDtYnZ(?R~RG}rie#e+TR zkaRC4E17>H1aO<~RZdFVyPW-ZwiwI&bI zU^vDvQ(h1U8orTOUp%apSm3K!UJJcyBJIb*N+{mY;XD|N)DtB;JPB5HRXPt^!eptK zW%PeD`xZ!ujHQ%P|NcRoFEVV>k7J)o{DY54gC=(NPUe)u04LHKu9%pxpND$4S1XTF z^K0e(3A5dRnE(q6Ve>m&T6|7F9P;0S~gIP z;XBd2t}C#u-F)aJxWgwaF^9R-oF(b2O9y|saUnj@=^6amTS7FKM)4!>b;!ez}KJbM?C{i?LCFHUylD@lv2yd}ysm$hi2iHG|fhgzbt9O-{& zjb;|d#>4)rp!-e(X^2fT@((0ox$#(){NDVB!n>y`L#{tu{9acgM<*XVhP>N@-QDwW zOZ(6Qkq{r35_3|2*=r_|4oa=m=H+{)st|d?wXi5JekpbiAfb(}wi@&w7J~4Pb3){> zf=XFU+zQV%D^e2Vedn^8iaPK~yd8g74(nWi=*M`eWw|_^XU7Rx#A*xQx0;xU@5W_# z?L?dPlNCfml;X04C5c4af#!Emstxm%N)LzUqEJ}w9d}8GcLev=wtNVOBa=DxV_Rk;GAl)f+8B=LGqO0JA zCT4RcJL=kLKCaaw8EaDVKS3#@z6&Tl{E5IhWB8~MlNz4dy(iC*v}|+^vlx@8wN` zMa5SOC&^>cvG5AeTqL?P#$503@^9uvHM{*%eX`tH@6c)QJnva)^i_h z2m^BBnNawFH7a?>t-XH%ouZGI{l0F-pb=JbM4es1TpUcHX@MmTwC{HHVR~hl#j28L zlDtauZ=8FcQ&&P4(KowYH@tVbNWbN2vyxnw`=t0KYOf*AJ)K^U^E^f#VNFH#Oj*fd zJ)$9E4%T{wl!KO!1W#+7o#~IfYXt31d<|Oop)?OVzT>bXmOX!X;zcg6ZFBP;+DC=r zb-PkbEu8}#qP9J*#>`s@aR%JDqqA1C&TWiuh#kyaEoE4j3$N z+yjWa%q^?mHm$I}*Ii}vZhgWwQ0D$p9kmgG7v7gX*Rl~ipYfc>?`3_!7;`=VT7Edb z{xYgu?RWPqrRIO-R4Xy87;4LF)`Odf&2)9_yG3=Sutcax4UOEeI#EU3e;1c`8JEAW z!&J1Dp=m^*fi^wvwm#6e#D!HJa>rma!j0sT=C3vl0MH$XG%xhWUG~~{#U}I||JwS#Ti)0tqhq!9Am*klw55#5O z)mZFQK`KW&QPBSwXhK>hq_j=Y<+EssDt%h*6*zysvBx15zONb#H~n*W~hIy=rBpGa;sS5-(RGOxB%Jt<7A?TMiL?lo_e6SN7#K< zo;KB43Q4@Z57z-_8fkkDrMXko=(bRJq?m)3TZD^|VD~O2h^YQ+s`&a!0Sfs>C?A*g zTl;@F49{Z^{hv9?`v*)D?$g1rN7&!L$OATIiOFis69g+Eezd7WPBu-uwL67cd<}(( zmeq2DcE20?c)^8tVyVsrZE0k8^-9t%w7BhOrE}^Rhg}P)**Rt8!&A!R0PofNwQlc9 z9x9EFXMZGdmV<1A3&bSNK%a>9d9vsa)(C%%u^aGV5c8VwxTb<5LIAVLwnnTi^&=i- zMFDDPg%&R=k-)`D_&1G$-fx0x7v9L6#`ag;?Ce}pk37ySyS-23KbUIjdy1ar#T^wi z>KHzcslZWhpeSW;J45HI-Fxq1yKFYDY3<;y%=(q6bbvbed(tV3ILSB$F|5ZCjXQq? zwwu^H6{rsk6L4EGM6PB2(XHhb!lL}ooh5J~IhUno6wHO`nequy)q@L;`8*j1?&@57 za^37**^FIKH7(D2pK@Ty-)6DAoYZ#KJsnzTRKLMTToeIplla8Mg5GtN!FT&y(v2QT z%3|COY_7?#+c!YdG0w2*Jp>u0Zc7(NY<&78s>N_eBME9WTlP=wk?pCr43c!S(LRi;JW$oNbI+)K7BP8*LWUy5C6tlhlOG$q_JI1j? z8+Dbys4l&0`3=(44F(RjPH5Yg7&1(`)MBEwR@4>|--?Z*@Oks0DqaL^`f!E82??S4 zQ1&s+%=>VXfp^+7A|J_axisu5(Xb*P^Le2wp7JkkUD*-v4fU^ZRtV+uu9_Y~cDJE> z1}ZnGn}8}lClw1Fo-T4K<3@jtKAve*g_p;e_wN@pqeVH&6Qp4q&p)&B*PcSJPp45U z(ALO0)`6v<&5MGQ)o&5uWvM@{`IcOrkaD1GR&8lOk! zf{v7EOx%aU5sH2Nc!)2lOHFI3t1Gi6&88m24)!IW9^DtC+H%sb_o61F3#@M@epWMK zOouHEf7H;t@`&mmST??X8^MEWviR^7j#MuUZS?*7*y&}b_)Shf^E!%? z)IP0^+=Tp0TSWb~0l5s23{+$>Bp*~*JG@n8c?gN8#-<(5L6Z{Atswf)FW#%d7g&82 zTn-To;U}?cjlmB|3AYP)Czw*Z78qGgog;TC>g0k zztFVQ#woyfimV~Vp%IN;lDt2U`eqHwyTlSxuh~&XOSYa?wm4Q- z@;TpXSIwoExAQ0FQ|%o#eD#f$^grU%5TK{L)&HoDQv0~lSa6gQO}y>;Sudsp6Zw5Q z*9Xjm57-ZSnb#ZYVZ(f7MS_Ccay;5fOE-p+r6K3G>HBx_nq7(IXm+A6yN#lW7@X^U z14sAeAJ2dGNZrEdU%GK8qS;>>?>QI@b|B(zmvIC=z3pgN)0LrkOw}3RIJ8VhruxIm zjVP(Oh&bB$WJM3m?LVwimRO41nvSW&e{n})J?uI^=r`6*yuS7S=}_!GBjh%Qo<_GU zAPH=rNq!WQL;RQqaQzg7kQR>Da!*lKpldy;?YqEGsH@j|7*6G(_n48R ztgr^9*csZ$8RoR>y@Qqo8qgPx7D>=me=tcuZOErCs;R$1M;QH1Q@u^O{8rbx(s za+ZH!@|9o^w(UxJHhnTIefvQn8&YBVc12yLOD3IYKbyOaY?y$Oqgz6C!Mq@SxKp>z zp&eFy3=v108Q*w&YQ6bV*lEeO`0#Xb^I&gA82RA6Tetv0@2uxwLGFQ<`c}WeH-Vo= zByUO4U6B$L8?Br@F6Pyh@MT-XXtFIIV#qAE-`}{zqbumh1&-tuNKVe+z zrG>86OAoKl-9`ntHxlLD*s94;`x94}j;Aw3X*n>{riowBqvf$*BPb+o1c~*!$isg+ zv%b(oDZp8lOUEj^=K2y^pfxOoo9NzMZ{jqyx>72giKn)Ov7~6Q_0BF7kK?HKOv$`u zG}U$bMim)LLzha3iTI)Z4S3S#EPiK5)bF^&)O&$$8 zR$ySVPVSOk-1~ql)LRL}+~L$Y`u2aafuL=vNE=sm7&Uf38%TKn%O-VBfc=4C=SdBy z*$(ev2cgXItDc*p7cj_3nyf{)@v76r-dt7oO#&??4n|#cHXr`UYt(^`WD+KC5{^$! z%TZ@lVka|?I#%wH8@?XA+sHk7mbuIB1OY0qKdpOuaD-~8x99Oc=au8Vx^sW~#*Tm2 z>!nv8=;XOB;Do5w-ZorzZUl&%N?heM4)>iO1kS^ZmRXsN&G+)d(4~C&U&O zpZz-M?kiu7?8`%y$lp5}c`|w~p0gh3k0q)u4RXW_QLuW&%i(t58EFSyger+#0#FElZBN z1DJ(2SIc{Q;k5JBcxxQi1+){hUh%SGLqN!w`z=u$z zrwi(=@0`o5ae92dJg6Ssl|;%^Qs9$v2DCsi&yuiMJ_n{G^1isub8 z8A0*f&2x7%FOl5+Xk&MmuwZ+QKwLTGrUdACZPTkE(Pod6C{-f?x7U#<5ae&G{Y^-^ z#QV+pe3@;k{vIlf*4lsi(9;j0IK=Ecx3bdv#1ehhg|y}w`%dMGy9Mfi<(e#4r-Cy` zLB|2|Vhi=uDcM7BikhkVNSjkFQCL=Hzwnny&SM=!9#f<`gEz(a8L+GwADE)(ha(mE zr?D!+41N@R>As{(!+Jwbo%=1SEqP64{*D%lk8uW4QPaFYM$dl(Pu|o@oiT!$ZC6eG9egG?fvGF(xdI+YTgh@ zS#Pl6jfSsR+pgRS(+G_iK!XcsALfl@N=kXgQS(xzT6`bPMR5T8$A6)M!`l( zfB>J0rG*-obHIQ2&CQA19GkDpD3Uno>)I8D&?_^m#Vonc&ieeUttm+wh$sLVt(Kjd zbtd8^FJ%&xIyl}F*xg#Brq}(Pbixa?oJ{c!!*a5g`s53VGx>Or>$S5m;8={WjXR!P8mdEy|YZGJD+p&L^hO zSMRtWzioeWT3??9>?1-}L{`;il?T3}o^ ziaboEjjUtlPmV-uoNxRyJnFO`cf`tT(b9a%67}>DMB$wJ2=R2P8i1>n(y_=OGsGILHb>@hRotwQX0_eY z$z*)=bYF$wF57NI_g(0kld%M0AU1zT*ybyOlA*H>3_swMq-!{%EapT08U`6`ZqIsH zt}q?6r^*nwOy8g?9qpc=8gUoO<0UadJlly(*r>tY%o)D^+ff%@taah&@E=od1~ZG2 z?$M>y8bQF|juZK7PxKdODmfmgGBt!SN460hofg7F(Y0wU`Mil&vjg>+@b!QD1^hD2 zDZ{RWx*hSrYa8I=w92TdGjG9wA!d!b`41p6`(6Wf*$!j9Ax5`-g===~Thwew`4t13 zSG>c(VZ%ITh*Z!hIfY0%v9lU#{`KWoacgsTCrey+JYD*)`GoTQ+%qk=0{nB8RC=hW zSUhXrzwj#sj!rB4FhjQ-@g{%x=l3>G7$G;e52R$4u9KB^m|LL~*L#0}vD`&e$q16} zCB#3;Kpmc-zXuJm*xND_xvRK5;hhi%t9-e2e`{N5_T7`n8sX=M_dU<93^t@=UhIMN zPFQAFid#RE9eG?R=0?AC%q6!GuNUw=2d#;I`KJ7EQ6V*ZmI35+VH1B$Y}o6-C!Bud zq!C3Di9u@p5&HkNb&kEc0NN6+wQJk9ZMVC&ZQHi(zBPAk+qP}n?mfxL`F4N9B$HX0 z%(L7eFc{a%Dr%H$DscaV7=K&tcpUX8McZ`$dcW70?Ho=uBtq1GH(7rz$yw+{l?YorZTLI78r&8~3@QD{Wv3c!c0cfZV0|VU83O5g z4YyW(KVg5#g3moT%0RzCv4=4p zEqdG|&6nGk>>q#qD1tHw{^D$EEA7Q&@{rrfMIf95G+G`mNbHcgVu?kjxgzzLjPP#5 z`j8XYmYE9>LqeF4k-iQttQET)6Ht-*JOs0P|H?MJ@$R*4<&(K#H+4$ZPDIqvPTMbu zVNw)Crx1U+Lg9aPuf~uFM>m>ka-@84P`1tVLuXo2l;rcbQ*5o5nb6`PR|7Lu3xsHw z-%(s=TvdB>I*OWRdGu5eAwLVARorAlKSE7Zg0@z(g0ULg_M==b;($doaMo`SK>QHq zXnGm)cdT^jfggW|jPA(&wIKYNcXdVeq*x1BSBupGRhWNPPwaSZn)%D`*3#M$Zs;Nu z?>sZq_FRYS{=0y;zT1h6hw9Igd@7nIFa9gBDi^gdOHDtc3en&PDUN*8ak?xCLe{+U zrVI(1$hP6oP9!$ddBo@7GQs@ZxMd;5$rKP$=ZP{%>MH8*bKS1AZL){vR|}#w5hA48 z&PS21)y{v5ezB0NIOzC2R->bLS=R;P$?DKyI+bYC%F$KNQ_O4;4GH~8%z1rVM)v94 zNQqf?*hxM>-z%#ocr;5~y&FcG{UGjC9#ukO2IP8wkehL0Pwn84+Gmt%(1;dhUMSP{ zZG0d_4MoCwj0%^Yq3S8_#+mYt*>gcg4g*qLXr@q?^^x2E}P{n6O4cJ5s3 zBvDsUcrO7D5Hxxnq1`0^7`ww&U~?55d4-9za|SxL@jRyeeW{t$*K_8W0JJT4_V1sd zHvGegvmjK!8O1jUKYS7g*Sr5)&Rjn)E=i7FS8PzYBbxD`<)y>M0;a-{51P=mC4h6r zTC;z+>H;hUrap@)+QX*|k({?2`tEw|Bg0QT%u6Q%4TOqLFUBP9R(H~ro#d+f%XKWp zr^sr0fGsv?7>%_ufb^g1%ZMdUN;?DkSXb7Y5i>{|g190l@BI(VYLT2~DNC~w%%T>4 z3&hV?;01R?6NrpSS-K#nEcA5zcq~+MWmEaHiU^SYeu(meZ^7+>~yv35= zT%_)${5QB0FvTqrtnn~9MgnQ@Do*fP$ZP%%P{|i)JNK0Mf_-T?)qitvsg(}W>wkZS ze|g&%hyDz`6iwejZ!S2?44W%N;-(ZgG~))(tbfU@no;3;@7=`%61~tX32R2x*w`ZM zD5QeV6)WWqlUU@si-5%Q%n72N{^hm;WbzCr){cpj8Cf+R zJ<}Q$Mehh{UR}V9Z1fWN(HlB;27rI5X__q^AvMOh<8=Ctr==%XzMDumvOWRtH^V`j zq6kY6j|8qT#dmHFOJbJmC%=VHf@d!GR(4=S!+q8{nvCS2ol$B>TeJQJBfn8E%s+!Q z6(zp9C112vf1I9{DmrNUA2mEdH++urnEPyqbXSp*F|^IK?vfRRgcGQ1!#aQF1rc(n zTFIpk;`pQUk=s940KhsF8#-%f7T*5kRX-Y;;8AGjk%RW^2%I)rhf6lm(zS0k9K+GS z``c!%9b?kNf5oOLX5eUcl|bM{!2Bep_V`r&$)$J-1M@r;qrYhZhc|l_lE2OKaU_D; zB3zmhq>#q@fWMI9OIFe3Oxu6-)!3*yD+0xTVns~%yQeX1D|E^ZXWmO1EYunQ1Ps25 z&hp}Jt`vkSBc`-2Y|=VeAAbK6uMUSC7881RRpR_t0@&+Ik%N5~*LPV-)rGj6|nX&p4^&E7Z z(07XqBTDRlO?jxO{p)}2yM*DOZ#^p`zyEsQ(TVIpi0I(y<0FtX`}CvfTGPoy1dxoO zOf!0Hc0waum$2pO>RBxD++A~VGjQzyBg-N#DY3>MF-JkX;k}WMt-QH)FwqO>ko-~( z>fbERInpJ_W+n9gCsX(G(W=(IqC5G9zKTru6$a3g)97YmK=84w$lx@>%{SK@15iUp-WC*0Y*~ z*FIA}Tlyo|w?dfsvFTPY^Bl3uOdx>(;{|ma#=79Oea9FgWV21FR;2}s9NFmnvI8p8 zK@o70E3fakT(5tAa~G)f%()bMc80vhG4EP&Nm!%|T@VwZOCS_XPPUfZ zErX;QSC%XXO=-8{~NV z1J6TZ^TdQS;N&v7dKVXIe|Vg6I%L`14e5q#H-of<8YH>1?hoXf{WltaB?UrPJlDof zzP-N(Yx4&DBPcgC;{)D-a&W6kxn0~;EL&R24l^^0{Wd;!MVO7}qk* zJH0zEIzBVm<&reta+ck^w_X$aE0|N;H2a88K~_O|(Cg+u5#l0ipS{ArY=* z%1gKPi-Twr82^BJ-CShMS{TRH4{qFKoUIMrSWTJe0b`eWev$!Ru=hzYMt4wED!sdnGoq7&ABZn0^_kqC2OV{56x(cWV>WX z>-{&H+8h%^dMbbyS6JNz#>?|7?^0+?sc(NwrsA8q!qFI*5&Iu2klc+L+J+`jNgQj#T%0Lu*vuJ33 zt}aUe;%H+h&fQv<-(Z@`3ZZMY%Hyxzn<6W2RpTp3!7MD$Ca%?3Y=?1sjFz~-yL5lM zYA$F9XBOe$yuu#PADje7zypXx?HR=cuxp&|@#!y^n6y+YR>xS3Q3#~FhM_|=)HBw3Tf%}?S%E9p9yWQQI(hsZ?QHn zXIUJ2DIA8lYmq6%c`!OhThP6U(}Z65lcdk83H&5nyj_g#F+#AX52ZEuq}+d5R4?!P zlaU=VPad&)Y$Co^U$+b@GL@S?%BM%f@=K|-P-Lm9k|WcGO$af#+4g8tlOT|mf|l^a z%})%;UkQjHZx3(uNMq2!Nk?pXqNG~xO6YIwvdOkzH9nHCE%8O1QnuiWm|MWd5t5Lt zhP0)I)?xR7EYM5k89h-6{c3;o;H!Kxx#=+duYlV`z>%BSj;GX#k|IGtonPcfN@wS? zf1T-J`%TcfNo`TWervl~krvI=jay`=PqL1v`{V4B9-K232o^x;z}RAhiIiFa2d6!X z?Ua@Z9tuU)jR&pMnuf;*|DSy^DPj)$dB+CqZcxoKcZ3stSY*TumRX4rv-Ug(_`jHhW}qroZi*fXILz|hbFkhw~i*i&>4%Gd_-GTA4j2AH){d&F}{8D-V|z4@X}y>h(cO-CpmDJ`3|K&z@-zf z70DU_I#DZ}R>*&G?67i)+}Uv+wweq&A;`-xxoTq0WKV5U{$$A&7abBlte~*H3qw73 zRJ>$%Gimu$?-tR3ELbqffCoWUONQUwkDkM*G(m_)Hsf|rYm8u4Mp`ttq^e7(5eJkg zc~YX?4Ar7S(Z#*hL=O}MhU`^+9XYP+%4cDG8cuy74D5f|>`Og%zCD5qpMB%Cye;Sl zpjZmNjQ%KEn$*K!b^%){XH%3n>Q3woDHTjsa9A|tT)7`kebm^(pzA!jR{FJKG|$@akjjC_xN*V zd2o&gbEfn5O0O3KzpJW|i3ef)5tl{ z=q`vD?NF~D$2*c=rk)=&Ow}6Hq~lk@1*AHw znv2QmPE9|=0Njagg(#SZR@a|&gXK7!J~E^~w!GMzzg{?r#EDXA=!>}p;ikn9ly5n( zNjpZKFQN9@4>t!1A~i_KzyxO9)1Xu%Pv{Bm2VHvnh9cMl&{Pu;JeN2$TUF}yA_Cu!;Rxp3z z$gcGs91xksraq;+>h4q!b)8-4Ia-6QX=FZlLLGPk5*0b-%KM*$SN-GcS?q7Am}-_3 zE`H9NaNL$uV-C4c?oY5ecRudlT{nGAK*P%CsL8Zt&~+*LnEWKeUzID1y>_^A)d=kz z-Au{n8e}N35`2^2cif!bMODraD%QlduiulF8%U$n8yGjM83zC0Jhl{P^ z=ZOQ+@Ba?%NLew4n6Hjf)CU6foCs59!fW~weHnM2S?Dw2d|0wbPwqJ>JESuTtcSPmR5c zSsd)Up_s?@|gttD<0OuHvZQGB-HYt*S3h`>e zX@Cq5MM!WyM5rop?<4kR#x(orJPOnxjNu;Z?tsK|9k(AyW#YqC>TuzI9qKww#~b>TQMGfK4Qg^-6} z?2D_G6KN3Q7_puk$g^zXoyD_%eAZR#;e=(2_LQMNLH6@dG|4#km za)Mfx_2jfb^5?0;g!1jO87P3pmL|%1NRtVV9g!u{q z{5hq-(wu4m&&<&w{hqL|1y|XMSgJ5uZVXj7%=Wn?Zd^vkN7_kIbS(vcJIxse+*51v zrO@_gy^9HqL+tna&J3?ts%sYR<2NgkTn{s1)uhMb=u6V)PTOQ-=Z!1&JJE;s+w&Eo z+RlO^kr=tc6<09CFv1W&-6FBD`^)SmG?s1OT1(Fx--RfgAWX79{8+eHXMGnL38K&7 zL$p>k(;brevbne^*r4!#R`7*f^)_KV)2?^9)vD>ng9DBkxeARvTllkyhQ*4%;fq@j zqoV-%Gp(h>s4pC(vaNtTyc~I$e6RDr0K{f6z$dX( zEbniKtT#pnIZ^S)N6qYXN)&QO-viptR_|8hV&uTck-B0qqZ>GX35Ok94ta!Hpgi`J zw7<8yN{|06@NM3ElwSz>{km9U2-(Hn}<{NusLlUZiW0^1oM{PppMl}lS0MmL6k^cUWX}G=|9g2F}oGI zmL`ti9ReL%Z#1Phjc2 zT=UrHLb*}3LD5dW@P_~-gY__&rUK^A z$M}}Us$|@MRCyJiYIaUiaF3EOCzK4A+{D_-FirVFIrQ+MawUwa731eE@a+VBonZEe z&(q8hKix(n&`-lh655>oJneF*MWhUn>>97=VSB*G*LCAlyqBc&UW431TJNqwW#38X-DNFB*u=DhL|9Ko*a^p>4YM7F&CT{8Z)4cue*Zk zt=ZDgYE&DJL}Xzi9D~9IR>SP|J?Ob;zD-lM1piUP;0O6QGkRL7^or6s#D0pxO8Uz6 zYimS8o^0_G>YQluShWPyU^O=_G$JdGAZ*d4HmmFdo9!6~(;iYClp0aYsUD5RI$8nC zb3&+pq!yE2K7VdBrK-+7e5)u?)sDjE2ukAK0pBLC!Q$;W&F{-5QWZ814So2Pf@GD9 zT6ko@AhzK%fNUF~0$oJE1dKZ&^VDN-_3f6SiECUBSBD8#_e}n#lf$tNg+goXKkOV# zFWaC#yVbndg>~3VXy<^{PEy1-;BiHQIW!V~!mAl)YNmQAIwbTYEnN?q&BL0&)7%s) zTGaV1-q1gU3~cPhv759m6AVgbG;lItKduh}*-WPl-X%+zn&3_u0$sWSR(TkI@QoOz z3Wvq%|IrZYE_~Xm_$@ALf(td#X9a;OB3_4YY3LfJzkRt;1~f-0-LXyzzYz*=NC{eh z1Jxg1d8c^jOVQ7ZCqWSP)WTh;+oiKY%08v%m&F(bLMPloEy=z0BgunXO1H&eP z(DyZy9dAT+P+FLVlDA4weASygpn|_gSJV?z8E;lh&N&V`;9myHLm2C4YadY9TbVIH z<9^aMcA?n9RCv9pCa0ApcUjBp(fJL3QJf6hUxv%QpvRc|H7Q+O|N5$sX${UOp0S0( z8_p}g2etTnJ3l%NnC~rld{=C7ejmpKDGtwlytMEmodZlH6M6R2y};6LsE^Aa0?Gt` zArN8zlS_{4XP~u-@rSrRN|`1h@Y~@?dO9}hDk?=Su#y2`0#lPzShkvkt5Fnx=j2kd z`m!mzGcb-}Slndqvlq1d{9|k6N4i8ixZN%WE7)%m;?x#}F|}ie{r5#Bcr`>5_Ik|~ z6u0Y6nCX~U!(pUQd53vI_KjZ_cyZMls#;ZPv1}AbG-=~Oxd11b?RDumjhg+zBQfkeA+vgoT zOvvF&e3Om33^M{3Xjm0=vfIR)7#f%w%hQYxg$B6eH4~PWN15&W|G4C6_>}2QZ$`Mx z0(|-|hmj|koSh(Gs_H9zeGN6w){znK8yT?eW5EUJ8$Y5ShF5Nn8@hHe6+IB62jOvt z1{G0vP9U9Sp%Dk+4lHPYCy5PI^5<=~TO6k}du*eVb+K7(v^{2?QH31;&2Ztotf`0` zra;-_ow(#Z4%~T7>*`;$wu}^X%h|^nHna^`;s1J4GUqf4J(2Vzt~ip6 zBlsep6ixYyibnP4gA>+~5f)Zjs(5&j8qSIn5DR%FpPtoXNc@w30a3f>v1gGw>EK#- zwdf3NU!c+!Jr`llGh@wD3)_3jH?pRjK|I0RqV-RvNazm&TVu&v6T`e#;pmZ29lyZ))jhaaZK#IEU$BjRXnCfnj;4XY(Hq z`E`=qOA5{)?2t$itF_vO0L?^x5IYq5NVB13&p%ZW7Z_3MJpe+#b}M=t;`GZfwd35N zwYIhO!SgTzG|YufqZr=Ixyvd9AdGd4aP6fhQabdtxrt(b2aommkmw;-tS5ELybm*@ zeTXvPCF1|?)omd#gK>kGkHi^;Z*E9ylZyjGlVfrm0AH65w96pi`jLB-O9|o=SRJAoUiwFfkbXc9N$?kAE zqkm77<-WGXRuw>S^EO7&So{J;IA?#Hs@;Jlg*wcCVZqK-+L&2nO2Nz@uBz?j7CZW zDN=BZ_MxWzgOmAdSv5Dlo*Ax|(?Im9x5${%#0IP9ow>~~6nBl(Fk`fME@<*5AC_&t zt)eG?T!3lmnS5)1S>|oAn*nOOtn}$-q-CLP3X~W=5+0nuhD2qgJMsPi&YJP_8xiN- z*#VE(DKo$tP=epbRjXSPqb!V<7DI|FX?0tjtDKOG?cZ+W>K0jol2>1}n!#z5jLE_U zAT0aXPVVL%fLuef@{0K<+chRExWT7D7~*IB#WTzv@pYtmof+`iYrT$TD$Mbxi!1pxO2UrC_+Y^@ zbKz-&>@vEVVSo%q0r z^NhKn#fm+jiD%9SV$Ci(Qb%aQvp0f)!fe1%Pt&MZuAdpkGtQ!u7kUa*JYKk@x12{$op@j+Evn2L` z+-MrymCbpOwCX1M@lGK}Pe62kd7YA$=yc~+-040qEZjN>s;D)^Q>FvzSJE~JtU|M1 zpA~IvX+-d_D8_Ymp*6sCki5wU_f3FIEm?Sa%j+qSchvCFq5?!7EgVz(06-zgRVRQ`99;IEh-QwvO3`tM0ki z^Ysd)H_LX-$LiVFEG_u-XMZ=GI$aGDk6fVYQ|^ZI%Z*s;mkN~V0etfQLg;n=$1*vz z1-9Yh9o-%vBWiI*JLpY+R1&?xzb&*i&qDI7k8jF3#G8Hx67+m3sjZpASF=@v>R0dB zTsQ%$*I_VKl#(b78QXY%FOn^Jmb@evlF~SK_9*34WMB_?$+TrOVA$iws^}8wFh9uj z3^N!YNaA^}8ePEt$NiA>#h=UatYwIpLBBs&=RZm}oS-}y{3C{cbf`k9f&^|Bp3D>4f@-VgPhU(VQh>TzEz5*ark!ka#CO{iK7`-RfyW&x-D_l#pK-4Cg%sKYBPd3sH}vHqog&Qvv|Hg3S&w z=!U`ZXn}6O7$YlxHg58#|NC4Qce}HI*YgWe=g@kV<~;ndh!NDAiUCzB2-(OaiIlup zeUV4jcb+Qdi3R#6;t+e%uVssSucVYU1D85&;wYfvp~W{u^$W)2gWPG^o48hUDK&U% z{>1h#L-yLqxm!e3b|qzs(7tnBz&1F-P;F!dYU#aU%$B=%j0a4(7VH7dJU#ZFwGjV|KBwX6Dmw zDTDwZkS3RZ%DQUUG};bWms_4jKUcaC+GH{2wr;<{3z?C0lM7)%i4xtYN#z)7h=giD zE^H{y$BOQuPVQEC{2LH#f8X=W;uyHc$D3a=o(`*Jg7EDb@Cr{cgC-9g?j(OJZ!w#uPf9lU#z6_&WP; zjb1f>7N^a{Ka);Ati4;aa@o?~)!15HXCGWhWt}sAN7WpU5HlaB^}3pBUF6?iA95%c z%9Rj9hOBitgt|7^`G*TOYL^=uB4$$g`_gsN?WI|6t2$9|;MG$6)|Em)3#Lo--Al|b z5}|-(sgh~;<0JNu#$=qz#(CJe)hq=hX@0zaV+0Nyp%jCj*oBl33?|eSPOZ6@o~dqA zUCn}AxGwdc>}~FxdV?gXDG&dUE5b0Yp1mGC^mLl;{Bb+m*Mi-0_B8XXseo3>Rxilg zG(rOHaZK-UbP5==FPC>zAij?gP6~!#<0kgux_kfWEEY1?tQ-ycDKxB_ERtnvyLLr? z!$#7VpB_yqApeFrRj-IeBVf7z_RIWwiOC_JGn7bqBxM};5(Zx+RgW1RU|ckFlZ69k zIPEGi4xpHV3lE44k!k2rMctmP8)Ww-GYOfVkw@L+K$L{v>5dY!ole40hB_h@7OT!h zbEluK!4__zx5^Y(voJ*S*ptf5;o#+oX`cx%$?wFGN)txX+QLp5zKJuptJjlgrPHL z^J`?lbBJ4DLFK+ehIV+!|Nhy|t+hcHjGp6#@+7+WZjM0H3#E@)-BHW8^+4BuoHzet z`a8$_wBRr>0y-zZYfJ%V1V0(Ng5vvg!XgU9Bk3B(0)Qx4mHv?94_;^=$rdO;MV^zN z=mJ<$n-{lWrM(Vb*Kyabg%6z#2xK@u(c(I*X$la+*rZ zq+s(});z&;RMk$Vo}=%o8JX;VN=WnZE32nLA6D11VQ`fqwR^wkXGHHw%*L-&LH<7S zHH>gt)tjqI!tQ0UrnBXwhgdO;enwooO>662@GnhCp)Kw-8)5BKEvjhGCMPWSePW5(y8g0 zo9A+-SA9zbp>tNIQ8d)hjf)BFc2))m(f(dEXz5gv4PLD!19kAXoG(aH6+SI-U-UMpzs}oKI;BoY* z9uMhRD@0up9h&*;&Zi-NuVaYXK|NoMHtvc44)8Vsc%+H7=HCA$)91>uW22gsWlTz1=jY8(Hu-YL%7e zS%qKVCe&ZPxHB$4ldLdIqPjd z-r>8}B0FUs1yCPJP4mpLGR8Vn!2S(yZB%zJeip&R2GAA)3N1MxHo3h|+Tnt!b<&kP8%LlE?adO&8* zgCo1x=`!qE@V???OxX{I2z>`=f@cR~_9 zNE^2bWKwJAMi%Li*3Rg^k1r5pU*g8PG5;-ikOBLD$IMYMB!lN%r_9MM?}y@RkbH$( zu8)@aX(q)OZDf%ds$qp&!&MCLRmkn#*3hMd$op^l2)+K2CjDna+MsQ2fF$Ub9~X^b zej6KURmj2$*ppDR>ziT-b=ALISivXNW8RJp8PlG{;@{F84E@sIUrpYFwSE%4Gh&7( zytc1@lM|OAJMs>TLWi~kV$Ob;??K|Q^I}W-iXcjz9go(7j7wxj9T3%;%kA}B`=P3S z8{&x*Mf&5EuYu!)lR^BxiFxmR2#I;sCH@|d#~61Quhs8!TKwKYfEM6a?26XIj1`Ev za_%{a@G~ELfIUYW-#;deK&Jp1lp&O*bH5IMx)#YKjeg>EaaP{@-(e`1vKx2U{38yR z8etm^Ga&G*S@)S%y{I#uM7^r#6eCoy68WXAW9PkURh;J!x=k=Y*4^P)e2k28_B$_{ z&hE@u=gbU|2T>OA6qhRKK@25YxOW_d*IH~al^IQ8^V_(G%nFu&BF z9aBEU$?~5OT)r2oYQOV6Hn3V`3sfARlpRj&`_h8FR#o>J*bt7btNocr=wl1<(I4(W z#%!z1xZq=UMfNIwNY6w0a;b=^r)(y%U(NZ#UUXZk0t<9o&$w9{4^=d_8{LwB^oc%6 zNG4@G1#7qmPGNUN;~yz=Db=+e5q5y{ba!mx?k{xu_$YYoNrG*I3S3R#zCSidZmcue z;SY`f2`NW`_VQQ|`2Gp1N|74s>n^yS*HLdS{nO@?e2z1gTf6d#W!hkD5K+xX_a-(w zQ7q@>w1<(ce>VpQD6>2@e*@{)-qRt5v@Uh_h&>{9ghsnSWXzU_K7t6 zhxfl3=k_(9zAjV;5OB-@3{UG z+AJo){DNqTR-H=z$nNGcp`YF2WCDani#}2YQCFhewNk`#ig+j-I`htd2tNtiwl=ru z<+!(rr9i?H$i??yh=aXm5HGgTQpsN`%FIKxeI06wzlBn^y~M*Z6FM^06i6R>yV8d+ zr=!jY-T*~=F<493JGFeunOZGT9|0+&KV3_rSj&?5HnO&40yMBUkd%wHch zB=6Y)Qenc>BxEsRu9sRZa5;t3Ei_~yBa5QK?;c%5>@-hnpB&I2aU*iVZi6(9A~PzX z_uH{p_c=N)c|`*W4Qrji+70WqTCXguYCTw3mZ0Iztcj(=PyTCvJctAc1^et-Bi^VA z5A#BqU?Rh_mbz1E={QtOnHRJ2gaJYsok33{b#8%4{LL`3X17Z>sZhTIIyvqse*sPG z)g;#Y4?Uz9PXKE(l%Plz2t~IUZuo6g2TVH)vdoO<9GCt0 zdzqzN3}+{}Z7^KpF2hgTY!}Ny_@g(DwxBnu6Zg`04ocY9Xb013?!H52N-+K$(leOn zVfbk7g@g)CV9l2?i&W$byXj(Q4=da+Dh>oj0IC%DbNDiUeDuk~;4|?LyJYRU1f0vg z4co8|+0dDGQ;XPr5y*L&+cePkR}Gj$SJ+y2s;f`-hgbVZ8z|!*%`yeq@~~J2Sb~dj zW!d>E5aF||iX1@RU?SEvJpKs%K2knF+};k>WxmTqg^NkXB4?rs0}Kjtpoq9I*rlaR zl+K2&c{~+=N8^NxTnceV1l8(jPrgj4NDxKnQ?_f#m#pO%Rn)Ys&yex0p_nno*9AYI z<711FW2Lz;k{uzafo2bZNSTyr>7J2#7BkY;ayWFke0LGpuO;k#tq!4cwB5oT{3`mh z6tUaSSyCyR(e|Wh6CaFJq{UQt9H3EfNCH6xz9bcYe;`K<*E+qf(@)lkY4=9AXHo5E zgOoV$LC_)DCg{o574j_9w+m82UK&C2ml#~#JyjmHt_68?^ymF*Rv<>(BQ4_tcfyUc zM|kPYFwXHi&Zh&(y0(?N?k^W`(b;!N6S7W{atKDlZUSZMjS9~Em1&)X`y6%O4qsIP z1mV+v8GeEP?U?rezE^yE9Aw!m%X%~NOxx~*|cxE6fP5xAgxX*Ddc*#s76sm7gB7L{S>r z0k`%g*w1<63RfkbQQ>Wp>w5mPhpgaw=QY$JRnewhum$n`4E$`xYasQ0uS9kiAy2S> zd7$XWdL?yC{3UCbi=yjy3mnTD(1Rt_*B~Y{F29kHPZQ zOR$w1RMg0qFMV;xYSF9Yl$tQLQLuC%!vPp!w2?a!WrWX)2_nu6lh+uJKS~v(t4C7R8_} zIZnXTGOPtiIFsfkE(`!hH1BJ5q6;|$Or(3tx|(QtxH-`XO`>YU)w`_cpKKUwltlp8 z!p-(U?%uPI3HpQf73WQk+oolTo^`=Cw)!>{PzaRK`=)Z3lODf) zLJBXhWdAUSXn$rowY;=A)RP`F`wJ%IQQp`UKn`i6=6=Q%1++65Z6J%^Dxdg5SS+DRYD57umdbGF|^H$*6fEsNIOVAb~R zE65iMiPm83QfQ^khx z_cCTzZ6{=+$kaK(Wt1shW;dK?WdSyEuCE-mXtXCC=@ICLkow2Mk+Jtb!xt~(Mh+T` zXKL{l0l%Mre^+n5;ng9&nr?JzzA9diis4^rDVND} zTK}+FQ}V?Ty_E1a;?jbE{wa%w2q61bbT8jYuUW4x0!`j&B~Y#=8YBxTs*e&bg*F6Rz zN$Cf5k*NmSYWmo)vl}Ol_{Di0LYY;6kl*p*uty^DMC)}haBL;W@ttAQW%42inpH6r zS-H9C?gjW7I~`^!(_W4^V+vQoY61-2^)u42?6zYkYcYJ_&TTy0xrE0~hZaC;Yw#f9 z(wJO-baLx@VU z&XF!d8f_^^PJ>GpS|h9AZQqwy6N7rzzp8r|vy{(L{w z8OU|3G;GaT>xrg;p6z*{+cqa_YN5;ATwrp4&f|p2#a}Sf>*(NOA-!=H-@DVpE!vvO z!hzG7Y)u?P{s;&>#ajamZfam4bzUx3`x@M)-mYw}_}O+=R*o#n6pT!jB9B({hV_56 z4v2R%hxS9VSXE!7%qZrO*js0ifR=mAq8x2_SSr~q50-g?f?A@-IKsJ797~49i)mMX zy622LGXW$RkKeU2>3EEy@@xbpcob+At}lzuckcSG!Iez%d~v%&d!?9ymSP43z^@|# zxtQmxBs1JgEt%=xNPA?8!I^WXvCGC9>P_>p_yNOKHLB6Hbl}l55{$r-PCi#(GUh9q zG(kpqs$!z>N_ICJz}H61&7LFSih9$3*B5?3%vp>EQ7X$rEUe@vX|a{q2>*s^V@8>uR${o)2IuB3FjnA8GjLHDFN1EU7B~lwN2_L0Sp5f=HwI{5bX+mu*(u)>fi_@WouT zcn6^gcK_N6fKR~vYSqJ!tk(IyhXtEd-8bp%=uuNa_Egnb3ywKlL_jEB=q}pfv+pvQ z850Wd3M{>U-br`U1+y7eLbtNL*mK`yArQ2bW(=I^6mIkyz2_@xE3BH$Y*xR&XOci+ zR6@L1)DRLrH&nr>Hwo-UqnGi2M1DF(lgd;x87x|FDIFZCKYE_2zyz=d#|`yhgn1|8 zm>Ef=rqJtn#9Qx+=_-2jE;{d7Fb}K+W=QDI0IkuK5a;H_lC&lkl_c;Fz(-Pr#G2)x zKt|RR!4Lq5zC)J6Uji)yCgU!VEjwfoXhq?F#^*jKYhvc!r3{@uPErbgHoD%J1Ria} z8WVGr9JwaVrEP|c^~GBPaUFC-gR36`@+S{Mj6~MbHo+gOv1t(J80IDAd4E7&u>1 zu#GitWqXhvbI=_Fs(`ne7ST$7|Kr-{VL2uN-6w-W;_QT+ z+;+@;n57$Q6svW>%5wXA?&s_Ki)!Mg7;|Zb9t2BN6Rl?r3aX#4+&L9fmjWn^T~Dsi zB!vh+MutvfKTY8zm5jOy?KK-2v>p>eytabcz6CK5r`k~0NrhbWjLQj1M3(XnTvH(N& zj}L^xx3;YdO=PM@-g_j+p~OQEBoH!SC3)nzQo*um;8$dv>K+`dnIBNK4DMmJr#C2F%`nky z7Uaf%cK*IQHV(}VxzsLNCU6%@(*d{KrBe@d0x$=gDYrP4A}wtU{wjF^)F&Rief{pH z4I}>~VRj_@2Omrs+V$CaPR09ib2qkdKsVRBT6J2K+%|j>3)hkI67CgWbfsx?Yi`|G4~nfOTJ^2A+$QVSpBa&|L|Jld zcVS@zElf%x`OP;ooEb`COfwP@#bY;l5G=TbwY%@MbIt=YnBN z6Rw!WmLVdtIKo6k2p#W1ixXiC-Zhd)7IAE8e| zDcOw$3$P&dFGyspVmc+56jvy@-iuj8Ea#Tsb5_I_S0q;Pm{^e0YG6SCRBHf{l87%7 ze+t$B!XgeLX^kxb@(U1)MM@($U^$AV+*2__**J(<@E2Kp4te2*0SaVNDj=(1O$&*# zAZswQ5;(%b%nEvpvtnjIzy&a-U=-tu^F7624X$BkB>@XJpd_nd4G}4jlEDapdXy31 z69U&&@SKpKI1R!wp^P9JL}x;S3S(SXf5b)s7Hk1wdq!i+f_^NnCQ(TiWs?jw9|7A; za*M*knoJ^Pph;L-st7J{U;qV0^cuBG5~e1*;JVRY!Oij0rpn1QJYR3-Ah5kmj(uKtiLXRio{3xCGXW2BL%=U`@f2U*wckbUkoc4}?JNtN@jOQ%cKYtu%-xn!7GEAQ4 zM7n2ty~zvt&%Oi^_QAtZLuh?U{;@|7=KXY>gHyt@hspGPnms-HE-s1p_8Inm&y!)+ zKNvp^Q@FzS=yjfsZov=t=)E5$B~J33%&ya%{0}{#J$guw=sS8$Pw0F4e>?p^&*(?` ziJsF7dP%S7HT_I)=q6A{BSvnr3Uvt-*At3sl&gh)xbU}a6pY(;k(!c)KQF5Gt7~qr< zY@Szp|Ni$zY#+V9xI166f6d=u8%%S*uox-T-^RA?WcviTy<4(48YRFYlK1S%8ZWu{ zxx#|jhK0-Xo6Fmh1@i_85G(ctlZBK1T_nJc)XBm{VNC@Ko`cYmoE2r>bn4d8DeK0@-fMuuU|)xlOej}Rr<6TCbM>KATI4&+|yt&2zRPte+Hsqz>E>=nUN(k zGO7_HSe+Pj!P50gx4WkgG#NiV&XWGOG%uW|>N*cfrqkKvCH=lghBTSYCO;o1`Lk;c z9*054jrSct8hh1se{r6tvuyrt1XR(-WQPA?1jTjJ;^Cs@9`0we{xBUahIuv}zJfA; zWP_B#Vwe=)^eM@+$#_0Y=FfBrSSJJ24lFsq?lc__ zvOcPw0)5lT3?GKIX2}5OrL*+wFnyUX9_MLJ=h-O3Cl}-Fe@8l-C&Pvz#@iU;!^6YT z(M@QGYONhYOem5x2@V=t_BU9e(w$aVGXt;6rA8dZ0kaJv>^4LkTzx+N+zW|_*E=Mn zwELKlVCF?)!~YJ4w4GF(fFr);eCwR1&09*p2<*SI`6SP?ewt6FHS^!fvS-;SEsZ!- zPRzDZ&f!__fByOtDrYjDoaL}n_9nwYR~(ftj>ZB@31MpygokRu?outB#i3fFWe^pe zO2Jg+6YP$+MF?r-IE<<;j!ZpMwGjK-;Ag84dwluf@WZL+=dCyb6&S`?h#^?dMNC%& z1@zR&i8`3k-R4?P<}j5zU6agVT)~7c8BK9RgAKJbe_xv9UA)#EA@G7SDXfy3)ERqW zzv)YVn2d_h{sR;jCLc1??HqIbxT$?)rbmXek>~sij@|}KPO!5?? zRnhQSCN}38Qu%-RoE1hePe+-9Jx_lCfO+;poloU7f1af&&3{h7P!{6>P}HBy(kexz zf2FfYf5UvX%0@olyuaw(l;*?VFdvEj1%+RXC4I!|{>4n-U)Zhu3(BAlD^lJ2e=W&R z!-W3NHeV_!TQt+Nc&n(`yZdl+a9R12gWbW0_3mVf{bmPus_p+9I@F1Gsmh`1?zG;K z{$ZaPFGi1mC3_lgJ=Gi^d$nz;)-7*CeocR*FHoxu+%8b| z29w1j;?ULHy2{;^(oWZglT=c;>IW&)b1>M=?l@aMr(Z+FFPJf zbpr;Oh|U)fU9eh!eohRBQX@~FX35a?P4xg8+%S2?YIv~d=ViBi-uH<$^f}3Ye?nb| z{#>@_5EruHAjNjon!zKoPFAmBYCSYHur*(=pe6cduWA;GhuU)4&&w9n;wZE4y3=hSO)rn9@9hf{!ix_os6K=qbW2Y zQ6R$NO-7`2Rp;|$@(sbmPDp{y1pRd8_n$JRyX2xs4_y5ADTKEtJc${AM6H>QFCNf} zg6aXS=APKtXNs=aaz}Q5mIYU#)oI(|?jIZOU9RYDRJY3-IHKv+eUWHpy+Zh@Wx;l-+eX08lZmCg!Tt{Rao=Lf) zetAgXj}VBGjk5rM61F_0svo#P>0Liv2u{FA9HHJx9GA&0WY&SY=>xH{_4o~6!?jn7 zZ=9S|$BOkWU_-})=!$M8f9RQWCrz)>iHM;W&l${DypPBrdf;0L!Yobti##Pll!Uv$p%VfC9<7?$(Yx=y*^NYIEd7975z4tk-U_M-=;g~bK?77J2i_E?#I*antW&cG2 zUsk2QK832zRRu%~Kn0s^h8NX3uU#$qiLph^U)M>=!b)}WhIiiTmRTGh9snN<4)9^}^cj13iKn*}PqIj4^cu;b%U|zx%e)Kq-&2voH zF`qw6d>aJXqj%XLf1cxOBUeu?C2^l&6qi0vZpNUzL6OyW6v*q4zdO4;xclglyXs;+ zY|(_xSb&??aC6?ojUSDy;I`5BxW62nTwUFVxcNHVs);++e|6kgt}Ss#(Pp^W_P9^Z z&+b2d3UI4+u;V6dG>jVE0c^V&Y`#70!^;ncr&j^&cpYrJjg@T3w%8u_QSa#CUC6ds z16!{6B$z@ScT}SrKcLzOx7;50n{Sz$$hBF!o3J|HYy~%dz_p57ZIAn{my%7`akLJ$ zl6B)2o1xa*f1`fu4dM!Fz6IIQX0YS!VK+}Wn=s7^OvZyf4||n0$1SML_Nbailq;xY z6BV9oEkW7(hQ>?_rd@(uc*3{>NjD)G-T^7HtB`oKL;U)1eg5!p2R3ͧRGD7n`9 zH(%LMbr=U&4Wn6&1Evl34&m$U=;-q9zJ$FNvRus+e>x)<7pq&TYC*h1z-!~{ ziWRG1zYiSEZU%UVD0O@L{^N5U+Th zklmS=f7%T34#Da2_oLIhFUxNS*8o;qq>9moR=h*py1spPcXC)61%9Veeet-0dd2mm z>NE_tANdD`8#~@?Z(}<|z3#7=R}$K7JdbT=7Ho%r*Zn2%3gVT- zMs|B1+iZ7ZI|RJWuXa}e>(%_Qi{i*`XcRjHf4t6b#8&d|RfcuvnTg*6g2Y?40Nx?s zb$_(Af_Q~uA-Yd_^k#^6hZ zf3v&=RZB>_NS@O99zC2a@KdHe=+E#yU-8#l#RMO+0iJ)mk3fiYhgOh%NB-BiU$@Z^ zC5r2R?6imy+D)STBAUBjx0e%TeBTMT+alVzHB@NK{c`{7jv=HK;f5(0i_cbJm%`Zq2d*sGdr^Gl{B*q~p#xHKv zb~+LDMT|#oV!w!UN%(aV7;kmP)p@%uVqGmotc&8rdc|9JY)-85_w_GGV%^y)vEF2@ zm&Drg*DZ#h5bnMTjJAFn7cTLQxF{RtEg6*!^(#xc2!wy-X?#PMOX>28mlhgte=3Nr zS<1W#R0K$6eYo@%iht=^_?+LGbnM;2J9zxI5ee40it(Op{q|wwk{(vF;)+!Fx3F*V z9xsLWez#<$G3MkO57LCB`Y$ZZil~sX;~S=8}OLT5-ur4N|wy@|6##wxPDO8G9MV--;;NHi4015!mB5u#Fwh}Mnffl5T1N_eFbuG{DG zquY@1N+rCZk|;nDnSd-Fs6?#y1zxFyHGH9*)-A%?1Y{M}Os*Xr_yTY91y&KyqV~Dm z=vE|AMRlax$?|K5mQ@0Ce`N7!Em={ek%+IeUv7dmWw=>Ifr5Bw&AhqhQbF8?3gV_t zF}E$Wa2r>n<=WAKf}*HxE>X=Dwa-~rdBehb?K~SoeQmOQ|1%-Lu{&{r1cg~$VbIyCteBbdr&%crL^5GV+ z6%3i@1zyg7^XfeF8joi1{;1H*v%A#FnU|YYtH$%Z(v1uOXacP_%&Y0q)qEDV6aH0U zZ5A%e!u$^v)@5N=7S>)@Sf7Qfv#@SRVMEq>PpwAt>VK)$67w2vSF4b9UcZb* zv{AJ6gsZ_Cw6kdI2-kuEw2NqighF;T7uBN;5b6dS(Av=SGyVA{w05*LgnIBTXnJP- zrCxe}2yHXkDnbp|cC;ZhJ+20OC)xf^aVwLDPF^nD&AF zXqxjL!clMl?HZbf_#nt`pK~5s7vW)W1Wj|U=@|n@(N>}@Cp-qm(FV~pwa38;v~_49 z;Yn}`jdfI!EhfNev~6hZglE86wBu;9R2iIqLpy=Cl<+*5%y~6sLz5i=nhIt0FMuhu z8nhO|X)uG)?f{SQN(3%M6z&u(LnwG%=xP;b>RwBF%7SUFqX$f5cSJBp>6$!J^ z_0nv6*l@z*f=pdNGmt~uiME8W2ISEWqcsxNf;zM#Xbpt*paE?RO`$q3K|6|8N2ot4 zqMbt1f30}Zw1hT+mM7#b(-X6eSD6P#h$W9gcvhseWWb*bU#`P+F3#tdwKv(^TFCmS?no$NvQcaO~_(T zf3aD}<`%OqQx<#5Fony}P7$)$({VJ+AG4-Y7JJIN4ExYd5b6Tf3)v`Qby3oyJsyebKz82W7n(Ix3(FyfL5>+w1IZe0Yb10EC-#S3v`1X&gH>QPSOeCA0Wb*Gfz4nG z*b0WgHn1J+06W1hFbsBsJzy^w0sFvyFbWQUgWwQ2432;?a1_`e`Xu(~93kOBtEctv2(%T&J6MaCIv! z{jU~;vM*sR=rr%n>*}mmP|no{lxgXYlwa}9ieMjLDkTjGVkqg z=ohnK4$OlEAm>~Li{J{l3UEop&msdk%Rl{^!dk%mMtL*;0cmxh0br152`B)}5MhC+ z8I;WWefBFqqBh6po6x)mvQgomO5ZqGDE%zlIqA|<`+%r3mByC|nt!i*gwd=M!IR^qzD za`(KVepoqDBCPu<{l!BO-iVaZo&=+o`|-Q_1-6KAM1&(E91-cef3KH0MvLMi!dKC8 zfJ>qY%l-b7x&gL`robu7J=-h|TSV9*!WI#>h_FS3eInU{>5ir?|Ij`91-6KAM1&(E z91-CIr-@&*{7=54e%ed+Sh4+nLRVw?KWWMwTZUt%UFMSCj7!5Mj%~zY3x_Qnws6?O zm8|x$TJ;O8{-mcCe~xf0cIR8|y%W+fjbpcPSjFKD*9O=!94>MAz+nr=Sh;0Zf57Rt zxWr*D$8b6(-t}7Hwi#W;8xC7IY~e72!vb!N6~28~UDz@lj&NAOu`@U(*=@4IgFjLi zeY^EDwhV`J9NUBAvmG=04l_8+;8d&(Tj8k&{Z>~gh#UrSf4Iqw0<7ZjhEvIdL7a*j zRUJ&NW6N+VOvbG6!iTz_Y8)KqRK-jH)g)NJX+qCf;h%4*GmdaL!eJlBmf`S*!wl{s zV54x@!eI-CEga5qY!vPq3AiTysugQKtr|keS@G|4YN<9TfLbf|yd$k1Gy)$e-CqWZ zR^0fqx&%P^e|;+;t1q_!a`|!x(9SSIs}qo@m;1nSD;|A7cj*RX>*Ze14@j)bE3G*H zu)2_smsf+efE2sD5e!=K`nS|YA4qD0@@B9VY_j6#Q(YyoE^hPI#lf9rn7!3m%;a@>l)xJzA5g45s( zI19?)95@eDj9vgLH)ny0%sGkyRc+H&eExOaPnD)h%gf*jPzA}vCv-^+P$(uffbuY@ z1x$QWZ~jjoQa@_Hgjr1*t@tlr8n#H7{iGQ%ze$r7KYU47RUj~?3DcdZIBPe*@pfI+ z?C+_bg$pkoV{;f}{e+#ppoC3^#q6s~1{vA`giWw4SKVkM0 zoReUI1PdfsAXxyM8YJ`PfB)zD8MB|T>4%!%E9O6%*M)1=@;$obLlVP~bBi!;h_2N{y^#PL4emnj(1|p z%}_<~4njSj_Hh!|kkhV%#HQn`)HBYhAMM8*9$cU{86ZqmgAFA9Dv05`$dTUs%Squ7nwJut);V){eqwTAl3*sS&Xe+sp7 z*80qdS~b@C#vjzmTkHEzs8wrAn;O)rv!$Okwd!r@fAkn}gS8#&Q>)S19`06aiM9Rq zQ)(5g?ZsZTiq`hZ2Wt7&_ExKBZEu5jewE?fn=@2{3?Dq1;eU(SlX}0)kl&o4{;mv# zzhwx%kfF7Zp`#;1=WvGJ*$n-+e`Z*FUxxL+&anB_4BKlm3=d=&Ii2CaXEGeQJHzNzY6}V=y+DgcRH`r0i90duwDi0Rdk}MBTTGU(b=31~3Jsc`07&0hbjt9i>R zCr?$5nyMU_R`Y;8r^+T%Ws|A0`&1hNJ580XrOH86l|84*Dyy=RtE|u}E4j*wud+<5 ztoSM?N>%ouDz!$H-KWZS8B^t0smeZ7?E>A_{*~9WNBd^G_kZ$T?je`Al@=fhGdDB} JB_%~qMhatCEy4f* diff --git a/semester3/numcs/parts/05_curve-fitting/02_non-linear/02_gauss-newton.tex b/semester3/numcs/parts/05_curve-fitting/02_non-linear/02_gauss-newton.tex index a42fc5b..ef6c7ce 100644 --- a/semester3/numcs/parts/05_curve-fitting/02_non-linear/02_gauss-newton.tex +++ b/semester3/numcs/parts/05_curve-fitting/02_non-linear/02_gauss-newton.tex @@ -20,60 +20,72 @@ Die Iterationsvorschrift ist gegeben durch: \end{align*} \begin{code}{python} -import numpy as np +def newton(x: np.ndarray, GF, HF, tol=1e1-6, maxIter=50): + """ Newton method requires the Gradient & Hessian, more accurate """ + s = np.linalg.solve(HF(x), GF(x)) + x -= s + k = 1 + while np.linalg.norm(s) > tol * np.linalg.norm(x) and k < maxIter: + s = np.linalg.solve(HF(x), GF(x)) + x -= s + k += 1 + return x, k +\end{code} -def gauss_newton(start_vec, Func, Jacobian, tolerance): - # Start vector has to be chosen intelligently - s = np.linalg.lstsq(Jacobian(start_vec), Func(start_vec))[0] - start_vec = start_vec - s - # now we perform the iteration - while np.linalg.norm(s) > tolerance * np.linalg.norm(start_vec): - # every time we update x by subtracting s, found with the least square method - s = np.linalg.lstsq(Jacobian(start_vec), Func(start_vec))[0] - start_vec = start_vec - s - return start_vec +\begin{code}{python} +def gauss_newton(x: np.ndarray, F, DF, tol=1e-6, maxIter=50): + """ Gauss-Newton algorithm to solve non-linear problem, needs 'only' the Jacobian """ + s = np.linalg.lstsq(DF(x), F(x))[0] + x = x-s + k = 1 + while np.linalg.norm(s) > tol * np.linalg.norm(x) and k < maxIter: + s = np.linalg.lstsq(DF(x), F(x))[0] + x = x-s + k += 1 + return x, k \end{code} Der Vorteil ist, dass die zweite Ableitung nicht benötigt wird, jedoch ist die Konvergenzordnung niedrieger ($p \leq 2$) \newpage \setLabelNumber{all}{3} -\inlineex Wir haben zwei Modellfunktionen, $F_1(t) = a_1 + b_1 e^{-c_1 t}$ and $F_2(t) = a_2 - b_2 e^{-c_2 t}$. ($F_1$ ist ein Heizvorgang, $F_2$ ist ein Abkühlvorgang). +\inlineex Wir haben zwei Modellfunktionen, $F_1(t) = a_1 + b_1 e^{-c_1 t}$ und $F_2(t) = a_2 - b_2 e^{-c_2 t}$. ($F_1$ ist ein Heizvorgang, $F_2$ ist ein Abkühlvorgang). Untenstehender code berechnet die Lösung des nichtlinearen Ausgleichsproblems \begin{code}{python} -import numpy as np - +# Data given t = np.arange(0, 30, 5); n = len(t) -curr_heating = np.array([24.34, 18.93, 17.09, 16.27, 15.97, 15.91]) -curr_cooling = np.array([9.66, 18.8, 22.36, 24.07, 24.59, 24.91]) -# define the functions that have to be minimized -F_1 = lambda a: a[0] + a[1] * np.exp(-a[2] * t) - curr_heating -F_2 = lambda a: a[0] - a[1] * np.exp(-a[2] * t) - curr_cooling +heat = np.array([24.34, 18.93, 17.09, 16.27, 15.97, 15.91]) +cool = np.array([9.66, 18.8, 22.36, 24.07, 24.59, 24.91]) + +# Functions & Jacobian +F_1 = lambda a: a[0] + a[1]*np.exp( -a[2]*t ) - heat +F_2 = lambda a: a[0] - a[1]*np.exp( -a[2]*t ) - cool -# define the corresponding Jacobi matrices def J_1(a): - mat = np.zeros((n, 3)) + J = np.zeros((n, 3)) for k in range(n): - mat[k, 0] = 1.0 - mat[k, 1] = np.exp(-t[k] * a[2]) - mat[k, 2] = -t[k] * a[1] * np.exp(-t[k] * a[2]) - return mat + J[k, 0] = 1 + J[k, 1] = np.exp( -t[k] * a[2] ) + J[k, 2] = -t[k]*a[1] * np.exp( -t[k]*a[2] ) + return J def J_2(a): - mat = np.zeros((n, 3)) + J = np.zeros((n, 3)) for k in range(n): - mat[k, 0] = 1.0 - mat[k, 1] = -np.exp(-t[k] * a[2]) - mat[k, 2] = t[k] * a[1] * np.exp(-t[k] * a[2]) - return mat + J[k, 0] = 1 + J[k, 1] = -np.exp( -t[k]*a[2] ) + J[k, 2] = t[k]*a[1] * np.exp( -t[k]*a[2] ) + return J -# guess starting vector -x_1 = np.array([10.0, 5.0, 0.0]) -x_2 = np.array([30.0, 10.0, 0.0]) +# Start vectors (Guessed) +x_1 = np.array([10, 5, 0]) +x_2 = np.array([30, 10, 0]) -# use the Gauss-Newton algorithm declared above -a_1 = gauss_newton(x_1, F_1, J_1, tolerance=10e-6) -a_2 = gauss_newton(x_2, F_2, J_2, tolerance=10e-6) -print("Heating ", a_1) -print("Cooling ", a_2) +# Coefficients via Gauss-Newton +a_1, it_1 = gauss_newton(x_1, F_1, J_1) +a_2, it_2 = gauss_newton(x_2, F_2, J_2) + +# The final functions found via Gauss-Newton +f_1 = lambda x: a_1[0] + a_1[1]*np.exp( -a_1[2]*x ) +f_2 = lambda x: a_2[0] - a_2[1]*np.exp( -a_2[2]*x ) \end{code}