From e79554d3f1e70a4a7058c49e99bcf5387c73f65b Mon Sep 17 00:00:00 2001 From: wexlergroup Date: Mon, 9 Sep 2024 07:49:15 -0500 Subject: [PATCH] Update documentation --- ...21a75a5631dc1d3d283eecb439940d3fb4d140.png | Bin 0 -> 30896 bytes ...42f8fa7dea43061828c2b24a5b6f661057859a.png | Bin 0 -> 38276 bytes ...e98a1778552bcd8897c1d5fdd527adfa9150e7.png | Bin 0 -> 28206 bytes ...efb0824a0d968f2efcfa4865ecb7a1d251bb9a.png | Bin 0 -> 56073 bytes ...206633e0651c70cdb2bb6f9636b6a39212c60e.png | Bin 0 -> 33539 bytes ...345c7434e8f522858c06066e8d1e8fc7cf35b1.png | Bin 0 -> 30983 bytes ...d8ae1ccb15d93af4425dc5191af4cec47a3210.png | Bin 0 -> 33716 bytes ...85e49c6a4605255390d0aa35730b930fbf37af.png | Bin 0 -> 30555 bytes ...1fc2bcffd0002995fe9f3a832dc13afde3d5d1.png | Bin 0 -> 67215 bytes _sources/lecture-04-optimization.md | 340 +++++++ _sources/lecture-05-integration.md | 298 ++++++ _sources/lecture-06-linalg.md | 197 ++++ genindex.html | 1 + intro.html | 2 + lecture-04-optimization.html | 930 ++++++++++++++++++ lecture-05-integration.html | 813 +++++++++++++++ lecture-06-linalg.html | 754 ++++++++++++++ objects.inv | 6 +- reports/lecture-04-optimization.err.log | 48 + search.html | 1 + searchindex.js | 2 +- 21 files changed, 3387 insertions(+), 5 deletions(-) create mode 100644 _images/339d1e02b12a7a8412b963b09021a75a5631dc1d3d283eecb439940d3fb4d140.png create mode 100644 _images/3f78ad5cefc0d58b523c349b3742f8fa7dea43061828c2b24a5b6f661057859a.png create mode 100644 _images/5ccddca1c3c544bd196ecfa191e98a1778552bcd8897c1d5fdd527adfa9150e7.png create mode 100644 _images/8291952919a9e3c9644754686befb0824a0d968f2efcfa4865ecb7a1d251bb9a.png create mode 100644 _images/b06c19a334032e1038890c0211206633e0651c70cdb2bb6f9636b6a39212c60e.png create mode 100644 _images/ca32ee1c272eabd843df5ff0fa345c7434e8f522858c06066e8d1e8fc7cf35b1.png create mode 100644 _images/de6452983df876b73d12abc289d8ae1ccb15d93af4425dc5191af4cec47a3210.png create mode 100644 _images/e40f993f8a16f1013a0deeff8885e49c6a4605255390d0aa35730b930fbf37af.png create mode 100644 _images/fdd52c1d89e46c8455f7b30cdf1fc2bcffd0002995fe9f3a832dc13afde3d5d1.png create mode 100644 _sources/lecture-04-optimization.md create mode 100644 _sources/lecture-05-integration.md create mode 100644 _sources/lecture-06-linalg.md create mode 100644 lecture-04-optimization.html create mode 100644 lecture-05-integration.html create mode 100644 lecture-06-linalg.html create mode 100644 reports/lecture-04-optimization.err.log diff --git a/_images/339d1e02b12a7a8412b963b09021a75a5631dc1d3d283eecb439940d3fb4d140.png b/_images/339d1e02b12a7a8412b963b09021a75a5631dc1d3d283eecb439940d3fb4d140.png new file mode 100644 index 0000000000000000000000000000000000000000..9271518706b3c3b4072d0d60031c16a4ef95d2b7 GIT binary patch literal 30896 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 literal 0 HcmV?d00001 diff --git a/_images/3f78ad5cefc0d58b523c349b3742f8fa7dea43061828c2b24a5b6f661057859a.png b/_images/3f78ad5cefc0d58b523c349b3742f8fa7dea43061828c2b24a5b6f661057859a.png new file mode 100644 index 0000000000000000000000000000000000000000..2232548577cefe83f0be4bf7a4d3b1a8d8fbd431 GIT binary patch literal 38276 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 Xe+xN!%TSSm{~bPbO!eqR5u4>`g}Y3S}me?7jJ& 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�Q$&XxwFICGvS&Wf{C-QEQkypA@ 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 literal 0 HcmV?d00001 diff --git a/_images/8291952919a9e3c9644754686befb0824a0d968f2efcfa4865ecb7a1d251bb9a.png b/_images/8291952919a9e3c9644754686befb0824a0d968f2efcfa4865ecb7a1d251bb9a.png new file mode 100644 index 0000000000000000000000000000000000000000..c7f8e6734a0cdf590adcd8bbc78cc00e82578eef GIT binary patch literal 56073 zcmdSBcT|*D8!tMEF~&;lU;zt7iXuo+q-a!NKty_xqB3*@rFS$Mj1+;PNmuDzP^5#2 zQWcRdNRcjGdWZAdspDTF!RoS_kNyVd)`M^uSjj(v~LrILfJ}{ zzNko{{JcV;{4n;*&-k10_Jk++?Tqy$b!#OH18ch*miiRA8`ihYEUe9pZyvJMx3n_0 zFh6zT%n3f8Lq^utx2;5Yd2jvu4JRxt4SDOBMi1jfHr|%ju%b{HZjk?eNRWs(rchdJ zsTa>H+lLRg+1c;vT__!Qs&kV5?KcLtV+R#};;gN?JGJfk6#Jp)NB*2Tawy@c@_9#v z&|T**{yKN>&rLVadq`eB_AHx1m5%6OxhJMU_x<2{m-wv2kw@#{Pzor@48QO>;C=9lCsb3-!IN> zJJ-$d?^oqN7%lzq?^kCi-V*wo=N6(u2|Z=Ody?1Z?lP8R4L_{iS{2I@?ev%F1QJ5WV z+kN0b%FPlFs*F*dH2wblw?`$~^K6Fd)3ncyv=^SOXmAN}Xq94fTUj#s{NkBvin`yR z7A|wIj{SLDr{4`m5u3q)zK;>fll|4EUtZtZv}KDxbrqKzgT|$o234pcKq6FqrV?)B#V|Md-_sPk;qv*Juot;Xus+?SyP+(M4)V2espJH8-Y)4vJvP{*2+)}Y@=L|Am+L9f9 zS5UyBU2Al7R5Qy&CDXeYKg202sugk8E{L_crKPg5apq2N2z#SRfqt)hhgk3lZJ8!T zZ+Y?g7#)Y+-IHUtT3#tMXX;N^a73vKtYl7fyzRFA{`LH==FCfD#j8c_PGe%8{RUN` z`Wa^WwztP*UP|S@GrV~50d{MxO@VCi31jS8+-x0ppD#r&PI3_=)0rwXDz zytWxqogVAZgX52;z&+N$EsrpZ6$$FwG?B=?MtreTZ7%B)11Kiqau z@%r_r6Ma?OhK7c_d3ChJ9H&l76dP7Ehg@bKX?|IDv*YmL!~7wa$@X*@u9jF;##UB- zesSZOGiNxlQ3h+Gr9y+43RiWUa22wdX1#?`PFdk1HZseLvucTou|31XJS;3MS*A@N zyQYt8WL_L;$?|8#9^tJJr{|Y-;4am_G?d5Pl)rN2isN8n{448$TAJ?aLl)PB`N@9n zLx;{ie*8E|G1g-nv*?q-p}?5cl|^~-D%siDSW)FvO+in#Gh;3~?l+8PhMW6Z>XI*q z@K=Tjr(cN_HRg+~6q{K&bp;L>f#$-87t-H z<|bZ!_8U3ItOMnKN0W4mi?p=0RbCk>q-thW-dr?oN;59^J)Cs)+3&5btvx6brQZ98 zd?Z$0Jh2-av#1IcbX;AYRmr)11FMsG{{GJkvmI{7`x;ZPsgd29p;xAyt|OM4laoN+ zM#RP>X{@GjHV!+58u>CSixkTe(_*_=lbd>FkL4!jpIm0&df@a`ysZkhTkr62%3wqC z5Uz|KgGzFlO*SaN-`}5{uAY~_Y}%w4CUh%6!p)Vu`R&fX$%gs+@4pqDkI#lm(R+r5 zxN(+o4WUs{rwkug26A&qNlESIQNOzG=PlB;p9^MnRu+cRleF_+V^!$_7k5@;k&{^y zWdgad0s4}U;?5_1{;clF9(02-Ni99n*~R7fiXFFzh~{oC<*Vn;-TnLR+p6wBZnYrX z8KGM(0bQo9^(VCRSao%E8?XkC_A-(M=^Y$Q+ICPx{ey({H(wF!Z%-c|JZpl_mzkB- zu$i~uX;ql;(BfEe)7>A|@${WNeOg^$dDOTeDUfwwZoE6>dlEUo!}qyKzwugDKAv@l);BjBVV$Qm&VCQrFFQiwzWPu zWB>iB>(aQC&G2W1KQ`}Gm6raK)I=0gthk=#ojVFxH$kIMhg{G}9LEZ0mE$fmQTbQ< zmyaAhs*-K4y^K${@AU1b9(#GyaJfm?g?V?n-P`TEw|dSetESeXBh_bH=;8>H(txiT z-By=5oSYVS>2{QO?p2AF+CjcSRlE=?|sWOwlF)46l! zj!A1yhDlReYNArSNpEE!xlkMe!JF@XA!|)8rodscK2~njgsLSg&?|GGAS{cBZnUPWBd-%exJ$vHt(n(hR9~b8PqmK7! z7rSbE?-Nu+m1;mSBp>6g`&OktHtnv@xzoK%*RJOIB{nLzTADJ>m%icbw-t-NBA3Ni z4wD8}lZHSLCM~ZL-M1Y~I%CzB;I_Jw=enF1cO@c;SDNUQcW8aN?_wE5d)DEQ= zr!CD-atjD3Uwds<mU|)QwdYce+ax(S#gF zvYMu_b4^EEb476XXT~}##)X~G`322e)kz=bPA_=wJU_waRIvT1WP);{VyJ{$QK=70 zI#wfWwUKO>`MJ3#9lD&)nDUHjj;N%lE0A)(I#z|kZ9Vl(0mYW1qV`F(=%g23K5EeE z;P&m${`~V#<$ltU-oNKA>0e%2BDV`$=E^CEq%kGLV;ARhT%qWTw9R`@NYhdH!v;-pkSLY{ z1S6Km-qh3c{&D>#Mil65#wcNn$io$%i(K*@%*MM)+*yyFKK=RRmbbt(_YYT`w*P+J zW3i*qDI4E||CiX`zWw5Gg?fQ~h64|_R>h32^Y|b5w|qMb4;x1J8}*4wWeH00S3GP| zG+vha(!5wCR_>LZz5Vqre(JSZh=UpSZbgxM&*QUtrCTo0Gj5h_npC&8ex*?8X!EwJ zsw&4}GOlE3c6^)AcX?^JJISH zHzl>S!X32eeAnOH-7v~K-Wn<9v=0YC2$hL;K*YM-s6N5(aK#g$TcIVbixLlU8kqo0 z`2as}@s0ic$7c8V`1lfgY^AN#(ip1$2R$4o;qZuvt^O4>=lR~?zVV$LR~YGDe0rr% z%CJN9#`kSK+9_s(3!n2ETV4+2R4V<`!-L<)4d~LHwHx)jF9S%5b$&Sd`ExJq$o&8m z4qq4du&`LPi|ZCSOU7S`@M?Z(xF5gE@Moj`OX3jtd-*V(D$QA4jg;X(aPZ*ql}3rh z;Zqmrekl2q9sV~MOTTx%JudFk;ksDmOH0wtpShRC(XVryd{!Uew~E`hZ=ck09>3%{ z>)M#2;m)du7wyY%8Y{tpuC*?3a+951wWye^matGx(>l|9YqXGoTQ%jR>%suX+s4L5 zMp66QnO2Ka1A3>=o{iTmD{P8rk++P}wZvzk<>cfrqKx?P-D(lQox{NqxD~b?m`*@c zRMcyzDc!JzpxC>^cVoo?!F)}ztCP^>L~!>@`0t_WDHb`;ukGpVLOY2xAjf0u?0wHn zsm}VH0A|*`mAeVPqg&5?@7yvri%JXV@lf-X(KElJQtVCzfVoclLGD$u^m=-9}JE`m9K1SQgd~6b)0E7Bv{Jy+oxxaL#f%!Ic?}(gtL%_qn4({ zxB9uIWiYotvJTkP->eQeXR@163Dg8j8yl6ynUSjQSeZaYTqIBXPITbOKm}A?5SJuU zctC_`68ZSqYpp(fv9rzC^<69OU^Yp>FG*1kD`>UY;DUF$E;=|k40!SueL|a5212p< z_NnvP=y=o9^Xojh*`l0A&rmnc>R8*^$@9CWH#(_J-RdY3lT*uxH2|gXc>K8W>tFYe zr^yVp6c$VVf)h~hI)Hr z%gf7^J09W$8I?Ugn7ERnmCG+TT^%YY8yOjC^5u1^r1!p9HC-2#s}8C8rQOp zwB{-)#a(uYnKd9BCiCbT5iM^Ju^Z)~_AMqvh&icZb(HXe`lhB~U8IF80MQ7Tx1R2; z3RA;NeL^+ey?b}yGZCEsIN^5t3m|m-)f>&Vx+f&5OGW@u=YBcbOBl3ljm-OnjeN(7Vd%D3k_Y`-ST51)$ ziZyfxaH()r*vphrefAvJB%ih=&n9`k$ZGrc?Npt*<==n*os|mK6`Y=)UQ%t>;S$^< zP6v?1TVyd#PE9Fy{{4qP&(Pq&fbn?byRtIVg{c9@u16d^;`tJ*OQ)KvPo$1nS(eRA zOvp@6`tI1LeN@ux(|C6odhHpP@shnss;QcEee1fRm6kEVDU@&e@LZv$Cy+ySyQ6HB z+e$8Kc=DS!=c*#b7N4!WW@DSrx4M1%>Z2WO^rb4`vhwH6p$d}EoqF0Va48;t{&^Mb zD~Lyf-j(@ocE+#8@-H@-fUBhAE>lN!9#@Rd%rwSFxhCQ2lyEZ_rt0MDUTHfL!g*Bc zv2t~!*mR3&x_;$9r}=>skqi#0C2Qqo$^@TC`~4TvYQXs&BBllu+xU*g`;_>Cb8 z018D-p;DXT7L$W3zVPknGF}_-TXy`S6G5CA*w{m5EN=B@#|okWIxDKGZJU2e?u~e|HRZ(Km|<^_vn;!!IVs5#==tr zDFbe;oEQ6q%#KkV2V#Q*K)MK|2CGy8;81EEZFhPNwA5Q2B~dXs+cA40wka}bmR1`> z-6v=g;5hZ|*~Xph+=vM6 zyp^-#PeW@Jhoo3sV$hw9>*C}VM)Su6014$HMKypd{WtAB5uVl*pu;KHS^KuEtpA=| zlbF-YlVYRWJ>}a0ti+lf&}D)>J!O*w+lpMyRurE1*TboZF^-@Ej)s|@cA6PJTD;E! zA9k=d)-zPV_&M0MSgi|b z?6BC65od?q^A>}i6n;=sZ7Z(tTvppakQpFvAxKU^yriMrh0o4Wg9Gb9OayNrr%>OwsbpHJ6q7{(U0W394yYi6~8jSnn&fKUF8-<7)tu z*S@S4PZl(76wO>FT9}jqTjA<8IudV>D`t>#We#Si$wCs`gX5{+~-SV>SDHO}ytNP1u143J8%{ zfVz}ln>9;W9^mYhDa`J0y;kPK(iA5brWn4Lk?|M<1A|Xgfrq%Q%*Q*l<9=lUR7+{rf$8nu zzu%Nk6}PPU^JkjTnRfTB`z!zY>wJ{!LSl(i@$Jsv{`ljMM5;eKgZAVyIA*y#;uT~pv2L%>L! z?GH~DK4y_fW0wm}06=U(pE#QP_YT~ea?UxK1Nhyt5UnN|U97M4isn8y!Z5?nSk)(~ zaO0zV1EJS^as3|p<`kBfDw8v&o^LxMVAXdSlnvit^gie~b#%550s&Z&Dc0KK(IbUt zzx^=C+d|!^`fNA1s=Dax-U$3X?7K=A5j>oFu1q2+Yj9k9| zwSiMeQA|{nP!7`n9s5EI>ofGE<`)(Qrv~as8w8_B)OcwiMt2Mqx|M{km5j}rq!8`? z_`sRx&;c~H9?hIy9xr2Y1WYD6A8L?ndwct)ty>$wT1k%s{dwEkItr-*cRmiK$QY~^ zUFuV7uGMspzx*KXmrn}Oz>L4Xxd&bv5$QZZEh#NELF>n2sG$DV7D_;2*vcZV)m`eX zgu7o4I=l>&77CpMfaa!26J=Ar~MWM&yv;BO;G2^+mm+##*+&_tv~>Z zlDt@8r%OkkjVw4PVWRC0{ReNg@C-=L7%%jLR}Wm|hLl)#%s5>Xy(!t`n=`pBF><;D-fh&V~qr~TXb^?JDf}dyA z|CroJtO|62Pd8mxmgWU5+C@pLLQhf#d$JvCk1*@5Zf@2<*Qp^Y3RJs6a7QkcqyW-@ z(dA+nZDLrle;07O1*GH8*Np9Dmab4Z&(?q20ezT3DD(}@xlp&xPElP&QN)A z{k&WV|0VQEC1vG+O}n{b0Cp3xmwZwpXWO0RJ3Bk^7lEqjI;n<{4w7JKM9Nt#f9%H$ zGTiuJ<4&SIyDW{Dy=R7>#=gFpFUlMGWRVpKC%{aAymbzEhARLpEJlQ1z(-&3$v&M4ge~yK`o(K zSge+t6m#Gc6I}7iplY90_tAY-V!WNCFJySJOEE+tgaQQ5zq@P1|BT{GQ>@d2Yh*h5#E8C)Q2W0I3Am+=G zj$`%Pu#qSfet?5TNV3`yr|%`V%LzXO!&^bDIROu8hLqqb>Qy*^{f9coTY!?`u`tq zc5ct!9XpOdTm|`5&)-EB?HTqcAj*@h_xLR3e5c*k(+3uM7{D3;Ue??c>+qV~Rmuk>(SZb1~?dU1Q^}T!+ zwrF`#=5OX*OS|uemwtqoST3HXmHQk;{C!7Z=;;nxMUux_ zRYY-}M%y*2ptHf|lTRvhfqSSt+KyFE5@5*hu>}r(YSM01#_4 z(L?ndPe?fC&2&nV$p6vN(L~aFcHtoxepQIWvwH@Qr?RBvl8%lJ(ejHHN6%78K_DXI za>wd&l*1!;Few>2;n0UKxF`Jf$0o2ae=sVnX9_yf+ncMX^L~&TfSsoR)|25TSXx>t z0y0biJ+mhoVsCIMJbwTcOa;0LHnlwLUqP1H^ThST=O>kt*g23(vLMuYp5f!;BX=v( zzKb|V6=h{o@RAB_hd=ubuKYkbS4xvKARFN3&71Y4_dda!o2D1WVfPKbxwnofDGNo5 z9>A)*yfj%&7@??`SZ`O?b4X7{t1HXY*9=>?s(_o4Rzh%*{dgA$-|*FMGXN1<>J)Tyc84@jwFPt={#PA9d4z=h@WT&% z8K6;U%UTjk-|s_1i00R?{01d4RNN&GdOLi>Y&Zi18z%1RrqrNRp~(GN-}RRNWAcH+W-!`W9J`x z`KQjHqDmbV3mE_z@lQ@phMC|`YcB-JTA8xp}-mBj(T!2(00xu;2YeWP>akxH(fE;}-W6S*j zWj%d;aYSfA9RiXMmh@pxMbidGH{N5T^M5if^r(vV_Bn%1>FMB9L+Ha-0jsi18n}qj zE;n`wMs^mhVh1svaHJo6t99(+T8 zkePKtXruPTDa-%tA@!drv^UT|pig6$DLI?NOru6R^+(ukp_T&HG3U5ZC2=^s(OCAw z%;rZ$qzRbRm;2H#hY3}QT439|dwY9lSagVcj`UZB8A3&e#R19wr}gWZpnOPzoO|Wu zoc7FxAk$X{)Od;z$e75pcB8D#C%}zwTU!gj@33J0vgQXIQ;PH2zI(Sm^C~brt^yh@ z1bQ!2E~p)42{3cF@7$>unT;j5K)asU6<}X6r09Kk!UuUB1xo0IZjsr82M-v5 z-1&)84|;GE-+9vOf#~?Vo$`zT=X;nqj~w~?7TXIsJMvGCv ztFa1NkF+!py<>hBKg&e-B8;eh5=NV*m&NB7fB6Oso1zUf^xq+k3+}>E!a>}TEc4O^rT|a-C4XRnd^0BhuLbmYi?B<8AV(+QGy0Z-&F?!%cSX5#tt=fUX$S$iw|rO0`Q#+a18ok9`S z8K}7I=jX=|k;<9~1sqsf1+Az)T8bf%M?(<^!5^2yI)MJJ2IYXXe~9=E;iupvH$cfA zY0Fo`jw4V9ABezkS}|KxkTVLZnX5Bz9SFHBgjkU~T@OmMP}V%1`oXRfP>cG^*r+&7 zsf0{`s9YpJa2d`v1Hx@d*BgqN6awd)H z>0oPX3kdmno#{N5N1xH1XzB{ll5A)D!JSEOBK{&o>2G*NWgOv#1cjr7sDt}=-Pb({ zfM<=>2kFA<$2?g4Y;SM>ZKC%*QFM_5GRqh#^goW8DR+kjHJvyDkYiM!=?EMYK7*Us zfbN3TI?-0(aH@iD2V~USbboDB+66d7RmD-bQ1m5gUt3f*edn%SG3ZtE^Yd(rONEy; z;QeM9*GYno*Fh>Eo_Cg6vmyd5mYEz|f1tdH_G8L@G^rL|{G%loNDXr?;F>i3W0XWx zPcG`^`!8S4%5g|SBu#-TAVb%29AG0Bz`70Fl!3VF^K4A18}G#dxGc`5n2$ zzrfFPIaGiOLayk;EGBT{@1Go;oUr*N?{8pGb#`{9&%b{Cx?;5Kq}Ri=-u7|#Elkhf zym>?GZ{18IBoYk>m(1>hTDt&@A?UJTjrEYn+c|#I1Y|3X)Z%KKO#&`}N+Qm4FYsZ5SatOcUek9>5TF4$F=Tjh_DU@^rUly&wS);mhcSVAAJCJl>pIU?;xC;z0E9x)45-O~imJ$V z5Nn6UZRr^bu;}fI`-r8Ll$8;H%^>P3v#9>R$*^yoCwRo5esXbkevyZ~cFL!$w3LgL zwdY=k5dnp)6<{_8cv#*61GeScsX=nE0c~i&LIDi3o&JGxT^}1WkV~Z&Ej+Ee%;%c( zx+VNkNFquHA7$Su1Ft;0u{11b0)7A&=gaC~Z!db%aBg9t5{$?VX7)NCKgHKAFAaUt zbPAKwixy;X4~2XXjEY~hX;p$B25p|Ff?5Q0BiwLn9TIz1{Z|Mtm+Kf#S4|DYCy&Fi z(j}@hxnq!A=;=5ztRa43r`-ZYz$BV?&d#m#>qF2CAbDu{jACc;?d5 z+&qAC-iW(M_6}7M=EiPN1Y{mqLs*!Y62E`HO;v;#sIR9Njc?+ZcUS7N;LFX+8$>yy z&Jdrg=gSrNyMpPLB6R?}Qm|1;wh#hWXc_E8W1TC9*&v65Ii(>xi1HU`J3pa6*^R=h zDcX-34v@m0?*&=OeyKJz1a;}Klao_b$f+_>14egLzIdFHM3fFD5m$Upl1(Dg9z6z{ z5ZQSwu5-`eibl{@3d3*UDiJsv#O}Q^Lu)Q`H+y`P_&c0!y2Js>7L%CddvE#|LRaFB& z3x;e+cqw3HIO_o3un~4Q8(ar~x6c_?M>gQh z9j0r*g{gMe@P{p(*)Swq2)VBzcr-dDh? z*Wss>wBk4gVQ@QkdkYgH`t6HFG0`Q7+?@@qal5NV8_XZK~^B=LXWvaZ2f_sj1>~U)Mp2uK-iUomB%k>wyaljAR12mc#?m zH!d9KZh)VIyC93|R!f9ZlyxJ3MQ}%Yz=Uvj>;tFS>5(sLSm{Qbq%?wWap9XbZK}nA zB5}$DWQH~KtP_b~fIGyA9SWdP`}_LMq*?~+IC8$tT1W8>(>MkGJop#URg`|F#9Tm< zVJo#_<);lBu6cJjhY*WA8yhY$H6J!FHM!9{)xeSEZn@#OV$nbo*u|A4zMNVEL; z_^}ZAe9=hzx`R-6_V((7&^0rHuWsM7#~@<_PK*~k(H7BkU_Z#0XFpWy=G^|v2sy&e z(NS}0et=;;pk*k>W%fujuO(>EcqOqG-e_8kAX9wRd&r-@pG4U_V|; zvS!gnHP6YrD}YbyfznE1-MmT5&l^E&@&+AXghn7dJTl^q8_9$%DF{`_F!B_l0MP(E zk_Z%RL5MRNP_Pt+lEpV|} z$jzHKpThAw&R=Cwyln8wyshOsvNkv(-dKTsID^7Pt1C{Px8x&4^zk+&->0Vq$-nMk zlVOA;a`O4}=O3*0@Tgx8IHvITi>$1y^4nlD!l<YwD~*iMSjuC2729_&x4$^*e`#ObeE0zLYLZ4`Hd~u}p7nZGC&PuR4k(RGM$w z+6qDJ^#;ac1Ys0}PhyC>a6sJo^Ea@QPDC<+c=w@vNyHLj!FRbEqH2Hgn% z-opOY{-WK54HVH=AlSfdNzeg|HG{|?0fP`?NQLu#VIod5DR>jwh$a3uQw&v1V?TNW zg*z8bh2EP&Qo8sAiBPl~Iq{Q+_IrAHy_#Fb1(7J+6e!21DHyZm6jA^g)_!!J7~)|0 zgm;q^AB?Lk?9o7Q^0&giM4qdHfpZ)>l}eH_6$ni;AMenY!&1JMS9s*$8lyOrM#_Nfq_G~ zKY_#!;0-B|Kr>GKM@eA&K)^t&;)OwOL~qW6jrxMh0PDpP%M=h#Iq)lVm=2M1E_v+YE1pF?B?ANg!!L;`V(=2@o-Jhm?%lEQNfWRC^*d7B zjaJoS@c=b33$AdGI5O+s9+r(gE_>_qi}PT!Tus@ z1AIx*MdEHsIjwcILz3cC1prcy#^}u=p#wjy33>wvhJ-ORRU&{RQp}4R9MX@ZlPvuJ z<_}aXgT_((ldx1IoDQt6oTAPb0ptB414|>cL+k#J2Tg;YB%u`$=a)bq$b2#I^GUp$ z%wr&KyZGkTLm+r?<0Ot6o@zFX;zau;#1D}VqsV+{kA!)E?~)uC#!HA%Ls%tR zZwArvCjXZKhm6zhxbjp~q!71am&MnS4t-2$dIaJHL6HGwKJoVC6l&{xXc(fi#BMEi zU9OLl+rR$jpG~0XpbO>_MH_cb-zW-aE}H*Dc7Fni(h!jc-Jo}DEFDQTGVeglACPYn zjhbvF;yCUzQO=f@mu(ONA>;#_>J#b$VY`uE@HV&F3p4;D8c$V=Mq@`BV>!sM1b{qA zfKk`rG@vR;5D?)TGGrROWg-(2xAu|}$%=|NOvJFuN1BcA+q8!#0hRTd7rGM_HfS9Z zVbds8L=Gn@SAwH}%EjM~2~rLj9+A~QpushwVX`zgj$GW6NY@2p!pZiY(E5b#V7;>B zKwu3q4p@zW$OyP1yp3q7V6uo;6p|MNW;2CK+2;~@#!3NXl&jbshPPuH@k zPfO-r+;|J^2~{CgS);KDy7F5z5 zV(Kz5=}A_m;-v{shhe}*ci<;J=egUH>KFm(gpn^`T>I|kB7S~9QW~Ww3AKgt6v~$S z2c}P2Iz5)5qFHUl4AD^lY0=kkL0KnZ(wj*0lg`R~7QN_j1tUN0&yrS@ddNx$xy;=w z+s42kj3#b~DzE9)grw~;(1)ZfkdS-lc zK~g%0E0D0~rMtKy87zq!`Jq4U?(mJavOUO71$(I9a`vu%qQN@<*MRi8E0nx*O#~=n! z7Ac>T!tpyN5viDHffXA@(;;$I>NVlXvDu(p7+)+T#Wh*`BQ8J%0bldhoM(V$$cWCi1v*ALBEclTdT*Kq8F;*sQk1w0vImCDV;#lCTi$-cCt=QU0mk#^5&qiU z9Swh*j5qA*7Pe>)K%5E1yh;z}hK#Y4WY_Nmpm6>wTo1?>4=;UvS{K zjvVKSf;A40q$xf2Y6y2A;3$O@ZA~NvpErWzI;3=`@jiK^V`_eSCWJo{(WuByO zp~WWvDJHrHp!f|!8vuc6TGy}t4&);Z%@vNy6_oHM&?&gP$H;{vM{slSd@G^fXOj9iF@?$Rt+ef{O|VEpVr;3TKayc6@%g~oA)w zZ!{j*4Y>kC7GyStq@7?Ss6hKt4zosq_ht3`up3?(u4*XSN4%EAC5SVJAf^I3pfW6I zVw+XC66*#p@(q)VWbkDQ-$=%wsC~--p2R&v9iQm0PA4+vyqDYJh_KjvkN?E??=KkB zafxd}uzZ~pLUI}&Jb_FaL?$7T4w5HA)f#}FQPCH<$QGPGD)y6aACJccR5UgUHS^jNFayD=PL{VYAa0gYo|$5wb=Y^P z?V9QhXd|VV(elRbVni=I1;Dfwkfj@UcF*Jx=pC%~vZX~FlC3b7^so!|pilkRDPi`f z5vBnfqb~z0&IeywPjysB4)(f(GxF*vl({4?JQyYFka>eY#0!36NEtGdDC)#C;hV)q z6#`E;TM>ho;!B&Gn^V{Nz4(95H+)ZHo5Ri`1n&YJD3lFczx^Z`2Ym4GAx8*z1>-4$ z%k*(V(@+)#S6#;@f5C7jagKTrAhMx%X(pdvo}itx5E82U_=Ou zAE3+>j$*qn4Qo~=+K;8Ga4mJe!HAtA#L5II23-5(&s!L;BO%Xz4YFi9F&M4KV6MMC zB;^;)EG~u2QFFLAD--Ucv~ASvQ1i?98>XhF=wT9jx`~y!{nuZwXH?_n?(eUTlDCxr z^zCy%I$jbt#2fw1^9&ha1VuMZ(JgK#LnTN{SzVylV6w>5Va>OKLe#?u3@*sZggYoZ zZSw=ga&P7?jlnwx=v*=({TKse0@xJj>gr<7Sp{5PW01tC6cvW5JZX4)%<$cx+bc%< zak%$Pk|^)6;%iJ4@eL0Tdqqq6>~r_~?wVQ8k;$Dlw=VN8i8KPnpxG(F@F3G~C=A3> zXJ|FYzzY|wGJ?NxZl1V7L*nJU5mNFFX5{svaBX_zT998j&xQo~Bj@-R-gPu?M1}#F zL>XgXOzwWe!uJ5649A^tg*-EM^5AnkMVD+XsE>O3*r6bwSq7(e>OkCSe0I<@h(blO zd61Cgi&qwskwi;}*;=ioWRk@Zxs!=0q-)3KN4kcDdY!x3bIelt=0Jr45tE>~yn=aJ zh_vdS#VZx4Z?8a>3n31yh3O+FCnj+30!iq}1g^uv_qPnY@p0kmvgJQm2;fvA$xCAd z;Nbv=K97!Gi=7(cYa%v-XQz^31?*zQvG&3&Pz28daN($rf27cUA(cqoKtB=9YzWF4 z$$^rAzDtslnmomh#ZV2%TpS4BC+vHFQC*N3B6Y*YXu^GIfYpVp0TuJnGW<=@_mIN* zMCvD@TPW?+psPNxUcxMj5@FpXnl)z{J1(D7E&VO)+@6z8GiIbd0^Qc(WWRz-M_U~) z)P++9FnmH+w}Tc{Y&}3P8Cx4!aB_5%q5m@>fCaA7i<_tzLrgkbGpZ!n>$M~FJxe_q@-j3l0U+*o@9IuZ9W0F7K7k7k`|?}IJU>Xst*Zw zdN#dcGsZRm@S1pnFHjvGH;H}%Kn!4BSK4x{7_QhLw6a?87JWVc?=C(l9GDKUTvI1; zj^lGIAW0yD|EcvSXCxPtQpLuHtZZ$s+_^RTF8!3);!l)Ae3k*d1&clrJ1mv|=GUGb zWvfe6;vh3QBou>^A2BRW3OjZ#F&{xDi%P7ZkYHB?k-R0@7JcJ}Q7)>aZK9Kri3JTa zC6vv{Ze&3(ks&*vnV>-zn|9a5TgTO3oC8%?hCR>9R>0A7jB-xWHj+I@x@V696JP?IS&-^NMOHDu*@X#k@ z*b6hzlg{|$ll?UqHO6@8IbebSm^@fNE-FDkBz^_CHg+IuoyI|Li9?$c&=MWAM~Ea3 zDYpq?O$wOLS?W#>5(XifGFa@L%<2x7O=h=l`9}oT=G>WO{|h*SY*tnV@-(zm<3Iph*cGnB!mqVUnM6&&CJeL!|}r>>!fS zp)n6EWPr8@Q81}}?fbc*R?OR!V#5K#?h($xe0L+RqH41CC5X_Dqf)WX!>>kyBQgc##`}`pP}(4W7?7goH1R#nm&btW&>Rvf=cVn0%){A6rYHmBCxW9 z48x$#3+h+y!jTpK{@}}U^JN)(d3t^n!oG6%%&AcX{jnaJE$ z()PO%0~6<606$EeRca)eoCfn9U{#A1f_ekGS_9-Z^Jcafk_{IYj7$K)^y5O>9TY$r zMb8EUN$^mW=p;MG9%oN$@c5V;GI+98H1^5P5MNm5g`Ca`#BV`U= zcNMY$PtXtc^#lMR?IHzemX&j70_Bi@P^33%40ig)(yJ9YtK`hvf$9m!CrA#dURm2O7=_a0sd1FY z6DL?>IqljY!8voY+U#e2pdO~^Mv$F)OMIIr&jMren!^mD3#=& z9e7|;{4=Bh6;pY?4$~cIA;{w%X>QqprXG&w9ue~xQZd?WB1Eme3|Qsl->HWj;bdkx zPMg55lOhK1%xQ3^N`DR?A+yidGkW>}yhwOD8De|iPFd)1S2CCJeFD&>iS_~zAmo#c z6M_uFE2DZ6c_+ps{xf7optq=?u#li)Pa;ICA<%{gA5imVH&Wi*_l;Hz{$izU86qW< z6BUWD9V8_^=6oP#GWmj83?qC_&J%_+i0{bAs5^3H;Kp!cLIl11mBa8#Y&9#{b41la z$GN#8G>?Dx=lKgU1@AqA67X%#&ci7H?UM`;jFiia9qW@GLU)YLjsQ2AC$_Ue|y&L^T#z-`mDP|lZh zM99cEE=vbwq5VQ;(i2J;o`T>=hPn5NJKK9qQ#7{2anx9wDgz!M!X(vP#<`j#ZBeKa z5PWWdEkh#kNH~!kwP|BY4R(+J($UcEsGh2LvH?j8ARrDK`pK%_s~`sPxpM@-paR`m z*{}>5PZLm+EH|`-$yOZYM7*pCGNd~8o$JX2L<@$fF{!s$K7^~v`Df_jtFlF$C|pgV z17mRRIb^j2ys9j)f+88jGL4X}1$ZRtDoL_oiq4-E^AZ;@>a748L-LPU4E5oB$hw4F zL1!Y@Nql|C3FNF}{RvJ&4QRZX4~Nwh1q~lGglLS|q+~jipaekm<3a22NReVlOhi&A zb5E${O_;_@L7~-XZ7Kz`+{u2KOq-I&#r#+BgeTGNw(5eUMLZE2V%!f*U(XejDuja6 zQtVcY3>Ojbi6udT@W`l5;}H|dv3Vha=C*%geid{dxi?$v6hk<%da<@3k4Iy(BI!PQD9mz*xZo^oTqv zg}Tu#3dmmx0G&Lef=nbpz-W1WD-8CwzD}3uv18Kc)WnHV&a*bg=_8f~@q0*un~b^A zdvLFT1K1sW!1)qLlB2o*Zp!0Q7T-%`*cCw>0(l!yL1|4BukoY>98RK;0PA1IXI`@= z0**byYrS2n>VBwiVUZ5YS`+Q1wx`0MNNaFgiT*}4f3cWT08mZ_E>^}?SL9K`lp$Oa zvjuI3JU)rUL>pp zBe7;;p->Peg>7L1@0UEOrDUb8tt|^rt|5*cG4MftN%9Eug<=)LoiHMKk&JMGqSI2~ z@RFpa@z|HJb*hpe8>ApI^FXR6b`ll@F$zCq2zfX-ILMP4&|`?Ybi8i`Cz&2FoGDKX zUEvkj8LyC;lzVdWJP>dLJmU?JdAy_=D?_?Dq^`l zkP$+1Qc0~MVg+fqU>2yPyv=Mm1Xn^QF-EeB3=)xnN22YM66T}?xy_Sj`ubW0ZPIa) zBX5sNnT+4bNg&mPJcS4t@h{Oapn4MTg1iAX;=@{oXLDubj;rO{-daX{iUfv<-43F= z7Mq61D~LgvNg>=>RZt=l_&cthr;G$Q7s8A`Z#$5HCrFf+m2pH{u=w_dczLz2$IQcj zew_>Y>;G&S{`VUx|L>nfb~hqxvwbUWCpp=<`T6hhOsjlM>G{erx|2Z*;*e!#R1|hZ z9FhHja@XsSEZd>AKS;|5RoZwL!zxLX_B*oXQPPwk7b)Q6rfR!4_{Nf4{~=jF{EmPZ zn{01hX%r-?m>8R z@7}5BZ=vk~V`%>TY4&Hzp_jg~mO`0W=@3tzz?bBbLmriOxB!~qMv*5FmTzE{>)~jCOV1?3M9t9z7oW>)ySFy)y8)&y*|XZooR-mGa>U zbo$Tr>GJ2i6YuXng%3UXea!4*nc)`7xxUVh=5U{CMv8ApO3U1re7khgArK4!sxn4f zOEibh#4I-X;gqGdwKAGK;??xa=@6F=ag%NFk1b802Bw~k#Ug~fd($_H%M9>qd7r9NuZi1s6=L8T3UjfLXTS}j0omC9%FR1 zZ+F-aAOo+VwE-7Y@&7`hv_cWLF2}RM9BLmvsubG&RrF4zx`^#z3^hzOVGk134|%4)`NrZh@3#KW zKc*bL*490S*$eV0xDs_d2m;SkyB_P2`50zS5^Mr8=Ls#B7p@U`7!i)tAP`30Ohc}f z;WC<$2&PEcRl;n^rI2TN{b%a31$XX0kK?=cVG;Edf#6GI5`YW`lSBaQ6w)45lMYb6 zf4=pFeR(!2E4jS3T#@rAIjD!4j>^VDlHp%FUzUYD0kN4X-Q+nfWUjG99RR`_j0;?k zJzoy66Oy#?xPKj<5-3MPS{P0~4vTMPPXht)PU9GKhtaFrf)^e)i={&dvp_ z6)<%G5bL3GhZqaS$36!0HAY&7pv5&=u9gh%0=Aqd<|&|(S^Es>aTrG=(i|BSCb@r- z#KNq+ehZ$nLp#hNFEjE*78Bl5kJa--d2p0P|M?(dnaZJ{IZ{E`tmo3~CSts7M`)tc z%0cCdwv8tay(Ht9*f#Iywr#oK@u$7@`q+n_o;3bgkr7M@DFC7pQwvd7GBQplT}cHA znVX}qG^b#WK*7*y!Bcw-sv}dupcUMf#vhuQtu$?bt&s$*JNu?PFE>~0`#h0Hh%7pj z`>MX?^{s1UinQW2^d*F}9KU9;ae~-l7>R1bOgR+h`8Wtsc=L`Rlcu1`pe)->@hiT&G|?ZN9VlC=>Rk*ifIKT|j~-!$2&5sW z@84zswVaGJa@cbO z+4|A!j$HVlnjD*qJ^Cm<-%PfKM1 z#sGS+5*rb)j|iz8A>9}g`ct_`K{b9TJ5K#}$|O6NRR5)=q}S z+4sAB=Wm>1914~w)C+6J*SFg*w)PL6KyljI_1QnlRMy=qAMr>yMeFL1$wDhIaZ`bz zo0gn_xLjA4?MOfx!+vicGN>6DB@lc`B>_q@i2{0`1d*K3NwP*Dod!C7Cr)haxSjd) z-r$EVqR=h@OB^$+Nty!5>P;IrD!^PIddx250@+WWpXIh|c}^oyEFLuKBy`VSghTgzO3`RDSD@SC#c2D7MbKG?kj3%SQIZ{>T5i*j!Y$iygwpw zatxhm!7~U^i>U~R)8Cr;98#qw9&#kjUj!OX5G%1&VV8*KNoxIFSl{~Q%0YhniWLM~-P@IhqoVES%C$eL|=`$E2kx3r= zgiPGhq&!J33I14ug0cmeD@AD@2040bA(6>DzB^ejx@Bis$=Rj&+(+ns681 zlMp0)M)Pn;cuQ8GjkJEl{_1^{>x`uwQH<_1#>bD{$NQsvdVLuxf6d*9^Q+I;y!i5G z3S%G7?y+x1;a`f{PJ@8m!SUI(YPYJehOYc#w;XkHYlL$X9{b$P%!?~h-2MJTpH5$n z;&HQxz1}dm^eYe7`Nx{2G+STnBTq~uX&RzC(P1(`d5I&?9fX4(1IM*+rp1(46xNHQ zwc9}ouBxj)A^eEbCN}HwlsW>T9+aTPEHE%7{&k_F4mNFy)*;JH|5V+Wiy9^m z!s1s1nhg>?msu-ljFNk}Ijx9Zhlk%lGncijSViaB1*U^y#o;vBIc$V-PaI|9ZdR1C z-*Rb3zJ6_P+-a;ZxS~Nr{>oCy4~Nu#VF-?NQ5CuKn@Qv4mRFoN=A+BLo@Y8DjNH~^ zQY166qoX$OY7B4Uc;E1aw=;1l*k<~>ZPonk=iuio^Uo?2H z*!P&Mb_CxA;o=2JhZOCdmg@iwD8{-K`Lf z8O@Yy7;ZafYpEOLk)-f84~f6AXPfobbMfvEO93aF%RfDX zMM3wG|2uP&?YrQV$8LsJ;=sM-lK9A{d3m*;2+7^)|45dzhOeeEZ42ku|KQI|KWwbL zhzOn6cB*U<0w z1B!`P4-Ylo-*Ds~Xk5;YEwHhdYv9vE%o6);@7%O$o1feAF;mrtivZmWSTovARB?Gj z;fO%a_qrn-HFGboqx0c`V&5QG&{_BH-HX`}ZnZz8j^lAC5C}<{Z#c)~CrV~oU3~0l z+fL@<>7e?UM>a#}lYq6?0c&SI!lr-gufMA`CVr{VnT@*lz7IG1w-`M7FID64=!Kxl zgX9d!g^Q=onYYo78V4ok7iHL#?~#*uRI0lJDdb>QtMcDIf@>TFS@=n{$;)dn)*; zgJZ*StCxkE2TdfXUCC^q7ehJr3XZ+ID^A9UyTr_lq-taE?c5CEK$P;Fe2q#Pqh_a{ zlBW-Gp6SjY?rS^j8y*qcki2sRREJ`0B`nK?$82cC z{l2pAi~@ZZ)AqEdUw@r%^2xNkhkw`jjPtH<#Y{nUTXART8IF&4LGk;?v%bMwOXmmDgaR47@uTJVRK`D7 zr2d>ItKrMFsEZd3hT@_wlBZOt``?fjbCfpxD9t7-GucOt8_sdW*!3!)uh1<-Om~b9^^cm5c;H(z$q@pzZ>v(QVc%ak+!Gh( zp6OC2PajUv#y^+GVt8twh(PD~)BqH4+Y0(@*T-=aNKdX#egwEnk)tA)oxoZAy{O!kk{B8mClE{{zXsB2IB z5H(kdmjTr|bB1c#WXX%5_uVP!fY>xBKGIH3xsLOdb=i0S2V-9y7v^#S8aJgo_E{rQd_s2&f4pZL6NvD*>esrOdmCku) z-AH&?or>pGxYwk>S&B#t;4PM2Mw|_q{jkPtjWRVu9l{@oD(ZZiQ;QN^~!BP&f z$2L`et1^rhe!j6QW$097j3N8sq$K4pPycl&@)j6-%2%Ji8qG2GnX}{t%jb^9wze)h zL;^6Omy3zn8o`ly_BlH?_{7OKbO(-|SX)w3=L30t=AC6x#1nUJx4y2G+uNSS9zr?M z&p?luXx+Du(PK{Y4ILadjBFIx(1Ej!oQW3O7F`x`!F*epG_E!wVIr;ki|C=?PYfR) zWe*|z%{MM$lvmrV@e9lvY?6_PqrCH?A(#uja)O3l?mtJxzU-FF*u(sY%7|>(57}S~ z-7sQK=3(A;>~=brs=VMcGSUzmVj zd7bo5=mYtkb=Nq0(M3#;*CWRyQjyAbVklblZ47iZ@&!Wxh>*<%l{dx`O+U z%>*?s=0~_t;;M~xvt-qkGdDAJ+iuBF&a%k;ZFnCV?3XXlXcheY`EUDVl=?#Ku0X=@ z^i;-F@PFPf+umAk*i?a%D56DIcY5ai^zp;qHf{8Aj@AL_#+vYGvo%DqKf6jwQ&VnE zY|jGjhxr$}W}sunS5{ivR<99Tu?66jBwy@>_AGSLMoKAQ$aY@Y_i9NV8C*Nq&VV;e z9GrnAmXa~P7^?U}F=%%Y2ZdyY8fw;m8uaND1)^BW5J*!Ow2 zCOxqm^lyCus&s^nmqOeV=7^&Z{@M8F=CzW$Cih})Wm){bX^$72Qq48UKWZNk#WgYl zZ!hQ}*A>Z9r<@Cwes4lK{Ult}p_E@%PVGFYHije6tb+-RfybHVQfq#)mA}5XUL)A<^umjq_vE>tIy!RQ zUX?l2f}8~#*0OA{Ih##8(%q4=mSo4d3=k}P6HMJxh8K4MYzkXAdJ?RAPgYFD*<<|^ z6i*aP(C*;VERlpC@{EpZRyz(cM=dyIS~;|BYM#MAj`|5dn0e?Q4(6RtKO8zwj2gqQ zvYBgafoBs(*GwT=7WsPFbnx{9b#x52Htmu!8W8loeeoSk7ojomIO*@rAo#jte%98Z zX#MEcxM|kq^tA$hmW%}NBy{IaTYIybV}`E6LFrPs!KU-ohe#iu?FfkAkHCfItlu(h zB9A?}FTlR$qx{CM*xWz|L^6@5t*29W?b+>X-_IVQSedS4;#{-CVLzSTZcjA@smtFh z85QfSwXiJ|bc9{)Iw(xJEe9ExJm(Z?)pc5wu-n+p7W~@V- zAV72%)?OYQ;OB}n-qb(bpZ@4|4c&e_WhfMG&q5c^94?-_oo$P3XYHvM`TDrq>+bgZ z_dX(@E}?QQocd6>dS>wLJDIw4umW>d`r)OZ5b7t?`F`W3d?();L&8;gSrGXIhlGfH zI?v_r-@BQzvwP-Nf02^p;O+vm1`W=?Z*aZxhn3e> zA-?}}tu4xz(z1k1nE&8|e>~BdBi`!HzswSDoUCq{#qUJufH}3hn5dpf$T^j2Bxky0 zw{b(@T(AA8&raBD?Z*~LU`pWcjYaKuObo?RFaUa zC7Kt3bQdB0C|JFS1a6>mzSJ!VGx4UdC;Niz;9E<&Rj0W#r3P(z~x1usx+IRm`6 z_BS~CftwFsc_TzxTex&X{v*9=%7ZNbXp^zDGjF@AE}u=3uM=#LSpWXbd8+@qua{2< zqYPA@Cv0h2OiY(Zsqc>&E69udf`lGqfi01)OfU>N5d-Z(HBdnzfnHve!Rm${>M(S> zhqFNKz*SUR37pvSwGmh!84v|D?Z+K)aEMgR44-i|2V|pFmS(rJ(p^(yk7Wl`qu9#z z1;E}&9{lOaWBEDBvo4;?q?6~8Gxl|hdP=Ws4=cTwF~eYc+3-)iJmAYPbK+4Z&u9h@84&L z`RPWTqRlfd(qIE6olzPFa>D>?Z9&NV28D2h)-1NGPXoW7Lk;M_ZZ9T7vN9m|ChTv@ zPpeczJbB8HOim^?UI;;c$LlKM62I;}j_=2zuVn;2g5r0qtyCqp9Rj~2Q*EZPjOv4c zfGBmEOsrmj+SM=#k5z->BT&z+2cs{52gC=X>Mlryr9*xTX|dhD9Xxj$dhn34bp7%# zc;_9OkP>P*MHufPLdJf1negN&tFbXWf*s1JU1tSqLI-HzQ!Yi{`SjI+LQcGun5oM^ z@`WSf83tCQV|1*I^hGo1O!J(}gA9l2IA}eFGWQI~qkRzrx%+JRfAk=guiy}cG*U!G zMGQK*pRqBPSA6ZI{mAP}h=cn16aqHexU4j&hUW6%*T<5ozxMg<5J`n(skyqZ9m-Hs ze#g?qiM;mx$pdc8q^xG)WJkiKZMqe%nvkh)hr}*QXP^OD14p@mZ0`CVr3$6#pmI%u zraqtuxS%f$a#UAQ4Q!zvc=67f=I0PS?FiVmE6{nq$U@u+cyu@<&%sitNAPtqn!X1R z1z2?7JGe4N_U|e7EkFr^@HgEW)4Pv8-{3f{JKcDXnRxPSU0XX>;IBK;1TfN<}Cd zKR!Ne`N@i?&z9GPY6M>0+IJLsXPINfIO(|AGBrc2JOE2$2#6d7;}3@`<^KJyPa@o1 zr&yNUpS>G~GA@kg)wz$Nq>nMd>FFRB7b^6R?>9j{2znVKlVo&&x^&OObKhDV1J z>-TuOhN6}4@`#LP_BlX+89+J=_l;*t7$lPC4&PI__I3>;dGH`2HiRx&ZU z_?%xv%d8DYFW$8gs=^9LUyrY_npfM)uYY&xU?59RsY7kuI#>f#ZrO%Aclz{FSF>i{ zZ3dGi@hj)r`CtLXZUzN`=m=yZlozLV;9a|ZDqKJ?6Jb?(Xkj(Tb5Mg{>#RaPZ8CAy z!A@PsSm+28I?00=9jwjG!^&|NNC}rf9vIg6$AHmT8vK5qk3nAOjha-TnLGvHH7!1M zrG#c2V9 zB>1-NQrVp`(c1T<37oj zMn41@1AAg5_ysNbE=$YuS8y~uy|ED&OKWoFIoxTO=S_U`52ZO49JUkf@Edqorq7>S zDO}y>&PKm=@awdFeOEg3mB}R1a9c1#?+Cym*^pm(tznw^2P~^n0Xb7vcGcEK`RGxZ zYSLuB$j4oqFoC*9yj!39%+&M4j?BzDXFEY`Ul+0?b#8y@Pdu-1NQz?CmH;ZpN*B`Z_5qxuafN$ELKNeb?)rZ zmYVc7c&k~)<%^DJXG^3Y>FMbm0fQgIhT99*BU2ohjTEijcdk{cX;rHIA+Wg*K>!@+ z1s2fK*~ye$W66*c#S`x>Xc$9F9ps#r+qI#>@z1tc%ncKF-%y&m%chv6S5f*e|`y zug#<6fQ_vgH{xuG5$zfqPfeKnD6o>pjNrM!p>N-mrw0(>v^WI;Jm{Sirh_Sc&$u2v z1A)CoSTy~4%=7P=y8DBxL9!ELux)ZuIf9R5S&6NvfPOeUBjcZ4`0nazcjJp#b3A@qb~u@Oxc_1U*=?wSYCQO&y#X^-p*;4KMo@^4oExi-~M2UzacIK03f_uqM{ zL^-xX`#DA5TJI$NgNUZ{%&;IUo013*YJkiZG}rov&y3V8iR3F^Nc-P(KiY91ad%tI zHU$&`D$hGlSrWrCM|`;pyBOmIu^XCTjxhu|i2To8_jJ%LHvIpPlG$2kZU;xKp`nPicfj(tVz% z?|PP@OGko^V=ByhvlAzY0}aHl*Hfi;KnGoIXJ?lhddNLsPajuS@_mfWT&R!uU;KK4 zyu6vk2toFl$uGl`l+%iXa5YPp80Q}R@+HBtBFNQkBV2{#R*!>KYqudcr`?p@f8lk( zknp;=2-;3I^*=oy?*GAvVobtd>SLxZcV{3+@#B3Do?Y8h?KaDnB2}Vu)0+_>V1V5;*#pYIJ`>I@`QCysX8yBhqS>m zXSx0S+kc@yBAr4cz6X9+N6Zb9p0L*k!#VKfxF;~ z#sDSY{2sL=iG88JH7MJ{AJvD*z-ukwltS1@4N*`4xuc%z>D52CW?VHh4G+~9#veI; zC*45fn%Nu=RD!*&ibja|{7gM%MCoD3Q;}X}Dpz z+Rps#U;lk$IAvrCb8MR#?*Cfq{|oJNj`xf6skX*s=q0X^f!d7+YhcDDhrx_P9`H$; zx;9N))c<6j>bwwRA_eZ&yY6m* z#jCrwMPy>&_=a6dwxlX?n)2cTvu^;VvY9QUOT=YJKV-LD<*^57g#)?^Orc0^$NZFb z?nUR-yT7Tm2x4NI>IQLK10a|`)h9i9uDh#wrv3&rO5u@X!&zj36&oI8NW^Gl{AGEyai>r3 z&{%X^Nchdv7;&mxeLP3Um-eK`yS|q_?%zNu>=AOKiT=lwTpu0Gg97WV?1y&e+9r}C z?j!bxIX_068^*)hO&h&gSq|q7x&5L6U=M}1bWBriuDKkmNCovC>xssHyfT>nDDC2z z{E+-o;nKRm+Ag)@`>oseVmv<_I2dk~I6SJEYG;bfMJ@b@VlE)N!43L!hqbl;kSy#B z3~ir3VjWGE`kg3X$q1N12=lK+a(TF$La9`D_r_n>8l*a@%fY&#RKalC^XGatR&9dT zg4Zn2%w5k9v`qZ7L&wLy@RpQdAw5IK{TpRTYt~uWw|RN(q=Q<{|LH&cathVB9WA}2 zW$=@qKk*BpvAmK-z+eht9P~m?m4f*}i67HfmDBwlRzggdD@EJ8)QH-D*ceo3 z>-qTy)yAj!p>TXaj={!S#dzDHYHOl?7R5LFSTEYVd6>5I&;i}F&?^z{xN)^eU^_dy z!ie2}?7eveJdw>K)w~0Xa0|Xt!QEswHWqZWYGyF+_$!?fyj#;-fmtb>+TKd>mW+^Y$ctPVa#{{%n6Ze8 zLS&z6ruOHa<+2@plC7ibqmdD!o}u!uwN`^?FpxW_Sx1g#eR8zB5`0Y_n?cXM5BNl_jbsxW5(32DNgeAm2{o+9+rsY`x zT`}|*#86TgBI!RMH4DU_#cS^WN7^8tl7IwYM?e0J*q?`ev5EEtrK*LQ7g8e5^YTt& zx1S0)<*3zzNqMghk#Vu}+(yo1>jZ?9*L2XAppom!=L^_ZZ6(Soz zM5cc8Aewyy`f8NoU7$9g6-^ncdKzw}9mE83gQh!{L4@VASc!|H>68KZh^L5z(qz=6 z);tVpxxjt^55S>jPER#kxv)pNJ29v8&6Ys9Tls9eHcTOoMa8VBuLug`mY@QR`|S*N1JNKEj>(`fC4mZ30SrGzZArkJ zS_Cg5<`N3FX5hE#zI@RO2BoOn8qG6sw1wSuU}yr&SxM8@(8|A(*Ejd#y$IlSPafC| z5%u`^D^3fX13kIHg!jHyTekSTuXGQ!HgFD4@-F)RF{CGLi1>mVmd0o1`1CZR1o}X9>Q2rAj){%!OpA6`a$0MwCSX)OA@cBjt2sTewVE#E;&ubpNB8LYLD9)oe230qsD>Qfa@a z@nzD?C3?;O!dn6>1iU5UN}&!8NtU2VhfrlqLUOP`Y9={FLqBPKOH0eL3PCnVW(m%y zFfXoVn&CP9?WQ6S@WGYOT=0o-W2AZ&1 zP_-!NVAUdbNnj<=NZowdP#P+vp*9C~_d%htCNzmQL8&n?&MyxXAAt@xsA&8k0j(By zAJc8ddp(FZs|gboAyWf|4r;GXq8b^4QiD9zm&L^paxv~eOV9#mB!Py8 z+Rg^?HB6*xGa)Xdf&(qisK@uwBy{6&L8oP{g-X0674#j{!)!`1b!eQ?ePJa9WV4Oc z!rI)ps92iFoxTNeV>9Q!F$o5_*Dp&;(T@0WWclTpzxL*7SIf!GQ@>6}_v<^C?@isK zpCmPCch+&;)T>3eYM!Gi-K(a&nzhfk)JVmL1m0=lk(+%m3sRJ$tqc1OMP>&Lt3UM?o# z?o0Le_t!H0?AB$-VM6cw{efX>17C!54Xb&~F@Y6D^P`CGX7UAj<>AC@~_Px^#-X=u1z)mn!N+Ux{v4DRb6K z$jHxDYVYjeDC|2z9lBLbOUulW_{tsKYG2xLqTlXIhpLl@G^()hbVl7N3Y21H5D5dm z$Orma^r23(y}-1kPDuS@Lqph&(Gj^KklWLTA++PABYdde8Ro1uGdO-ua2YSD$zr0y z(2iYIDP1%oSM6a9kckx2O#9AIAxS{=?QM!sn&w{6?JNFDLl>_^t4ZqCGA{<-(OXTX!{Ur37_@ zL5_6ehYg5ll+MZFvG-7p)U!RT>`Qb{VM3TluJKbYsmD>!IKuYJs^02`0gnOf`)EU=^B$9Fzg7m(MH#E%*Zl=ZBmlCfx4J6Xy9}n|WVVJ#N zu9m{+h1tPh6A_F~ufCvQB@yezQ#f7J&4S%QS$tJj+}Wd#AX@RYx}iBteqbOzJe8Bo zGz>Zk7|9kOdq}e#+8!0t^5%sQH(|`Y5l5itI8n}?&x3y=Cri4|$1f)#u>FeLCQPI^ zmB+0A_G*&lWgn@%CrakIC;RJqc<{pHN+N~Y$pzzX_q*trI=m-k~itlu9Kxf-kr z!jE*F!ga%%H*HZ~cduEOz_XR5+P%BXF6!LdTGA)ovS;^0fZohSZoe{T1|{%+d)jpx z!uS*H){rcK4Q4Dncsf0+zhh^JT;=t5akBM+EOZ9^O4qBo!otJ5D3xD-EzN0rEzO1P z-EI=huh-%7-4MLT=DsimjN~Zj@ea4hbmiA9EzETXKbn6D578uWe;;|y5Vn-|smp79_XO+{ zN*6TW7}we2G9R9wBHQcaTKXm;1q0s|OrN~~0*SHEO+nl*e_jfSejy!kD7!X;!sF6` zNOOb8Bu1yNRH*$GjfueFo=)t+}!RI#j>;RLcqZ$TK4=n>+ zvAV|xOZlg1>Grs&{y7oYOIx0xbgD14p=RBuBDv|87j#GQs;6NA^5}(D(HOwuZrw3^ zFe8eflX+nKU+x+=U}?KZM3Sbl=B*SF$M6elIyhWj8JFZf^i^=}L)V_(nvwMJ_nUA} zI72$ag5A=IKX5GWZc?Wbg)RIEi-Ey zCSH$6+sG^Z-X_pp0d;O-fk0XMCW_tLn|U$3Yhk>MYsLv(@zBRti3SE-7l_Y#)Dm}~ zeA@}FYvEc44<+l3|8>WFX)=R+o|HKgZ!m*DhuArX*1mkgkNcuVELwAoS&UyGktU^*wpccN!oDh!t|mm z>g}ee4N!YsTpE;EOKp)Cl>@~}_ws|=F|VXDbxgg|fm8Ko$V}3o9)R<947Fs^o^sP) z*GgXAA02%(BnKe6gm&lXT zGXzHDRR6vG)T-zvjzW+h$s8_DkdwT2K5%!2%SWv$;}VZB_9lHhygzd z?ZLO*I)D@U+r}ots?Z_R?njV%OST~%PK4QG%BOkpsQvun(l!1_<)W6i@|iPX!9l4D z2j=isexNk*ZMtw`o*TR#D`#91(+Sxa^<|_y>vPP;7qzTiq7jycw)E$)kttA2p@vo) zI_ihZ#SM+zi$app8vAT^+qDHG0)3T%IZiZO%U~6x`3T>_U>|W;qGz zry`jPzq)%@lOT$ahcA*{ECF#P%G}`I#(`dp=homT^YZ6r4fN!nRheP#&z_-=rAHt8 z2v*RfSMM&Ab$phTq}Ygs`EAXpASLHAEL-1fnubnrd&|tFztUR#Dxs7?&A9>!O+Xzc z+g(EncE@Z?i(ALg81KVilsRMG@(zxI2tpL}y4S+FWO3~h{^Cm7vF=iT%m8u>k`2fh zKH=lR_dAyl(?w+13#`y4n7#bYFCtesV!2$H=I8sQsKEZp_Jh6Hy9z30+P_RzO^@&cV&k>`2ddtJT7{ z?Ae>~?nz~cya*PmF7iRvCYdX{GxwGc8Y}|6{=?9bnijE%3L~fEP-Hjo?3d6=S7AP^ zcsl|u+N$rBkFsBF8d&&?m0-xhdQye+$TL3$QzJl>g_K`_EtyJ+yAPYL4fcf(w4ejT zrhGpN4<1`|y@13LpsOsraj*q6!wO&uAqx9IemM~h_>6&W(A}Csn0U@>CCbB{E%eDv z3HJ+=nYdSIDUGUE4uump`5a4p0<$PTEBdZ1(}p3Ki2gaR$0BBb#9Jo?X)my$NH7!B znQ$<*Ed|M1p@IX@_fP_TN(gm@_ zLw1cGU7EPyG?xI_zPKY*?(V)?==MIRhTHp6Z`Q7wyI0^xP8nbPRrf-!mH{;Q$ul(2+8px(&Sum?9cp%38TGDv;0pWUpCKg(4?Vs83U0lK2}=wyS< z&UdZlvhtmb_2t@ddqW@2HmVvKB^{&jfm#W!E^)Tn0H{~Hb**7fDbNfxtwux?7paN?k&R?}m#ULPc< za6Rt7#!4sO9SsW&Z4E30m>gVUOSJtM1bP|RWcjXzfv7V(cM>_AbGi8W6;?fa$Is9v zpsn7jb{WVmW_5J>cXRRJR}L~|+loKz;%c6`q?%?8CKN^?h+#>n9;}AJkv0c|nZ5P# z82Pg;5wzsaJojQe|HFjN-?eT$%`EdpiXwNOZD?Em+i~TMkGBrwxqLy2hjMeJuZ1rO z9+xWb+0n%Y9}iQ9`Yf}d`>VWS1cMP!%Qwak#;}ilP8EmI&lN>JoE0uig82HJvOF#B z_j-x1{M5L3c?-)9NS{Z${6#f{_@3SOGCDlv&&0J8zLXn|b`cjJJ``zW$Yw|~SvsE9 zmWp`Y@`Zt;Xw5If@@tEngm= zUK;7&?lto_zuxBZ9b81R&tb&bH96@yNtKSB8)+2!4AQIY!ZCC0@E5eaa9_r`vzk(r zlS!q^D3%B&{E13L)6u711?+X4978zJW8!om5kBy33ZUjbr{zgExk}NAP(Al&Nf1*= z%Bj6q)@Jh1IqsA2pkNn5Jz(-CIU7bZA;e`?_A*QriW2OQY)J*I{FVcfAD-TZk)->3 zaPvLJ;*966I?rj=O1*%XDn%Wzci&uh7))rZ)2@tNS%ytaQ#p@eNxF{MwbkO;1!x6HxHOiDcwH^9yxI05N=%lY*mg6#a|iMX)0P@Y^kyXv zb0*6eo#J?Qu4AhJN^X04@7;wH>R|z`+gYa%hso{Qe?H=t!cfv$*|LKnm=}1zSuhQi z?8)Yjza@V2Vfz~blK9od6;fdbZa+KD`*`_k=`37)Oj~*&u}EyCAn9Xlc1GUHGK(pk z!*eK0Nt^H{PgRi=A8O=W^^HLGVMFx`6ZgjpQN!N!tlO%Ds`I@9I~99s!ju#Jm6K*OaTc{D@E>U^=Wy{t@!$y!9|< zUzs_tQos5uY^FE+U!j^~7!%{C>J^-)oe_wnBgCgVMfe;0P`wAg=AGd+qQfg@QZHQnXL<11ZYZ{jNjX@-B zVX}F25Efc-KiGBoi}zN4`~*u8ST$bixgFUGMHd(_*<*G805#U_7Y^cY6oCESGo^_y zr4k9xf)zyckC+}=|D2c({fN6&yKNp^Tw)Vc^PnkFHSj)cxjppT#3oF<0|Z#5<09!~ zA*=YA*W1?P>okZ!#2hj<$r~@mx>G*HiWcthUTSj83nyKcfVuYuFWG5PT~)l%#p9;$ zY02YdnKhSuaM=}HCD+6tqNk8g7|9;E(T%JuBhCu_{~jNsMYXe5XUNTi0xHCA3j(xS|1oMwk=Vym$n8IMoz{#RZl?OEBzA!Fle#mllcTdZxjV3q5*+`I28sdiddeOESVQAuA&2eI zwjs@Irn!gS!tCx{6iM^yaImssA)^bTQS1AX08e$^B0A}6Y?2ZCoI0Rymeh5`kXlgC zI&c#`9^!}YoVT~foppO{q7biz2%IqOJZX^$F-{@qyT>gp+d}pm&^*{e8gSmhGj^s^ z0vnJnxWIhmO4Lr+KwnAN@R07z3)Zz-k}Z2u_EwE=VnK2kF!-R{^+Fty?hv*eXdSu> zGGT#L-xNWS_h^wM#>5N`A{=e!gyHumiJkeTOH_MN*svE7Tr{Fr?}9YQ=NY@X>CGol zbavvyhiB9=Hh!T|>9^w)l53Jp{(kMG5TA70av9B7zvR8Ed7Wn#V*m|{;hwVMa~5I? zWsJ5qHg+({XarOrED1QO_=isgup)!UASIhBvj? zz7pxKe3{ar6DXoKY5<4$N(z0^J@9*pwjZ0zljlN{YcAJ`{GvCEaeJaH8k-<#8o09T zx&0z^$!X-Ag{tC?ph0)^}nD;eK%%h=IAU2_~C|q?4&7*IK6)&qB z6kq;X1@c&4S)eLsRw;wUK6HTJ>!re^yb>S++qQLg9*FZbK;i&9Iq9IW^(!-4p5tJg zqiUY0Jgir%h|{O=LQa?HXt9)^LF`;5Fsp8p#y8EHc8#WtdvjuN=95aufp8z*l?K}5 zzhW#wdw*(rn%nIoNEJ{9a{+}cxWou43S}G)x7ZBw5WTuWn75(9`^b^z1f}O0HG3p@ z$`=xU*mPEq%@E_&nOB-tDNN@?u+ z1R@ond!G%Gy6I4hFX;RcG&Iqylu#zngt+sSi;CIrb|)fd%710G4Y`a7ntnQkeDTe_ zaN>qFAuh8&Oy5)JlciaPEv7*pRdN@SVG-}<#|sN^5T7wREW&pAIv4Q`nt&92w0tti zq0EVb5^ubErWS+M3RJI$hJ-u^(cI9uon9A%St9C*uo&c=Dw^&IVZCe(z3gJDv~8Xo z#WqAhVIVG|jPn!hnjXzZr;-fXwHVZGxgKs9$IRT}1O@HRZWK z3A!W-K_F|YFYyr{utqV^QF`zc9~H*TY~U*R!px*zrd8&K$jdEzd@lkf%>m{$Y^_;l ziD=07YmrI`F{$Suy1dI6@bT)^{7Cnt9xtlg*K@n0k=7v9=B+8P#xTDu3eCoS^X4Kb z`zi+8!R%!;mj${WLcunGu;Gi|X$VtT$)3{~Pp+#^nZd#WxWKYQV?3AIl!ZE`8Fgtt zx&7v^XPdXa|2CigW1+7QM(z}xqrDEVkAv5b4+7uW`+a|F&Hn7&HZV|WIB4t%$j>i9 zFNhpcRfI!_#E0N}GhJ`>fBvj<f|;CNIe#wBh6!naCNd4F7Tn-K zH_5_*zC;>rADfv;s7d)z>yiFD76^eeXL1S7+!f{Hc)7`?*4~i#6OfQnYy?|`CBd*1 z5PSTJlMsT6==&GukvUkqhhc92YZHmLST?)DOuS-*kDQv!lHBs86w|sBu)jbKwWgVk z&vU`W?D-$+WvA;-#cfA9Ryvk!1v5xhe#rkTU39 z3y1rnIX z%fl{H`tzb`^9j!5QjzDCAXT+t^5NJWV9IXbe;KbP!@#=s@-i3#KqQL*q=Ie?MJ^b~ z5y{&GP+1^tI+*g+Wn8kreR(C?CS2WPHPcUG>G3+M-5*Y* zj+WPr4ouwQ4Ox<=?SNAxd7wOsoD`LDWSBjc!)@weYf&bIix4*WM0$%Li zo(oOk|1c8>rc)Zz&Vb9;Pa=}-6z;VjDLC%=?rraRj4vI~#eh~6B<=uE|IpRKfBbcO z9=QF)i*%ZGj{}MedB8Wr^d<^IuSnANI&)-Vhrk(tOp-kBYlA?V0_HX+H74^ah!f$K z1-EDBL+l6oQ6Umvi_4%Ep{ey43qD8zJ~C}@I1vZBw=Bscx<}Nj0$@#s(3%wN?B)?} z%_B07yZgDXTKLcO94q5aFZ>e%l|h`2k-IFoUS(oMyY7wMvE)d)n_*1X+0p(qyg7$& zf5>iD^(l90@!4rJhntq*$3N-nX8tQ*pi7Oxm{6O6Vh}q#kD628?q?7n$S}uOPfnJ8 z3W+ZSl+_JD*VE*{E{I*&LAzmg0ah2JtgPw}VwKl9zB@cQ77llMOdJ9D$8)9x68%0( z=xYO98-ba=5?_1y*I$$v~G`oPBIkHFnLyQx~BZn^PG-?l}fh)PiHIG)aRCa9ubgy5QC{Ga&|F-@cSahoi? z%tCJ!V^#t{wG*hC*Vir~P~heRl*EAoTA(gxrW;8+*gxr_%IY6*$LFG5^V;QNGolLw z)=6goR=00x)+t>}(X4QqmA%@ssR~(QMTnF=Ws7W+TPrJP$jR+}qT_+UVnL{!iQ16p z!8^v;oyTPt3SWJ#v<40W4(KraBmcW_3BX6`wElYHBmVGkzOa{i zWMTw?YBTsU_z;M_pBZQ6>zhVs*q@94 z%^?Nm?8HM;T!1*+Ecw$>&4RUx8 zGty}hP+HAy?$AUaZ)f73z+ z4VT+@VZfEJ`|@5qvpCnpahn=W=52Bk%yj_MJ!OB6WRqAUWMQ7(lZr!nffg^D$J5|> z5-(i~KO@dqZuR-$(jw`#S;KmOy`J!OWG9jht1egV@l{4-Mp^kv(eHy3DIAjYn<&@< zsFt5*4D35PNt1Kk=mnhvWQ^H~Ei;=FkHJ~V!DAoVjbx(MQtMp1@sjm-R-wyNojhWk zLkY>{ybL*ItaB?So!WT$E=wGdk93y|Ma;mb8)I5zxRb)R88uZt+CD9&mS7Jt&G8qZ z=IE(>WK&|y#Q^d8f0%(-S=shWeAyS_JKp{UmZIrX#i~~66b@N(-UfOF`_;uiQQ9fi z%O?Xy5=VDtsc5e+pB}^zWE)@yr1W3BgkOwjJPlQ*^mq;y@ud_&lI^q+`N95-=2%L6 zmZpIXuUi{EyAs{$y+Lh+6F=nf6bf9BN@hzoPiv_@A;J7E2YRFFtJ*V3o>U~`IL(0U zNeiW-{ZK`<2^cPhwit_{t zI`fI#S%EgTtl1j$XWyAYFpP;uCwT@Eh*)-WoA)Qh7q$bOfl!W}2OoC+Sg9zdT;J}9 z!U!gD31&9R>)_yZRtoIi9RY6wX@MNLhv-wlnJh#5*N+c8f}**_c^@mTq%t%r#tXcs ztS()cAt$7mGbf#AYX~!L5V)Uy1PT#Nv_-drR+l>5o{RsQ4bgMg#K{-^<3;G^$j>uD z*|q0m4CL$kU6xQ`!50yDxD!g(!fj+De>`ewsE{5D1=_ahFLYFw&Y6b`UW83IFBr6K z#DcvRKK75B4(%nk*4H?;30V5gH0^&phs@o_3{7f1_mb$lce$+3+bJlgy%W|6t{qX9 zR6#d!xc-Z^>U=N%mix*+G^Ae>_!!ade@qmj)hn6YA3MywREElj--KDU3Ais$zd8T8 zmuv3A_oXszMC{dE{oHR9us8k4fo|zmALxUFq%o9Mm@VnvB?>t5t$C)diJ+KFe7(>dlmC_K2o@a9?GPQpUkWxAvSmzj{OPkYvEHzy;m9I2$S*wEP4@}BGFWFMGYd6bTUBp zq>NVI0sr%F=*R9ZqbLV~8*nnaIXRs(x=rh1%VZ-(*Wn6H5)b~_Ng1FLIBN!5)U2^f zsRAsQXu8}b_oEWd;S+$Nmds4sc}A?)R-qY2SveShB)o_hwPxB+evjs{;{o5x^w&>D z8-QjS?0z?E`cZuA$Lq3Zo{jAgupb52RVZkkSm@ZBp{Z<>2XK_+v3iMe)Y#bMRfiV( zh|mp$!;uD{qc|H1Dj3dmQV1In@c6|osYjI~O+ERsWmmVsaSnV7azZI3x@ClJ%LveR zc6Obrg;rmj&#{~4ny@lTz}y@O4o?#5P+^Zty7x>XeW8BsbUU?y(dCvxe;m06vE{*JsfHEBX?F_-n`K+d2os2&jr);fsoMJAH z0e`}EZr94m(`tPT@(-J1F=n1%aUOJ+s?iI)r@j^p-fm{Dn-nC|rF{sNNdTY_4w|aR zGP}(ipG9zU^IqDwZg)~IhA&l*sCek#3m1(RSjMy>ft*hx>Dh$JRp_45OKM4tDeg&P z0C5tF;?O8_M|;8Gh=`gYz@FCwaCxo4mCKhq8~vNV{i_=3AEQAna?F{FPjAl=J+B|g zY@1X(7S44x2;yWTH!HU6fDBA zs}TA1O_NI(4y-6@r76A-y+8r4N zVsIIgYJHBiYV(6;IIZzYt*7uosAQf?2|Py7Nw5ut&13Bi4^x*u+co{%{Id*TY10gk z7R&BqCgth4;HB9R;8jR1&yDy206`hmdu1=TC6n%x0UV)`b?#O0Z|k=(#MPSqhg_>V zoWEhzASfqenmY3%gmh^S*1a+`(oAqU>m_Nt4u1cHz84Q24%_@H{%llDEpz;vxU*HU}BVF4STW5P19STu|N8_coY$81m zz_G`glq-fsazUs^@>qj>Ei94<00a(U&8W3m{(k=>&p%&RT=mr7VfbtDcO3@QTVkaB z;c3GSQyIJyqJpEyC-n2CAonI&b-kL&^V94|cKe5!yVDspptq2|eCF&QOgWvm8t-90 zoOUOF0GmIsVJIkGcaSl_!iL@Cc@?KmPa&1BDHw~lv67O`%hskpWJelJO-a*@cnw`v zVPADv#cgU>;An3?@NQhzY$%OR=6UA~_Fgq}!@O=c@o7md+pjVk7nmAYyZr)YcfdP% zFvuxFkp*davAqw1sCQ3pg;C%X?CRyg=;xV`j4mV+ry8H?UT9YdM#0Ce1o*DK96Weo z7Ps+Pvbuiax%0cQQm4E3OWuO>&wTCx9d?g6i}>_oICf-mJ69!lwgKfs?ZI^P=w<7T zx(2UCkd&Q=?^2%d*j0d{ad)ryUsvqb`=gi?4f2GG3^cCsWH% zykbTvjc4pwGbAYY$UP#^$3`Xlijn|*I+ z7hQ{DnIASRS8PjqGE>V=+QtOzM-u^9qgG&R)SwUdT=|rr``w>XckD#|^4-#o!yFr@S9PfQWNkBU&<9c|}ml)6u-ev}EBg!mokI}52bxmd{gRsOAE>~X1o>n|(p zxv*3a&ZmF8GA=h3bCXGvS~4@tFttfZCd@cBqHn*wt8ye;%g@cURPbElzee*>R#*^p zA{cBxoJMm5KmZ;Ma#C|%5uJGX9My`Tf=?x|BS^G(o%gc*QAhRZCe(G@+et{z3I;tm ze{pq)=*V7&2tN#<$j9>v(1?oMbWj51dvYcqc94Aks5fWd%aMQ8OTbYu*$3p187p|t zC?WHQ^~6}LX=%^?Y~8uaRvJw3ZHwi_754@hssiG(ToN#J9M!485_JrjAE2Y-q}|RT zE?%Bc_ZRIB9G=+xJo8E~^yx7M%>1l^8h7OYMh8&!D}qM3lw4{6HBJR??`a#3O6XOx zC7){FFBu{Yk9cd{A-ek{1WjUx!vm9;b_=C1W26s6#6a!;Km+yG`!M9R-+d4U&!xhY zlJ+5U7=s}WV|QoWkMrsP*Nel=JxS>VLab-!*6RUG9-$T`m$hCp{z&!;5Ycn-TZeCCBAHB}_@YDxj5cMk@g&h{7xlb54TiFKAY7y>#XWWPFw| z@%K{nJeEOn#Qe>J9cZ?t>jiyc$76ay949AdzYI)%qA$T=?2DjEphd3TuVTwiNWme~ zc;qagJxOs`fzw&RP>9&dv0J=6!f(w<7~=h}j=;U1&Vt;=H@ji~A9k~k@$Htc0}DGK zmSu)2Ti}`_TF9zWQm@?ycT!VBHa;ErH;}_^hcrmb;Ew8Jx0GSJCVEPnO!Of1>^R<+cTMCyyoK;h% z=U^JE1(YLq1WqflE>CsH_hemut7ye}`>R(w@ZNYfbJ&ve+WO-2l#1e0p(Kpn}KIS$^?_p%$%DSFdIFD=;8allm1E80K92^n+zO zA`r}U{0c6>(#%b5rlq^x1Jw`zpX@9PsxWJUK`FCP%bf;t)OC%G5iG21Y+R>LHy6ci zel<~Gn~W%pCzE!H-zKE5@yUfy*LQ|T+QULGtY6&#v>MCB)IB^aMjT;Ko~PYf@cVWiW!(E zU=A}W`;T%D4h+<7KRPlGlZERh=0`|){+@}E$I$Dxwmc|tG~W(0`&xhqkgjq~w=3th zh$Ga@LRs^j?k?@47-_1!15Iz$f{E1pFC@EtcB@!$5We@uszl}G#!_-xqUl>aePPcd zU%(AKZkpGTT;}#rYw(oG0+lbWNC@OFU=9F1h}{z7qE6p>=NEeZ~c=|MyKffVR$HMU?4j! ziY?~ZhPWeY%oZT;NJ~5c6m9&&&H}9SS1KUA;ZRgpV}X0y&A^57r$B1bc0yLB+p^?x z@sA(ei-hST|Da~qemba3cG-2Q(Wy_Mj;!{I9DLuK$&ftF0dVX*D6p1J%bV8j8=2g}E(^5^c3q}L;Rv52Dlgio zL9j^W5bs=)Y@D$xP zNFbY*9H$j<_6(thF$8XFw7iQsU>jdMh{$<8*2*l_?j}H0$3yTYfH;6@jt)L|#G6rG zwk_RT<@gonO}}Eakl>$?o6r7<-zzO~k$FdeAWAzT#r|85UlLQaekX#0tAoR+KF?IRg*8umTEptE-M9&k1AJ z(A)7zKJv@zDX$B^w3bHAqjqKpe~|*9N#7%tr}}N?nff_l(Pxw;4g)W7u0)4^z`w=g z^98SCG*OQ>d%gonMadpOMCBpFReLgPCMUbxryEL-8{gkos+&?|IDrdbdwHJ`%A_Kp zN+}OQJqp8nv#QC~dWUlzxmms?^qZA$5tC;U)M|KkadQMR-j#;7e@@!KU6&w2BY*QL zJWJaY3!%cJg2z*iM4A2T&!+=BNAFF|U#SCm!safL@|f#X$rR7!b8xa#;sI&$mm^j? zp5W*@N&oFh$5x-?XAc`>uzRurE9x29U7_o|WNJENlA6;b;`rq*2?m|jFc^#b-*ZFt zIJcFs;Y-9jqUEk1Cbjn4;T6OiKUu?JNDDROw4E^#rrrt2y|5!1zRVHZQ%ciTp_FH5t)D&e*t4f;r-Y|a4IIc}O-PyF`fFSp?-fU`d# zvIbVkDqc|*GC}l^@!-%5Uj4a^+XVU_e%PT~h>>JTXTfjjE^OiUIhMuAtHnLjHc!&% zJ&U-5_%m<=?fHtYykjTx`luYAykZBo4X*9n4lhE0L^vGmr7@uqoks^z`4f;;cgyG6 zkqxT_8}@pjq43tv>%41yOtZ~Hhr&Ah6>!%PV1D&C{8an1h4{BQv&Y|*QmZc4?^zGF zxnVww!IpHdotd_^wIqqv<2}|sp-)XL-C&=BGJ<*3e#{M3oeXGBX7DG)UQSnChVta} zU%?a;Nt*?99}N><$M@=BLXUj%m0#ZlyT)3w6lD_vIjaWFP%&%4QbgvZ(YrhL7z!?v zNTZo>`k8~(rcS7FaANO9=q8Cy6?2kj@U8dS&^Lwwjjt2zAaacUXhi(rXX~y3j_#@e zI5hFHie>-BC>?VZ6Am9atNJtB5W|I*K45 zQWgXZks5kckuEh9sX<*)K?DN?383^|q&FcVN=G1+(4!(CC9oi&m-k&<_wDX`=biKZ zdGG$gQF6JNnLG2%H#5J&1PHZ*=>7Y%S<_)3!DFWAL$Q;{#s~+TDB|0!tr33JvmD4z z`Oc$eIb4dW9dTtp2~aYYDXh(U%iIFooZ;Jn(Fa+^JU=h$LBpT14e87n|BR<+cBUMb z;==UoV6ZtSwi#gX>egfMLna$Lp|~wAQeja7v3(*)fQuD}yv0l%m|{wY@kxT{l~73q z``j{xQXzvxf{d`96@Ys3-y$pjM95Uair$Tq3+MQ}DK~f<Qkt{WCts+DC*9E70D3@5#_t6!59A(1?;ymtzxt9LT}Y8w5=)1ZRV=7rweg z0;$*>?A%<>u%GAP8TYT({~pUMLBW_$mQl78cZzLDebO!s*|geD<5x(3j!!HQWPxNx z*}s}A0}k;B16jE8*G9DY_L-dldy(S09bi?psJrS!5@I=KG!BN{j+JVw1JvXNH=ija zbGU_cZ~*9~I}l{;d>(nQ#*m-u>;8kERRc|NC>iDsc!bK01V+@Zz=SBjecm0k&SMvn zH5-n`w8A+agybuU^75-+jv&j*tqmvY%E;4jP#nyCtv&Be%laNao~5kA($rL9FrLM< z(rz6IbycC{PEoGyZIyU9^xFUAl+e;Ia#sriJ%wG%=?W(J;q$Tcv!+z*etjN>cvt8* zSG6@yhj54hq;+)Ea6DEWPCV@&P~m(Chs0=Ih?uZ#__E(}Vq}qh!T8%T^43P;XD92( zoEfy$c2G65G~|cuF9aQa+o1Y1*2^xd!;PDMuzw0e*yDoQ#MWk;w+b-7jb}6Q zM{f_CROXc_R01%*rY9!{z#YZ;?ZkhcW$OTdS?`5k$thp#J<-Y~tz%hh&}@qUy>D5f zMsXetJ7b%4G;;`&WVc+bc_APZ^!`*ZpEo3&Fwd(G_MLzn$0!l@dsXoR z9D=qvWga<{9nB-N5-SR*L;whH?_yTL(rTq zb0x~!_bERJ)L(5|yV1EPo5dgb&h{@5MLw3fxaJz1X*3!tZ5Zu2QGKP#QnGmHh5;q; z-eUJYhICfw5`l*qRn2iiRday=iN%v{Q!AJ6KqN_yam0f<3mdYNyFD}kAgctMp-Z~@ zeA1kXPBL^SOOM$kt7$5P`d1o;1b(j-ORvo}bE%(pNO7}VI=R|A)p^G=c8pE^u{(4Q zEVL}$q2srSR*95SDgg{>J*&~I_U_b3ebvUs#qRC-90{;;ThFvKHT^5TLfzE0gQ{Cv zwDTvP4X=C+==M9@3Af1~0WPgqvwE9nIo--65&C#PcWuw%9SlstbsU-;utx(H@OI0s zF{QJ<-WA0P=(RcWrj@}YPK1cz#1o9fd zyVo^>(8S#+GJy`&n0?PZ8LoMiJN1^NDdWP=0X(4Kqj}N92XPTf=m+(8BKzgSNp%76YHDm z{JB)WkSXd~;GLhgGu~;Iy;m<-8Caz8Xb^hxs7vJwU~`YowxYrcNIgwW2{}AW=ST9| zwE84Nhk^y&V7*lv>jZBTuNbmXk(M-SSN04<{9X{7k=-;LK(9MZcfoB{4`># znWGQ;Ebd@H;I+h(w+f&^k_?<+5Lg9gx~1}DE(o((eUz-IFLOF{1OZJpD22SSR%)<)hF&_*$Atu|$Tn0hBW(yuelao3ly zGf(EL&oK% z6<=pWs&$*gMG!2pQSkW}Q1?%U{C`fQxo)f%o`fyQ?F6UovaFh`w^;Lp_9H6}hL4_! za}RrqEFOY1VNWpTB~I9(_tn<8w0l9_oz0at@?1TdS%C$LyI5gHGN+%!W#-|yM*@HTvpj-TspioSZsfSG*q2y*c5z6{faA{k&${c81|?G0&Tj zA=178XCDcmJeThflk8_`m(rOcB4g$^=4Q{cMhDu~p%A$%q3gaN!;{ULmZ}luie1|B z)y4-^cv6gGO6^Dc^wVF}x{SWG%lTSUISP$?Kb;5t;P8>+DnLp0YNbzO^Mu>9kzOo0 z;ZF30sn-@zE;S%tfgP%t*Eo*%kUF{gVS+5-_)^xhytx0Pr9MM|%rfgIb|jS2 zC9jDk7I)1TS@92IvRRC=ZZjNDHFv8ab=CotCq9ov7nw)BDrYx{Q7R3Y;t!*l)PPFc&`sVHur4u|bngUYckaj<8#y+|C6AE8C zjSowvnm8g~9Hn0B?_8mKwCD2$#otj@Nm0xU@=9Wx?aS9NMy2Yjq^dFGyk^Sd|aiZ16wAG0oMPaG2x7m+nP z(33;S&}Y;$3chH^hhkZrv~Y*~?vWSV`w^PKoJs_#7aPt2u8Mj<~9)0ZAK7 zfVy&G=yMI6Io}|nsA(}3Mx5dM>dY(6t=8NbGgbQTil3H2Heq8cw@Z(<%~&t;IlSE) z{(up%2?~sJ%_6Q3s#XRui}^a_-=d7Mrj8pnWn%RcWLMaM*pno^gP{Ws5$)Q)S0s6W;Neq0uO>w=eJxlH!yJvWZiy ze?-w6=d9kEOR@~|x1mR7MiNx*DXPs;vp!mOPU-y>#q;BLE|XpAQE}3<(wC612=kX1 zw|j&3j#^E1)l9v#Q~_ymHMFnGs@)VbJC4q-YTuy@!&1zLJT)0NjORf*g99vH-sF** z3`(wj0K?8ox7o4}hf!z~MKl{JkkX}CGN-8u7<)KC!L> z`XSoA!^<(?_l=x*xByGiXKChF8Sf(RrI{Rn;AenM?j934`yN44uhB>ZkS_fCPX)vw zbaJ3H54@ezfa%=-=aDPtNajYQVQ)ALpw#^d&i_19U5;Z(QPN1)YLmv z)6l`Ll*ulE-BA)NC6*#u=hxt7Y$`lMq%s-aOom9Vj*COa!q$;52NNEwzc8 zTEfm1yT^04-W&Zu9~oXJdGTLPNb}(EE-Fd87;Y>1%N^A$@AZyJ%y)uixw049bH*Xr6zT&Pg5y!lGh$Qp(J zTnGd?BGSV>IMLmjOa&1*n$fOr-$n-uls>e^jAq}Qy{Yk_UYeab=VEM=OL>HYWbxn) zo8sDx?m&zevtoj(-k;G4@yO{QgJeKXh#ZNUSB@Q@tX`WD_{Yht{%S0o&)PSHomq>U z0@e_Z#*4wQl%BzsXuXg7b}zA~q^!v??@qxV&Pcz?FFd?8GAze>Z03N@K#3tP7ac$6 zol@eE;z3*V8}ym>i+v#+`5>LWynJLm()a#b!W#;Ba`cl&sklSF35M zSsEc^To9PUhT&%Vv+6PtD-UZU1#QO{gB+aKz4bt3Mx+FQQp7R19Dk0+N1N`;|Ld}BP19B(JHI1mg?C5)~M8k2Sgg&oS`Rfe* zjCJ2B-ohKTyIELSZ3hCy=UG`V_O^9sdfaZo@UnF+-g9?VvNd|L`10;5O=)8>(cg!~ zk(w?4CJ&BK#T!W9d`PLsf1efPL3f)yu5DMZP54}Phow@c{}bIdW*}$!t%8)Oan?Cu zGihI!ezyI#n{{e-I7d0|6zi+_5=Vn1b8Fw!5uXJuBka_vnc-K;+*y?LGUw96K?hiP z`>=1QNllxM-E%S>k-1teen$H2RctXuKsWzciJ<3D!`dfH$bWs0vbfuP-EGKg^SX1 z;4fYXR`-#z^)!zdkhPfcAFq3I+@i#$Bau9%@`UY1Q zKW<--O70832UB?D(ppO5F>LB#`QIF*k5)E-n`fpTh3ZN5TMN0q_klt`*i(ShI**F@ ztYl^|ATBcDO&C>rV-E>X<}ao{?-cm|!23-^zBUKg1mA%7W^ENBTdwvoAXbd)er)~{l9ktWc% zUml1|6yVti_^AV(3Fu93Ltf)?qvO@9lLGXw9ZBS=Dzm)TX0!g|+8E4K()xWkT^|#P z3i;Qw?Hblz;_>9u=A}>;8{Yqvr9pdn<6pN2{ecwa|Kj-ksq{>HwDpS&L<@-3#Q82* zdBlU!iy`0;3gYBoNgN;qC*TYW?ueEiLw?<29r%lEfJ_+=6Njt`$SY0`mKTDbuwJ#6 ztD|EsV=XUfGXkUD0m^DwFiC5Iz7PrA<>NupFUz9-smBIv8!(i>VKa@eS^Fimn~X%#H^g*e)@woCprH;$P0yg^R8BGF?WioRR+Ts|8@Pj#@1~P z)%oi>O-6{(Kdze$fUx^(*F?@I2X6k;9(SP0%cN>=SJawbl%=albL9#1|?nN}hca2Ph3 z-Qt7JJFQ3vV*max6+!{)_OI8j=n_P=1c3K?PUckT3Sg9?LAX*BdBO#8@oqt0-t>i4 z@QJT+yA%fuYgt=iv)8@8z?)Dj9dHmfDSP!yAe5=NYD?eLJyHsAVc5;}l`%Xwx`nh! z&$Cih4JwD6O*!|nN7tg~D}4`-lD<^66W@U8Dj`z6{JDRH$FDE8Hm6d)h3yk|9k9vvM$X6iZA-4IzHn1M+n z{&M-xfEBPOiov&_!g<&iR)JL-GdDLk7IsFl1$<;;;0s<)xLs-m)}6R|P5ROAP4K;$ zw%a44SAM%?{J%F7w4T10CEu^OVo;Qpz_!Q#J{o$zCcdx2-5v`DK#^v+mC>je7&-vw z0TQv}FfdY?jI6UWX&ZUzKx4k9sw#@8od)usAL}0V)C5()7p_fwV*+`vZ!)u;3kaY~ zcP(y`mOlrNB|JQ3x4N-e$A3N*TI3f1=z`zQxc@k0hBqM%&Va{aG{Xbvp}6(h%Zt4h zOVX4)bGbs#*IZ zrbtva%ew4}!7XqY*FnSrK{BxmCSXJ$DHH&+_iCsnf%~L+!F`3jB~}WPSG}5fOwgcxFH2ns zlp8w7RE$$~N4LIt4)h*7FsZKqRaut3Ka1Ub_o$9n+Nx`G)7-sVxBsR0>Z){Qk#gv1rb$H6<7-dBlXf*ID=L?_21v+ zUqI)7{za`0!F)kbupuX-Ad+}Qb#hJj7o#`UmMF_}Bi*mPu$9fWc!h*8qavFGM0dut z!c7YT@WPv&zt{|xxp+kNa6!;iL|VJ(@(P)hX&yKx$SWrd z#P>M&9z&y7*Y84tKzTl@QdP0eF8N*1v}yjj0P4G*DbJ@&0(AJ`pdjYGT0XV8wnQd< zL9RI`XRhtOZ7KJ?C;Wz1;@D(*dime6IOD6u6sd;C&JqBLsgx;kD$pCTbD!UjsYwjo zN=;2A!i1Y@OSIbB+-L>2_R{t5ak<=N4D6j8K%(m1NpQlN@ThDBmEC?i=au6A;Vn?n zA6&R|c?`y_jbrbtgmr{)ZYrnHl|`G4M<~$GK{U;UQ}=|AozE5)i)~F#=E4GeY^=bt zxdmk6T5iK4YNdfQwD+$E9^zDfjzXcvpaj;rW>x(l@+{I?%PigU8vaFFJ(SoF6!{h~ z+K%})-X_5v4bRAy0;OGSD^VOuKUTFgY`-{5C9VG*oZAx=Te;DM=fFii4=S!w4*g=4 z{y#sz#a9V|`R|De=C7MO{~ND6B2sMDyK7+e?__0Z8GS0Wej3=^D=@AIxEauY65GSb z_KHeJ9HzY99a4D?Hz2XI6;xiuT;J!XTwL1v1-E>kZz90r-J?Sx=64t~Xwvlz zJkFrsGygkeMEE80p{1^ci^u)QO&H{hED-zFzb+(I`9EYa|4%<^{{m9ACe-%Vs zh;Gxua5Qonv~2!<8bbZ!0suAW8>%4??q@2eGCb zzzJu3B;NDqwIJV4)z;Qt04a_>(_f)6-XSV&+c~kk-_0(7c{#xX3E2o5_MQ^rK6@72 z{Sd+P)y=h8IzUSMO;5oeUHQi!S-giWgukwXI}Lz8^W%EQ044Zw$!|;P{`lYj$B&kA YX%R>DF7k>yA%#IHsb9%exPI?{0ANgz^Z)<= literal 0 HcmV?d00001 diff --git a/_images/b06c19a334032e1038890c0211206633e0651c70cdb2bb6f9636b6a39212c60e.png b/_images/b06c19a334032e1038890c0211206633e0651c70cdb2bb6f9636b6a39212c60e.png new file mode 100644 index 0000000000000000000000000000000000000000..bd962c616e30e8f862834b8337ac2fefa68ce58b GIT binary patch literal 33539 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 literal 0 HcmV?d00001 diff --git a/_images/ca32ee1c272eabd843df5ff0fa345c7434e8f522858c06066e8d1e8fc7cf35b1.png b/_images/ca32ee1c272eabd843df5ff0fa345c7434e8f522858c06066e8d1e8fc7cf35b1.png new file mode 100644 index 0000000000000000000000000000000000000000..0c3a52c764feb8a8cc46e4922250edafd4981e79 GIT binary patch literal 30983 zcmagG1yonA0$LAtw3kdl;8N*WQA29XZwZltA~S3yuhKvGgEk!}S+kP?&*6%de+ z=B~|q{^y+gjqi>-#+&|X@8?<1T64}d*N)M+t4x4Pi;F^`2yUw=XrWN(LMRkkFZN~l zlY&QYoZ(+LJQWQ*wOt;1`k1?0qtwkkT^(IK9qlZby{+9n>|C6M`EKwD@-o|cdb)bt zF$dxZCi5q4~`MUxMSRa^C}mA~Hw*Mk|&nvO}SKJ#Q<>>iA}EeD^WZo;b$Z zx`)l;m`o5xMxp8UlJ$4FSLMwIe{H+JFWVZIk4+htzc*BN_^#(v%a_^U8ZsK1C-f~O z+A;Lj?@glMB?l`NfhE#|CezBM>sPO?O8cpFbT+SM^N?W3qDV+cQW%AZB~Yxata*7B zEbt^@W_m2`$<=##HbdD5Cp$xU>(A2CBK>w&&_aqIW$2X|gnoE( zHD5KAJ6+t3H8U&A?RekmWPjRa@}0+3LWY~+h3YRT?bh`xP1-+K`L@X6eVm;z4Nic? zqU!g?v;6d2O_jd zPDx2AmDaB?BDv|k&N(?Xh1=89BUhlB8cxEdRLm&j_3J6>mN@)#Y7*XwjxzsJs9suk zes+A1TGTOJ(<1*qbno;MOh0h9#Ekj3kKYf5yLhbbpCmQqt(hL}iXfh0%@nt}cbG z?QIf5M#+Q0$(?`5hNkOpc&uQDZ5;(#JbcI@8FXUs z^}N07syu&cwSW1d4N;3+fq?hA0gJTsSyp9}zdp|J6&_;hNQ zyC@kM`8?MrHR0G$Krlr>oZ+YzXl)$2v=q`OG09LW#Z$A0i;E){9adCSRAt^7X*3v}1S)2afq*ZNmDxV|#bE;*aV2 zO1(cBZ@;e&<*Xk1n&fnzxTgw_H$VCt4qu9+r>7TIP*5NcaNx=!A|f)eQ}6hd^}7A2 zih!UXNm+S$1m!hDY&f{#qg8auN6 zBhBvSmV|HjDVarn>v*%(a-zaGUBEo7R7zT!5jp%XWgnYaSp2iGPEJoD(}hAHwSD-2Q}6t}qtR;(31E!Nm+i0LcmMjvTIKd_ zO@{}Ko?LQra%K(=c&G;VWn4a^hLF%pSRG?y6q=fv25%n{7}h%{eEzJF{``5Kb$?p= zbvx2De$&JZVVk^%pPr*$9{qKyG-;ND_;x!#3sg%NKuhJ(@A>`xy&$Z{l`B`w{w#g4 zKdpC~j$B%@il-AJB#ps{qvBV}kq(69i{sY|hwzeZyYo_%#ekK@2xN`#dTi5I%bJsOgK5CrAe#p-@dt zO*(;Z-o70!(Y|_ca4=Vt6V$Q2*jsJ&fmEm5kOJOYQaan9|9`IEz)!zNyri!X+$5SqC zokgFuae}LNGuzriFA4hnvAS~gYUk`MlbFkl!twsbY({InY45jp9wZD51Xr(K)jfXa zvAVVUQyZUNe5-lqu<+o(xAs`8q(Rv|IJPjgHPN+ zF%RU(w6<*+H~DI!m`}EQnM&)vzxP=^r2RAX`;B!!d`nL7S&4oBzyNtbU?3)xQWh?* z+Z%h+Q&Xj<)~ApI@KE7Uh?b5GF=UAg)iPL7#Dm#VukG*Ly-UfhU%`u1qQ1dFz1mB} zCnqPk^!JD{<{`EF{jMesp9uchk|hKA4yrcZ%*;&bG1Mvw6!wF9XWca)NPv>lv*e_t z@Rc0*vW?6#O-xL}5)#xaCOPhA7Tarcr^>-;#DwBp+f3rp+M=1Sgfloe_-_A*fL>gq z>dhOiW@S<5Z=5LNptHkOqwS^jJuc2*m(3I$JUlWKHjiGJ#+q2riEsP2Z$`D>|9)6~ zF&%iUS8bsvOB`FL{1ATM{uHA58We-l-?Q(1?g#JCX)&6a*1L-+jsZ!Rn>e13JC40Q`4DW#VHYI|P_+wfbP zdjY3=6MoM3ay90<O0&WXkMvLUjHNSq1 zz0QYK1K?3qdQC!t?$Q3b?BCztbvHjDdxCt)!SV5HXNZb1@fCW%W-OB?-`t~&_1RV? z)dJGDHbar2p+}Xk^OlfricU!AhTk7s8T8zkqF`iXJV0WUV)4DS_NxcHRw}REId+_< z>j+R=2iumJQjaJhczIpjU7%8bu6HpVcp*mQ?d=V<@v5lPRCs)RJZm=z6H^jkrB2u_ z4i1j0`g(l^3l%jr-jVd%w{QRWQbhFe89yY$1Nn`(-LcpD=~9nGzkT}#h1=Z51`9GH zBwljAM?{R0w`%Rj+yg^b>0|x3=0Xi0Mc`75{$3>);WupwSoO9aElznY)w*H(xVlSHQT5#<^bw&e75Y%DA+s4cI*YiVf_)6u=yJh*|WCfkp;BzfjtZE0o}0*Iiv zR=3iG0rf}9=?spTii%1b)EW2gn-*QzD2;A9M#e;15qn#&j^80@mynDi>GubtZEa86 z!qQR@LPR$QS#QHS$C&+%>DSHxw0PXVZTb&IMn!eDwV|@JvlVB0UbxTn`!&x>NlLmm zPvGrHvv0d4;@hRx*NaI?N>)LV8OXdrHeK%$#f)8wepLnv46>bOX3T{2;vxCUNfvOd z4BlAbpkKOV?(CesX=?WM>(_TvM}Iey07}fo@weP+_TMveb|x&)ihlfb22Xa>0k$te$3R|Egtr+ywF?eTQ?uj6g0xBrY*C$p5( z30Yyc9Inv8cQZ`aImyFbe=gR{my@c8qi8$w3Wt){AOsFQ0xl-2EwPl67|V|wuCcJl zZrpG=r`Y?mdOdx3?zYB=VsS=8fk4}<(jux{Df2+2=G|IH2L@6K0Lfj zI+T==K{Hij_ZS$$Li=MZzm`Ypg~hjmn8kC%e!cEaPAL| z)+z-Z#(8&tjqwagYn5D|*axbUvR0`nEG&$A*SfwlQgDY#L0S3rr@+3CA3I_xcp%mi z0i)aP%i&HALV&q#FDU9hu(#(PFMkjP{D{J?K4|dywFtkg!=JOQGJt5dH|l3s{CRnJ z*0L-in@td7paHh%1sXKU7#APk^~^K~2MRL)EWQa3pcExXt<2a4@7&p~gzmTOG{N;B z?Qg`jo*m%<*cjM50I;HazBygb4_S7!ZhNIJByZUTq7NG%zY7+Xgo>)j+W^P+JfJ16 zpnx56=gi^Zr~)88GdTBf(pRV69!!-kj-WlM<%pGg9C+8>N5ix3Gs@^qYSVPFc_ zLgP?>jzLF9cXD>T84WvO8ho1Ska*WTJw3e*eo?~bx5D19F>_1H$FL&#-WyX9jQMa& z)MC!`2zE_%m^L9Uf>r2ztphM|az}p8ui*f{A|5bhq?}UA1WEeuuit-lvbQVpTM(~#@Y_hO zT5`WpVe}52ii!$>mu+kEQx4;0?LM=CSUx^JNT!@xL~qLGJ?|uvG3$yZu^lU=xJ*F% z>gH*qR)K2zO)q-CdtDz5j9S$d= zRB96pZGVEg4ZXPPk`930v|epEf!>LiLNx|g$Z zlb}YR$doOoduyx5E(_`-Il>`lwYSrOEFos zAi|KC-^K_)VeZ|moA2(r1bWCe)iu?SoDJH7nWH1`b?0vePO?p6y*vXyCqMz9 z;xi&{YHkK7nJ-Dz^=Nv!h+@^C-Z^V-W8)fx4mKqvrCiocuW6D?m5igFjQv9XC^ zL%5Jj63S33*2oPLcsM}K!p+UCKifpv<>Bc`4*d1W+U{(VI~^Gr+ri->jLHe z!g3+>aDb+1uYoATG4NdE4$y};r4VVS;agi7X-JA^|7s=U# zTU+%?pcPStLPW~T%Nu@ndW=_HU457xbh>Zg7s!Y?zsI$Ckw5ku z{umh~M0>`0SV0|8aRH3*zqLNqQ+gUG@37My9UXE!{e@&CB%0e~7-*1uT;1HbT+Iiy zO#37QkH}%kETUvVAXMD?G0fJ`*tl}+Tf%SUp5_+3`$MyWhq9F@LN3&@H?bt`uyCQ% zXzlV&8Qs8JXMv$c%}l?$s;XfxUQA2y_iFvZ%gF4!otBnn$Zw^lt_~>T1JP|k%L=c@ ze&Yly_r=m}zJFHCo)x(k{vYr|x1Wp#@f1G{5Q=FiR%jl+u{5o)TcxF8XS!J*5C z=_)h_l*T|K_1fEI)0?G%ErucY#sO!bQud=hF z`35F7idM>xw1$$^gW(A66sqSkFxJxL8O;eWJ+uPJoa)VCy^lN=FWZQsyf37r@fl3Ur zuKD_8wRqss^+ZOgSP-&*E!iBeq@;AL;2)S~mzR~fZcK@Eb#)X4|{xk+=B((|#e?-tZp zL3sCQh4F)p+V8EwOps`cO`2~ye`^RuSP$@8alb!TpfZgfQ9jFLV*`n*8`So2NGP=% zlq+7VOJBRXFn~^rd#_VN;mcUFIjMse5vd<84xqHwBY=$M8ryMteUkpW*uX0yTU%v7 zQLPpI4IL5$H;tXXdUd7Y-Md`K*Htw&qf_4GxR@Z0ZhJj@ez4NUK=1Du?e;xT^V6`A z!}QAuclYnP@>qRVLe-sIwMc$`nEmC;mu;v6ph7t8J<`!f5;>fzBWFTf+_3ukzY?vl zJt~G4S60$oOl66aGc)n=@ZwmnHKt970)7YuykG`fY0wgIV`VTa4nUGogDV;!Ei4q$ zX1J5a8*0QC1%EMPA1pn&_Zfa2v_{bhZ>Untsj4ae{1XN}j69dw7UU~H8@QhMt{4z! zxbyeMTo8i|>Ktj{Pe=b4eqQr-bCdP;6^CPNW@i@zNx`Vm69*(t(59^`a<->OzI-va zum}STyW&qoRToWGo{WQwD+lSC_PXs$`~JZ}rCYa9h!_ebgH>3V3RivP{|MNB-Mh2BbtA1LS?H-Sq0@B zI%3q+)WsDZpv#zWy{RS1>ru1PN{EfjO!qhoJlJ9Z5yNy&Lr_+70v+(OzEW|)pPfwmjcdWS2Z+d_=NVnpGTZCMD zQ1=or7%Bu{HR{&+*=aSr%P8tq>~tc71abr+Un-^+HMytFuIX{7`tJT90U4n3`H}<@ zs*tvB{f33Y$H#|q^5;a7e1C_~2y@OU3{ ztI-{~A*tE|+N`c@0;riPlq(Oot%U7@3zI~IN;GYBmiQJD4dTs4MYLN1xtlVpqw3=z?UE zDLO+=Pah8&xJ7#yrtNSZCRB;7ZYtB_y?3xuX}tHtkOB&ujC4OM@;@@44a@CykEeFj;u40!x{)t}Mt{WQuhN{h2}Ljq3v z*o111gzwCU`EK7;(9z)#;*wkSA$6MG%nv#}I@lSK@u*#;ub8ZNVY-_mod81FszhXS zvlPf?x@2nCu3f{cEqW<1jZH|Xgv6bB=Viy4CYsrR9rcP-f7l@$ef(Od&-l-e=eR`9ds z-m{aF)WCu|pfGjes9b_jo82!>xRb)~D#n3%=XBHj2fPxeW*=3QSLJn@9Rh?C?YD1-&+8QpuTQPT&h!oZfa@@ zT=DhBusG<-70v92kT5{@(!7=~2I}3nMlU@1Nc?u#B8^HDDeSNiphz#35@AdDBV-I{9;q>u5Y&u`!}{>(RT(n24#udgqpvXUQ;>ip8utJvHIihZv* zb(#Ks(z3@zY)7K5-KOnH+g~frU2Wa*norjNm`^+$%1+>KIY77UiPw}Md)?6NKnG3z z4`ch#9xweqTVqEC>bB7jzf8~*yE-E9#-_k7u)qE_zwsQzh?kH4{+cemJWX07qkpKUa_e%BVB+@w1DZ!JAXkehO{>NO8U)1)OBcuB ziWd6*vxPg$&~(jPTtR^y7cXNZDIz{w_zB%YZ;(l{N=TMI)BI8vb+tTTcWzySK62q4 z?mFtR^}P;N(^IcY+a*Un5r*Kr_$M|Zo-kmhm}Ke)@E0=93>k6(&FWD@$k5!t^islr7&p7-Wv4a;?22M%}APC3sm! z*PGh_Si{i0A)Q#1HR zk^lG8TTlyrNg3(zS}8yUs;aujfFYyS_C1~a#P>S>tmh8-#YMrP2gU$IB1EqJPVSNh zCpl;Xw*aQju2o@DtOx$#eez+(;hq{HTtv0VGfTJDo7C?PxkWSM6dn*^UH7ObL%v2^ zt3-#Vm0T6CL?^bajQ77t96QU9q$_7$9b+Q(!p>30KRKIcL@{UpuJl z)CqUK?eYxR`Kt~@9LO6FyztQ8Dmv$QB4YGbSn%1S*jD+5U;IF^%^?QSe(7^Y;W&Lm zL(Q(Y#uVXHDkLIYPo^rFi-n`cOW9b=;Yxwce4Ny|><8Uoh>e+;2sIp*C$wgE=Zyj> zx82Up@EjY7*}YYe*kHuVAbl0veB+^4IS%SzzK`Ks%w5tO5QlmHB*4dnyNb}KMyr$` zrjb6Wk771Xx%ThJDB)vDtSNK7L~9*`Mu}DFR=hU@l-HBtN>q6%h1ip`-qFhh{=h^{ z!nrE?y+z9nKjvr7qAgcjF&{$mi5m^oGP%Q)ebpwK4m#JGI9+mu7{{e=u_QBjiJ$!w zGvu@L)DbSC9&Wfj-dc;7Nr%Z@{!-?JsA`ati{rz|#3IG}nhde~c zBwgm;EYrhFXbH8~9p z;tG@ISOgaWC~ELpODi3M48OJhRd~#4d!d_Ei8nFng^q#*5th|M9znZfk&Ca`Jy*D9 z)#$UC$Y5P{3TQHz0!oh{zB@jAxb5|}riNV5!VS>d$>$+F?-loNaq8`V zqnzUyNa40)G%Qy7Kz;xy!Jwk99#L6YSsDnry6Wv)dB6{XmOc1DhGM7-eAfq-4Mtk| zP;*IfM6L_o@qKW7Nn(aH)=@wK(4exsDk|!PCNy-u9~Tu}MVW2QwHJfdZe(QSdV1s) zus5a;y^>BaXY4TWLzjSt=3GMe2G`HMOwtHBvjEwmM(KcPK*`Yhz-m3+ zryI7Rmp6omDEWW&OClv_{_{ij;FC3O}Sa68%9tOn%pKkH|C zwkrLN^~s0WZvUkQIlvMLU$QVc za&mzJiM!5)q_aGuhWsb9TYl*g-i_bAg>%!v^4)}pezvM0RZ|0goB$?R;ZAUgd{-c-f~HiyVTKyO6mst+Xzk2vsriCJ>PP;Y7QW_?<%H z3S^-yGZt;thBV>sg`moz6~jjy^ftexsV?%)&F{_ zTdweF##k)}WRopc5i)I`h+8GRns{O$Q`%ABWoY#naCCoc-!o@@vT$-rW#GYKbdkDZ z3E;K9@9pS2{^RJVll5RKS)v6+B)t~fa12Wj(9=Oc60%_*mFOU9HnN9pTFVd(Xa-BQw zwLSV-QYh3cBYyXW&23g?NR_Xoc&$E$Xnx|!FORw;^!90b)ir9njQbW*$ZHhv8VY`p z>DaG*SSxXBwIu!Y@3jl`FoH`dWF21qj=ul$XjCZ1B-t+Y`$}n2WGyeQ1b@5SKCWcr z^(9ox;W0-?-jj>F`*8|)XL&N!kgq5r@rvgub*l(=2~8$H*gTKoBGhOs&6wNYpzZ1G zShvgsKUwQ1zVLZ!U;g^MzuH3Mk_y3Cv})?H?k%yVV_SsIc~NUVg5Tl|Sr|+}xf`6C>>8PYOyQjLq2PGasqKOSuh)S2UMkr=oGA zBJj~rO7+F@gxQIG19}!G<7QXfT0p=4i3T5-+uKVI`lU}*v8=WwAWdNUyJheY46Hf} zpp{baXw&EsIHNLj!r1Ebst@I!0?;8Lp@@#aFDY4jn2=#?kB(}Q@uXu(BJCnT!UDx> z#rbSrooD{>)LjiLysc^4_-7><7u)poDy7iVI1tl`PMb7_$I0)JnwWnaB<4)LSXXu; zJerSB3aarPB7NnZZ9{~8ax4!&Jo@*Oam5kPQgE1CUdFt0=ME6Yj)@5>FrMm3K@Xo$ zMn(o4Er{a?$g-lET6{FgvuoLWX$GI)6Qbsxk^ObO$*Xs<6r(YQeIU78Kw}9T7q1*@pzWC--OXdtymfS~{}U;u_^77)-F zsOrzW@m*?u**+rtI%baxfl?zYh|sWvC{&~cRx%sdMxarx1YKL;5|IA>BW51?`ue_< zi@Dr1Dl9#>=1+b8dr${rU4J2=%?-xk4IxpmjjLY@Y(R zbZdS-8#DlR7+mH%BK|E}P^gijH9ZebGt)K8G@VO4x3|`uF0D5mQI9+$np=E1Eu8UD ztD?J0@;{vna^>tVBe-Izvb%DHz$HKmmxZMQKJyr|>-<25up*;NPdrV!sMGUbL0Vd* zU_JQ^K1A4cdp0XnC68ioa4|I$s7$fCFV?$2}H zq&o;g&!qj|pY6_A&1B==go7*rcSSqx&C0Mg^gq zYjztNi%af)72X+Ydb}^%urdG`Uj|ItV{xB}8*KQ#{unI$ZcfOwxeNDx*o#oGxD`<)zcO=jHZc$lIe@ zl9iP-2?8CeAGq2=pxl8hbV>N(KpQYpL90Gu=rWsw-47Oq7F4K+moJ$Smm#=C4)5-= zf3Ff1>3GgEBOr9WZF{=(24~-hlr`rUl8}-<-FPT%JNg zSW;cBH{7Yc@8imnDbx-|N+F#x-URD|JxiB#n%gAQBuNobo6!hPNM+@D> z%nJ=gH>hZFUVHVTS{5j#R0Ngla3iK!5HsaUbYyfsgO9x&L#g1->eOKR=N<;0d*6F^ znIKJ54C2{%jFL_q9I@6%=YoSD42uj<1+T&pbX3FRx z>0|ui;o)NKB0?*njHyM4c|*KJ)k;xD!t|N1m+**Y+nX-sy4H&+Yx_tbyUr?=@5b^4 zjsdC-Y>B!~fC9sqUElEASvmG|H;`q;2To+0oz$6~EKblB5i*_v7nl37Q}mFGN57$Z45Dz9#J){hMcq zg_ncoi+7~ihVqPnKyow#EfnQY*79}4+6FG#JSb?0>WWD6TU)M9y-L>MPf`VgPABP< zv@X%(CA7a;^tphiyWu?%0|0NKr5OYE`A%SgaLWyzKS_ZcUxH`CiXk#iw>{JfMvbWJ@+ngMA!La)=kHWhvmO1fXe4AbEhNHBjq6A zZ*Z}dO{^iG(F@p-KSkS&8DNYE5qV+^Pk>uyR=M13A3+^W|cNJLu z8?R=xR6?K%L&Epy=qSTBYQaAl++ z`Ecch3n+D=?03@4pr)WuU=u;S%h0zN@ek1veJ5dHww!#Ky85TkeuSjF9wts>ECV^5 zEpdqGe^jo3KZKi6CMX_=9N2gkz}=B9=_hoBwBl5D>Pu;()QV>%CQAI^GwLk2`r_oV ztEY^od;sqk8Xg{=Q@7mH{;I-MfmhXZ7%E#|v)2$%c9FR-xO7;)fG7!aHYrM@H7F1y zTjtpp9EfQLiefwX(!hT5W9&5*v}#6=YMj5*lEx@(?0>kLV_U;8;$rGk5=yJ5+N8xP zxRUf50s07}M=0?ChrrQd9 z+6*NB(&NIyrYf`h7Mvn&TfbDxl4@=#7;*PF;&cpFtAmIZi^OG2nMMRyAw6`?b6{L( zTr_B@kEHe(6wt`Wk1vIVg(3Mx_kBqT7xdg}>WoKZ3M1PZlYZsTHr_ed)I^t_J!R6v zFCFr`549k($L5-Di54bsve5GKa>GY*a_G<{3W2C%#d?x{;D7cQhF}bjk(S?TPA~`u zIAG%L6`KusvT2fW(Y-x!A*qGt8!ALD7yjaOcXa8ex%0wOYsTGu-GZz0W2l#4fCn+5 zNpK{0U19oUU1{HNDr3OC{{|s8*?1C#3d9()PeKXs@rfB2vK+SG!G0LbZ?59dRWu+1w zC{cNUYC#Is{SIDDz)iOd45-2FTd0{F#%$IRj&so($(D?P)=2BljT;kw?%v+xwhwd~ zfo&aFYXtg=-)H7yzmy-;8v8V!_adb;eDRfS>g!VhPm`VXBJ{wJK1;RJv?yZn2E85% z1fq|km?b6YXM>KfK@<~1mm>J=5DP>SMUXt_mzN7tsa1kA`U$qDt0Jp}pDpgcy`nZr z8DHjTV)hTf3@Bq6|4yxBzYc_6EJ)?CN|xm?I}#HUWBa{P1crxn>!AUKj)G3A>&bx| zV#q^m+|aT@U>Ci(>#Z+UB~RV2*~Ah+*)w<;^2K~e@Ne5STk+s5C~4_EMW*K<@07;0 zy4X+EaKX4wIC%Fc{L6e!J3!q*w212jDIe1toyQNX%>o1d*btxL2Smq;KBWHgCKf?# zDTKC7$}3UnJL}z+R)ka7Aki9sZb)|X@foUR zSkb)bV(G!)1^jC4nIOZTXgZK3sY7WfI z&>M_Vib{>HQD;pt^A@`&8GEm@q-vG=^q69uZWiBJ)CfBzy0`{%G|dh7E6_NrGHXW< zINqp7g&>YdXw!huQ#^j@%1HP{eGqGla^Pp(y-%v-*b>$%?S#uiR>3B#phIgHV2k71 zjJpX|U=lL2$B+|15~zyKCGAvmj!x*LYyU7p{nt`^>t~K^-@t<1R|SOv%@o`WdZxF zD2ij(BeX+Z!l}CYLr^cfi62ofURl!)rO-$Rh$G6MOUvP9P|-nl?Ixj0(W@z$5Al<7 zSbT9RR^4^Z$36Kx&!+j$1u!zXK++OovV=AG7YbMaW?clpMyjBw zNFgt-(A^1Wx8TyRT=ReBrY-en+q~NsUDe@7$Q}rop^&~KV0oxF=+H>A7t8zSBd9_y zowNu<&So#P>?-6@QPq!Tpd=w_#!6W2bKNr;u^BH^nv~2FJSuw^A~F1d`mZu^5Yty` zrO3@%Qb5Hq3X5_NC#%f6Nw87|8@{GneA!Z>-da;MiuVoW-#>{eI9+RR3$d94*h80q zmjRTX^1v6S2x95+Qz}OJTp~o6{4AGNcn&0%xH8M)1s5MbzgRR{xaJb@M}|7|f?C|F ze@mfpihG~N*h)XO~TC8d18>OwY#+_w*vlH`@a;pn9zfaL^wH^ls+4p zDKvf_nx+^6DI(_FctFY(FEOp>htc%y^(sIR$=CU;e!*zv>vG71VB>3tp@?W01+!%r zU^UM8JkD^B>`V3OA9=MIH-hP&gSPjqLv3uVBUpwKx=5D{Cf;J}BH2c0K$>!SG%klI z<{-8H`uiF?IGfem0GI(bKq8P=?dt(xz-Sg0*uO+z5A^5-Nhx4b08J0SA_Q=KHo3Vyog}H8AjCV;{LD8La6yo3Z(ol<+U;(_ z1VDKjP!M1wMG0IzAnQkfJF6YQB}@v*LAPLTe!iVGQZ)g$uJ9nxip`*p!0m<*4z}(6<#4=a#!2ev`WG^ea z7=s&%;{G%7*3pt02d!?(eynjsw{u%2Nuz(ygPgNnN)xW6VpNucgt_b{m@!g|ep~Jw zsvxN=PmIFf0wg9`cXuH$>VWwP=nKr3BtL!nYJ6y9L~Bi!G{#P25!W~6pHNVyyPF>8 zRtY}KS2m`)C>XXHeb8nG@A&KQm8PvNQ-LuG9S+wtOO_^j7~Hrrklszs2CnQ4Z5l(J zw+Qvg6RP|iF)&?ZOqR+HjN$EjzXe5m4#JbaC zxiB{tPV$we4&_$kj<~1z$USpEfxZniCoX}C2925y7#PHjK!^Ej1$+C_(jhQ+yUn$s zfkl!ICa>DTIx<{zkBKCo1Ksh{@}$s5EIz#+h~`-H7kq47#w!p((7>36ri* zS8r3FN>uhkW_3{HvqInwaG)B;ucRC>cJ-xlRvBa?R9jEaWfbxMRUfm+j!;ulx-2Ag zR{uiACX4Q(uk$Eaa5cW*lOUH1`;7^TvgJvE8Z_w{Pl{)3i-OMmx@C+yL`soIVy9(S zR^MI!w+)i8FyLX{`xKkj!~vO5qegONwj>UmY5;$^P_3w;f&nav0+vC}Wd^QQ#1Fv2 zf(ElAmr#yyyKGAF8a!&Kmu`zawqFVfU@9QWXc6HdFdWlA)&htG+GCVlqIo_sD(HH% zX>z$wU$&H!%D?6^-wN`QBGJqMy!cTV#e!*z1=L%zrNcGAzFTwy-o18SW8v zGEBjvft>^ruC3ceKK6g{sTmr38RTlT!9IhjE<}yv%T&YD7cEOuYbNy4U;POtOsHS_ zFXJB6DS!GqbEo9a(LXkUz5gwu)mPFdGeM#T*>C>GaK5XTm##ylUO6qJr0>h0uBZ?M z1yXdeX?V{__$vMxTKVM~e4(L-7FFFiP zEc~n)81fOvAI$BP?Kk|7=4KB(tP`e2=GWF<+x<}Ju6X@Sm~w9$x*4>@p<_jzh~8i9 z`K2M*4lF=t2a7~waOlxt4`HYCVZ@a-VHx-nm|w|Y2I?{RSU~`V3EBjBjsU;FLu=~@ z=r5TA8HGuDa=?!QFq(F7bo3{loxA!-%)N8M*p$ipblaA?&M2N#3`nh(8q{xOMESk< zhU?xhU1YovOy*rM5l#$ac`!NSaD5!KZWIdsM9%?ne;|*1`2P^<3eCxWj{cz3P2N=v zUB0@x_@dRN{o5pQ^V<8C;}|$NB(PUd_!dFYM#gnOe@q6?AC$1Rp&=r`C$tH=>12hF zDyu=kD>JNB{h|@0AW|#u1s!wqoe0i=mgAdh3HZY$dNUsHVWDheYZBvAQz^hrSFm9a zt(uz2^YCf`PnFmK4u|vmNH6*3;l{|vNU=$!1vCUG5}7!51GnZvbX2j9pg^*jn<>9% z`C|NlBYTe%PDjMC8&c49>}`$uV4`3iSdbzZhGEc*?c`5CKX_945+|coF`*Ww5tKzi zr!P6BpsRSca=~7w34yk$xKKh7BJ>Thg-Y&s-+OJHsdkN)z(m~R}6;9G(ZZz?_kt~Tv<_3y>V ztrEw_z$oy)`_kmz!>e~^Cm~thXs&SdIs9XdjO)Q9TMw|)?fEDsdmg?#tq)x)0OaX% zWicJDv}n!c6FhU}=eUm)!`(ChX7E-)ctU^<3^oGD?cA8INAwJ4I2{u3oQ6c|7*z_7 zcPyd_w((QT*GO`n$FQ^-%jp=EA~*Y!Jpqq~h=>Sj@B*FjJvk6W48ghbQPBNp5?^5B zPAyZjniLwrV!TTktv=W`w-@S5p2LBpWq;*GFDn3d8c@0yq9cmcxNIJVU&{{=aQ&_r zE_1Itd6v(7LflmRK203Z{gj!{zDf9T)T|rT^~siNKRAlbEMud#?WmiiiK{>SyjVXm zT-`pH*kR`Ty~k<-)CV}bdW#tANIXbXbqU*{ajAl=3tEC!r|cIJ5G6^93Fl~T0r=kG zGUWDxV-&Q?WJyv*pz~Diq(+8s;6w7)LR-K$khw0&4*h}0yNfuojo`LIW@3(l2X#wg zRNixc%`opZFvUOEWBuLp%53ZC&ZKBhR5w0}CffCEHgL6*z!b>qQ#igbxnPJBTU=J^ zXcM_%`J$~|4)JB+A8wE?XbU4?y0{BqBnbw~&^|~C(Bx?Lxusx@sJo6#(-`}d?qL1s zffeL^2rx+V$CpYlloFx<(jUP1(dc->hkq@t&_b?ZV$r108JnS>?!DgL<`vpNcIrPg zP&X{iY11P^362w;A94?WjufCwHdF3j46c zkMEDHSv-sB&MyLxY1tDhD!#=)U}s;(><3?(_GLG3%1H+h6X5VxOK{ zJY2J-6jo5U0gK@AYm|#pP~oP|r(yKzp6j9I86?h9>K)2-d@O?M7d4ta43taAm`La? z*_*r>N~SgnpkPKU)mf)LP-OkXev(|RnT zloVcR({85xoN1OorcRIlZd#rkY$Mzo8JDJ)38DwFgFBKqhLis{;mYKVL8`%j0S($3 z`hOVG&!;^R_$W`9zJ~0e3>`U`YIH?>9QI?X)72!y5{P4|!mWkV#VHK>wD<=i#7U-w z2=ho8Bri$64P(nLt*4Pd(^=se8z^G1onF0{Z7U+q>Mtfnr@emEMMdGLwhhhKOF;x( zom3ES#g4$i-+{~o4^>HI3OYc8DLOXjPoYo%Igsb`)G#oSP{{c?kge0M#<L=1J8 z#*G!M{!J7V60jY1UkZ__z6Ma);}g!ss;j^QZ=@WlqHtHQ2U+fK3CKfhW_TU)c<*%+!7 z_pCI0VGpnqoqEWl4zxm=8QOyb*wad4vc~#6O={X^pBrx(CB$BIDaxV9-v`Gs@PWCx zxezGe$S@hgfuO1bMR_@FfDBx=9RHSpryNPlO1rWSV{hsy7rJeac03tl$BfRdW(W=B0SI_AD%li z70><*oZIj#e`9I@`DCb z^iTfu7_~CV<5bz38LLePGAPSi3I;g{1pUyalUlp^de8EI`+Oo8v{~VSIu&=JfzS&R z-R6#t@i0q3H8}yTb?9%0B_-XPXZ?f&oet;?<2DVz7#l|Ee@$V-u(jWQhJ+6vT=cWo zfpAXY$vI=39C;&G9-zF#>E`};TvB14>*Q9w?h&xsn-i@<{y%0W7+%Y8X_cc8f+F4n zU3uhzPync@CdI&+1>=B-3?Bp!^N_%Xy%7pEDJ`MZy#70iP5)D&T7gZO`@K(~O7z`_BK{;iO$Ge+OK=erGZ= zXJ=<%wW?BzP&0>z3sLi%G=;o<>(LVUf3}66xm#A$S_W0#tP&9H`1NJpAYhkqgaWcG`XAvp0{Pk^)$$-c7^Lvg`Ym+f zc*2ulAh;F5Vuo1zAF2Hg;UAIv@=&U2KB>Df#8H}Z@Jm{+baZ3RH# z{}KdgYH;Yo2&o%1<|Y3&5T`ussrT+Z$*x7AUJNRmubgRc-ms30-i_~hWTjVWl7KvW z3#N}sE!g3iB4CJUhp}{^qWV9okw^T575<=?^4IyY1#_12fjsS_eZ;1}4~ZUy<;+zi zpxyKwSgG)39iam#2LMnijn6n1Abs%^()R+WIS&1PS#LkAx$w*i+^PxR>R^y!Jp(<5MuZKtkcDY4QU#y6ntLm>+0?81mnoP zY{_i zM4@CJG8K_jW)f0KNGh`ivt&r-$SgyKjFl2aNJU9188SswB2z*tQz8;&9^!fLzQ6OF zXZ@bD&RM5Ftk!b7@B6bq`?L48uj~DOU4f8I__gMWI5xzL_cu$DbKKBvkHwBW@#r-d z{X&x?hRWFIdF)`5Aog}Qb}32^9wo$sgT)X%B@#qbz?o0KTEov;+HH8zz43^YU#rcg ztgSDR?y7sF$|()&;yyyc@h^q@2PcpZ2xSc1F!gF`dt)q4ZK??y=Nzh-7R+F6C3|4q zJ^T&vRYpbC&HN(eh7OmTbQzCt*_`zy**792RNI`{I6P6rd3hW5I0IVtlKAiMvsp2< z!(fOpiGvHXC&jt^%><^1fnpo-o@HtB``LYo8bAXx$YrOr8K&U9=w`de&H#Go<{p>B zY3W6EHFfZY9!z40HsnYS9d&`e=)?#uF2og!QwQ{;m-+)42DkI*tTP=}AaQ*na~Rf3 z*qm?#tpY#*@{&E^E;NCa0EHC;f!LkHj~uIAT^_1xv?S3IZ~ptznkOOHuOR#1!v zzGK~dnX3nWy$$k7>iED%fdj~2`wMrl$Np!p6POdqt$~SDw1jlfmhW`W-F4<^%^p1! zce#Fd377V8A5xp-$2%k(Ci84eh^M-xgK6(Nvy7Qxh9ZF!k}bY{m;C;nT&_cSS$|4; zaLg9|+Pmp9!xO8E7ECZZG}jS#vu=@6l6Cj&9Xo?;-b<}dBr&%g6$R+__H42c6jKJ8 za?|<~?mL%wM?=G;|9WXX6+m&ER> zS2#MT$mt_Jskx3AwVMxYVu^OrrQx|C7Yv2WHNpO7_qLs%VtQ@XM%=SNei9bSA;jEJ zTN9@N%rgbAX!ce@3=P-K8u+-MI(PE}Nx{1LsGykV8D-u_&VKp^kLJ2<)*k*8%Z$vb z*bC$(|DRB=@fGMABpk7Z4xH#3@Zb=y6=dEc3VMPqi4L(Gvt4=I$p-m*wbVJ(mtEN_ zQt1Y9)peI4s#+!B7X)80BM$5Drjh_JfwQrEY5p|P{y``)iy9ADXssr`PRIt4lksl# zc?%?pnO0i#_9{X7a27HTVGBV$ThJ`$BBP_#JUnD!HqLW+0#r|2+&Xcy(g+yFzRmq( zE?#ubYWmOebklLao!0j5+I2kcxje$#8(An5C2c{^%eHXvmV{IU3kWTGOB*phV9+>- z6?yC9OIHV5qP#!+lXu*fAEu4ZqEt3F>*jvOkEx?(L?wX0aKK?V%zE&Q7VvDMAneJF zJKzlfK<4d%PR2@wb#(IGa(iB9s(Bpqq!l`SGV^g*M?zWJ|9$hBjL%|&U@GMhDv}bHA4*bkLBA4yYnAF7-e~7tsV^EwjU#?kw zx9efAnWLD|=c|^U?NEQcHvG{fYjkPCB>5j)!MmLqzr}^0#k;z>t)LKLU1#U9Hhxs; z5MK-|C>NVB7MrBrHx;?e{x+q!s5a|U(&^8l+1{RBkE>KFzRmiz2NL5>_abXl(-2$z zXfIuHy1|ceStGp(laJ&R{uYphJ^8L9SOj~34hKV>0%2j{UIZW5o7ttL1z9d)ex6ow z2$E223sPI*Sh2{2^QEACq^&edq9JA~umnVcsHwR+sGZespQ`Hkc<(;g6G&>O+kb`+ zq%{E|#6v|m3`ZJ#bKz4RYMTU+C9IJD*`e@&d0X^a=0!=W&qg=)HHBOw+pi!~L3}aJ zmBa0MaR{`iDWpP*|5ziKq67iD!Gdk^B|>cC6Nh232a+R6`48PP91)sIAI~WeH;-<^ z3*LVnwxDn#XQSKJ8SfJ8fipUP(FD&QHbeoW3)?LX)NV_NbzQeiGnesuwsob3bB#sq z7an2`b${L-oM0Kb%k8k*@s~#wnZL^+we(@lui8Pr`$Rcq>Jzbdgqr#0Yi}7f8!9~d zExy=Xwe3!<#e*FhmcKEWzf`S|-PW}?;09S{rN|PNrG8?a25(XmFUc_-eDe}%1w9KLk9wGUGZvX z!L^OhDo}iAq@a+$lSDP@S6R$|7RTmIn`jU%EtV<Ojp zm!S7LYbq#KOn!eo-aTsiYJ$omDVeI=y9b7z^=*s&62*Zf-De&7s@nEu4UDTc%WM3h z|DdVWSXH!rZ_+~J_LC=n>98iK5W25T?8O2)5{q?QHAHkQp_bmAeDU14pyAio5t{mc z-{aDOwUSQ`9zq<)G@xxmZjI@+wCWclN64ZpTZv1ldy3FaLAID?y`fk*(v8|3o@<{> zf9^SUNX;jhjH&lKBasf3J9LX54Z<*w%O;u1jBaYoPOu^H&+vlUQEg?V4w>fOJu}QP zmZwjJq8>X`-p4y_>bngkC<6-N5o4(WNn!LCch;?9 zL{=~E(B3ga&hf6!)rVJ#v`CSc?0;XH%onR|ANh|&o`j{=_^RiU$F(q#>ei6gjJ>F> zUp=BSUF%imPz{xa`%Hh6{V@uLcg^0OFWeb@wYZH#yYOWCy}vEUc*x7muVi%=}56|++03eYJHY#y{60TDOpAFwUv=wQkdKZ4rC{95k%5k z_vtdo4k{OJ>q zDJHQSymlDb-^a>(~pl8DQ8+u&Cc=DnFQ#=pF-P)W0ysKsgW{2gdmEc5c( zWpAbPtfW$ytEcR0U)lGunk;9xXS6&v%6R=W!Kzr05*{8-QqlJHRYxxf%zImo#``>q zrz17M^3&oy3;PNa-j&Iy?KjF`K!9j?p95TnJ0(cd9R3jxxyXZ?;nb(zH>fw3ywjnt zED2ieF*mU7q1(?jx(QciRco7?m`KVc1-xUTjxFPq;U3qoP$V^N-t7Ys5eI9+E6iS& zQWwTweIt_+A!~`ZcmUu!wsdvU#V%GxbkcB{}cMn)0P*v)%Fpx0!B==sH~T9E@GWaiO+& zL!Y1TKr(``w@B^0rq0AEf~aTmj-+H<$fQB`Uh3>%Ac@cU%Qab*lrvZ|)i|XAWv&IM zjU?G7!4!M;>=|4bp=D)dq>S)gErfo6EFyl**|gDX*1Ala@hXZdg%sFUr4!#3f5MQ~ zB=2>^JrR5>m=lIzznU#@)wrhkE~#LQRy?$#GNamS-0QXewqgBMXForvVNB4J750gP zi{{S}9M~QCMnlq69x$BN=Z0EV6-N)Lf!F{R849uKg`>& zvXp^274aU6#pHzN{*m?5vp+3Fr^A(NY9|sD{3f`+dCaImoP}b8RrrCdXuT~PpcF=p zn#e1R1zrk?Y_ZK|rCzCCn|W%^E#u|iHDz7r^|$$s7XFh?JyCfx-IbZM#mvJG+ah>-l}irzOdRoy(u9I(=P_ z2K4byoBIZn?->&w(y>vGF4KUX$gU@5`dxko@QQ2H4vLvPIAmitxg2(|zfOMK<5_6B zfxknp>c*w(?qpNaiWHmvHfw#-nzx)gW^R=#NvI3SoA1>)qEY|zCtbT+=@*k@)0=wP z-*x+%7MZM$+h?M6=VQO;H}&ystBWFuXPSy0Z-n{InkIx#bmi$7+dvE+YD%q3@^nn)GRP z@^;^x!oRis(5Y@#mDn8h1k1WuSpC3-q|PjndGF_aBY$>~JGz^HZ8f+6QqNO1A8+sJ zz0)EpCeD7h%F0#j$IcZ(W*cNi0>cAt)3UrjTcA4OFm3nKDI9xCR>nP>zu%J7KcLio zH1?6zFK|d+F!iq0?47N4BfUX+&p)WK`?}}vyFC;C@OACL>vK2gFV?`nQaoJ(7vbKN z^^7DSP%(70us4|(zx4)t)4eN~H8%~lR+*DRVxaFUG}nao&Mq;ZD+*I`my9% zow-Yvp@|kP&T8ia?Y6z^j?+)MecEorUfdWv{c5T+%0GyjMPePNJ&9d(xh?ItRX=!` zO8g<^N?cL;mW}y1=lg~T^j|zIH=bUYVy69b+eO&$dxvuEc%QR}++Ww1?$<9kg#FsE zx266wBZtic(Z5$)Yf!M`)g9&-*Wtt4%Kz+OV{X*{)n>k9+_q<5{r8`d7ZM#`GUnF< zy;hhe+)v)Ej6DXCkV9O%xN~G|>R~(MR;tu@SF-~04(=rzU!pFKpH29LK$GYyiC1I2 za7s;{@MYdLTw*c5ir*z)o>}Ro^!{u%rp0k##_s6a{3bi)sK6{AZ3kShmi*Asx6FK} zccv=`%8QX{SSKm8kD8o~%Z9JLx@2uhq)SV4V_Raw)U6#aig9)2h}91)8tR&?+>686 zO5W0?HQ`Rm#PQx{4M+FW2TpN^3vM*MtEL*Lk5-F*`nB)*<%kFiTk%&_DrQ`L`pgsS zLi^kdl&_|h#+|t)VCfL|i-!5;$Te7Xn+g*J*ba~WU>Kac5$PWh5gpey-E>22^WqnI9avMiPq0nQlHtyTQ}(! zol$pv;`dlgd(GPrPWzl!+A+87%v+g1mzqhOd_7`qe*rg_IU5xkNanclC;6i-)QfI? z{4ma1ydN`0!e#BLv%l2%jJM`jzh@wZKR8r~H4-nl_c6wX)^6}u$vJz|YAO-+ZDvvA z?7%$m=5-ULI>k_3z}fhL3VUqKpb&Arz$}q&yo-~-9`d@cgn#v*VeF2m{c<`Ezsz&k zAuYQnW&QNf@IbI9Kci&-C!t&m4)}ogT&VoO+}4_LF@#C5XN)jmkX(6Q-m`Buet*S@NdnjrGs*rQJG z)F;-T%w*%*V5BasUNS8Dh^*+6*!6OA?tQCsty(rtZo>_mBWJhHNI@@Z#OpIHvh+2ilwv)&D$e+H`lX_xml*H3ym%tMI@^$f6HO(}!y2+#IEzwB^(u z+vVpZ!S!UhJnSqLbJE9hMSS==`z^&^&toHz{7vI&<{etSBh%10QU22UTl=OU$ z9KG)HDdxZn9HyX>{?!=B$uSkXrJLo()pTz~$$M8Z_siF(r~(Bck~wQ6B2DJi1-aZ%Lx>4SvR18*j(CMS z{&=p{#W$n(6C;AvnO2&_M!&jRxk|xJX8p0{iiH}S2L6g_rM(MrBOP%hh@mz)#rL;Py9L?BKWVFMN{F;rV?d zN-x3P&nyh`WvVyl=42TE`AuUs-&5PK=BU7VKBPVE&vK^*OHrcCi`U;0e_8I^ku>4Z z3eDDXHo|XKLYsx?skgsB1o`lENDe@H2*E#`OqmlncAmK2lj4**e!4%lfiq)#Axu>5 zWmezYiig(Ue?8}F&7h~1_teiFyp+oZuEd%ECC*4(ZjS4Eqo?Yo{hYH_F78}!i+?-W z8}%_hu@_=JS?lC&$6^L4ignJz!y_2CkVlr@028_WcvF7C%_ z0!*XdWU~gvEU*VybJWCQlou40l!X(unkSUm) z?v_*lpswsYy{)kv3Q^RIbB332gCe0S|JG?Na=8~QcAd}NXa|H6`os?g3hYn@e*z&+ zD{>z^T<#B%pL^T2kI3TwZs4Y9rz&%wI(3Q?B%~3$K|$f@R7Y1M52(dBGyS7LfsW}n zpBMaT0O+rx0AJAqsoUH%9~=PqRul@F^+1q#vfMu$G)>I)6%rJBt1xhR2}Rvi z6v8-%pQgUh8Q(&e)Xgd(WXOkb*KffSHC&{oDM3WE(*DqNZh92J3c!$8Q_hX|P(5?{ zoP7Vt;Z#)GFQQILp`@z#M?r8qsN{qSax>gmluD!r^HJROTbQ4ny@d)rB?xXN(8(0L z%h4TX5A>;26!ak?4LN>~o`5umxY;X5#$rj|lkRf3R6vuA8(zYhY-04p`?1v&k~ara zF44A|DCL0Z%vo5B6`fVekf9_|sA^SK2WD3`E_pSpO;d8$rcpZ|_AXwQJ~ zFR|Fb3P@VI7M+7qjDla-~OGUwr0yBJ5 zP;g)^WgNxqY`4U2i7H-{m-Wi-eEs@$#ljcp{D1w*^J?RqT%rkro+tZD;oP6TcK|D- z&s+C5>{k5!8!6~E-`rajYtFZiUAs|E;~$IvoUaPF+C8Y0ajQZH6_h!?U(2#{v0TP- z?1d~g3V-S;r)ZXws3_1aP-gjbKXo&sEGPcRS+`v1%T(FreS&OH1$0jmj_lm;0asiL zWU4tID;9qrgsD%Yaab{Lmo$7Oph0f|_tJezV%W(V09DNXTTp8|Ja?TKPH9bh9&<6k z?mHZ4#cmDz4(8cUAdBGrEnT=_fn&O<1tNfE;0)U&s&9A(XxQapX(Q%!(nbh4!vGDo z)^y=4Jvx*sKxBDXso#0=H($cvl!Ov8Am8Q|lr$p02wB_Ot^zd*X1s!F{6G_sfjQn{ zlZW$L{~W>-nX`|B=FNT4H*p4HVb`x8OHa*wQ}pBh7vprDQkiz)EoNtCXyONbk9YZZ zC)ysW^`E$wq%zqy(71DRI?BmI{;EdOGk z^fL&Z8j)rw33L9}&E)X5J_jX?ru_wWUb_t-M9Xjy)ckljh$3%REbBJ+x8sBijocS7 z(WJoiZfx{McmLd$sW5GrCMcB+4Tr!|#`!=WL{&Jl>tfEdVfAt`a3 zXUCQ;1piGKmzXXE^5O%v|Hi83_z(K^`SW|1WGuD*@N-jBQ^Uf@(KQP>`(pgiYE;Ai zL0gkFlj}h7tzA+(6*{ls<0m4YW)|;6RN1F6oEv0{twzet%aZ#c(P15V-!4w;$sEd0+YY` zpz9ieLK0a&1efVBVvj9$Hl0o`zw3_8hmaA8aPSM|Al;#f8~>;$6qJB~xcP)EbO)9o;-Fgsx z_?QBg|IGB!=NpJ>rJ@>38vW4&xs@X6*dfUw9d^q;wf(^{AwtuCU0?s+Fd{4Xj`#G$ z1S@FP_dkHiBAbpDA~ox6?e&sWzd?)72FrZb2YEcZBzCOf;9R$T0G?o0Vq@tpFUx6w zdkVYsD-8RD-#h$lo2T9beb(>MBYEt??an~dgus;yHMDD3_DodrAml;B27_E~%l;&v zJW=l@n3{V=Mi?NuL4T|a$V_I@-yz}V&D{HsrVi`={sgQ0N*bDM#@!%i^k5{1TCy%4 zwi4g^a@O?du*CXfY_6`Zz+hg;%*;Ig98?yBy_W~w37h4I03V;Jqw7`L{conah-ea- z@vrmaP0MV;jo9xY9^qkPVaW(teK0)ZE4WcBAVqx%(T)q+Eg=sqfUPhbt2Xuo59ViI zwrHgyJc%wUQXo9x;0>e`S(@K(I<$Ytz8L>DdNF`g1m#vp_Rx&3d0xI)c+K+!^Iv!_BUx3DTi?KO%pDvc!^k>GLxIo2h`5WZ#|9_7F_b_I@_4NKXXGs7<2Y(vr z&jt^#;SI~-U56%kK~(@&1woE!8`#)XlnWOwkcK%>$z9xGx69zl%#$ZiWB_Zyq|C{M zItSt(b%0^;07l83@;A7m95~UiV-{ioDW6F@${sM*;**o3KzO$T%UV*hr+eySeD|2@ z!GmwDI(evF;?j`uC}2fT{4;APkI;97Tp?+; zfgtbRMV+Z+%u@h?@$8dZRx&lzOnv6#Q&Or%HNb~|Y^l{~fY9WTgf!n2-l7HkGAI0sp@NRK%5aYKEe3Ow{sOvcq{Zvh(`C;6_1 z%Qsr{DrWl_dZB?L(AsnJ1xaX+vyrsyfPjpJEGR31ALKvXmXk=vY^is=%Uybdd;0r@FmmbGL8^jj z7(xNH{ZbbtHm2_LK~7Gt+v zcM(C8A=JszVkd1kYu0C~F%=zw+cIL3_3!@wKevq~JN^IIaQ6F6tW(wCoTF5wUl0RY z5DpZ;-?Bj%(IRJdIx=Ds#R<|JfHcV>G;!>+9YwA}E2yb;%l*9btAzylq}fQD+e0W- z5V#fTMtb=&D+c*IqMFAM8^uD3P|BDz3ZY#~IzZw^u7P-tMTu9Cg$mb_V5W!(jrA!6 z%x)}pQGATdk)ggPBQ(dr{>?-lfS?QW(J~Q$Co4#Thz?z_hZkCet>_U+nEqI7BKL;S zl97j~W50`wBsR(op64Kl_$0JX%|{5TdN{TA<2;z}IeOgC7cn^2(intV5nO!Ck>~#v xO2Jl%km5fYVEku*L86_1>yGii`Q;yhC+c;}T{`J4Xi7{uu>Y{yLsg65{{uV|8u9=D literal 0 HcmV?d00001 diff --git a/_images/de6452983df876b73d12abc289d8ae1ccb15d93af4425dc5191af4cec47a3210.png b/_images/de6452983df876b73d12abc289d8ae1ccb15d93af4425dc5191af4cec47a3210.png new file mode 100644 index 0000000000000000000000000000000000000000..44ac8efe80bebfd840410c911c8a74b33bf97458 GIT binary patch literal 33716 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 YHGSQIusKm4e1PikAvL9^isx?p7k6|FP5=M^ literal 0 HcmV?d00001 diff --git a/_images/e40f993f8a16f1013a0deeff8885e49c6a4605255390d0aa35730b930fbf37af.png b/_images/e40f993f8a16f1013a0deeff8885e49c6a4605255390d0aa35730b930fbf37af.png new file mode 100644 index 0000000000000000000000000000000000000000..47ccded095ef06d4e2393388122a1586171110d6 GIT binary patch literal 30555 zcmagG1z1)6*Dbo~l$KTm1eFd2loHqi0xI1dN=hS0Dz#}45l}+9L_q285Kxp9ltxe* zNvS&*|MPv{IrrS>x$mQ|;@*3$^{Y9@7<0@Wrg~rD95Ev?3WYj%R}rm_LSYM`P*`1r z`0y_|-X9*rA2;3Z=(=e*K6HCx=3<4qXXfT)@91W4V}8lQ%Ei^j@v$)9O+G=MOV(~~ zPOi83`5pfI4SbF+kN5`})>z>pL{5r&t|%0_8S)z|UpmhQh4SdWiR zf?&fDo7Fz{T=?7kOI&1{w~M{CmMcHk{;@SG_86a8`o>qm$Ly}vq4y-!edHMqIwhZQ z78`9@a{KdPDE|Qi0~P5_+{X0fPdPWewo=5O+<)=LHSI5R*d;=24E(nptGR+g{-P8S zOiD>f`J0zk2#rQ(SLt?BP*TQCnzPEmk5B*qUbOi+USY=?r$}+(g3;Qn^+YA_c%?(p zU)^^763*G#*?}g1|FQ9LS++RSmgjhkdx9?Wib-$Y*hyErT)uUSktz(=ZuGqt@0%NT zw3n&E^u?b%c@oKdQ{7$K-@D%J_cx~E(_z2g{V8J3*zndX_fsguX}CCOg|_u2y?28O z3a+VZXhhfxyDh2GGce42|M=)uwoC{{bp2$ctu3C%g4Ch9Lc`TpZL}Prh|+URqFOzy<#?=i%hNz=k1o` z(m=*o-4lL~wI5+KZJ~6Y671|abx+piN8cNn+1W*ywS|}syp@UVU0_2S)VGC_C+ba! zKK{|X^8Mr2N(Y1Ly1HfihH;mbF~RLW!zAf`|7^-ug@l9zym#$U6u$f#rlzJD-U085 zi+k-;A3uKF-PaeS!pU7}ghu0LtFN9G>uMi27F^TFeXIBJA>JzjTwDyrJsIUhzTnhU zqh}3z#RgUK4Ys-?X>+wkNW z3gy_aL;G)Uo!^6=Fi*bEc+?E|UHb83U|1ND?NI)+y(xc_9Z$8c0urVeii;Pc4mH%LcHZlfHXKsM~cO ztHj%CWAw@U`<{^(B^jfmqv3M$Z6W8%9{;SBH92)`Iu1F{t=-(#hT~Gh-2eJUTSo+) z$>CG1>B$Cf&%K{d%q%Q$G&D5!4-e&$Zw2lC+0`Bzi`SW|Ypv{Qr5QGX&Dj~lLT+GS zpsTNMzP~YpXZ*3QPJGg9@dEQLH^O^wM1o-wU-6q5TQ>zqeZe9=W&XA2J=;#C)pU;W zy6S>iSM&wzfwx$ZQBgC?%Mrba{B(zmHxg1)qY5lRj9XRJ{tB}xcl;m+44wn(si2`wqEAuY-AU1 z1+@ecw82gqSnTZT%5q)&Tv}Dtm1yEeWM^lGR#32j$Ib~~fM=?HvVKuMiV^S1l`Do# zeiyj4-!<v#mS)_gL z>({S@q@?JHN(bk;&T~nxUuVMeBnep&)AAW&N*ezW!;g5V;ii&LeSK%|+FLVHd3~Me zhV4)@j8Fh#)MXBinXDKobvqUsnxLT}%}5sMi*PWSjzYHB8+o*gl21*)f3VvBQ&b{g){2X2PPyqSVA>o&#qvq%-n~1rva-(> z4g$NdO#6}q$4bp`kk8Zd>Q9fASu9O995OYeH8+agm2qJ3E+Xb5D zv+ZFhW1r7g9;A`Fy1M!t?~I~Q3JP6phka9gkRw8Fy8gNZlkR`CNdTh`gw0*FTEp`j zww~f8u4g}f7`A->u182nsA|w?|6K?xz-eiKb@;;#yAeWEP=5YZ846sp#m}kOsF~T0 zh&#LfNBhq39{7L7f|{BdHp&d5LZKA{0|Q=Klg%I}y!L0PfNhQfSH^lUH)c)b0JXy7h3QsT$WsTvV%x|8b5!Y@AA26FIYGqf*mnsM|2`KwG{0_oFE&C@w+9 zBe{0%nr+F{$cVP0ii&2%&j#-*cvIaI$GDO^6u2{UG19as!qelubXz@J+d|bW`ExBl ze;Rf7_G<7FTvAC9D;qn(m7z$J^5sHNJp7!ZH(f@_E>F{)eu+?at}_bH#KdIy`1IuP z0qTCHjp%2U~1ai-`;V9uc*YUR!9GKSB}`Y7`+g zr;4igNi3@zvHb&f`ACW%KYkFuD=Hn;A6xtgdtVl&fB4mKkxt3Lmy@C?$(uKCJ`W5G zRBiI}Wfd0I7=Ap}=nGHN8OdPl{L0ch??Z>2vL+ioK0f_*Yl_dQ;(3)tx2|3#gvbxO zUoP%T|LL+7d_?ssjU#h!ueaZa47g?M&$%jzYLrzgiwE-tOpErD9SmO>10&Ywg0Ns;hUFFtO5hNG6Fbbk1_ zYVs*bb3~hbiNS-vzxuxxYH<$>!Tyb85+#FJRP8(`Uoh*RN-nj3d-cS?u_1?c8Fq`Q zl~wTl)LX2qtTOI@cXomyjYP9Z8)xnu9q&zvxy)n69gywVwYNS+{^-%8iZZ6$++2FV z6-^z>yzo@^8|wW4vMe7G_c3q^YW^Y8+)KEiH|@eYm@-*6?%( zyVs;DYT=Ebh5WOLI#hOc_FKoP#(ez>u9JVu{1rw=5YCc>ACZl`(+gCHxhO*sBx*c$e7L6uDIdFT zGOL z0*Y-6$CWEZ#tL^A{C9~XdV70G@*bpX8)&~+P5nem!oVd62iVig%WN?B9uikeA^H$L ze|yWI;3{ODi7H10Cno_UPRfOn&A|5Pg6WN(o;HQRLU;3hPAQfv4nAo!q`=MZkJ2;L zvg8FsMMKpK&;U>~G`W;_#^s}#!@6Qv=30YEO3TYNz3sQ=dvrfOJO@i}fs2dV{OJ=h z+$a$L9M{gj>sp!_`z~r)#xLh1Z{(;G5fBhSOeq`aGC4LI2%fE!5&YcBZQJ*~==#A5 z>Q0mNf(;Y*Z@ciwNOUOKh3SQbV6VTwT84+u%gf8d#+3f`CA}p6%OfvIxsO6-ta6MD zx7@Ba9`70ig@&@jX|1pu<#SuZv;ypEo0?*gKG|o7eIx*o-hQ&4!J;!#ZPiRsNlD%N zbCEY^nzVm3AP)20mG4P{79q9=sp3zRj$i-!oEibp9)Ug^TU%Tk`;dPH&D#l&P7c=# ztzg0M%!e&w%ig?UYHe$S2^rq~^rO~Yd8b;Wx~7JejV-fzOH?n0v*hE|ix)5M133Nq z!K#<))HE>!KJwnE4qt|Xm^9m0D}hUkxIV8r!l4whr+&n5h&k4y?^FNy>FYD5Nq9X6 zpqWtElqfCEPcG}b^O0RdR8;h8f)ZL@zHoJQV7tNdJ3!4ifMSsO@>gxRRt7BZR!tmz z0iuOFUgcP_tBXbljYz%8mSkp^W9*qa6td_f4GIo!@NgvE$lUkbDX9fygyrdci*sYP zx2?Gum3Kc?-L48@D~AXE$MxeTHo1cY0SI`2cy_Mwtnvb~7wBjMWv4TfZ5`kd> z07C&B-dGzP8lt(~WBf=BpOikJzFxuy@)q93-u`~ytVWZOVgpeLzax6sv^u=K-QCUM z=edc?cQ!U|!xnaNanbCB#R(-Kzi7?z$_K8h%EV1ePmh7zU4Ohgk@JWDRJFf1J#~9~ z8#`|+g75)y_LD*#HzYFzX5>slMhU&O}`civqP78d6I z>M>kyqah|Hh5(ep^(!bbr)kvV$@+uNM|yF)&M~Am*)V}H4R{{wljl$zT$b>-p*hNl znGe#X;OO4AwdK-&Z%Cx9tUPRzp{=cr@B(CB6faYGdU~2dHo@yu0$`3H%Ke2zleel@ zRV!?@n5BH^0YT(El?)^x4{2zSv>kmPb&g3SUvi{Chcm%_f<4Y|1RpmJhNu$)~zy-)K6=VpfCr`Ry+MIv& zG4SY?qG)Mp;Z`O8AUl^qq(CMPfw%Vd_N9-1-U4Vi1Mz`xn6wOt*~ac}C# zV`Fdqj{h-6RoD#Xo`zP`Y5Ff4xiSQWOz05asBN%A#E z$m~g<9tpz^2^Mh}H{FpY5^3*M8n zNYVV;{>`pyU_b&xZmnByQ+F@W(dGRa?e10t`uA*nnI`Bo_0QpQNfT}N-=dPL zt8sC0vVdj)*Vwg;jp=k12k@T!d$;s!f zO@^+u!YQRdUIE$%v|bju{KmmzI!O$RG@r+DN2=ek%Osu*1%N;P?UnBu0yl1)Us+iR zijn%K=>B@ID32Dl`noKnR=gTRzHeX()UyM9xlJeTh7I^$aECcc~GB_mYBO(r7 z+5{j3Src!w2_r>C%=F^o6_9s`02tB%PSBbEJsP}YFy?LYqjK-VDBOKZ1VY+1m1Lni zr4<$Dfm#OvMIj`=C~?)zK+0#o6akPeFfSY1+cYBfW2)9^dn@1Bfprmr(DA&ku5RP+ z7ikiJoqQYP78Vx45HU&Mh+(6Kf%FcM8&uj;GKxOt>0WSY>FkuJzvY&{u`wf8A@ch1 zx~9nG=c;51Bvh0M8Pr$qzlAI$25Y!98j(pir-J}>(-7;-7t{0%Y;0`b40tR-a8qAat;M2=3-2n0UoQ?EJ`^ zc|FefmgeT^C<{|WSfs$kDl034yiO%fQw%@czklCzV;XCbf?Lk<^&{A#VmEI#eD!XZ zg$rxmi3DXr<=(xWlP;42O*UTMbH9H5>bRdP@0eTeMT?6C_zDvfLx2(!7f-x}kI0w_ zhQ`Keg_ttf4&uzks$2=(Jw4CL$^=Q0g|<1pL<9w~Q0-k^Z7nSsL!rt0YgCk4E(aFo zaEm+9L7)UWtljIhI$I=ENxEmG;zW5_|9`C+@C^9$G2~CSpqg82}3`Rkv`F_;Nj*bfn5?*T+G|o-~YA5M7q7BBaCid8CRxx zXOZe^!t=2V3Q9E&D{E^E9trJqXB3l|&%OWx(z5gNmfenBfAzHhU_$FjtKKJ0hL~)A zu(bepRx^--7`5`Vjt)eRHb{<}`Oj4_3YlL$17Z>y~~ID2y_J_%ncgbPRs2tVAL>1C^4JV*2P&XnQ+4wPPOs5&s+` zP0h&%Pk&>Mr>ya>UWI_PYQFF(AzwWw+}6v*MF`?Ng8ni<*4WtD>3Ds^&S`f=50`)- zf_{^vakv-@)x=yIwS@aqI~|SIEJvd3_R?3|UQl&VkiS8UXxu$OAmG!TKRN%fU{Ewq zx0kT!=;$B;uZ&j|k!JceI5r;OBkzH{PvR?a`7*ATmzR^f`>?a+?0b`KqD{{GDHu4y zSs*FxgLI-pd3vDCLSa~lpPyf|#P|XvqQIsm|BPd+M~~RW#SPr0IXLi|BV30n zypChB?xmFeZepsA$M*SfgOo`@H1OHWJib@KM|;I=hNn3a7I1(he(7bXf;dBx>vBBRM%aIEbup z;(&{rhi1h^Mv}sChgpiBtWVwnup}WV>3n+PTfaBy4g9|abff9{`D|OAmp|*Cv~_nA z!oeu47_rBuQau5<0Hko)}V?Wh+A^ysP&V}B@nfZC#=?<1dGcz-UE4+L64urBR zKsPAY8}`!vczyr=eQ7X{oby3iB&1Qh8s8K>r+X&h1`LD#u04=9Mx@!eZ*%WwRgjXaGC~YkAq(&A>|#w3CyQGcuB;dev#Zo6={n zn6L4tH_0Ijqq$EEYRKdI==iOr;3LB)e};&Jl2ulmxOgCPezHjW_~8S90vx1(v2&

*-cz5?&VKs}It{fof;!XrD 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 literal 0 HcmV?d00001 diff --git a/_images/fdd52c1d89e46c8455f7b30cdf1fc2bcffd0002995fe9f3a832dc13afde3d5d1.png b/_images/fdd52c1d89e46c8455f7b30cdf1fc2bcffd0002995fe9f3a832dc13afde3d5d1.png new file mode 100644 index 0000000000000000000000000000000000000000..3c30a7c0d514418834b01f57842c877acd39b38f GIT binary patch literal 67215 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�!Y^=g30j0H?W>l(eXL89I4Ud&kRO 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Ξ98t1`Q5Ou9l};{5Zr}R^xhaw%>gAzn-e5(G~}vl3^X^DjPiSS!g7%Sc)Rvb ztV{8T1rBKRC(x*1K4E07%gO!hV_m!)*cC58$A;KtfKQMp5E!^e)`zj-KzA|LKRhiR2|c?Iz(rIUJV2#MkScTGb@YNTfvAB4 zfAsN6DuPipz56El0mQmydn>+{V|*s&BoE{zlO->tuk5k40#}N2^(K3ny(J*}!oNEH z#E(a?X_YMJwczeYH29N&zX%1=CDXs6mK_eE2(*zeR@eGVEt`$L0_NA5BtZ!ORSUg8 zdk(G8!i9#rV11{L!uHb@a7SVov8N+<1~8xCu8iFoEi|-2pQn!VFf;Nu0cDy zCb*lFrN(OT_MXzSSZF<8X@2)^AC;zq!pTq6Kf-J;=GD*(VWDT@%M0PLu`=UT z&ZID16$bjwMwwP=%rphV+|8V2DQIbuisUp^v-$WN)<^@=9tZa}SfEe1R(&P_>g=y# zft1kNgXIPtHJu3}ILxIp1TM!LVgfLj$fWwj25hLmz9smzw05GW=0fUnHfltSjWas# zdI2;_f>8xC{kx+`UW|>iDEB0@Kyv3;>keD>_q+dFW5Yp~UZvh~hhswb=`)P5UPGb3 zN7Cr z2Is_4Wwl1_M@;my*2!%3Y60*upM9cU46@?Z7~W!`2cnt0YaX(KA4t?ahE0Gf2Dj2{ zy(_g}KpPM|_>J3;H&zchsg<6GUsel%&9FMkZM}8(RfiL{dZhyh-XFMhYe&n(%(Be( zBfnLynkg%la5jx+{6VFUk0a#yniI4p)hJY)QO|9lZx7dHFiu0i< ziZz=3stx@eBTPfHkQz^3YBCzHE4%J6d3pq?)HR})IZ;`bk}mIF*;VbvK`M9&q@Ijw zENSdILI0-do;_9%uy2EcY>;U<NDdsH#xIOHiaZgKd@ zP^g?&o*Ix-`E2ZU6ZWJ+3IGS5_~PC{xiAS)PO=7jpA}E@c~+PXU6f+T@m8v)6_)h- zJU35z#{H}~nskaGA$MGt%ikk`ZB>)t5~AshJrB1Cpu<*X{k})${@}2zVMojD^o1S3 z2m?_Ou3h2)g7-kZfe&rq0X4Czi|^T4Xyb_p!PKMMYUyLSt?6>jN zA1=C6`BoAMlDKgK%HclHVMnX3+g^9Nl#N_=DTm|5=aigCd^7f>MBUS^~ zrd#Wtr|5oW0_!Lg#%TS+ej`C{Os!FoI&?uj7Dz2IkjK#T6(ic20~4Kwe>Y;`Apv!W zrHzFIG@c1m+I`yHB*YJHg2&)_j;JNcd*YTH?KNKZvn4Vpiu)wVUmd6c4^^kgD7o@j zm}W-5Q!?DlC5MABS;;JR(Z`DNJ{k|`)o8k-Fq!-~KPZ7T)>P@`) zI&Vxy;`WUa{rMiax)SsH3&Lo=%Qj_W4-`SlKr;iz6G5y!Wsk0qU&^j*nCQL#W$1p3 zRl-v_C5NyAdHT9R7?-%f(&gu7BTXYIV(&`YwsmGgU!l|sV(w{e!xa*dPj!vo{t zkiWvpCj1^cEV+$Hj(UrQWL9UMz0$2_hkeo>?_W&+sf`zV{WwGjLy(3myHZY1(4bK-4tkc;5 zsA+3bvAwUvZlk2Zml|r>Bq1f_CHLmszCxyG0g&zO_!sFjRB2?2Jq{aA;1@#`%~p55 zBPYN?=3=MW78asE3&zkNxV9G*5*NHjGM|{{l9#GgN!h+rwvGVOU$Vr6u*n7v&tQ&l6E4srRVLb&jyj z(mQIK1@M?BMrC3Uj^}3p)Rq>YMJzP<@$u^Vay}3R8lbMN%I3pG^exn>iavuta8v&< z31lV`G=vru&4~K7`J&A4=M15^ecgx)@9JVN_t2Www{mdzVQam4iM0zduhyG|H#kmh zkdh)N5pF=GH~q){25tXZ6`9Q%N0gYKLG_=fi#nO9_p)xPN3*y7ee_6)9L@LTM%%8h z9)eZj*s@( z(6ZLsAYC$_>v{f20n_bUTMIP`84Rkt^JY2 z0KFd%UXX1lglZvPo=i;NmlMzs{^Na)QjXy64b)3Jm4{o7S1*R7KkQR@Y>l3oH?&`> z%KLBroc0h7p>)fi*k%o+6I(w9asg8#O3R(aJ8vbZxZO{fGYHKL@Rpx1%HgNk^o8Xy z@3eD2-FUryKN>+-xF<0$JMR3%m11P>9CN`>@a|~2WZSIf@`8+WuBv?PH}(r^g1&9C zMEUO$p*1F+cmi&+f{$WE(;rudQ~g-o$;)!Kbuk_vJzwOVU;yKzR?uX1GYy@j>P${K z{4n_~-T5gh^lCX&cB**r&zgDH@Dc}wSb7ac{Q=iI7MPI0H!T7ssV*o5#FM+>==eU@ z1{rk75=@>{V@kc&9(lY^!4&5F4)C$W7L#*On`Rs8rjXUriy7mlTtV_FgqLkBmlxlj zZzrN;d&`m9k7%rE_o&FwYTqS2*x4@Qu3c)tsBlox{mVmx_zQV%w(~KFfOiu|DoTgP zU!EYNqh*0b;8KmPGYd_I+MV;2^HUfURaxq?)&A9he}1k5E>5jaHC@j zCKh0+9jON(kT&-MI-g1bnVa$>1B(Uz>B7uZFJa89hZ4ORY80!L#WRQd8$mI~9D(va z({t4lF>Te)Z^SjZZ)L+1f%xwPE(y$PCwH_@Wgtt3W&^p1@*Xp;w0m?cN6~Yunl_Df z8!{be{}J;lLHzof?O;7pJdRrvQ-47oPjA-4>|yItLh`s+QT?w})pDdKNB9c#|B%*x ze6rL>i{WBB3T6}XIe(7%9IC;_ZR=t{{I^#LAa;eMPiKI&g6UPzgiX(0VdMXkW1Dcs z{1fmPS}^8ab~#Wi9NZrZ$17$3ejZL8wXs zmt~vf7b%ak)uK0!uz2`SXkt^Op(|VaIH{Q{=6MR?FZ@6J^ZMyTt2!?VF?slRFfndE z1b3N#>3A=4`tq1>sj=>Al_hy4LAon4iiRe_0}ycQp1(saML)N)Ta<`=sE_nzh=1;q zWoJv(mE}4zT0Z~~`c`~fXzi0WL02%o%tzb*vzfbZ%v1arKw3GVX?;7yMm;I1zq>fY zL2k|yof6uN|E>I_1GbsdkxUYY-s4xVUJZ&M)I6v+bY(|QjE5)=6EaClyvIp}@)YG3S1(o7{5mP`U!Hf*f(->O8ScAB$9_ z&bPGbqTD3ywTY18xZ1g`%@T%*u z^h7Ahl%A=@u!6~j*n1aE#pwoC8>8l(rL6bIPWkpTUIizIS^=l_^pv{SsnpE#5fudW z^tkGVGJYfb5C((qvzkgg`h!^l}5(O6Db?Ko#y zF6Ew|mVe)C&BOuAs98@ea;R=)MpELLZ332j|yM-H7x8;IMSw zvJIbnY{AtYb4Fa~tX9+~g;>4dr#)k1E1`6_e#kJgo*{NVVG?{6Zxi={HhB%9 zNI9A_Gtsl5Lq3&h5Qa^Ha&~^K96{8n6`QUczSY%b*Xz86m_tJcC=5-Up?Y&xEFHz6 zk*l<8Z$ItN`HQkR`$*mOWGCHDa?>=F?x_)@(+*L^ao)m1IT>hzMe7*z>|L90G;u!o zzOsS5x+Z~dk|J)+q1bf|-HX{21+IoJ=Urt=hd;MvcvlK4O==HJlL)9eCAv`>PT{dY;cRWe%)IJ!}gsVp&C;|JgR%1ngT-EB7N z#GY$A-d2||>ZENOV$2gt{`;(gndhitMq_fPUDZyg#lc711IPPGHFzkqnvU@yt-*}} z6lf6--d+aObs9w6cWG&71v_#FjR36E%^n8tK?>%Q3HP&Trl?P!w&NOoZiCoXlH~`? z>WpAppYly1Y(}G59%#s-5(End~Z9@!_9-si^Q{M4EGgL;0x4XP?)FP9AZ(~0N9o?0CiwO zf70Q6N7QfPTVlXe$#j4g$R;sy^WvgGpUT2wn(ZrpEtN3V5torTf(=99pw5bVFz&Hi zer#pnpPx<-0`%LUc@wHjsDYlUGPoaSNQ$@~Brgc(3BE&xSM5kaUV-qz5Celx{t5TF zB}2!ST_IGXIZ0rP4-pR@%qb?i6g~5;V3eS6W9Lclmsfo+ggvg2{tG>?@V{>|DGmjl zAt2Acc5WhSP8c?5wK4=tYOQpha<27D?eW1D_uhylsels~$kw?h&SlU4LCNt}t~S53 zUb&no`dOuV^VvY67xE{Z4Cuh z9(F;`-Hht9R7quI_O3gqgFT=lsy{~q#iyX+X48LFX5JpAvTsdbrPwS=IbhZf<3&b)F7=y}q<|AlRk=$pnI-MRPZ! zKyr|sy;Qpw@BGI|mgi0>UL##t_@PjZxh7EAW6D-KBpo=9EHON!5Iar&INp(1PaBGv z(wkm8OSsmP7YmcW{Zx69V${Y$jGyyYr}vDKi(zD`X1 zK)WgEy+9FI1C4+aJV@tZe(>%=1dIqc8KWbj5ul89CO+JL2UZj~EFLDKQmG+wsnz?} zHtfp>!fYO@N1q5H(VRN0?9*~TrRw7L)usIfPt$?!sw7Dw2(RQaSkBuFVh0u4zn{%k z5*|*s3_U}ff^y+^0^oOEI`IW8^n8`2`snCm-$K%+8MP~cON>XfmZEs8#vsGLgNLeP z;xF~;{;}&xH9U7YAOzkEWC83uGc%I|ZUf-akE(%5kQ+xQR;wci@g1(+4d#K&{wAq~7H`%en7%F_PoXbj#qs zvV&}qI>;w{%07{I(x>Jex#N7}(8cY!Y-_1fsI8(TmFi>X%*V{UTe6Nu7)e>n|Ccch z=J%*GJ%sImsBHlN1+CRXK1#g*M-dGeupPu?Ksly=#g=Q-Vi7aFs)GTMN7;vTeB`oh31Y* zhaH&U+2N|z^H)AyX0-sCz7@NRhuO=0AaZ0YHqEB7yo&2H;Du!cLr-S4{KK#|p z`BgeL$BT$?c%l9dQWge31&H@+`pd>whvVFngSrw&C${IQWC7o2?5AT6VRg$CMj5Js z%Eml@qxQeq?xT)IVzDb5bNTRpCUFmG?u|Cc?c^4^)?Z0;4b~Iv;V2O`EQReyR;+ z;|i+-C6#I>b^xb@alvL_CY?j?n*Ca(*iSOkbs-H(iVWINLmqj|vd-x#^gtXI)`OC1 z`-$L-)<1#w67Xo167)6;{>5~aoe`tEt4)~C%6?N_jUtr+keJ$&8n&KUZ-!Xpc!!qAfu3P?`sc+xwt9sJ zzPqJm)}*_?uOk^hI9Q0ALDlK;(V%zY^UE3orh~%I_mMu$9 z#JB|ht^oi>d%MF{!^fVmdTXcl*q6W0i*FtcC{=qSq6G1K>5Bf}2J^9%zF)B*u?%?G z;-rX}=;lL#Mpq--#a7_F@@Qq64%jHDK|8w&@B5Lxv^Yu6xW(RM6nm-5dNqT5Yg!W$ z>^T))wCYg}L_+UH9snAJrrGhyk%EAK`#D){Qzy+PGnT}%yB%s7d|)(boH>2D&56jr zQB8Q}AM2H88-KdsSotLTtj3f>*5k$kb3$>)Q~dRP^TwVEYePgx;vR{0LQ?>V5(Q69 zmMZPh(ScJ6;fF#8GR3aF&yA=E$Aueti;w<3@_?rO4ZGo@MjbP@ueV%VM^31Px|(^oJ12{fPA zg$WL~YJBStl=gB16Xm0E)$jm|#9&P`;r}R8^73fk+l$=8B_q6Z%B-gKOK0vKMwLr@ zqc0y^yGO*F{)Ur;--6I4J3KCMt<5%7P4DkxqW8o&TFNH;GZ0+FTeM+u@@mGPQu=@0 zHey(f>aG)+b^PR@=xZYNISG<4MUz2D3pCpH!yZ{7*{wNN<5$f)Hi}J5T=oTWGb_vMazC*dY^fMW@YW=20B_S^N4h!Tb#7w{T|srKN3UleiQWe z`UL7Jnuk{@uYl_rCOSyGbBv=Fgf(VM4oth}hGo|Wmn&ROXndv#5cU;%Wwx`K-;Ups}TkaZyp}OZL$$^hf)>vEW2XOIfN2riHe6JP%24;Z?SSf^GIo5Zrz8qYp@hDZ+^_rV3mTJpfit#xT75ogU zJD$ZM!(6OmSZ5zZT}@_IGnr7WWKJ>X`zIoOV=?18h2@n(3>P(q5q~1MUHpI@2fGqG zPL%BLj7IPZmtslXM^ER@FhzKz(=fM6LM5iMT84JRoVb-O4Pv_q-X`Y|*6t7A^ z%L|EE)N;xoO6&3^VV{}*{6GEDywa&S5*ysSrK`Qo!WYq<#tWD%dG`(Sb@ulFQPc9f$JjuhQx`@&HMjl~hqj+i z+Pz#za@_*;5^L&R~#D3d5%MD1=RIzogi+IjaBvh?2h|ehPOu zqpsr8?L9PUqKfOF2J46a(IgkPA}>fue=ItI{spR}OQGq48q}^|TPQEBzcLrtL2A=M z`_&n>q+%m|o-j}hb(wAu95Pp2Q_S+XNa=Pz%PmD3tj&7Tgk;W0@p|^dXRkNbv2D#Y zmrSMq4Ri`%3}QX~>#d4KBa_iH8J+*sLm&LWf&94@BVqaOn~@k!*g3CkT%DZwz}E{4 z+1%o9y{LFTskVeYKY`P*=w6(<7NN3!k64!H;_a8W`H$5$8Hp)*CWTiWw{Kh1;Rn~o z>+=y%u9o8+?!2GUyuli;9VbX%jEgg#ywpgWPcyH=`7YDJ|L@XaP#8+iWG1nO8H$H8 zbTYtSrU!L7FSzG1KbqdmHOhV-`q%m4Z{HmNY6@{YpWQ=csIlxa^f(JohVCEybH$v5 zZREw38Vuth%a*MUWC0`73xq;p0rL$Qu^JLTG{geEBUmatK;668yFZ_N#cqxgB~U(L z0OaN%Qe)w#S)4&vqN?*F+_(<7hR#CPxRxOsh?95N@W&jpXO=j}!SX(yJp=a} zbTpIlEjTQzu?Si()c!9KSzxW`T{sbN5!BsfdIam`jvk8WiImQ^?9o3gGKHC^+QSN zx$t>EI%Z_QyO!qgB=dW}2MO~{iT3st*k=zYq~TYuNGy(g8CmGrP-2XpH{XcAKW>#2 zuh6nKU+GRBaw(^7Qd_h`jqicJdzdf@KDW@2g5pmg{E>>co}_j<@af4RSiz>exIhH$ z9^o=KBsK$>juq(qUz&XJ<761JVnk>tEV?+UAHUP;)a_|gUDyNL4wNf~3od|x{<+rw ziyA4Z53Z)yDEpo<?PM#?@9Y)l`F2ey#1Zp-xngLt0X z-Z^@jp;sNZq!uAwIj$H=6<#yiXsflXI*srXj#6++wabwJA^WCKEO0J+Wte;M-Ngv` z=nh4k3KPr70HW&&7-(bkW1xr(k0HKK=n!4!k(z>d4_EDM ziWz0bkx^)~aW;v>ItGiQAlPeHioW1~kDbnDRZ1bLShep=0rn5)yr%g1GQ_iRa`g zi91YQu)(|GMiHS9Eh`w?n}61}{=pn^F`~2WVzwZ%gWvZW^?5kJr)@v5} zukApn=nY{qJg%zN|AS|HbtIKxG6LpVJw%qN4hLB;I4-L?A5LJZv9u-^b8cdtF26&u z`)rofO#i&<$9;Gs%kGr){IbyDvi9?bHRhxMkv1!zY-OK3*@Me^z!4bbOG)vXV`A@c zCv<;jfDq|w2j?U(_63xAdi|($HQDpq)-U1zg6bUiO^BeE_;f*zgA8ntv@}kM;ZyB- zA6fB#sdp*l0u^m|d%@;6I+ouXeT=aw*%kBZF*gR94)H1bgstTCU6q3d@^iE<5)Pru z?mHtSBevmHUuxuiuEw-oG4J+nmA4|Emm_|KAIp zHk)udG9J;5^S4}8S>0c~ZzFKby2NYypQDCQ(FgXya~1*dj7Rs^xuW@OXIG9l<{4JY z?H~S&!WrTLSBB5c>iIq?Q1EW5sd|XOSu_N?E56ci!rC<80(@{WBVI%xohtP;{$f;Z zXJd9x5j6g@IQt2W1y>9b^uS4x(luNKT~}R* zK<&KMl+zmjjR%;p;-2@b%jO?!og@AVKKt&Yt*2X@Ls`nt`;rw4SD~$4$H4V)u)y8(-BrqwibM`LF3b= zAh8)-ed82PI1s#XNBj6vJU>JO;h83-?=+SB)V!ggX&VDtDr@v9_B93z;}2LCdVWl?(|zm_P3E7lyeDk z1p60VJ1OC~_6FLDFZynoqXY+H_^d2sSDgR}V|BJB^U>H5Q4wpLG|t$*avr>W6pN+i5u`0(>}P zR^xA)sMI#iuhBgcB+2e=7@k*cCZUVFP;M#7{6xkPkxqG(ythhwGd`bvnk{It@|!p9 zD4SU!Xe%5s9ik>cTa0n$C=X-0qr3hl#N{|R{PGr8Gk(3EE@OR4?dMu^0lW^9*&fD; zMhrf+YP7~mzW2Jr1zn4msHw5^I%P3$Jt87zjQ>+K>;>M&-eW?)*{OD_Om0atFJlJF!|v+`>x6d6U z-60LG2SlI=I7ljw(PNl%UD#T+9d@PCFvxHP?jYb;Mv7?tuX-oo%5_M}w+1Yz@4Fqc zrYbYJrqJ_cPXTt(r*#gzUj-|$%ZDYJTm&Xw&@{nx?EBopjJckC&9x=TCGncbq)RR@ zxK!;0&WW3;eyg5)xj1kg#SHqfbLGP%I<>nK+W|k4dH{q#*ObN%oR?DnBPU?nEPv?Y2>~e|(|X(;kSfRM+;bbVnlT); zZ{x=fDO7BEvC1+&p+m1%ViiFEU9;uYlO6#XNYm!&>O>Q|{X0pWjxJ?C6-2CN6Vef}onH%`K=w!AV)82a7V3_beq6w8C z@Q)M&n6uD$?zk`>v+%9Ay?}Fk;-!|f3Vd~S8R!}sKKD88a;HT+`0LkbpuW(ZkGN+U zc-MoJ-7ku~TbdHJxTP`|ts3I1h6u~CvP7EBu~#giPuMw2%bMbA9BOrA>y=nB6a zLsqBEgUvH3V$GA2FU?6SRST5lQ6|>z`2z*(<2FbGu;)*3fRl}M8T`00KY}+#$ixv! zRc~Gdxh$Agvi{mdJpmCg%h>yd(V?b@&)daXsXkSRI*} zTvRi9pP%fQn{@r?KG)*5S4IUqq=l-rjcR|!L#;FxIvQ)?S*$Iv5T)#%9zpF&-lov60$KlV60 zvtugXe2%B#$BhSiTWVxl))DuL=9?z6`zF7sm}p&dYZ32~&5;9@It1E304i#L6$mhC zK!%yY+ncBH3hHt(R`H1R;OmumR!162kO+S49hCPeJ`0V_NTq@j;p20EXB!+fmD)3OX99^aU~h!`3Z$3~V~#3!3Y3T;8j zj9>TSWo~>E`);m!MmS!Q23FqcHW?>cMJl1Q{NTn{LM4AAXyprLFZF6UjTJX4aEp4j z2Ml&zfX&X6bI_|JZemF#~J=pj*s(Wc!ra&+?W!PVHp!_u1wRJyZ$&T!w zxiZ4{3J1JxyzV~`nd54k>NE{VdlUd86o)Rt>(X(65vNFn0^oaXt8(&fp#RBy@9oCy z%hH)h9GTrk_V6#-u>%}=rF~7$`d8{9`3-s$O0BgnW*ar0pcI|>7Rk1j8Th5lYH?`Hb)h+j*j+1 zE&%Z+VSSrYU}4(Y9DwprU5@Q6Uxqlr3s>Wo>Ne0Tso4I>v+iSzg6etNQEh5oE~igL z<9J@o@}rd^;zwWZC=6ZmUNH4MAd+x;5*)giWjO!|y0rF`_Iu<7)z{o0=M~B}>FewJ zygfq0QDSc(Gf9Udwf0Spm0c3GHO;Fi`dF;&iHfGg0>hDUeV+L8T*GFT1NLf1v;kM( z!#iDuImU$rNBMZHO?;{ip`gkeA}kq*;z@^UZCB36&)*4lKmgu;*KnK4^nc-Iy@arV z+P2;l88;rl&U+K;X=o|bxGak6hX=jm-nAzxam9*>^wBI#rapf5%(ky>OKj_E(L+&| zgp`98)qh1C6PY zKbF)*1!eVeXdBAz7iVtV7CT6DDYw_kqP0IS$28G0#_40o4fg>p=@U;q*H5+1fMPob z{D$yiuwF8Lxfc9ti@9#z(sJr$j8{tS7O&MzR@&hmoIQqSNb}-W{&MSjYT*dYc4_}w zx698DMaxlFrcInQ2YV2`TrA5f_WMi7NA%vjdC6avJ)F93N~yZEi^yZ9|M zIC

2NJ1E#pBOyfvI|Yf1>%Q(Y2-H;ArMO*H3-q2w%x}^MYuM<^f(lyg8dxI||yk zJx~X;9lI};eejcAR=#DyF0H>gTWI3_<>jc?n7HsuHkM$eV-$gZQP%l>a~*K*@{-A- z`zjcavv(Z^4dC^ieF3KIc)h>ux2TSmab$+{SzqG5bxN9LBUbFayZf_>LB0TC;ha2- zkAVTLsv3Ep!=8i=0bu0bKlpvny+up`!a8XDk@aVXp&FkU|$QK z%?$O!I+LVi5xzL&s^@maKfkY=AE!!fBR1nj5V-?bhS^129jcK9 z5BY}C+g?`CCyAT?!7;Wa-*2l%&dbOMl}sOB=iRToAkCN1JVk=+6o1@N~~ zgtr-@iu>n=5JoxEgcCe!+CbBjbupjqaCoEoy_y<@ncl)S=pQuH)lWnpW1f=XOv34{ z|K6ED<4A`=(HsPWYG}N0?A||pNW((d^Yn$~z@oG!5ygG%n97bv>_0g2i)mJT#P1#TD~V3iX*?{ffBl~~Ik9^aP&4`d zzWUF5p;_T3RS&iEkvjHkqjiHXhhJxKfc)?Wlb)U);?@NX0a-67;rGpdB}K!ieYj+) z!%a?xGyT8pj%V-x?sxHwoHk9Sjp4uSSR9FOVZE9%Eozk?dB zM+UuzPjL!OA+AjjWUQBOb_%>p8gEfhnUuREPn)QG0%}|a+!e+Qk&%(gacGM*P*G?R zqxYquZ@A9re@aI`2hk^3lp$w`Q&|RZIFqUj*RwER605oZhyZ6@FYY?Vb*5Re%B_#b zJd(6O2-1Zyplpto4`at_mPwMFB3XGB)rX#5#&9HZ2gwv<*n=?@KSi({q$k%P|c6AU};K)#ldPK^%=qUxx81CSGx0`k( zCtDDw2fN*zKs6KE&8g9u8T}ms8rkh;|1rd}-B#wdlDlJAusR%=3ifXw-78&XI5Nie zi9v%U6U{R6@( zv3q1{f$+wcKvjGN??h9L))Cxjx^j%d#p^etk1G1ctKg#Shi`mE2sk{-=qT1O7xgHT-yMVcj1IR%d2r zZYN+^$ZotrU{aR~3ZMHh4&uL&O$D8X0VD&s5(gnnPB;ck%I@kTr6IlwR92zk;pt#W zVry%=Fa+>59CO!c=l2Z{g$ycYa&k4*qPSOp0SY+7EQ{)u%jHnM6X9(ixxhElFuyA4 z`_%z~XM*{KCXrTHX=hUs*7E`5=mvR#?r9#0UnLjuQbLBo6GVs}Mi`>tp!Tzr{_9UH zVHRM{b!;>irbDcYI2I5!TQPAMT=0MlOYi@EIun9L?;ThV^z&wj?Yx6RQ7>qysu(gb z8rAQ0U8{9FA|$GD;=@z??LMuFxGjx0$#_g?YRByC*jAoz7td^&28$G|AiO1uoW@p3U+v7E$d#%YC59(>! zmdxF~z6a*z=Ql#1W9{txIgmsl9@nxs@``5Oe3RNfv+%mB>xnl+;us7?iu_jRYKYl> zYB-Ki91d6EvwUSJUH62UFsGPNa%{6U#x9-ElSyz)C%nDzGueGtvz<%3zLy$a3v1Wk zdFO}fgvij)*w|Rjz)RVNJUpYby@mB2Ppb@DZkS!ZjN9Jco|>D(jf{*a@#OJr_j^q1 z7z^W{R9DOM^YhmQ|3%P;kC;$a4vu%;GW!KIqGcd%8?<5q85tROj4t3We2Q2Ld^4X( z=)`p3> z`F*f6Yy9xRTvhe+V6`+GJNq&xT7U&@9s;jWQBkpDV1WJX*|UqFU6X-keJH&f53X^I zxyFTcfji&7&BiAthEGgPI5;`AxD|hwIB|jjZZC1>%u#?|Y+<*t1_lP8wv?Tmo_R&U z#Erf$vgzpQIn1Smz2DK%5ucC{wy`=tsmR72k7N)^3ij#Gyw8*}`?Tv%J7jy7c14sL z%9-WJi5Xe^eM$K5vp(CKKApqEsZ!F?0(5kAO<)xmT>^7;7!1ZI;-c}r;NX~$wP}_e zBXnG#?*o1Tf#suO#$Z9I)8F48t)Kny>&gnhPKrX4-_t5dS=n{+q;{n_$*;6(F}F7j z-dv4ZE<2)Z>mL}1fqw({i#M2_OZ%w8&B#>~XIG@OKoR~fi#B zOKd`+W>RA*QE#;|6jwKoYee(TA47$WLJR9Q`Z_c|B?U(!k)~#5!p4XZM4$&R9i>C1 z&0Q5j-Gbt%`+&fu{9y0iy`x|n*g+;UEiW%i$jh_CYw(GnM(OS|+mGUw7o*N2cG9Pv zx2*FI4cJ&|1P$aExO^4?fw)GE5+!&*j2ac0981|VCb@-jEPeKjK}1AEFWYbwa27rh zR484+UzbV7qE4Ayx)eS%G=!uHlE%u$76#uLP?FS!(kW0~ia#%wQ}mT8>jl_t+BiFl zLWg=7048pr`FC)146F8@pHO5&DG!qMQK-JFLTPM7Kgy?4fKP$4EphTBBYcL2!)T-N z?OSyP?4}GjAx5p?XNbK0r}e^~|n2Q{l8xc~qF literal 0 HcmV?d00001 diff --git a/_sources/lecture-04-optimization.md b/_sources/lecture-04-optimization.md new file mode 100644 index 0000000..977ab5d --- /dev/null +++ b/_sources/lecture-04-optimization.md @@ -0,0 +1,340 @@ +--- +jupytext: + text_representation: + extension: .md + format_name: myst + format_version: 0.13 + jupytext_version: 1.16.4 +kernelspec: + display_name: comp-prob-solv + language: python + name: python3 +--- + +# Lecture 4: Chemical Reaction Equilibria and Roots of Equations + +## Learning Objectives + +By the end of this lecture, you will be able to: + +- Understand and apply the concept of chemical equilibrium. +- Formulate and solve equilibrium problems analytically. +- Utilize numerical methods, including `scipy.optimize.minimize`, to find roots of equations in chemical equilibrium problems. + +## Introduction to Chemical Reaction Equilibria + +In the chemical sciences, understanding the equilibrium state of a reaction is essential for predicting the final concentrations of reactants and products in a system. The equilibrium state occurs when the [rates](https://doi.org/10.1351/goldbook.R05156) of the forward and reverse reactions are equal, resulting in no net change in the concentrations of the species involved. This state is also characterized by the minimization of the system's free energy, often represented by the [Gibbs free energy](https://doi.org/10.1351/goldbook.G02629) under conditions of constant temperature and pressure. + +Consider a classic example of chemical equilibrium, the dissociation of water vapor into hydrogen and oxygen gases: + +$$ +2 \text{H}_2\text{O}(g) \rightleftharpoons 2 \text{H}_2(g) + \text{O}_2(g) +$$ + +At equilibrium, the reaction mixture obeys the [law of mass action](https://en.wikipedia.org/wiki/Law_of_mass_action), which relates the concentrations (or partial pressures) of the species to the equilibrium constant, $K_P$. The equilibrium constant is a quantity characterizing the extent to which a reaction proceeds. + +## Mathematical Formulation of Equilibrium Problems + +The equilibrium constant $K_P$ for a reaction is defined as the ratio of the product of the partial pressures of the products to the reactants, each raised to the power of their respective stoichiometric coefficients. For the reaction given above, $K_P$ can be expressed as: + +$$ +K_P = \frac{\left(\frac{P_{\text{H}_2}}{P^{\circ}}\right)^2 \left(\frac{P_{\text{O}_2}}{P^{\circ}}\right)}{\left(\frac{P_{\text{H}_2\text{O}}}{P^{\circ}}\right)^2} +$$ + +Where $P_{\text{H}_2}$, $P_{\text{O}_2}$, and $P_{\text{H}_2\text{O}}$ are the partial pressures of hydrogen, oxygen, and water vapor, respectively, and $P^{\circ}$ is the standard pressure, *i.e.*, 1 bar. + +To find the equilibrium state, we use an ICE (Initial, Change, Equilibrium) table, which helps in setting up the mathematical expressions for the equilibrium concentrations or partial pressures. + +**Example:** + +Assume we start with 2 moles of water vapor in a closed system. At equilibrium, the changes in the number of moles of each species can be represented as follows: + +| | $\text{H}_2\text{O}$ | $\text{H}_2$ | $\text{O}_2$ | +|----------------------------|----------------------------|----------------------|---------------------| +| **Initial (mol)** | 2 | 0 | 0 | +| **Change (mol)** | $-2x$ | $+2x$ | $+x$ | +| **Equilibrium (mol)** | $2 - 2x$ | $2x$ | $x$ | +| **Partial Pressure (bar)** | $\frac{2 - 2x}{2 + x} P$ | $\frac{2x}{2 + x} P$ | $\frac{x}{2 + x} P$ | + +In this table: + +- **Initial:** The starting number of moles of each species before the reaction reaches equilibrium. +- **Change:** The change in the number of moles of each species as the reaction proceeds toward equilibrium. Here, $x$ represents the extent of the reaction. +- **Equilibrium:** The number of moles of each species at equilibrium. +- **Partial Pressure:** The partial pressure of each species at equilibrium, assuming the total pressure is $P$. + +## Solving for Equilibrium + +To solve for the equilibrium partial pressures (or concentrations), you would typically: + +1. Write the expression for the equilibrium constant $K_P$ using the equilibrium partial pressures. +2. Substitute the expressions from the ICE table into the $K_P$ equation. +3. Solve the resulting equation for $x$, the extent of the reaction. + +This process often involves solving a nonlinear equation, which can be done analytically for simple cases or numerically for more complex reactions. + +## Numerical Methods for Finding Roots of Equations + +Traditional numerical root-finding algorithms include: + +- **[Bisection Method](https://pythonnumericalmethods.studentorg.berkeley.edu/notebooks/chapter19.03-Bisection-Method.html):** Iteratively narrows down the interval where a root lies by evaluating the midpoint. +- **[Newton-Raphson Method](https://pythonnumericalmethods.studentorg.berkeley.edu/notebooks/chapter19.04-Newton-Raphson-Method.html):** Uses the derivative of the function to quickly converge to a root, requiring an initial guess. +- **[Secant Method](https://patrickwalls.github.io/mathematicalpython/root-finding/secant/):** Approximates the derivative using finite differences, avoiding the need for explicit derivatives. + +## `scipy.optimize.minimize`: A Versatile Approach + +[`scipy.optimize.minimize`](https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize.html#scipy.optimize.minimize) is a powerful optimization tool that, while not a traditional root-finding algorithm by design, can be adapted to find roots by minimizing the absolute value of a function. + +**Advantages:** + +- **Broad Applicability:** Suitable for complex, multi-variable problems. +- **Flexibility:** Can work without explicit derivatives and allows for the inclusion of constraints. +- **Versatility:** Effective in a wide range of practical applications, particularly in chemical systems where certain parameters must remain within physical bounds. + +## Implementing Root-Finding Methods in Python + +To illustrate the process of finding roots using Python, let's solve a simple quadratic equation both analytically and numerically. Consider the quadratic equation: + +$$ +x^2 - 3x + 2 = 0 +$$ + +Using the quadratic formula, the roots are: + +$$ +x = \frac{3 \pm \sqrt{(-3)^2 - 4 \cdot 1 \cdot 2}}{2 \cdot 1} = 2, 1 +$$ + +Before we find these roots numerically, let's visualize the quadratic function $f(x) = x^2 - 3x + 2$ using Matplotlib to see where the roots lie. The roots are the points where the curve intersects the x-axis. + +```{code-cell} ipython3 +import matplotlib.pyplot as plt +import numpy as np + +# Define the quadratic function +def quadratic_equation(x): + return x ** 2 - 3 * x + 2 + +# Generate x values +x_values = np.linspace(0, 3, 400) + +# Plot the function +plt.plot(x_values, quadratic_equation(x_values), label=r"$f(x) = x^2 - 3x + 2$") +plt.axhline(0, color='gray', linestyle='--') # x-axis + +# Highlight the roots with circles +roots = [1, 2] +plt.scatter(roots, [0, 0], color='red', edgecolor='black', s=100, zorder=5, label="Roots at $x = 1, 2$") + +# Format and display the plot +plt.xlabel("$x$") +plt.ylabel("$f(x)$") +plt.title("Visualization of the Quadratic Function and Its Roots") +plt.legend() +plt.grid(True) +plt.show() +``` + +Now, let's find these roots numerically using Python's `scipy.optimize.minimize` function. We'll approach this by minimizing the absolute value of the quadratic expression. + +```{code-cell} ipython3 +from scipy.optimize import minimize + +# Define the objective function, which is the absolute value of the quadratic equation +def objective_function(x): + return abs(x ** 2 - 3 * x + 2) + +# Perform the minimization starting from an initial guess of x = 0 +result = minimize( + fun=objective_function, # Objective function to minimize + x0=0, # Initial guess + method="Nelder-Mead", # Optimization method + tol=1e-6 # Tolerance for convergence +) + +print(result) +``` + +The output provides information about the optimization process. The `message` "Optimization terminated successfully" indicates that the method successfully (`success: True`) found a solution. The value of the objective function at the root `fun` is close to zero, which is expected because inserting the root into the quadratic equation should yield zero. **The root is found to be 1, which matches one of the analytical solutions.** The number of iterations `nit` and function evaluations `nfev` are also provided. + +```{admonition} The Importance of Initial Guess +:class: warning +How does the choice of initial guess affect the outcome? For instance, what happens if the initial guess is set to 2.1 instead of 0? +``` + +Let's explore this by changing the initial guess: + +```{code-cell} ipython3 +# Perform the minimization starting from an initial guess of x = 2.1 +result = minimize( + fun=objective_function, + x0=2.1, + method="Nelder-Mead", + tol=1e-6 +) + +print(result["x"][0]) # Observe how it converges to a different root +``` + +You can index the result dictionary to access the root found by the method. **In this case, the root is found to be 2, which is the other analytical solution.** This example demonstrates how the choice of initial guess can influence the root found by the numerical method. + +```{admonition} Note +:class: note +The initial guess plays a crucial role in determining which root is found, especially in equations with multiple roots. For nonlinear or more complex equations, careful consideration of the initial guess is essential. +``` + +## Example: Chemical Reaction Equilibrium via Numerical Method + +Let's use `scipy.optimize.minimize` to determine the equilibrium extent of the water-splitting reaction at 1000 K and 1 bar, where the equilibrium constant is $K_P = 10.060$. We aim to find the value of $x$, the reaction progress, that satisfies the equilibrium condition. + +### Step 1: Formulating the Equilibrium Equation + +The equilibrium equation for the reaction is given by: + +$$ +K_P = \frac{\left(\frac{P_{\text{H}_2}}{P^{\circ}}\right)^2 \left(\frac{P_{\text{O}_2}}{P^{\circ}}\right)}{\left(\frac{P_{\text{H}_2\text{O}}}{P^{\circ}}\right)^2} +$$ + +Substituting the partial pressures in terms of $x$ into the equation, we get: + +$$ +K_P = \frac{\left(\frac{2x}{2 + x}\frac{P}{P^{\circ}}\right)^2 \left(\frac{x}{2 + x}\frac{P}{P^{\circ}}\right)}{\left(\frac{2 - 2x}{2 + x}\frac{P}{P^{\circ}}\right)^2} +$$ + +Simplifying this expression, we obtain: + +$$ +K_P = \frac{4x^3}{(2 - 2x)^2} +$$ + +Where $P = P^{\circ} = 1$ bar. The equilibrium equation to be minimized is: + +$$ +(2 - 2x)^2 K_P - 4x^3 = 0 +$$ + +### Step 2: Minimizing the Equilibrium Equation + +First, we define the objective function representing the equilibrium equation to be minimized: + +```{code-cell} ipython3 +def objective_function(x, K_P): + equilibrium_equation = (2 - 2 * x) ** 2 * K_P - 4 * x ** 3 + return abs(equilibrium_equation) +``` + +Before proceeding with the minimization, let's visualize the objective function to understand its behavior. + +```{code-cell} ipython3 +# Generate x values +x_values = np.linspace(0, 1, 400) + +# Plot the function +plt.plot(x_values, objective_function(x_values, 10.060), label=r"$|(2 - 2x)^2 K_P - 4x^3|$") +plt.axhline(0, color='gray', linestyle='--') # x-axis + +# Format and display the plot +plt.xlabel("$x$") +plt.ylabel("Objective Function") +plt.title("Visualization of the Objective Function") +plt.legend() +plt.grid(True) +plt.show() +``` + +```{admonition} Wait, What's the Expected Solution? +:class: warning +Before proceeding with the minimization, what value of $x$ do you expect as the equilibrium extent of the reaction? Reflect on this before running the code. +``` + +Now, let's use `scipy.optimize.minimize` to find the equilibrium extent of the reaction: + +```{code-cell} ipython3 +# Perform the minimization with an initial guess of x = 0 +result = minimize( + fun=objective_function, + x0=0, + args=(10.060,), + method="Nelder-Mead", + tol=1e-6 +) + +print("{:.0f}%".format(result["x"][0] * 100)) # Convert the result to percentage +``` + +The `print` statement converts the result to a percentage, representing the equilibrium extent of the reaction. The `{:.0f}` part indicates that the number should be formatted as a floating-point number (`f`), but with zero decimal places (`.0`). The `.format()` part is used to replace the `{:.0f}` placeholder with the actual value, which is the result of `result["x"][0] * 100`. + +```{admonition} Warning +:class: warning +Always check that the solution is physically meaningful. For instance, in this context, $x$ must lie between 0 and 1 (representing 0% to 100% reaction progress). This can be enforced using bounds: +``` + +```{code-cell} ipython3 +result = minimize( + fun=objective_function, + x0=2, # Initial guess outside the expected range + args=(10.060,), + method="Nelder-Mead", + tol=1e-6, + bounds=[(0, 1)] +) + +print("{:.0f}%".format(result["x"][0] * 100)) # The bounds ensure the result stays within the physical limits. +``` + +The warning indicates that the initial guess is outside the specified bounds. However, the method still converges to the correct solution, which is 78% reaction progress. + +## Hands-On Activity + +Let's apply the `minimize` function to solve a cubic equation, which is analogous to solving for the equilibrium in a chemical reaction. Consider the cubic equation: + +$$ +x^3 - 6x^2 + 11x - 6 = 0 +$$ + +This equation has three real roots. We will use different initial guesses to find these roots using the `minimize` function. + +```{code-cell} ipython3 +from scipy.optimize import minimize + +# Define the cubic equation +def cubic_eq(x): + return abs(x ** 3 - 6 * x ** 2 + 11 * x - 6) + +# Root near x = 1 +low_root_guess = minimize( + fun=cubic_eq, + x0=0.9, # Initial guess close to 1 + method="Nelder-Mead", + tol=1e-6 +) +print("Root near 1:", low_root_guess["x"][0]) # Should be close to 1 + +# Root near x = 2 +medium_root_guess = minimize( + fun=cubic_eq, + x0=1.9, # Initial guess close to 2 + method="Nelder-Mead", + tol=1e-6 +) +print("Root near 2:", medium_root_guess["x"][0]) # Should be close to 2 + +# Root near x = 3 +high_root_guess = minimize( + fun=cubic_eq, + x0=2.9, # Initial guess close to 3 + method="Nelder-Mead", + tol=1e-6 +) +print("Root near 3:", high_root_guess["x"][0]) # Should be close to 3 +``` + +```{admonition} Exercise +:class: tip +Experiment with different initial guesses and observe how they affect the convergence of the method. Consider how close the result is to the expected root and reflect on the importance of choosing a good initial guess. +``` + +```{admonition} Additional Exercise +:class: tip +Modify the cubic equation to have different coefficients and use `scipy.optimize.minimize` to find the new roots. Reflect on how changes in the coefficients affect the roots and the convergence of the method. +``` diff --git a/_sources/lecture-05-integration.md b/_sources/lecture-05-integration.md new file mode 100644 index 0000000..4d15fda --- /dev/null +++ b/_sources/lecture-05-integration.md @@ -0,0 +1,298 @@ +--- +jupytext: + text_representation: + extension: .md + format_name: myst + format_version: 0.13 + jupytext_version: 1.16.4 +kernelspec: + display_name: comp-prob-solv + language: python + name: python3 +--- + +# Lecture 5: Chemical Bonding and Numerical Integration + +The covalent bond is a cornerstone in the chemical sciences, dictating the chemical and physical properties of organic matter and also playing an important role in inorganic and solid-state/materials chemistry. The covalent bond is a quantum mechanical phenomenon, where electrons in atomic orbitals are shared between atoms, causing these atomic orbitals to hybridize and form molecular orbitals. The hybridization of atomic orbitals is primarily governed by the energetic similarity of the atomic orbitals involved and their spatial proximity and orientation. In quantum chemistry, the latter is quantified using the overlap integral, which takes the following form: + +$$ +S = \int_0^{\infty} \int_0^{\pi} \int_0^{2\pi} \psi_i^*(r, \theta, \phi) \psi_j(r, \theta, \phi) r^2 \sin(\theta) dr d\theta d\phi +$$ + +Here, $\psi_i$ and $\psi_j$ are the atomic orbitals of atoms $i$ and $j$, respectively. These atomic orbitals are written in spherical coordinates, where the volume element of integration is $r^2 \sin(\theta) dr d\theta d\phi$. We will come back to this, but first, let us discuss what an integral really is. + +### What is an Integral? + +The formal definition of an (Riemann) integral is the limit of a sum of areas of rectangles under a curve. The integral of a function $f(x)$ over an interval $[a, b]$ is given by: + +$$ +\int_a^b f(x) dx = \lim_{n \to \infty} \sum_{i=1}^{n} f(x_i) \Delta x +$$ + +In other words, an integral is a sum with really small increments (as small as possible). Therefore, calculating an integral numerically amounts to computing the area of a series of rectangles along $x$, where the height of the rectangle is the function $y$ value at that point. There are several methods to achieve an accurate value of the integral with the fewest number of computations, such as the trapezoidal rule, Simpson's rule, and Gaussian quadrature. In this lecture, we will focus on the Riemann sum when we write our own integratrion codes and then move on to the trapezoidal rule, which is implemented in scipy and numpy. + +### Let Us Put This To the Test + +Let's consider the function $f(x) = x^2$ over the interval $[0, 1]$. The integral of this function is: + +$$ +\int_0^1 x^2 dx = (1/3) x^3 \Big|_0^1 = 1/3 +$$ + +Now, let's calculate this integral numerically using a Riemann sum with 10, 100, and 1000 rectangles. + +```{code-cell} ipython3 +import numpy as np +import matplotlib.pyplot as plt + +# Define the function f(x) = x^2 +def f(x): + return x**2 + +# Define the Riemann sum function +def riemann_sum(f, a, b, n): + x = np.linspace(a, b, n, endpoint=False) + dx = (b - a) / n + return np.sum(f(x) * dx), x, dx + +# Interval [0, 1] +a = 0 +b = 1 + +# Number of rectangles +n_values = [10, 100, 1000] + +# Prepare the plot +fig, axs = plt.subplots(1, 3, figsize=(18, 5)) +fig.suptitle('Visualization of Riemann Sums for f(x) = x^2') + +# Calculate and plot the Riemann sums +for i, n in enumerate(n_values): + riemann_sum_value, x, dx = riemann_sum(f, a, b, n) + axs[i].bar(x, f(x), width=dx, align='edge', alpha=0.6, edgecolor='black') + axs[i].plot(np.linspace(a, b, 1000), f(np.linspace(a, b, 1000)), 'r-', label='f(x) = x^2') + axs[i].set_title(f'{n} Rectangles\nRiemann Sum: {riemann_sum_value:.6f}') + axs[i].set_xlabel('x') + axs[i].set_ylabel('f(x)') + axs[i].legend() + +plt.tight_layout() +plt.show() +``` + +So easy a caveman can do it! + +### Let Us Do Another Example + +Now, let's consider the function $f(x) = \sin(x)$ over the interval $[-\pi, \pi]$. Let us calculate this integral numerically using the trapezoidal rule, which sums a series of trapezoids under the curve, instead of rectangles. The trapezoidal rule is given by: + +$$ +\int_a^b f(x) dx \approx \frac{h}{2} \left[ f(a) + 2 \sum_{i=1}^{n-1} f(x_i) + f(b) \right] +$$ + +where $h = (b - a) / n$ is the width of each trapezoid. Let's calculate this integral numerically using the Riemann sum with 10, 100, and 1000 rectangles and the trapezoidal rule with 10, 100, and 1000 trapezoids. + +```{admonition} Wait! +:class: warning +Before we proceed, can you guess the value of this integral? What can you say about the symmetry of the sine function around the center of the interval of integration? +``` + +OK, now that we have a guess, let's calculate the integral and compare the results. + +```{code-cell} ipython3 +# Interval [-pi, pi] +a = -np.pi +b = np.pi + +# Define the function f(x) = sin(x) +def f(x): + return np.sin(x) + +# Prepare the plot +fig, axs = plt.subplots(1, 3, figsize=(18, 5)) + +# Calculate and plot the Riemann sums +for i, n in enumerate(n_values): + riemann_sum_value, x, dx = riemann_sum(f, a, b, n) + axs[i].bar(x, f(x), width=dx, align='edge', alpha=0.6, edgecolor='black') + axs[i].plot(np.linspace(a, b, 1000), f(np.linspace(a, b, 1000)), 'r-', label='f(x) = sin(x)') + axs[i].set_title(f'{n} Rectangles\nRiemann Sum: {riemann_sum_value:.6f}') + axs[i].set_xlabel('x') + axs[i].set_ylabel('f(x)') + axs[i].legend() + +plt.tight_layout() +plt.show() +``` + +```{admonition} Note +:class: note +Before integrating, always check the symmetry of your function about the center of the integration range. If it is symmetric like the sine function, then you can get away without having to compute the integral. This type of intuition can prove really useful in the chemical sciences. +``` + +### Calculating the Overlap Integral of Two H 1s Orbitals + +Now, let's calculate the overlap integral of two hydrogen 1s orbitals, which are given by: + +$$ +\psi_{1s} = \left( \frac{1}{\pi a_0^3} \right)^{1/2} e^{-r/a_0} +$$ + +where $a_0$ is the Bohr radius, which is approximately 0.529 Ã…. So, it turns out this integral is pretty tough to solve in spherical coordinates, but we can convert it to Cartesian coordinates and use numerical integration to solve it. Recall that $r$ is related to $x$, $y$, and $z$ as: + +$$ +r = \sqrt{x^2 + y^2 + z^2} +$$ + +Therefore, we can rewrite the hydrogen 1s orbital in Cartesian coordinates as: + +$$ +\psi_{1s} = \left( \frac{1}{\pi a_0^3} \right)^{1/2} e^{-\sqrt{x^2 + y^2 + z^2}/a_0} +$$ + +To determine the total overlap of the hydrogen 1s orbitals of two electrons, we need to integrate over all possible space where those orbitals can overlap, which is from $-\infty$ to $\infty$ in all three dimensions. For two hydrogen atoms, one at the origin and the other at a distance $a_0$ along the $x$-axis, the overlap integral is given by: + +$$ +S = \int_{-\infty}^{\infty} \int_{-\infty}^{\infty} \int_{-\infty}^{\infty} \psi_{1s}^*(x, y, z) \psi_{1s}(x - a_0, y, z) dx dy dz +$$ + +OK, so what do we have to do to solve this integral. First, we need to define the $x$, $y$, and $z$ ranges over which we will integrate. Then, we need to define the function we are integrating. Finally, we need to integrate the function over the ranges we defined. Let's do this now. + +```{code-cell} ipython3 +import numpy as np + +# Constants +a0 = 1.0 # Bohr radius +N = 100 # Number of points in each dimension +x_min, x_max = 0, 7 * a0 # Limits for x +y_min, y_max = 0, 7 * a0 # Limits for y +z_min, z_max = 0, 7 * a0 # Limits for z + +# Create grid points +x = np.linspace(x_min, x_max, N) +y = np.linspace(y_min, y_max, N) +z = np.linspace(z_min, z_max, N) + +# Calculate step sizes +dx = (x_max - x_min) / N +dy = (y_max - y_min) / N +dz = (z_max - z_min) / N + +# Initialize the sum for the Riemann sum +S_sum = 0.0 + +# Perform the Riemann sum +for i in range(N): + for j in range(N): + for k in range(N): + r1 = np.sqrt((x[i] + a0 / 2) ** 2 + y[j] ** 2 + z[k] ** 2) + r2 = np.sqrt((x[i] - a0 / 2) ** 2 + y[j] ** 2 + z[k] ** 2) + integrand_value = np.exp(-(r1 + r2) / a0) + S_sum += integrand_value * dx * dy * dz + +# Apply the normalization factor +normalization_factor = 8 / (np.pi * a0**3) +S = normalization_factor * S_sum + +# Output the result +print(f"The value of the overlap integral S using the Riemann sum is approximately: {S:.6f}") +``` + +It turns out that you can solve this integral analytically using an elliptical coordinate system, however, we will just compare our numerical solution to the analytical solution to make sure that what we've done is correct. To benchmark our numerical solution, we will compute the overlap integral as a function of the separation between the two hydrogen atoms. This can be achieved as follows: + +```{code-cell} ipython3 +import numpy as np +from scipy.special import erf + +# Constants +a0 = 1.0 # Bohr radius +N = 100 # Number of points in each dimension +x_min, x_max = 0, 7 * a0 # Limits for x +y_min, y_max = 0, 7 * a0 # Limits for y +z_min, z_max = 0, 7 * a0 # Limits for z +R_values = np.linspace(0.1 * a0, 5 * a0, 10) # Separation values + +# Create grid points +x = np.linspace(x_min, x_max, N) +y = np.linspace(y_min, y_max, N) +z = np.linspace(z_min, z_max, N) + +# Calculate step sizes +dx = (x_max - x_min) / (N - 1) +dy = (y_max - y_min) / (N - 1) +dz = (z_max - z_min) / (N - 1) + +# Function to compute numerical overlap integral using trapezoidal rule +def overlap_integral(R): + S_sum = 0.0 + for i in range(N): + for j in range(N): + for k in range(N): + r1 = np.sqrt((x[i] + R / 2) ** 2 + y[j] ** 2 + z[k] ** 2) + r2 = np.sqrt((x[i] - R / 2) ** 2 + y[j] ** 2 + z[k] ** 2) + weight = 1.0 + if i == 0 or i == N-1: + weight *= 0.5 + if j == 0 or j == N-1: + weight *= 0.5 + if k == 0 or k == N-1: + weight *= 0.5 + integrand_value = np.exp(-(r1 + r2) / a0) + S_sum += weight * integrand_value * dx * dy * dz + + normalization_factor = 8 / (np.pi * a0**3) + return normalization_factor * S_sum + +# Function to compute analytical overlap integral +def analytical_overlap_integral(R): + return (1 + R / a0 + R**2 / (3 * a0**2)) * np.exp(-R / a0) + +# Compute numerical and analytical overlap integrals for different separations +numerical_results = [] +analytical_results = [] +for R in R_values: + S_numerical = overlap_integral(R) + S_analytical = analytical_overlap_integral(R) + numerical_results.append(S_numerical) + analytical_results.append(S_analytical) + +# Output the results +for R, S_numerical, S_analytical in zip(R_values, numerical_results, analytical_results): + print(f"Separation: {R/a0:.2f} a0 | Numerical: {S_numerical:.6f} | Analytical: {S_analytical:.6f}") + +# Plot the results +import matplotlib.pyplot as plt + +plt.plot(R_values / a0, numerical_results, 'o-', label='Numerical') +plt.plot(R_values / a0, analytical_results, 'x-', label='Analytical') +plt.xlabel('Separation (R / a0)') +plt.ylabel('Overlap Integral S') +plt.title('Numerical and Analytical Overlap Integrals') +plt.legend() +plt.grid() + +plt.show() +``` + +That's pretty awesome right! Are you starting to see the power of numerical methods in chemistry? In a way, Python provides a practical lens through which we can view various mathematical aspects in chemical science. + +### Hands-On Activity: Numerical Integration + +Now, let's calculate the overlap integral of two He+1 1s orbitals, which are given by: + +$$ +\psi_{1s} = \left( \frac{2}{\pi a_0^3} \right)^{1/2} e^{-r/a_0} +$$ + +where $a_0$ is the Bohr radius, which is approximately 0.529 Ã…. The exact result is given by: + +$$ +S = \left( 1 + \frac{Zr}{a_0} + \frac{1}{3} \left( \frac{Zr}{a_0} \right)^2 \right) e^{-Zr/a_0} +$$ + +Use your new chops to solve for the overlap. + +```{admonition} Wait! +:class: warning +Do you think the overlap integral will decay more slowly or more rapidly for He+1 compared to H? Do particles become more or less localized as the charge increases? In other words, do particles become more classical or more quantum mechanical as the size of the nucleus increases? +``` diff --git a/_sources/lecture-06-linalg.md b/_sources/lecture-06-linalg.md new file mode 100644 index 0000000..68db41d --- /dev/null +++ b/_sources/lecture-06-linalg.md @@ -0,0 +1,197 @@ +--- +jupytext: + text_representation: + extension: .md + format_name: myst + format_version: 0.13 + jupytext_version: 1.16.4 +kernelspec: + display_name: comp-prob-solv + language: python + name: python3 +--- + +# Lecture 6: Balancing Chemical Equations and Systems of Linear Algebraic Equations + +### Balancing Chemical Equations + +One of the first things we're trained to do in the chemical sciences is to balance the stoichiometric coefficients of the reactants and products in a chemical equation so that no mass is lost. For example, consider the combustion of an methane in the presence of oxygen. + +$$ +\begin{align*} +a \text{CH}_4(g) + b \text{O}_2(g) &\rightarrow c \text{CO}_2(g) + d \text{H}_2\text{O}(g) \\ +\end{align*} +$$ + +The game that we are taught to play is to determine the values of $a$, $b$, $c$, and $d$ that make the number of atoms of each element the same on both sides of the equation. To do this, we can make a table where the two columns are for reactants (left) and products (right) and each row is for a different element. For the combustion of methane, the table looks like this: + +| Element | Reactants | Products | +|---------|-----------|----------| +| C | $a$ | $c$ | +| H | $4a$ | $2d$ | +| O | $2b$ | $2c + d$ | + +From the table, we can clearly see that $a$ has to be equal to $c$ in order for the reaction to be balanced. So, we can write the table as: + +| Element | Reactants | Products | +|---------|-----------|----------| +| C | $a$ | $a$ | +| H | $4a$ | $2d$ | +| O | $2b$ | $2a + d$ | + +OK, the next step is to notice that $4a = 2d$ so $d = 2a$. We can substitute this into the last row of the table to get: + +| Element | Reactants | Products | +|---------|-----------|----------| +| C | $a$ | $a$ | +| H | $4a$ | $4a$ | +| O | $2b$ | $2a + 2a$ | + +Finally, we can see that $2b = 4a$ so $b = 2a$. Substituting this into the last row of the table gives: + +| Element | Reactants | Products | +|---------|-----------|----------| +| C | $a$ | $a$ | +| H | $4a$ | $4a$ | +| O | $4a$ | $4a$ | + +So, the balanced equation is: + +$$ +\begin{align*} +\text{CH}_4(g) + 2\text{O}_2(g) &\rightarrow \text{CO}_2(g) + 2\text{H}_2\text{O}(g) \\ +\end{align*} +$$ + +Maybe that was unnecessarily difficult, as I'm sure many of you were able to see precisely what those values were before we started. But, the point is that we can solve linear equations to balance chemical equations. + +### Systems of Linear Algebraic Equations + +Going back even further, you may remember that if we have a system of linear algegraic equations and the same number of equations as unknowns, we can solve for the unknowns. Let's recast our combustion problem in terms of a system of linear algebraic equations. We have: + +$$ +\begin{align*} +a - c &= 0 \\ +4a - 2d &= 0 \\ +2b - 2c - d &= 0 \\ +\end{align*} +$$ + +This can be written in matrix form as: + +$$ +\begin{align*} +\begin{bmatrix} +1 & 0 & -1 & 0 \\ +4 & 0 & 0 & -2 \\ +0 & 2 & -2 & -1 \\ +\end{bmatrix} +\begin{bmatrix} +a \\ +b \\ +c \\ +d \\ +\end{bmatrix} +&= +\begin{bmatrix} +0 \\ +0 \\ +0 \\ +\end{bmatrix} +\end{align*} +$$ + +Or, more simply as: + +$$ +\begin{align*} +\mathbf{A}\mathbf{x} &= \mathbf{0} +\end{align*} +$$ + +Where $\mathbf{A}$ is the matrix of coefficients, $\mathbf{x}$ is the vector of unknowns, and $\mathbf{0}$ is the zero vector. We can solve this system of equations by finding the null space of $\mathbf{A}$. The null space is the set of all vectors that send $\mathbf{A}$ to $\mathbf{0}$. In other words, it is the set of all vectors that satisfy the system of equations. + +### Solving the System of Equations + +Let's solve the system of equations for the combustion of methane using Python. We'll use the `numpy` library to do this. + +First, we need to import the `numpy` library. + +```{code-cell} ipython3 +import numpy as np +``` + +Next, we'll define the matrix of coefficients, $\mathbf{A}$. + +```{code-cell} ipython3 +A = np.array([[1, 0, -1, 0], + [4, 0, 0, -2], + [0, 2, -2, -1]]) +``` + +Now, we can find the null space of $\mathbf{A}$. + +```{code-cell} ipython3 +from scipy.linalg import null_space + +# Calculate the null space of matrix A +null_space = null_space(A) +``` + +Finally, we can print the solution. + +```{code-cell} ipython3 +# Convert the null space solution to integer coefficients by multiplying +# and normalizing to the smallest integers +coefficients = null_space[:, 0] +coefficients = coefficients / np.min(coefficients[coefficients > 0]) +coefficients = np.round(coefficients).astype(int) + +coefficients +``` + +This is the same solution we found earlier. The balanced equation is: + +$$ +\begin{align*} +\text{CH}_4(g) + 2\text{O}_2(g) &\rightarrow \text{CO}_2(g) + 2\text{H}_2\text{O}(g) \\ +\end{align*} +$$ + +```{admonition} Note +:class: tip +There's actually a general equation for the stoichiometric coefficients for the combustion of alkanes. For the combustion of an alkane with $n$ carbons, the balanced equation is: + +$$ +\begin{align*} +\text{C}_n\text{H}_{2n+2}(g) + (3n+1)\text{O}_2(g) &\rightarrow n\text{CO}_2(g) + (n+1)\text{H}_2\text{O}(g) \\ +\end{align*} +$$ + +There's also a general function for any hydrocarbon, saturated or unsaturated. It is: + +$$ +\begin{align*} +\text{C}_x\text{H}_y + \left(x + \frac{y}{4}\right)\text{O}_2 &\rightarrow x\text{CO}_2 + \frac{y}{2}\text{H}_2\text{O} \\ +\end{align*} +$$ +``` + +### Example: Reduction of Tin(IV) Oxide by Hydrogen + +Let's consider the reduction of tin(IV) oxide by hydrogen to form tin and water. + +$$ +\begin{align*} +\text{SnO}_2(s) + \text{H}_2(g) &\rightarrow \text{Sn}(s) + \text{H}_2\text{O}(g) \\ +\end{align*} +$$ + +```{admonition} Wait a Minute! +:class: warning +Can you try to do this by hand before you do it in Python? +``` + +```{code-cell} ipython3 + +``` diff --git a/genindex.html b/genindex.html index 23ab44e..f4ff9a1 100644 --- a/genindex.html +++ b/genindex.html @@ -183,6 +183,7 @@

  • Lecture 2: Essential Python Packages for the Chemical Sciences
  • Lecture 3: Control Structures in Python
  • +
  • Lecture 4: Chemical Reaction Equilibria and Roots of Equations
  • diff --git a/intro.html b/intro.html index 59f890b..c2b3c7c 100644 --- a/intro.html +++ b/intro.html @@ -187,6 +187,7 @@
  • Lecture 1: Introduction to Python for the Chemical Sciences
  • Lecture 2: Essential Python Packages for the Chemical Sciences
  • Lecture 3: Control Structures in Python
  • +
  • Lecture 4: Chemical Reaction Equilibria and Roots of Equations
  • @@ -391,6 +392,7 @@

    Welcome to Computational Problem Solving in the Chemical SciencesLecture 1: Introduction to Python for the Chemical Sciences
  • Lecture 2: Essential Python Packages for the Chemical Sciences
  • Lecture 3: Control Structures in Python
  • +
  • Lecture 4: Chemical Reaction Equilibria and Roots of Equations
  • diff --git a/lecture-04-optimization.html b/lecture-04-optimization.html new file mode 100644 index 0000000..53a0634 --- /dev/null +++ b/lecture-04-optimization.html @@ -0,0 +1,930 @@ + + + + + + + + + + + Lecture 4: Chemical Reaction Equilibria and Roots of Equations — Computational Problem Solving in the Chemical Sciences + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + +
    +
    +
    +
    +
    + +
    + +
    + + + + + +
    +
    + + + +
    + + + + + + + + + + + + + +
    + +
    + + + +
    + +
    +
    + +
    +
    + +
    + +
    + +
    + + +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    +
    + + + + + + + + +
    + +
    +

    Lecture 4: Chemical Reaction Equilibria and Roots of Equations#

    +
    +

    Learning Objectives#

    +

    By the end of this lecture, you will be able to:

    +
      +
    • Understand and apply the concept of chemical equilibrium.

    • +
    • Formulate and solve equilibrium problems analytically.

    • +
    • Utilize numerical methods, including scipy.optimize.minimize, to find roots of equations in chemical equilibrium problems.

    • +
    +
    +
    +

    Introduction to Chemical Reaction Equilibria#

    +

    In the chemical sciences, understanding the equilibrium state of a reaction is essential for predicting the final concentrations of reactants and products in a system. The equilibrium state occurs when the rates of the forward and reverse reactions are equal, resulting in no net change in the concentrations of the species involved. This state is also characterized by the minimization of the system’s free energy, often represented by the Gibbs free energy under conditions of constant temperature and pressure.

    +

    Consider a classic example of chemical equilibrium, the dissociation of water vapor into hydrogen and oxygen gases:

    +
    +\[ +2 \text{H}_2\text{O}(g) \rightleftharpoons 2 \text{H}_2(g) + \text{O}_2(g) +\]
    +

    At equilibrium, the reaction mixture obeys the law of mass action, which relates the concentrations (or partial pressures) of the species to the equilibrium constant, \(K_P\). The equilibrium constant is a quantity characterizing the extent to which a reaction proceeds.

    +
    +
    +

    Mathematical Formulation of Equilibrium Problems#

    +

    The equilibrium constant \(K_P\) for a reaction is defined as the ratio of the product of the partial pressures of the products to the reactants, each raised to the power of their respective stoichiometric coefficients. For the reaction given above, \(K_P\) can be expressed as:

    +
    +\[ +K_P = \frac{\left(\frac{P_{\text{H}_2}}{P^{\circ}}\right)^2 \left(\frac{P_{\text{O}_2}}{P^{\circ}}\right)}{\left(\frac{P_{\text{H}_2\text{O}}}{P^{\circ}}\right)^2} +\]
    +

    Where \(P_{\text{H}_2}\), \(P_{\text{O}_2}\), and \(P_{\text{H}_2\text{O}}\) are the partial pressures of hydrogen, oxygen, and water vapor, respectively, and \(P^{\circ}\) is the standard pressure, i.e., 1 bar.

    +

    To find the equilibrium state, we use an ICE (Initial, Change, Equilibrium) table, which helps in setting up the mathematical expressions for the equilibrium concentrations or partial pressures.

    +

    Example:

    +

    Assume we start with 2 moles of water vapor in a closed system. At equilibrium, the changes in the number of moles of each species can be represented as follows:

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    \(\text{H}_2\text{O}\)

    \(\text{H}_2\)

    \(\text{O}_2\)

    Initial (mol)

    2

    0

    0

    Change (mol)

    \(-2x\)

    \(+2x\)

    \(+x\)

    Equilibrium (mol)

    \(2 - 2x\)

    \(2x\)

    \(x\)

    Partial Pressure (bar)

    \(\frac{2 - 2x}{2 + x} P\)

    \(\frac{2x}{2 + x} P\)

    \(\frac{x}{2 + x} P\)

    +
    +

    In this table:

    +
      +
    • Initial: The starting number of moles of each species before the reaction reaches equilibrium.

    • +
    • Change: The change in the number of moles of each species as the reaction proceeds toward equilibrium. Here, \(x\) represents the extent of the reaction.

    • +
    • Equilibrium: The number of moles of each species at equilibrium.

    • +
    • Partial Pressure: The partial pressure of each species at equilibrium, assuming the total pressure is \(P\).

    • +
    +
    +
    +

    Solving for Equilibrium#

    +

    To solve for the equilibrium partial pressures (or concentrations), you would typically:

    +
      +
    1. Write the expression for the equilibrium constant \(K_P\) using the equilibrium partial pressures.

    2. +
    3. Substitute the expressions from the ICE table into the \(K_P\) equation.

    4. +
    5. Solve the resulting equation for \(x\), the extent of the reaction.

    6. +
    +

    This process often involves solving a nonlinear equation, which can be done analytically for simple cases or numerically for more complex reactions.

    +
    +
    +

    Numerical Methods for Finding Roots of Equations#

    +

    Traditional numerical root-finding algorithms include:

    +
      +
    • Bisection Method: Iteratively narrows down the interval where a root lies by evaluating the midpoint.

    • +
    • Newton-Raphson Method: Uses the derivative of the function to quickly converge to a root, requiring an initial guess.

    • +
    • Secant Method: Approximates the derivative using finite differences, avoiding the need for explicit derivatives.

    • +
    +
    +
    +

    scipy.optimize.minimize: A Versatile Approach#

    +

    scipy.optimize.minimize is a powerful optimization tool that, while not a traditional root-finding algorithm by design, can be adapted to find roots by minimizing the absolute value of a function.

    +

    Advantages:

    +
      +
    • Broad Applicability: Suitable for complex, multi-variable problems.

    • +
    • Flexibility: Can work without explicit derivatives and allows for the inclusion of constraints.

    • +
    • Versatility: Effective in a wide range of practical applications, particularly in chemical systems where certain parameters must remain within physical bounds.

    • +
    +
    +
    +

    Implementing Root-Finding Methods in Python#

    +

    To illustrate the process of finding roots using Python, let’s solve a simple quadratic equation both analytically and numerically. Consider the quadratic equation:

    +
    +\[ +x^2 - 3x + 2 = 0 +\]
    +

    Using the quadratic formula, the roots are:

    +
    +\[ +x = \frac{3 \pm \sqrt{(-3)^2 - 4 \cdot 1 \cdot 2}}{2 \cdot 1} = 2, 1 +\]
    +

    Before we find these roots numerically, let’s visualize the quadratic function \(f(x) = x^2 - 3x + 2\) using Matplotlib to see where the roots lie. The roots are the points where the curve intersects the x-axis.

    +
    +
    +
    import matplotlib.pyplot as plt
    +import numpy as np
    +
    +# Define the quadratic function
    +def quadratic_equation(x):
    +    return x ** 2 - 3 * x + 2
    +
    +# Generate x values
    +x_values = np.linspace(0, 3, 400)
    +
    +# Plot the function
    +plt.plot(x_values, quadratic_equation(x_values), label=r"$f(x) = x^2 - 3x + 2$")
    +plt.axhline(0, color='gray', linestyle='--')  # x-axis
    +
    +# Highlight the roots with circles
    +roots = [1, 2]
    +plt.scatter(roots, [0, 0], color='red', edgecolor='black', s=100, zorder=5, label="Roots at $x = 1, 2$")
    +
    +# Format and display the plot
    +plt.xlabel("$x$")
    +plt.ylabel("$f(x)$")
    +plt.title("Visualization of the Quadratic Function and Its Roots")
    +plt.legend()
    +plt.grid(True)
    +plt.show()
    +
    +
    +
    +
    +_images/b06c19a334032e1038890c0211206633e0651c70cdb2bb6f9636b6a39212c60e.png +
    +
    +

    Now, let’s find these roots numerically using Python’s scipy.optimize.minimize function. We’ll approach this by minimizing the absolute value of the quadratic expression.

    +
    +
    +
    from scipy.optimize import minimize
    +
    +# Define the objective function, which is the absolute value of the quadratic equation
    +def objective_function(x):
    +    return abs(x ** 2 - 3 * x + 2)
    +
    +# Perform the minimization starting from an initial guess of x = 0
    +result = minimize(
    +    fun=objective_function,  # Objective function to minimize
    +    x0=0,                    # Initial guess
    +    method="Nelder-Mead",    # Optimization method
    +    tol=1e-6                 # Tolerance for convergence
    +)
    +
    +print(result)
    +
    +
    +
    +
    +
           message: Optimization terminated successfully.
    +       success: True
    +        status: 0
    +           fun: 8.881784197001252e-16
    +             x: [ 1.000e+00]
    +           nit: 31
    +          nfev: 62
    + final_simplex: (array([[ 1.000e+00],
    +                       [ 1.000e+00]]), array([ 8.882e-16,  9.766e-07]))
    +
    +
    +
    +
    +

    The output provides information about the optimization process. The message “Optimization terminated successfully†indicates that the method successfully (success: True) found a solution. The value of the objective function at the root fun is close to zero, which is expected because inserting the root into the quadratic equation should yield zero. The root is found to be 1, which matches one of the analytical solutions. The number of iterations nit and function evaluations nfev are also provided.

    +
    +

    The Importance of Initial Guess

    +

    How does the choice of initial guess affect the outcome? For instance, what happens if the initial guess is set to 2.1 instead of 0?

    +
    +

    Let’s explore this by changing the initial guess:

    +
    +
    +
    # Perform the minimization starting from an initial guess of x = 2.1
    +result = minimize(
    +    fun=objective_function,
    +    x0=2.1,
    +    method="Nelder-Mead",
    +    tol=1e-6
    +)
    +
    +print(result["x"][0])  # Observe how it converges to a different root
    +
    +
    +
    +
    +
    2.000000381469727
    +
    +
    +
    +
    +

    You can index the result dictionary to access the root found by the method. In this case, the root is found to be 2, which is the other analytical solution. This example demonstrates how the choice of initial guess can influence the root found by the numerical method.

    +
    +

    Note

    +

    The initial guess plays a crucial role in determining which root is found, especially in equations with multiple roots. For nonlinear or more complex equations, careful consideration of the initial guess is essential.

    +
    +
    +
    +

    Example: Chemical Reaction Equilibrium via Numerical Method#

    +

    Let’s use scipy.optimize.minimize to determine the equilibrium extent of the water-splitting reaction at 1000 K and 1 bar, where the equilibrium constant is \(K_P = 10.060\). We aim to find the value of \(x\), the reaction progress, that satisfies the equilibrium condition.

    +
    +

    Step 1: Formulating the Equilibrium Equation#

    +

    The equilibrium equation for the reaction is given by:

    +
    +\[ +K_P = \frac{\left(\frac{P_{\text{H}_2}}{P^{\circ}}\right)^2 \left(\frac{P_{\text{O}_2}}{P^{\circ}}\right)}{\left(\frac{P_{\text{H}_2\text{O}}}{P^{\circ}}\right)^2} +\]
    +

    Substituting the partial pressures in terms of \(x\) into the equation, we get:

    +
    +\[ +K_P = \frac{\left(\frac{2x}{2 + x}\frac{P}{P^{\circ}}\right)^2 \left(\frac{x}{2 + x}\frac{P}{P^{\circ}}\right)}{\left(\frac{2 - 2x}{2 + x}\frac{P}{P^{\circ}}\right)^2} +\]
    +

    Simplifying this expression, we obtain:

    +
    +\[ +K_P = \frac{4x^3}{(2 - 2x)^2} +\]
    +

    Where \(P = P^{\circ} = 1\) bar. The equilibrium equation to be minimized is:

    +
    +\[ +(2 - 2x)^2 K_P - 4x^3 = 0 +\]
    +
    +
    +

    Step 2: Minimizing the Equilibrium Equation#

    +

    First, we define the objective function representing the equilibrium equation to be minimized:

    +
    +
    +
    def objective_function(x, K_P):
    +    equilibrium_equation = (2 - 2 * x) ** 2 * K_P - 4 * x ** 3
    +    return abs(equilibrium_equation)
    +
    +
    +
    +
    +

    Before proceeding with the minimization, let’s visualize the objective function to understand its behavior.

    +
    +
    +
    # Generate x values
    +x_values = np.linspace(0, 1, 400)
    +
    +# Plot the function
    +plt.plot(x_values, objective_function(x_values, 10.060), label=r"$|(2 - 2x)^2 K_P - 4x^3|$")
    +plt.axhline(0, color='gray', linestyle='--')  # x-axis
    +
    +# Format and display the plot
    +plt.xlabel("$x$")
    +plt.ylabel("Objective Function")
    +plt.title("Visualization of the Objective Function")
    +plt.legend()
    +plt.grid(True)
    +plt.show()
    +
    +
    +
    +
    +_images/ca32ee1c272eabd843df5ff0fa345c7434e8f522858c06066e8d1e8fc7cf35b1.png +
    +
    +
    +

    Wait, What’s the Expected Solution?

    +

    Before proceeding with the minimization, what value of \(x\) do you expect as the equilibrium extent of the reaction? Reflect on this before running the code.

    +
    +

    Now, let’s use scipy.optimize.minimize to find the equilibrium extent of the reaction:

    +
    +
    +
    # Perform the minimization with an initial guess of x = 0
    +result = minimize(
    +    fun=objective_function,
    +    x0=0,
    +    args=(10.060,),
    +    method="Nelder-Mead",
    +    tol=1e-6
    +)
    +
    +print("{:.0f}%".format(result["x"][0] * 100))  # Convert the result to percentage
    +
    +
    +
    +
    +
    78%
    +
    +
    +
    +
    +

    The print statement converts the result to a percentage, representing the equilibrium extent of the reaction. The {:.0f} part indicates that the number should be formatted as a floating-point number (f), but with zero decimal places (.0). The .format() part is used to replace the {:.0f} placeholder with the actual value, which is the result of result["x"][0] * 100.

    +
    +

    Warning

    +

    Always check that the solution is physically meaningful. For instance, in this context, \(x\) must lie between 0 and 1 (representing 0% to 100% reaction progress). This can be enforced using bounds:

    +
    +
    +
    +
    result = minimize(
    +    fun=objective_function,
    +    x0=2,  # Initial guess outside the expected range
    +    args=(10.060,),
    +    method="Nelder-Mead",
    +    tol=1e-6,
    +    bounds=[(0, 1)]
    +)
    +
    +print("{:.0f}%".format(result["x"][0] * 100))  # The bounds ensure the result stays within the physical limits.
    +
    +
    +
    +
    +
    78%
    +
    +
    +
    /var/folders/n9/q030dl3x6qgfqffys4wc7d4c0000gn/T/ipykernel_14625/2224677478.py:1: OptimizeWarning: Initial guess is not within the specified bounds
    +  result = minimize(
    +
    +
    +
    +
    +

    The warning indicates that the initial guess is outside the specified bounds. However, the method still converges to the correct solution, which is 78% reaction progress.

    +
    +
    +
    +

    Hands-On Activity#

    +

    Let’s apply the minimize function to solve a cubic equation, which is analogous to solving for the equilibrium in a chemical reaction. Consider the cubic equation:

    +
    +\[ +x^3 - 6x^2 + 11x - 6 = 0 +\]
    +

    This equation has three real roots. We will use different initial guesses to find these roots using the minimize function.

    +
    +
    +
    from scipy.optimize import minimize
    +
    +# Define the cubic equation
    +def cubic_eq(x):
    +    return abs(x ** 3 - 6 * x ** 2 + 11 * x - 6)
    +
    +# Root near x = 1
    +low_root_guess = minimize(
    +    fun=cubic_eq,
    +    x0=0.9,  # Initial guess close to 1
    +    method="Nelder-Mead",
    +    tol=1e-6
    +)
    +print("Root near 1:", low_root_guess["x"][0])  # Should be close to 1
    +
    +# Root near x = 2
    +medium_root_guess = minimize(
    +    fun=cubic_eq,
    +    x0=1.9,  # Initial guess close to 2
    +    method="Nelder-Mead",
    +    tol=1e-6
    +)
    +print("Root near 2:", medium_root_guess["x"][0])  # Should be close to 2
    +
    +# Root near x = 3
    +high_root_guess = minimize(
    +    fun=cubic_eq,
    +    x0=2.9,  # Initial guess close to 3
    +    method="Nelder-Mead",
    +    tol=1e-6
    +)
    +print("Root near 3:", high_root_guess["x"][0])  # Should be close to 3
    +
    +
    +
    +
    +
    Root near 1: 1.0000003051757815
    +Root near 2: 2.0000003433227533
    +Root near 3: 3.000000019073487
    +
    +
    +
    +
    +
    +

    Exercise

    +

    Experiment with different initial guesses and observe how they affect the convergence of the method. Consider how close the result is to the expected root and reflect on the importance of choosing a good initial guess.

    +
    +
    +

    Additional Exercise

    +

    Modify the cubic equation to have different coefficients and use scipy.optimize.minimize to find the new roots. Reflect on how changes in the coefficients affect the roots and the convergence of the method.

    +
    +
    +
    + + + + +
    + + + + + + + + +
    + + + + + + +
    +
    + + +
    + + +
    +
    +
    + + + + + +
    +
    + + \ No newline at end of file diff --git a/lecture-05-integration.html b/lecture-05-integration.html new file mode 100644 index 0000000..4572e88 --- /dev/null +++ b/lecture-05-integration.html @@ -0,0 +1,813 @@ + + + + + + + + + + + Lecture 5: Chemical Bonding and Numerical Integration — Computational Problem Solving in the Chemical Sciences + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + +
    +
    +
    +
    +
    + +
    + +
    + + + + + +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    + +
    + + + +
    + +
    +
    + +
    +
    + +
    + +
    + +
    + + +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    +
    + + + + + + + + +
    + +
    +

    Lecture 5: Chemical Bonding and Numerical Integration#

    +

    The covalent bond is a cornerstone in the chemical sciences, dictating the chemical and physical properties of organic matter and also playing an important role in inorganic and solid-state/materials chemistry. The covalent bond is a quantum mechanical phenomenon, where electrons in atomic orbitals are shared between atoms, causing these atomic orbitals to hybridize and form molecular orbitals. The hybridization of atomic orbitals is primarily governed by the energetic similarity of the atomic orbitals involved and their spatial proximity and orientation. In quantum chemistry, the latter is quantified using the overlap integral, which takes the following form:

    +
    +\[ +S = \int_0^{\infty} \int_0^{\pi} \int_0^{2\pi} \psi_i^*(r, \theta, \phi) \psi_j(r, \theta, \phi) r^2 \sin(\theta) dr d\theta d\phi +\]
    +

    Here, \(\psi_i\) and \(\psi_j\) are the atomic orbitals of atoms \(i\) and \(j\), respectively. These atomic orbitals are written in spherical coordinates, where the volume element of integration is \(r^2 \sin(\theta) dr d\theta d\phi\). We will come back to this, but first, let us discuss what an integral really is.

    +
    +

    What is an Integral?#

    +

    The formal definition of an (Riemann) integral is the limit of a sum of areas of rectangles under a curve. The integral of a function \(f(x)\) over an interval \([a, b]\) is given by:

    +
    +\[ +\int_a^b f(x) dx = \lim_{n \to \infty} \sum_{i=1}^{n} f(x_i) \Delta x +\]
    +

    In other words, an integral is a sum with really small increments (as small as possible). Therefore, calculating an integral numerically amounts to computing the area of a series of rectangles along \(x\), where the height of the rectangle is the function \(y\) value at that point. There are several methods to achieve an accurate value of the integral with the fewest number of computations, such as the trapezoidal rule, Simpson’s rule, and Gaussian quadrature. In this lecture, we will focus on the Riemann sum when we write our own integratrion codes and then move on to the trapezoidal rule, which is implemented in scipy and numpy.

    +
    +
    +

    Let Us Put This To the Test#

    +

    Let’s consider the function \(f(x) = x^2\) over the interval \([0, 1]\). The integral of this function is:

    +
    +\[ +\int_0^1 x^2 dx = (1/3) x^3 \Big|_0^1 = 1/3 +\]
    +

    Now, let’s calculate this integral numerically using a Riemann sum with 10, 100, and 1000 rectangles.

    +
    +
    +
    import numpy as np
    +import matplotlib.pyplot as plt
    +
    +# Define the function f(x) = x^2
    +def f(x):
    +    return x**2
    +
    +# Define the Riemann sum function
    +def riemann_sum(f, a, b, n):
    +    x = np.linspace(a, b, n, endpoint=False)
    +    dx = (b - a) / n
    +    return np.sum(f(x) * dx), x, dx
    +
    +# Interval [0, 1]
    +a = 0
    +b = 1
    +
    +# Number of rectangles
    +n_values = [10, 100, 1000]
    +
    +# Prepare the plot
    +fig, axs = plt.subplots(1, 3, figsize=(18, 5))
    +fig.suptitle('Visualization of Riemann Sums for f(x) = x^2')
    +
    +# Calculate and plot the Riemann sums
    +for i, n in enumerate(n_values):
    +    riemann_sum_value, x, dx = riemann_sum(f, a, b, n)
    +    axs[i].bar(x, f(x), width=dx, align='edge', alpha=0.6, edgecolor='black')
    +    axs[i].plot(np.linspace(a, b, 1000), f(np.linspace(a, b, 1000)), 'r-', label='f(x) = x^2')
    +    axs[i].set_title(f'{n} Rectangles\nRiemann Sum: {riemann_sum_value:.6f}')
    +    axs[i].set_xlabel('x')
    +    axs[i].set_ylabel('f(x)')
    +    axs[i].legend()
    +
    +plt.tight_layout()
    +plt.show()
    +
    +
    +
    +
    +_images/8291952919a9e3c9644754686befb0824a0d968f2efcfa4865ecb7a1d251bb9a.png +
    +
    +

    So easy a caveman can do it!

    +
    +
    +

    Let Us Do Another Example#

    +

    Now, let’s consider the function \(f(x) = \sin(x)\) over the interval \([-\pi, \pi]\). Let us calculate this integral numerically using the trapezoidal rule, which sums a series of trapezoids under the curve, instead of rectangles. The trapezoidal rule is given by:

    +
    +\[ +\int_a^b f(x) dx \approx \frac{h}{2} \left[ f(a) + 2 \sum_{i=1}^{n-1} f(x_i) + f(b) \right] +\]
    +

    where \(h = (b - a) / n\) is the width of each trapezoid. Let’s calculate this integral numerically using the Riemann sum with 10, 100, and 1000 rectangles and the trapezoidal rule with 10, 100, and 1000 trapezoids.

    +
    +

    Wait!

    +

    Before we proceed, can you guess the value of this integral? What can you say about the symmetry of the sine function around the center of the interval of integration?

    +
    +

    OK, now that we have a guess, let’s calculate the integral and compare the results.

    +
    +
    +
    # Interval [-pi, pi]
    +a = -np.pi
    +b = np.pi
    +
    +# Define the function f(x) = sin(x)
    +def f(x):
    +    return np.sin(x)
    +
    +# Prepare the plot
    +fig, axs = plt.subplots(1, 3, figsize=(18, 5))
    +
    +# Calculate and plot the Riemann sums
    +for i, n in enumerate(n_values):
    +    riemann_sum_value, x, dx = riemann_sum(f, a, b, n)
    +    axs[i].bar(x, f(x), width=dx, align='edge', alpha=0.6, edgecolor='black')
    +    axs[i].plot(np.linspace(a, b, 1000), f(np.linspace(a, b, 1000)), 'r-', label='f(x) = sin(x)')
    +    axs[i].set_title(f'{n} Rectangles\nRiemann Sum: {riemann_sum_value:.6f}')
    +    axs[i].set_xlabel('x')
    +    axs[i].set_ylabel('f(x)')
    +    axs[i].legend()
    +
    +plt.tight_layout()
    +plt.show()
    +
    +
    +
    +
    +_images/fdd52c1d89e46c8455f7b30cdf1fc2bcffd0002995fe9f3a832dc13afde3d5d1.png +
    +
    +
    +

    Note

    +

    Before integrating, always check the symmetry of your function about the center of the integration range. If it is symmetric like the sine function, then you can get away without having to compute the integral. This type of intuition can prove really useful in the chemical sciences.

    +
    +
    +
    +

    Calculating the Overlap Integral of Two H 1s Orbitals#

    +

    Now, let’s calculate the overlap integral of two hydrogen 1s orbitals, which are given by:

    +
    +\[ +\psi_{1s} = \left( \frac{1}{\pi a_0^3} \right)^{1/2} e^{-r/a_0} +\]
    +

    where \(a_0\) is the Bohr radius, which is approximately 0.529 Ã…. So, it turns out this integral is pretty tough to solve in spherical coordinates, but we can convert it to Cartesian coordinates and use numerical integration to solve it. Recall that \(r\) is related to \(x\), \(y\), and \(z\) as:

    +
    +\[ +r = \sqrt{x^2 + y^2 + z^2} +\]
    +

    Therefore, we can rewrite the hydrogen 1s orbital in Cartesian coordinates as:

    +
    +\[ +\psi_{1s} = \left( \frac{1}{\pi a_0^3} \right)^{1/2} e^{-\sqrt{x^2 + y^2 + z^2}/a_0} +\]
    +

    To determine the total overlap of the hydrogen 1s orbitals of two electrons, we need to integrate over all possible space where those orbitals can overlap, which is from \(-\infty\) to \(\infty\) in all three dimensions. For two hydrogen atoms, one at the origin and the other at a distance \(a_0\) along the \(x\)-axis, the overlap integral is given by:

    +
    +\[ +S = \int_{-\infty}^{\infty} \int_{-\infty}^{\infty} \int_{-\infty}^{\infty} \psi_{1s}^*(x, y, z) \psi_{1s}(x - a_0, y, z) dx dy dz +\]
    +

    OK, so what do we have to do to solve this integral. First, we need to define the \(x\), \(y\), and \(z\) ranges over which we will integrate. Then, we need to define the function we are integrating. Finally, we need to integrate the function over the ranges we defined. Let’s do this now.

    +
    +
    +
    import numpy as np
    +
    +# Constants
    +a0 = 1.0  # Bohr radius
    +N = 100  # Number of points in each dimension
    +x_min, x_max = 0, 7 * a0  # Limits for x
    +y_min, y_max = 0, 7 * a0  # Limits for y
    +z_min, z_max = 0, 7 * a0  # Limits for z
    +
    +# Create grid points
    +x = np.linspace(x_min, x_max, N)
    +y = np.linspace(y_min, y_max, N)
    +z = np.linspace(z_min, z_max, N)
    +
    +# Calculate step sizes
    +dx = (x_max - x_min) / N
    +dy = (y_max - y_min) / N
    +dz = (z_max - z_min) / N
    +
    +# Initialize the sum for the Riemann sum
    +S_sum = 0.0
    +
    +# Perform the Riemann sum
    +for i in range(N):
    +    for j in range(N):
    +        for k in range(N):
    +            r1 = np.sqrt((x[i] + a0 / 2) ** 2 + y[j] ** 2 + z[k] ** 2)
    +            r2 = np.sqrt((x[i] - a0 / 2) ** 2 + y[j] ** 2 + z[k] ** 2)
    +            integrand_value = np.exp(-(r1 + r2) / a0)
    +            S_sum += integrand_value * dx * dy * dz
    +
    +# Apply the normalization factor
    +normalization_factor = 8 / (np.pi * a0**3)
    +S = normalization_factor * S_sum
    +
    +# Output the result
    +print(f"The value of the overlap integral S using the Riemann sum is approximately: {S:.6f}")
    +
    +
    +
    +
    +
    The value of the overlap integral S using the Riemann sum is approximately: 0.916888
    +
    +
    +
    +
    +

    It turns out that you can solve this integral analytically using an elliptical coordinate system, however, we will just compare our numerical solution to the analytical solution to make sure that what we’ve done is correct. To benchmark our numerical solution, we will compute the overlap integral as a function of the separation between the two hydrogen atoms. This can be achieved as follows:

    +
    +
    +
    import numpy as np
    +from scipy.special import erf
    +
    +# Constants
    +a0 = 1.0  # Bohr radius
    +N = 100  # Number of points in each dimension
    +x_min, x_max = 0, 7 * a0  # Limits for x
    +y_min, y_max = 0, 7 * a0  # Limits for y
    +z_min, z_max = 0, 7 * a0  # Limits for z
    +R_values = np.linspace(0.1 * a0, 5 * a0, 10)  # Separation values
    +
    +# Create grid points
    +x = np.linspace(x_min, x_max, N)
    +y = np.linspace(y_min, y_max, N)
    +z = np.linspace(z_min, z_max, N)
    +
    +# Calculate step sizes
    +dx = (x_max - x_min) / (N - 1)
    +dy = (y_max - y_min) / (N - 1)
    +dz = (z_max - z_min) / (N - 1)
    +
    +# Function to compute numerical overlap integral using trapezoidal rule
    +def overlap_integral(R):
    +    S_sum = 0.0
    +    for i in range(N):
    +        for j in range(N):
    +            for k in range(N):
    +                r1 = np.sqrt((x[i] + R / 2) ** 2 + y[j] ** 2 + z[k] ** 2)
    +                r2 = np.sqrt((x[i] - R / 2) ** 2 + y[j] ** 2 + z[k] ** 2)
    +                weight = 1.0
    +                if i == 0 or i == N-1:
    +                    weight *= 0.5
    +                if j == 0 or j == N-1:
    +                    weight *= 0.5
    +                if k == 0 or k == N-1:
    +                    weight *= 0.5
    +                integrand_value = np.exp(-(r1 + r2) / a0)
    +                S_sum += weight * integrand_value * dx * dy * dz
    +
    +    normalization_factor = 8 / (np.pi * a0**3)
    +    return normalization_factor * S_sum
    +
    +# Function to compute analytical overlap integral
    +def analytical_overlap_integral(R):
    +    return (1 + R / a0 + R**2 / (3 * a0**2)) * np.exp(-R / a0)
    +
    +# Compute numerical and analytical overlap integrals for different separations
    +numerical_results = []
    +analytical_results = []
    +for R in R_values:
    +    S_numerical = overlap_integral(R)
    +    S_analytical = analytical_overlap_integral(R)
    +    numerical_results.append(S_numerical)
    +    analytical_results.append(S_analytical)
    +
    +# Output the results
    +for R, S_numerical, S_analytical in zip(R_values, numerical_results, analytical_results):
    +    print(f"Separation: {R/a0:.2f} a0 | Numerical: {S_numerical:.6f} | Analytical: {S_analytical:.6f}")
    +
    +# Plot the results
    +import matplotlib.pyplot as plt
    +
    +plt.plot(R_values / a0, numerical_results, 'o-', label='Numerical')
    +plt.plot(R_values / a0, analytical_results, 'x-', label='Analytical')
    +plt.xlabel('Separation (R / a0)')
    +plt.ylabel('Overlap Integral S')
    +plt.title('Numerical and Analytical Overlap Integrals')
    +plt.legend()
    +plt.grid()
    +
    +plt.show()
    +
    +
    +
    +
    +
    Separation: 0.10 a0 | Numerical: 0.998318 | Analytical: 0.998337
    +Separation: 0.64 a0 | Numerical: 0.935911 | Analytical: 0.935931
    +Separation: 1.19 a0 | Numerical: 0.810121 | Analytical: 0.810141
    +Separation: 1.73 a0 | Numerical: 0.659902 | Analytical: 0.659921
    +Separation: 2.28 a0 | Numerical: 0.513279 | Analytical: 0.513297
    +Separation: 2.82 a0 | Numerical: 0.385206 | Analytical: 0.385223
    +Separation: 3.37 a0 | Numerical: 0.281017 | Analytical: 0.281032
    +Separation: 3.91 a0 | Numerical: 0.200369 | Analytical: 0.200383
    +Separation: 4.46 a0 | Numerical: 0.140199 | Analytical: 0.140213
    +Separation: 5.00 a0 | Numerical: 0.096565 | Analytical: 0.096577
    +
    +
    +_images/de6452983df876b73d12abc289d8ae1ccb15d93af4425dc5191af4cec47a3210.png +
    +
    +

    That’s pretty awesome right! Are you starting to see the power of numerical methods in chemistry? In a way, Python provides a practical lens through which we can view various mathematical aspects in chemical science.

    +
    +
    +

    Hands-On Activity: Numerical Integration#

    +

    Now, let’s calculate the overlap integral of two He+1 1s orbitals, which are given by:

    +
    +\[ +\psi_{1s} = \left( \frac{2}{\pi a_0^3} \right)^{1/2} e^{-r/a_0} +\]
    +

    where \(a_0\) is the Bohr radius, which is approximately 0.529 Ã…. The exact result is given by:

    +
    +\[ +S = \left( 1 + \frac{Zr}{a_0} + \frac{1}{3} \left( \frac{Zr}{a_0} \right)^2 \right) e^{-Zr/a_0} +\]
    +

    Use your new chops to solve for the overlap.

    +
    +

    Wait!

    +

    Do you think the overlap integral will decay more slowly or more rapidly for He+1 compared to H? Do particles become more or less localized as the charge increases? In other words, do particles become more classical or more quantum mechanical as the size of the nucleus increases?

    +
    +
    +
    + + + + +
    + + + + + + +
    + +
    +
    +
    + +
    + + + + + + +
    +
    + + +
    + + +
    +
    +
    + + + + + +
    +
    + + \ No newline at end of file diff --git a/lecture-06-linalg.html b/lecture-06-linalg.html new file mode 100644 index 0000000..3a24b2c --- /dev/null +++ b/lecture-06-linalg.html @@ -0,0 +1,754 @@ + + + + + + + + + + + Lecture 6: Balancing Chemical Equations and Systems of Linear Algebraic Equations — Computational Problem Solving in the Chemical Sciences + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + +
    +
    +
    +
    +
    + +
    + +
    + + + + + +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    + +
    + + + +
    + +
    +
    + +
    +
    + +
    + +
    + +
    + + +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    +
    + + + +
    +

    Lecture 6: Balancing Chemical Equations and Systems of Linear Algebraic Equations

    + +
    + +
    +
    + + + + +
    + +
    +

    Lecture 6: Balancing Chemical Equations and Systems of Linear Algebraic Equations#

    +
    +

    Balancing Chemical Equations#

    +

    One of the first things we’re trained to do in the chemical sciences is to balance the stoichiometric coefficients of the reactants and products in a chemical equation so that no mass is lost. For example, consider the combustion of an methane in the presence of oxygen.

    +
    +\[\begin{split} +\begin{align*} +a \text{CH}_4(g) + b \text{O}_2(g) &\rightarrow c \text{CO}_2(g) + d \text{H}_2\text{O}(g) \\ +\end{align*} +\end{split}\]
    +

    The game that we are taught to play is to determine the values of \(a\), \(b\), \(c\), and \(d\) that make the number of atoms of each element the same on both sides of the equation. To do this, we can make a table where the two columns are for reactants (left) and products (right) and each row is for a different element. For the combustion of methane, the table looks like this:

    +
    + + + + + + + + + + + + + + + + + + + + +

    Element

    Reactants

    Products

    C

    \(a\)

    \(c\)

    H

    \(4a\)

    \(2d\)

    O

    \(2b\)

    \(2c + d\)

    +
    +

    From the table, we can clearly see that \(a\) has to be equal to \(c\) in order for the reaction to be balanced. So, we can write the table as:

    +
    + + + + + + + + + + + + + + + + + + + + +

    Element

    Reactants

    Products

    C

    \(a\)

    \(a\)

    H

    \(4a\)

    \(2d\)

    O

    \(2b\)

    \(2a + d\)

    +
    +

    OK, the next step is to notice that \(4a = 2d\) so \(d = 2a\). We can substitute this into the last row of the table to get:

    +
    + + + + + + + + + + + + + + + + + + + + +

    Element

    Reactants

    Products

    C

    \(a\)

    \(a\)

    H

    \(4a\)

    \(4a\)

    O

    \(2b\)

    \(2a + 2a\)

    +
    +

    Finally, we can see that \(2b = 4a\) so \(b = 2a\). Substituting this into the last row of the table gives:

    +
    + + + + + + + + + + + + + + + + + + + + +

    Element

    Reactants

    Products

    C

    \(a\)

    \(a\)

    H

    \(4a\)

    \(4a\)

    O

    \(4a\)

    \(4a\)

    +
    +

    So, the balanced equation is:

    +
    +\[\begin{split} +\begin{align*} +\text{CH}_4(g) + 2\text{O}_2(g) &\rightarrow \text{CO}_2(g) + 2\text{H}_2\text{O}(g) \\ +\end{align*} +\end{split}\]
    +

    Maybe that was unnecessarily difficult, as I’m sure many of you were able to see precisely what those values were before we started. But, the point is that we can solve linear equations to balance chemical equations.

    +
    +
    +

    Systems of Linear Algebraic Equations#

    +

    Going back even further, you may remember that if we have a system of linear algegraic equations and the same number of equations as unknowns, we can solve for the unknowns. Let’s recast our combustion problem in terms of a system of linear algebraic equations. We have:

    +
    +\[\begin{split} +\begin{align*} +a - c &= 0 \\ +4a - 2d &= 0 \\ +2b - 2c - d &= 0 \\ +\end{align*} +\end{split}\]
    +

    This can be written in matrix form as:

    +
    +\[\begin{split} +\begin{align*} +\begin{bmatrix} +1 & 0 & -1 & 0 \\ +4 & 0 & 0 & -2 \\ +0 & 2 & -2 & -1 \\ +\end{bmatrix} +\begin{bmatrix} +a \\ +b \\ +c \\ +d \\ +\end{bmatrix} +&= +\begin{bmatrix} +0 \\ +0 \\ +0 \\ +\end{bmatrix} +\end{align*} +\end{split}\]
    +

    Or, more simply as:

    +
    +\[ +\begin{align*} +\mathbf{A}\mathbf{x} &= \mathbf{0} +\end{align*} +\]
    +

    Where \(\mathbf{A}\) is the matrix of coefficients, \(\mathbf{x}\) is the vector of unknowns, and \(\mathbf{0}\) is the zero vector. We can solve this system of equations by finding the null space of \(\mathbf{A}\). The null space is the set of all vectors that send \(\mathbf{A}\) to \(\mathbf{0}\). In other words, it is the set of all vectors that satisfy the system of equations.

    +
    +
    +

    Solving the System of Equations#

    +

    Let’s solve the system of equations for the combustion of methane using Python. We’ll use the numpy library to do this.

    +

    First, we need to import the numpy library.

    +
    +
    +
    import numpy as np
    +
    +
    +
    +
    +

    Next, we’ll define the matrix of coefficients, \(\mathbf{A}\).

    +
    +
    +
    A = np.array([[1, 0, -1, 0],
    +              [4, 0, 0, -2],
    +              [0, 2, -2, -1]])
    +
    +
    +
    +
    +

    Now, we can find the null space of \(\mathbf{A}\).

    +
    +
    +
    from scipy.linalg import null_space
    +
    +# Calculate the null space of matrix A
    +null_space = null_space(A)
    +
    +
    +
    +
    +

    Finally, we can print the solution.

    +
    +
    +
    # Convert the null space solution to integer coefficients by multiplying
    +# and normalizing to the smallest integers
    +coefficients = null_space[:, 0]
    +coefficients = coefficients / np.min(coefficients[coefficients > 0])
    +coefficients = np.round(coefficients).astype(int)
    +
    +coefficients
    +
    +
    +
    +
    +
    array([1, 2, 1, 2])
    +
    +
    +
    +
    +

    This is the same solution we found earlier. The balanced equation is:

    +
    +\[\begin{split} +\begin{align*} +\text{CH}_4(g) + 2\text{O}_2(g) &\rightarrow \text{CO}_2(g) + 2\text{H}_2\text{O}(g) \\ +\end{align*} +\end{split}\]
    +
    +

    Note

    +

    There’s actually a general equation for the stoichiometric coefficients for the combustion of alkanes. For the combustion of an alkane with \(n\) carbons, the balanced equation is:

    +
    +\[\begin{split} +\begin{align*} +\text{C}_n\text{H}_{2n+2}(g) + (3n+1)\text{O}_2(g) &\rightarrow n\text{CO}_2(g) + (n+1)\text{H}_2\text{O}(g) \\ +\end{align*} +\end{split}\]
    +

    There’s also a general function for any hydrocarbon, saturated or unsaturated. It is:

    +
    +\[\begin{split} +\begin{align*} +\text{C}_x\text{H}_y + \left(x + \frac{y}{4}\right)\text{O}_2 &\rightarrow x\text{CO}_2 + \frac{y}{2}\text{H}_2\text{O} \\ +\end{align*} +\end{split}\]
    +
    +
    +
    +

    Example: Reduction of Tin(IV) Oxide by Hydrogen#

    +

    Let’s consider the reduction of tin(IV) oxide by hydrogen to form tin and water.

    +
    +\[\begin{split} +\begin{align*} +\text{SnO}_2(s) + \text{H}_2(g) &\rightarrow \text{Sn}(s) + \text{H}_2\text{O}(g) \\ +\end{align*} +\end{split}\]
    +
    +

    Wait a Minute!

    +

    Can you try to do this by hand before you do it in Python?

    +
    +
    +
    + + + + +
    + + + + + + +
    + +
    +
    +
    + +
    + + + + + + +
    +
    + + +
    + + +
    +
    +
    + + + + + +
    +
    + + \ No newline at end of file diff --git a/objects.inv b/objects.inv index 42560ef..376028c 100644 --- a/objects.inv +++ b/objects.inv @@ -2,7 +2,5 @@ # Project: Project name not set # Version: # The remainder of this file is compressed using zlib. -xÚQ1nÃ0 Üý -~@El^ƒZÀ€‡ÎŠÄÚB%Ñè¢ù}$ËImÀEº¼;Þ‘ìѯñ"ëÆÊ3Z5ôK÷i`gá5—•ñh¦iR™47 -ã­"‡À'rãÄ’ yi¡ t¶è #ûm|Ÿ4ÀÂi@gTÂ;eÐ+Œ•EÅS@ñ\‹y®žT±öûƒR¼ê&Å]éS¢öÂCª>)<ò>ˆQª/ÙcÜõý…·ž‡^bDÏ&o\ÜÚÛ Ø…¢œÙîºÞÑ­é±I§.ªŽÃ47c¾o P9Ò;/â”qïéR—¯Ð²eË:¢ jØ -K¯hº‚·é,Õjƒà‘ \ No newline at end of file +xÚ“»nÃ0 E÷|ÀEÓ<oM!@ZñÐY–[¨®$M¿¾z$±8H7——‡¤é%“5þ€±uÎI…²94—èSk‡½Θ´Z…´ZQŸ1ã9UÁ*Ø*Ñõ–X¦$áPhUqP*þÍdã<`[„m‹‚Q§—”¡¤hf©í5fÏó,Ô­{êKŒywRb‡(Â=ÉHá«|£díOÈß{:D÷ƒu`®3ÎÜõ5“¸«˜’Ö9l'’zÄy›'P˳±( &‘hxå Vš0:š\¨zâêÎÙUˆà7w¢/ÿÖH}`»œWâ6®Ú¦Æ‹ž2ê…»ÇÙô™få \ No newline at end of file diff --git a/reports/lecture-04-optimization.err.log b/reports/lecture-04-optimization.err.log new file mode 100644 index 0000000..b91ccbe --- /dev/null +++ b/reports/lecture-04-optimization.err.log @@ -0,0 +1,48 @@ +Traceback (most recent call last): + File "/Users/robertwexler/miniconda3/envs/comp-prob-solv/lib/python3.12/site-packages/jupyter_cache/executors/utils.py", line 58, in single_nb_execution + executenb( + File "/Users/robertwexler/miniconda3/envs/comp-prob-solv/lib/python3.12/site-packages/nbclient/client.py", line 1314, in execute + return NotebookClient(nb=nb, resources=resources, km=km, **kwargs).execute() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/robertwexler/miniconda3/envs/comp-prob-solv/lib/python3.12/site-packages/jupyter_core/utils/__init__.py", line 165, in wrapped + return loop.run_until_complete(inner) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/robertwexler/miniconda3/envs/comp-prob-solv/lib/python3.12/asyncio/base_events.py", line 687, in run_until_complete + return future.result() + ^^^^^^^^^^^^^^^ + File "/Users/robertwexler/miniconda3/envs/comp-prob-solv/lib/python3.12/site-packages/nbclient/client.py", line 709, in async_execute + await self.async_execute_cell( + File "/Users/robertwexler/miniconda3/envs/comp-prob-solv/lib/python3.12/site-packages/nbclient/client.py", line 1062, in async_execute_cell + await self._check_raise_for_error(cell, cell_index, exec_reply) + File "/Users/robertwexler/miniconda3/envs/comp-prob-solv/lib/python3.12/site-packages/nbclient/client.py", line 918, in _check_raise_for_error + raise CellExecutionError.from_cell_and_msg(cell, exec_reply_content) +nbclient.exceptions.CellExecutionError: An error occurred while executing the following cell: +------------------ +result = minimize( + fun=equilibrium_equation, + x0=2, # Initial guess outside the expected range + args=(10.060,), + method="Nelder-Mead", + tol=1e-6, + bounds=[(0, 1)] +) + +print("{:.0f}%".format(result["x"][0] * 100)) # The bounds ensure the result stays within the physical limits. +------------------ + + +--------------------------------------------------------------------------- +NameError Traceback (most recent call last) +Cell In[7], line 2 + 1 result = minimize( +----> 2 fun=equilibrium_equation, + 3 x0=2, # Initial guess outside the expected range + 4 args=(10.060,), + 5 method="Nelder-Mead", + 6 tol=1e-6, + 7 bounds=[(0, 1)] + 8 ) + 10 print("{:.0f}%".format(result["x"][0] * 100)) # The bounds ensure the result stays within the physical limits. + +NameError: name 'equilibrium_equation' is not defined + diff --git a/search.html b/search.html index b7b4c7c..424992f 100644 --- a/search.html +++ b/search.html @@ -185,6 +185,7 @@
  • Lecture 1: Introduction to Python for the Chemical Sciences
  • Lecture 2: Essential Python Packages for the Chemical Sciences
  • Lecture 3: Control Structures in Python
  • +
  • Lecture 4: Chemical Reaction Equilibria and Roots of Equations
  • diff --git a/searchindex.js b/searchindex.js index e654739..f6630ad 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"": [[1, null], [1, null], [2, null], [2, null], [2, null], [3, null], [3, null]], "1.1 Download and Install Python": [[1, "download-and-install-python"]], "1.1 Key Features of NumPy": [[2, "key-features-of-numpy"]], "1.1 The if Statement": [[3, "the-if-statement"]], "1.2 Check if Python is Already Installed": [[1, "check-if-python-is-already-installed"]], "1.2 The if-else Statement": [[3, "the-if-else-statement"]], "1.2 Working with NumPy Arrays": [[2, "working-with-numpy-arrays"]], "1.3 Practice Exercises": [[2, "practice-exercises"]], "1.3 The if-elif-else Statement": [[3, "the-if-elif-else-statement"]], "1.3 Windows-Specific Note": [[1, "windows-specific-note"]], "2.1 Install Jupyter Notebook": [[1, "install-jupyter-notebook"]], "2.1 Key Features of SciPy": [[2, "key-features-of-scipy"]], "2.1 The for Loop": [[3, "the-for-loop"]], "2.2 Launching Jupyter Notebook": [[1, "launching-jupyter-notebook"]], "2.2 The while Loop": [[3, "the-while-loop"]], "3.1 Defining Functions": [[3, "defining-functions"]], "3.1 Key Features of Matplotlib": [[2, "key-features-of-matplotlib"]], "3.1 Python and Mathematics": [[1, "python-and-mathematics"]], "3.2 Creating Basic Plots with Matplotlib": [[2, "creating-basic-plots-with-matplotlib"]], "3.2 Functions with Default Parameter Values": [[3, "functions-with-default-parameter-values"]], "3.2 Practice Exercises": [[1, "practice-exercises"]], "3.3 Customizing Your Plots": [[2, "customizing-your-plots"]], "3.3 Lambda Functions": [[3, "lambda-functions"]], "3.3 Python Can Do Chemistry": [[1, "python-can-do-chemistry"]], "3.4 Practice Exercises": [[1, "id1"], [2, "id1"]], "3.4 Using Lambda Functions with Higher-Order Functions": [[3, "using-lambda-functions-with-higher-order-functions"]], "3.5 Python Can Do Graphing": [[1, "python-can-do-graphing"]], "3.5 Using Lambda Functions with Pandas": [[3, "using-lambda-functions-with-pandas"]], "3.6 Best Practices for Using Functions": [[3, "best-practices-for-using-functions"]], "3.6 Practice Exercises": [[1, "id2"]], "3.7 Python Can Do More": [[1, "python-can-do-more"]], "4.1 Key Features of Pandas": [[2, "key-features-of-pandas"]], "4.2 Series: The 1D Data Structure": [[2, "series-the-1d-data-structure"]], "4.3 DataFrame: The 2D Data Structure": [[2, "dataframe-the-2d-data-structure"]], "4.4 Reading and Writing Data": [[2, "reading-and-writing-data"]], "4.5 Filtering Data": [[2, "filtering-data"]], "4.6 Practice Exercises": [[2, "id2"]], "Additional Exercises": [[3, "additional-exercises"]], "Advanced Matrix Operations": [[2, "advanced-matrix-operations"]], "Best Practice": [[2, null]], "Creating and Using Arrays": [[2, "creating-and-using-arrays"]], "Exercise": [[3, null]], "Exercise 1": [[3, null]], "Exercise 1: Check if a Number is Even or Odd": [[3, "exercise-1-check-if-a-number-is-even-or-odd"]], "Exercise 2": [[3, null]], "Exercise 2: Sum of All Numbers in a List": [[3, "exercise-2-sum-of-all-numbers-in-a-list"]], "Exercise 3": [[3, null]], "Exercise 3: Factorial of a Number": [[3, "exercise-3-factorial-of-a-number"]], "Exercise 4": [[3, null]], "Exercise 4: Check if a String is a Palindrome": [[3, "exercise-4-check-if-a-string-is-a-palindrome"]], "Exercise 5": [[3, null]], "Exercise 5: Find the Maximum and Minimum Elements in a List": [[3, "exercise-5-find-the-maximum-and-minimum-elements-in-a-list"]], "Generating Arrays with Specific Properties": [[2, "generating-arrays-with-specific-properties"]], "Histograms": [[2, "histograms"]], "Important": [[2, null]], "Infinite Loops": [[3, null]], "Installing NumPy": [[2, "installing-numpy"]], "Introduction": [[3, "introduction"]], "Key Control Structures in Python": [[3, "key-control-structures-in-python"]], "Learning Objectives": [[1, "learning-objectives"], [2, "learning-objectives"], [3, "learning-objectives"]], "Lecture 1: Introduction to Python for the Chemical Sciences": [[1, null]], "Lecture 2: Essential Python Packages for the Chemical Sciences": [[2, null]], "Lecture 3: Control Structures in Python": [[3, null]], "Line Plots": [[2, "line-plots"]], "List Comprehensions": [[3, "list-comprehensions"]], "Lists vs. Dictionaries": [[3, null]], "Looping Through a Dictionary": [[3, "looping-through-a-dictionary"]], "Looping Through a List": [[3, "looping-through-a-list"]], "Looping Through a NumPy Array": [[3, "looping-through-a-numpy-array"]], "Looping Through a Pandas DataFrame": [[3, "looping-through-a-pandas-dataframe"]], "Looping Through a String": [[3, "looping-through-a-string"]], "Matrix and Vector Operations": [[2, "matrix-and-vector-operations"]], "Note": [[3, null]], "Python Lists": [[2, null]], "Reminder": [[2, null]], "Scatter Plots": [[2, "scatter-plots"]], "Section 1: Conditional Statements": [[3, "section-1-conditional-statements"]], "Section 1: NumPy - The Foundation of Scientific Computing in Python": [[2, "section-1-numpy-the-foundation-of-scientific-computing-in-python"]], "Section 2: Loops": [[3, "section-2-loops"]], "Section 2: SciPy - A Powerful Tool for Scientific Computing": [[2, "section-2-scipy-a-powerful-tool-for-scientific-computing"]], "Section 3: Functions": [[3, "section-3-functions"]], "Section 3: Matplotlib - Creating Publication-Quality Visualizations": [[2, "section-3-matplotlib-creating-publication-quality-visualizations"]], "Section 4: Hands-on Practice": [[3, "section-4-hands-on-practice"]], "Section 4: Pandas - Powerful Data Manipulation in Python": [[2, "section-4-pandas-powerful-data-manipulation-in-python"]], "Step 1: Getting Python Installed": [[1, "step-1-getting-python-installed"]], "Step 2: Installing Jupyter Notebook": [[1, "step-2-installing-jupyter-notebook"]], "Step 3: Let\u2019s Get Started with Python": [[1, "step-3-let-s-get-started-with-python"]], "Welcome to Computational Problem Solving in the Chemical Sciences": [[0, null]], "What Are Control Structures?": [[3, "what-are-control-structures"]]}, "docnames": ["intro", "lecture-01-introduction", "lecture-02-packages", "lecture-03-control"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinxcontrib.bibtex": 9}, "filenames": ["intro.md", "lecture-01-introduction.md", "lecture-02-packages.md", "lecture-03-control.md"], "indexentries": {}, "objects": {}, "objnames": {}, "objtypes": {}, "terms": {"": [2, 3], "0": [1, 2, 3], "00": [1, 2], "0000000000000004": 2, "008": 1, "01": 1, "010999999999996": 1, "011": 1, "040756": [], "042757": [], "044403": [], "044783": [], "049373": 2, "051520": [], "067183": [], "07069651": [], "071614": [], "073500": [], "074532": [], "07812993": [], "0783716": [], "08": 2, "08468586": [], "090967": [], "09188008": [], "092201": [], "1": 0, "10": [1, 2, 3], "100": [1, 2], "1000": 2, "102174": [], "11": 2, "113959": [], "11574968": [], "12": 1, "12138546": [], "1225": 3, "12357159": [], "127797": [], "128745": [], "130": 2, "137451": [], "14159": 3, "15": 2, "150": 2, "151212": [], "153355": [], "15383974": [], "154": 2, "15763222": [], "16": [1, 2, 3], "166290": [], "169374": [], "17855413": [], "183777": [], "19971276": [], "2": 0, "20": [], "21459876": [], "21514317": [], "22": [], "220619": [], "22466308": [], "22722108611679165": 1, "23": [], "230942": [], "234381": [], "24": 2, "246372": [], "25": [1, 2, 3], "25097623": [], "253167": [], "254594": [], "25685736": [], "264": 2, "264261": [], "265": 2, "270435": [], "273713": [], "282552": [], "288791": [], "291939": [], "29260813": [], "295068": [], "296185": [], "29978765": [], "2x2": 2, "3": 0, "30": [2, 3], "31016631": [], "318526": 2, "32": 2, "32099643": [], "324007": [], "327": 2, "33026915": [], "3442733": [], "34714337": 2, "35": [2, 3], "350110": [], "36330421": [], "37": 2, "37228132": 2, "373919": [], "39": 2, "391991": 2, "3d": [1, 2], "3x3": 2, "410": 2, "41152632": 2, "41263254": [], "415782": [], "419523": [], "42": 2, "422": 2, "4256142": [], "42638864": [], "429932": [], "430490": [], "435078": [], "435593": 2, "43765552": [], "44": 1, "440513": [], "453202": [], "45398804": [], "460471": [], "468024": [], "47036559": [], "480066": [], "482436": 2, "490528": [], "492423": 2, "49731891": [], "498755": [], "50": 2, "526100": [], "526245": [], "52695194": [], "53": [], "530054": [], "53651539": 2, "545158": [], "555261": 2, "558357": [], "562114": [], "563880": 2, "569610": [], "57": 2, "57219658": [], "575324": [], "582797": [], "5998763": 2, "60": 2, "603": 2, "618404": [], "625": 3, "63": 2, "640340": [], "64181731": [], "64448507": [], "645725": 2, "649707": [], "65": 2, "653721": 2, "65437021": 2, "66805603": [], "670": 2, "67897942": 2, "684116": [], "697682": [], "7": [2, 3], "70292167": [], "703219": [], "70360658": [], "712417": [], "71856743": [], "722833": [], "723356": [], "72436375": [], "73": 2, "733507": 2, "734481": [], "736878": [], "74": 2, "74366638": [], "746566": [], "74807732": [], "75": 2, "763835": [], "76910543": [], "77": 2, "78083219": [], "780922": 2, "78252123": [], "790745": [], "8": [1, 3], "804": 2, "81": 2, "813318": 2, "82": 2, "821785": [], "823132": [], "831357": [], "83257677": [], "840": 2, "841431": 2, "843290": [], "85": 2, "851055": [], "852": 2, "858194": [], "86": 2, "86599082": 2, "87": 2, "872680": [], "879550": [], "88": 2, "884707": [], "88586208": [], "888187": [], "88821188": [], "89": 2, "9": [1, 2, 3], "90": 2, "900": 3, "903735": 2, "913378": [], "919537": [], "922371": [], "923769": [], "92578833": [], "928158": [], "931484": [], "934": 2, "94128165": [], "94459246": [], "95143119": 2, "954706": 2, "957231": [], "96641313": [], "966945": [], "A": [1, 3], "AND": 2, "And": [1, 2], "As": [1, 2], "By": [1, 2, 3], "For": [1, 2], "If": [1, 2, 3], "In": [1, 2, 3], "It": [2, 3], "NOT": 2, "OR": 2, "One": 2, "The": 1, "These": [1, 2, 3], "To": [1, 3], "With": [1, 2], "_2": 1, "abil": 2, "abl": [1, 2, 3], "about": 3, "abov": [1, 2], "academ": 1, "access": [1, 2, 3], "accordingli": 3, "accumul": 3, "achiev": 1, "across": [1, 2, 3], "actinium": 2, "action": 3, "ad": [2, 3], "add": [1, 2, 3], "addit": 1, "addition": 1, "advanc": 1, "after": 1, "ag": 3, "age_squar": 3, "aggreg": 2, "algebra": 2, "alia": 1, "alic": 3, "all": 1, "allow": [1, 2, 3], "along": 2, "also": [1, 2, 3], "altern": 3, "aluminum": 2, "alwai": [2, 3], "americium": 2, "an": [1, 2, 3], "analys": 1, "analysi": [1, 2], "analyz": [1, 2], "anatomi": 2, "ani": [1, 2, 3], "anim": 2, "annot": 2, "anonym": 3, "antimoni": 2, "appear": 1, "appl": 3, "appli": [1, 2, 3], "applic": [1, 2], "approach": 3, "approxim": 1, "ar": [1, 2], "area": [1, 2, 3], "argon": 2, "argument": 3, "arithmet": 1, "around": 1, "arr": 3, "arrai": 1, "ase": 1, "aspect": [2, 3], "assign": 3, "atom": [1, 2], "atomist": 1, "attract": 1, "autom": 1, "automat": 1, "avail": [1, 2], "avoid": 3, "awesom": 1, "ax": 2, "axi": 1, "b": [1, 2], "back": 3, "backward": 3, "banana": 3, "bar": [1, 2], "base": [2, 3], "basic": [1, 3], "becaus": 3, "becom": [2, 3], "befor": [1, 2, 3], "behav": 3, "being": 2, "below": 3, "best": 1, "better": 2, "between": [1, 2], "beyond": [1, 2], "bin": 2, "biologi": 1, "black": 2, "block": 3, "blue": 2, "bob": 3, "bond": 2, "both": [1, 2, 3], "box": 1, "bracket": 2, "bread": 2, "break": 3, "bring": 1, "broadcast": 2, "browser": 1, "build": [2, 3], "built": [1, 2, 3], "butter": 2, "c": [1, 2], "calcul": [1, 2, 3], "calculate_area": 3, "calculu": 1, "call": 3, "caller": 3, "can": [2, 3], "cantera": 1, "capabl": [1, 2], "carbon": 1, "carbon_mass": 1, "carlo": 1, "case": [1, 3], "cater": 2, "caus": 3, "certain": 3, "cesium": 2, "challeng": [1, 3], "chang": 2, "channel": 3, "char": 3, "charact": 3, "charli": 3, "chart": 2, "check": 2, "chemistri": 2, "cherri": 3, "circl": 3, "circular": 2, "citi": 3, "clarif": 3, "class": 2, "clean": 2, "clearli": 3, "co": 1, "code": [1, 2, 3], "cohes": 2, "collect": [2, 3], "color": [1, 2], "column": [2, 3], "combin": 3, "come": 1, "command": [1, 2], "comment": 2, "common": [2, 3], "commonli": [1, 2, 3], "commun": [], "comp": [], "compact": 3, "compar": 3, "complex": [1, 2, 3], "compon": [2, 3], "compound": 1, "comprehens": 2, "comput": [1, 3], "concept": 3, "concis": 3, "conclud": [1, 2], "condit": 2, "condition1": 3, "condition2": 3, "confid": [2, 3], "confirm": 2, "consid": 3, "constant": 1, "constitu": 2, "contain": [1, 2, 3], "continu": [1, 3], "contourpi": [], "control": 0, "conveni": 2, "convert": 3, "core": [2, 3], "cornerston": 2, "correspond": 3, "count": 3, "coupl": 1, "cours": [1, 2], "cover": [1, 2, 3], "creat": [1, 3], "criteria": 2, "critic": 2, "crucial": [1, 3], "csv": 2, "cycler": [], "dash": 2, "data": [1, 3], "databas": 2, "dataset": [2, 3], "dateutil": [], "decis": 3, "decompos": 2, "deepen": 1, "deepli": 2, "def": 3, "default": [1, 2], "definit": 2, "delv": 2, "demonstr": [1, 2], "depend": 3, "describ": 3, "descript": 3, "design": [1, 2, 3], "det": 2, "detail": [1, 2], "determin": [1, 2], "develop": 2, "df": [2, 3], "dictat": 3, "dictionari": 2, "differ": [1, 2, 3], "differenti": [1, 2], "dimension": 2, "dioxid": 1, "directli": [1, 2], "discuss": 3, "displai": [1, 2], "dispos": 1, "distanc": 2, "distribut": 2, "dive": 1, "divers": 1, "divis": [1, 3], "do": 3, "docstr": 3, "document": [1, 2, 3], "doe": 3, "doesn": 1, "don": [1, 2, 3], "dot": [2, 3], "dot_product": 2, "download": 2, "dtype": 2, "duplic": 3, "dure": 1, "dynam": [1, 3], "e": [2, 3], "each": [1, 2, 3], "eas": [1, 2], "easi": 2, "easier": [2, 3], "easili": [1, 2, 3], "ecosystem": 2, "edgecolor": 2, "effect": [], "effici": [2, 3], "eigenvalu": 2, "eigval": 2, "either": 3, "electron": 1, "eleg": [2, 3], "element": 2, "elsewher": 3, "emploi": 1, "enabl": [2, 3], "encapsul": 3, "encount": [1, 2], "end": [1, 2, 3], "energi": 2, "engin": [1, 2], "enhanc": 1, "ensur": [1, 2, 3], "env": [], "environ": [1, 2], "equal": [2, 3], "equat": [1, 2], "equilibria": 2, "equip": 1, "error": 1, "especi": [2, 3], "essenti": [0, 3], "ev": 2, "evalu": 3, "eventu": 3, "everi": 2, "exampl": [1, 2, 3], "excel": [1, 2], "execut": 3, "exist": 3, "expand": 3, "expect": 3, "experi": [1, 3], "explain": [2, 3], "explor": [1, 2, 3], "exponenti": 1, "express": [1, 3], "extend": [1, 2], "extens": 2, "ey": 2, "f": 2, "facilit": 3, "fall": 2, "fals": [2, 3], "far": [1, 2], "feel": 3, "few": [2, 3], "fibonacci": 3, "field": 2, "figur": 2, "file": 2, "fill": 2, "filter": 3, "filtered_df": 2, "final": 1, "find": [1, 2], "first": [1, 2, 3], "fit": 1, "flexibl": [2, 3], "float": [1, 2, 3], "float64": 2, "flow": 3, "fluorin": 2, "focu": [1, 2], "focus": 3, "follow": [1, 2, 3], "fonttool": [], "forget": [2, 3], "form": 3, "format": [1, 2], "forward": [1, 3], "foundat": 1, "fourier": 2, "free": 3, "frequenc": 2, "frequent": [1, 2, 3], "from": [1, 2, 3], "fruit": 3, "full": 2, "function": [1, 2], "function_nam": 3, "fundament": [1, 2, 3], "further": 3, "g": [2, 3], "gain": [1, 2], "gener": 3, "genom": 1, "get": 3, "give": [1, 3], "given": 3, "glimps": 1, "go": 1, "good": 3, "googl": 1, "gram": 1, "graphic": [1, 2], "great": 1, "greater": [2, 3], "greet": 3, "grid": 2, "group": 2, "guid": 3, "h": [1, 3], "ha": [1, 2, 3], "hamiltonian": 2, "handl": [1, 2, 3], "happen": 3, "have": [1, 2, 3], "heavili": 2, "hello": 3, "help": [1, 2, 3], "here": [1, 2, 3], "hesit": [1, 3], "higher": 2, "highli": [1, 2], "hint": [1, 2, 3], "hist": 2, "hold": [1, 2], "how": [1, 2, 3], "howev": 2, "hydrogen": 1, "i": 2, "idea": 3, "ideal": [1, 2], "ident": 2, "imag": 2, "import": [1, 3], "includ": [1, 2, 3], "incredibli": [2, 3], "increment": 3, "indefinit": 3, "index": [2, 3], "indispens": 2, "individu": 3, "industri": 1, "infinit": 2, "inform": [1, 2], "initi": 3, "input": [2, 3], "insid": 3, "insight": 2, "instanc": 1, "instruct": [1, 3], "integ": 2, "integr": 2, "interact": [1, 2], "interfac": 1, "interpol": 2, "interv": 2, "introduct": 0, "inv": 2, "invalu": [1, 2], "invers": 2, "item": [2, 3], "iter": 3, "iterrow": 3, "its": [1, 2, 3], "itself": 3, "journei": 1, "julia": 1, "jupyt": 2, "just": [1, 2, 3], "keep": 3, "kei": 1, "keyword": 3, "kind": 1, "kinet": 1, "kiwisolv": [], "kj": 2, "knowledg": 3, "l": 3, "label": [1, 2], "languag": 1, "larg": [2, 3], "last": 3, "later": 1, "latest": 1, "latex": 1, "lectur": 0, "legend": [1, 2], "less": 3, "let": 2, "leverag": 2, "lib": [], "librari": [1, 2], "like": [1, 2, 3], "linalg": 2, "line": [1, 3], "linear": 2, "linestyl": 2, "linspac": 2, "linux": 1, "list": [], "littl": 3, "live": 1, "ll": [1, 2, 3], "load": 2, "logic": 2, "long": 3, "look": 3, "luck": 3, "m": [1, 2], "m_inv": 2, "mac": 1, "machin": 1, "magnet": 2, "main": 3, "maintain": [2, 3], "major": 1, "make": [1, 2, 3], "mani": [1, 2], "manipul": 1, "manner": 2, "map": 3, "marker": 2, "mass": 1, "master": 1, "materi": 1, "math": 1, "mathemat": 2, "mathematica": 1, "matlab": 1, "matplotlib": 1, "matric": 2, "matter": 1, "max": 3, "maximum": 2, "mean": [1, 2], "mechan": 2, "meet": 2, "mercuri": 2, "merg": [2, 3], "messag": 3, "met": 3, "method": [2, 3], "method_nam": 3, "might": 1, "min": 3, "miniconda3": [], "minimum": 2, "model": 1, "modern": 1, "modifi": [1, 2], "modul": [1, 2], "modular": 3, "modulo": 3, "mol": 2, "molar": 1, "molar_mass": 1, "mole": [1, 2], "molecular": [1, 2], "mont": 1, "more": [2, 3], "most": [2, 3], "move": [1, 3], "much": [1, 2], "multi": 2, "multipl": [1, 2, 3], "multipli": [2, 3], "must": [1, 3], "my_dict": 3, "my_list": [2, 3], "n": [2, 3], "name": [1, 2, 3], "narr": 1, "ndarrai": 2, "need": [1, 2, 3], "never": 3, "new": [1, 3], "new_list": 3, "next": [1, 3], "none": 3, "notat": 3, "notebook": 2, "now": [1, 3], "np": [2, 3], "number": [1, 2], "numer": [1, 2, 3], "numpi": 1, "o": [1, 2, 3], "occur": 3, "offer": [1, 2], "offici": [1, 2], "often": [1, 3], "old_list": 3, "onc": [1, 2], "one": [1, 2, 3], "ones": 2, "onli": [1, 2, 3], "open": 1, "oper": [1, 3], "opportun": 2, "optim": 2, "option": 3, "order": 2, "organ": [1, 2, 3], "orient": 2, "origin": [1, 3], "orthonorm": 2, "other": [1, 2, 3], "otherwis": 3, "our": [1, 2], "out": [1, 2], "output": 2, "over": [2, 3], "overlap": 2, "overleaf": 1, "overview": 2, "own": [1, 3], "oxygen": 1, "oxygen_mass": 1, "p": 2, "packag": [0, 1], "pair": 3, "panda": 1, "paramet": 2, "parenthes": [2, 3], "part": 1, "particularli": [1, 2, 3], "path": 1, "pd": [2, 3], "pdf": 2, "per": 2, "perform": [1, 2, 3], "period": 2, "person": 3, "physic": [1, 2], "pillow": [], "pip": [1, 2], "pip3": 1, "plai": 2, "plot": 1, "plotli": 1, "plt": [1, 2], "png": 2, "point": 2, "popular": 1, "posit": [2, 3], "possibl": [1, 3], "potassium": 2, "power": [1, 3], "pre": 1, "predefin": 2, "predetermin": 3, "predict": 1, "prefix": 1, "prepar": 1, "present": [1, 2], "prevent": 2, "previou": 1, "primari": 2, "primarili": 1, "principl": 2, "print": [2, 3], "prob": [], "problem": [1, 2], "process": [1, 2, 3], "produc": 3, "product": 2, "program": [1, 3], "progress": [1, 2], "project": 1, "prompt": [1, 2], "properti": 1, "provid": [2, 3], "purpos": 2, "put": [1, 3], "pymatgen": 1, "pypars": [], "pyplot": [1, 2], "pyscf": 1, "python": 0, "python3": 1, "quacc": 1, "quantiti": 2, "quantum": [1, 2], "question": 3, "r": 1, "radiu": 3, "rand": 2, "randint": 2, "randn": 2, "random": 2, "rang": [1, 2, 3], "re": [1, 2, 3], "reach": 3, "reaction": [1, 2], "read": 3, "read_csv": 2, "readabl": 2, "readi": [1, 2], "real": 1, "reason": 3, "recogn": 1, "recommend": [1, 2], "red": 2, "reduc": 3, "redund": 3, "refer": [1, 2, 3], "reflect": 1, "regular": 3, "reinforc": 3, "relationship": 2, "reli": 2, "rememb": 1, "remov": 3, "render": 1, "repeat": 3, "repeatedli": 3, "repetit": 3, "report": 2, "repositori": 1, "repres": [1, 2], "requir": [2, 3], "research": 1, "resourc": 1, "respect": 1, "respond": 3, "respons": 3, "result": [1, 2, 3], "return": [2, 3], "reus": 3, "reusabl": 3, "revers": 3, "robust": 2, "role": 2, "root": [1, 2], "routin": 2, "row": [2, 3], "rubidium": 2, "run": [1, 2, 3], "sai": 1, "same": [1, 3], "satisfi": [], "save": 2, "scale": 1, "scatter": 1, "scatterplot": 2, "scientif": 1, "scikit": 1, "scipi": 1, "scratch": 2, "script": 2, "seaborn": 1, "second": 2, "see": [1, 3], "seen": 1, "send": 3, "separ": 2, "sequenc": [2, 3], "sequenti": 3, "seri": 3, "serv": 2, "set": [1, 2, 3], "sever": 1, "shape": 2, "share": 1, "sheet": 1, "short": 3, "should": [1, 2, 3], "show": [1, 2, 3], "shown": 2, "signal": 2, "similar": 2, "simpl": [1, 2, 3], "simplest": 3, "simpli": 1, "simplifi": 2, "simul": 1, "sin": 2, "sine": 2, "singl": 2, "site": [], "six": [], "skill": [1, 2, 3], "skip": 3, "slack": 3, "slice": 3, "small": 3, "smaller": 3, "so": [2, 3], "softwar": [1, 2], "solid": [1, 2], "solut": 2, "solv": [1, 2], "some": [1, 2, 3], "sourc": 2, "special": 1, "specif": 3, "specifi": 3, "spectroscopi": 2, "spread": 2, "spreadsheet": [1, 2], "sql": 2, "sqrt": 1, "squar": [1, 2, 3], "start": [2, 3], "state": 2, "statement": 1, "static": 2, "statist": [1, 2], "statsmodel": 1, "steroid": 2, "stoichiometr": 1, "storag": 2, "store": [1, 2, 3], "straightforward": [1, 2, 3], "strength": [1, 2], "string": 2, "strong": 2, "structur": [0, 1], "style": [1, 2], "subset": 2, "subtract": 1, "suit": [1, 2], "support": [1, 2], "sure": 1, "svg": 2, "symbol": 1, "syntax": [1, 2, 3], "system": [1, 2], "t": [1, 2, 3], "tab": 1, "tabular": [1, 2, 3], "tackl": [1, 2], "tailor": 1, "take": 3, "task": [1, 2, 3], "technic": 2, "techniqu": [1, 2], "termin": [1, 2, 3], "test": 1, "text": 1, "than": [2, 3], "thei": [1, 2, 3], "them": [1, 2, 3], "thermodynam": 1, "thi": [1, 2, 3], "thing": 3, "think": [2, 3], "those": 2, "three": 3, "through": [1, 2], "throughout": 2, "ti": 3, "time": 3, "titl": [1, 2], "to_csv": 2, "todai": 1, "togeth": 3, "too": 3, "tool": 1, "toolkit": 2, "top": [1, 2], "topic": 2, "touch": 1, "tradit": 2, "transform": [2, 3], "transport": 1, "trend": 2, "true": [2, 3], "try": [1, 2, 3], "tupl": 3, "twice": 1, "two": [1, 2, 3], "type": [1, 2, 3], "typic": 1, "u": 3, "ubiquit": 2, "underli": 2, "understand": [1, 2, 3], "uniqu": 3, "unit": 2, "unlik": 3, "unord": 3, "until": 3, "up": [1, 3], "upon": 1, "us": 1, "user": 1, "util": 3, "v": 2, "valu": [1, 2], "variabl": [1, 2, 3], "varieti": [1, 2], "variou": [1, 2], "vast": [1, 2], "ve": [1, 2, 3], "verifi": [1, 2], "versatil": [1, 2, 3], "version": 1, "visit": 1, "visual": 1, "vital": 2, "vowel": 3, "w": 2, "wai": [2, 3], "want": 2, "water": 1, "wavefunct": 2, "we": [1, 2, 3], "web": 1, "websit": 1, "welcom": 1, "well": 3, "wexler": [], "what": [1, 2], "when": [1, 2, 3], "where": 2, "whether": [1, 2, 3], "which": [1, 2, 3], "while": [1, 2], "why": 3, "wide": [1, 2], "wise": 2, "within": [1, 2, 3], "without": 3, "won": 2, "work": [1, 3], "workflow": 1, "workforc": 1, "world": 1, "write": 3, "written": [2, 3], "x": [1, 2, 3], "xenon": 2, "xlabel": [1, 2], "y": [1, 2, 3], "ylabel": [1, 2], "york": 3, "you": [1, 2, 3], "your": [1, 3], "yourself": [1, 3], "ytterbium": 2, "yttrium": 2, "zero": 2, "zinc": 2, "zirconium": 2}, "titles": ["Welcome to Computational Problem Solving in the Chemical Sciences", "Lecture 1: Introduction to Python for the Chemical Sciences", "Lecture 2: Essential Python Packages for the Chemical Sciences", "Lecture 3: Control Structures in Python"], "titleterms": {"": 1, "1": [1, 2, 3], "1d": 2, "2": [1, 2, 3], "2d": 2, "3": [1, 2, 3], "4": [1, 2, 3], "5": [1, 2, 3], "6": [1, 2, 3], "7": 1, "A": 2, "The": [2, 3], "addit": 3, "advanc": 2, "all": 3, "alreadi": 1, "ar": 3, "arrai": [2, 3], "basic": 2, "best": [2, 3], "can": 1, "check": [1, 3], "chemic": [0, 1, 2], "chemistri": 1, "comprehens": 3, "comput": [0, 2], "condit": 3, "control": 3, "creat": 2, "custom": 2, "data": 2, "datafram": [2, 3], "default": 3, "defin": 3, "dictionari": 3, "do": 1, "download": 1, "element": 3, "elif": 3, "els": 3, "essenti": 2, "even": 3, "exercis": [1, 2, 3], "factori": 3, "featur": 2, "filter": 2, "find": 3, "foundat": 2, "function": 3, "gener": 2, "get": 1, "graph": 1, "hand": 3, "higher": 3, "histogram": 2, "i": [1, 3], "import": 2, "infinit": 3, "instal": [1, 2], "introduct": [1, 3], "jupyt": 1, "kei": [2, 3], "lambda": 3, "launch": 1, "learn": [1, 2, 3], "lectur": [1, 2, 3], "let": 1, "line": 2, "list": [2, 3], "loop": 3, "manipul": 2, "mathemat": 1, "matplotlib": 2, "matrix": 2, "maximum": 3, "minimum": 3, "more": 1, "note": [1, 3], "notebook": 1, "number": 3, "numpi": [2, 3], "object": [1, 2, 3], "odd": 3, "oper": 2, "order": 3, "packag": 2, "palindrom": 3, "panda": [2, 3], "paramet": 3, "plot": 2, "power": 2, "practic": [1, 2, 3], "problem": 0, "properti": 2, "public": 2, "python": [1, 2, 3], "qualiti": 2, "read": 2, "remind": 2, "scatter": 2, "scienc": [0, 1, 2], "scientif": 2, "scipi": 2, "section": [2, 3], "seri": 2, "solv": 0, "specif": [1, 2], "start": 1, "statement": 3, "step": 1, "string": 3, "structur": [2, 3], "sum": 3, "through": 3, "tool": 2, "us": [2, 3], "v": 3, "valu": 3, "vector": 2, "visual": 2, "welcom": 0, "what": 3, "while": 3, "window": 1, "work": 2, "write": 2, "your": 2}}) \ No newline at end of file +Search.setIndex({"alltitles": {"": [[1, null], [1, null], [2, null], [2, null], [2, null], [3, null], [3, null]], "1.1 Download and Install Python": [[1, "download-and-install-python"]], "1.1 Key Features of NumPy": [[2, "key-features-of-numpy"]], "1.1 The if Statement": [[3, "the-if-statement"]], "1.2 Check if Python is Already Installed": [[1, "check-if-python-is-already-installed"]], "1.2 The if-else Statement": [[3, "the-if-else-statement"]], "1.2 Working with NumPy Arrays": [[2, "working-with-numpy-arrays"]], "1.3 Practice Exercises": [[2, "practice-exercises"]], "1.3 The if-elif-else Statement": [[3, "the-if-elif-else-statement"]], "1.3 Windows-Specific Note": [[1, "windows-specific-note"]], "2.1 Install Jupyter Notebook": [[1, "install-jupyter-notebook"]], "2.1 Key Features of SciPy": [[2, "key-features-of-scipy"]], "2.1 The for Loop": [[3, "the-for-loop"]], "2.2 Launching Jupyter Notebook": [[1, "launching-jupyter-notebook"]], "2.2 The while Loop": [[3, "the-while-loop"]], "3.1 Defining Functions": [[3, "defining-functions"]], "3.1 Key Features of Matplotlib": [[2, "key-features-of-matplotlib"]], "3.1 Python and Mathematics": [[1, "python-and-mathematics"]], "3.2 Creating Basic Plots with Matplotlib": [[2, "creating-basic-plots-with-matplotlib"]], "3.2 Functions with Default Parameter Values": [[3, "functions-with-default-parameter-values"]], "3.2 Practice Exercises": [[1, "practice-exercises"]], "3.3 Customizing Your Plots": [[2, "customizing-your-plots"]], "3.3 Lambda Functions": [[3, "lambda-functions"]], "3.3 Python Can Do Chemistry": [[1, "python-can-do-chemistry"]], "3.4 Practice Exercises": [[1, "id1"], [2, "id1"]], "3.4 Using Lambda Functions with Higher-Order Functions": [[3, "using-lambda-functions-with-higher-order-functions"]], "3.5 Python Can Do Graphing": [[1, "python-can-do-graphing"]], "3.5 Using Lambda Functions with Pandas": [[3, "using-lambda-functions-with-pandas"]], "3.6 Best Practices for Using Functions": [[3, "best-practices-for-using-functions"]], "3.6 Practice Exercises": [[1, "id2"]], "3.7 Python Can Do More": [[1, "python-can-do-more"]], "4.1 Key Features of Pandas": [[2, "key-features-of-pandas"]], "4.2 Series: The 1D Data Structure": [[2, "series-the-1d-data-structure"]], "4.3 DataFrame: The 2D Data Structure": [[2, "dataframe-the-2d-data-structure"]], "4.4 Reading and Writing Data": [[2, "reading-and-writing-data"]], "4.5 Filtering Data": [[2, "filtering-data"]], "4.6 Practice Exercises": [[2, "id2"]], "Additional Exercise": [[4, null]], "Additional Exercises": [[3, "additional-exercises"]], "Advanced Matrix Operations": [[2, "advanced-matrix-operations"]], "Balancing Chemical Equations": [[6, "balancing-chemical-equations"]], "Best Practice": [[2, null]], "Calculating the Overlap Integral of Two H 1s Orbitals": [[5, "calculating-the-overlap-integral-of-two-h-1s-orbitals"]], "Creating and Using Arrays": [[2, "creating-and-using-arrays"]], "Example: Chemical Reaction Equilibrium via Numerical Method": [[4, "example-chemical-reaction-equilibrium-via-numerical-method"]], "Example: Reduction of Tin(IV) Oxide by Hydrogen": [[6, "example-reduction-of-tin-iv-oxide-by-hydrogen"]], "Exercise": [[3, null], [4, null]], "Exercise 1": [[3, null]], "Exercise 1: Check if a Number is Even or Odd": [[3, "exercise-1-check-if-a-number-is-even-or-odd"]], "Exercise 2": [[3, null]], "Exercise 2: Sum of All Numbers in a List": [[3, "exercise-2-sum-of-all-numbers-in-a-list"]], "Exercise 3": [[3, null]], "Exercise 3: Factorial of a Number": [[3, "exercise-3-factorial-of-a-number"]], "Exercise 4": [[3, null]], "Exercise 4: Check if a String is a Palindrome": [[3, "exercise-4-check-if-a-string-is-a-palindrome"]], "Exercise 5": [[3, null]], "Exercise 5: Find the Maximum and Minimum Elements in a List": [[3, "exercise-5-find-the-maximum-and-minimum-elements-in-a-list"]], "Generating Arrays with Specific Properties": [[2, "generating-arrays-with-specific-properties"]], "Hands-On Activity": [[4, "hands-on-activity"]], "Hands-On Activity: Numerical Integration": [[5, "hands-on-activity-numerical-integration"]], "Histograms": [[2, "histograms"]], "Implementing Root-Finding Methods in Python": [[4, "implementing-root-finding-methods-in-python"]], "Important": [[2, null]], "Infinite Loops": [[3, null]], "Installing NumPy": [[2, "installing-numpy"]], "Introduction": [[3, "introduction"]], "Introduction to Chemical Reaction Equilibria": [[4, "introduction-to-chemical-reaction-equilibria"]], "Key Control Structures in Python": [[3, "key-control-structures-in-python"]], "Learning Objectives": [[1, "learning-objectives"], [2, "learning-objectives"], [3, "learning-objectives"], [4, "learning-objectives"]], "Lecture 1: Introduction to Python for the Chemical Sciences": [[1, null]], "Lecture 2: Essential Python Packages for the Chemical Sciences": [[2, null]], "Lecture 3: Control Structures in Python": [[3, null]], "Lecture 4: Chemical Reaction Equilibria and Roots of Equations": [[4, null]], "Lecture 5: Chemical Bonding and Numerical Integration": [[5, null]], "Lecture 6: Balancing Chemical Equations and Systems of Linear Algebraic Equations": [[6, null]], "Let Us Do Another Example": [[5, "let-us-do-another-example"]], "Let Us Put This To the Test": [[5, "let-us-put-this-to-the-test"]], "Line Plots": [[2, "line-plots"]], "List Comprehensions": [[3, "list-comprehensions"]], "Lists vs. Dictionaries": [[3, null]], "Looping Through a Dictionary": [[3, "looping-through-a-dictionary"]], "Looping Through a List": [[3, "looping-through-a-list"]], "Looping Through a NumPy Array": [[3, "looping-through-a-numpy-array"]], "Looping Through a Pandas DataFrame": [[3, "looping-through-a-pandas-dataframe"]], "Looping Through a String": [[3, "looping-through-a-string"]], "Mathematical Formulation of Equilibrium Problems": [[4, "mathematical-formulation-of-equilibrium-problems"]], "Matrix and Vector Operations": [[2, "matrix-and-vector-operations"]], "Note": [[3, null], [4, null], [5, null], [6, null]], "Numerical Methods for Finding Roots of Equations": [[4, "numerical-methods-for-finding-roots-of-equations"]], "Python Lists": [[2, null]], "Reminder": [[2, null]], "Scatter Plots": [[2, "scatter-plots"]], "Section 1: Conditional Statements": [[3, "section-1-conditional-statements"]], "Section 1: NumPy - The Foundation of Scientific Computing in Python": [[2, "section-1-numpy-the-foundation-of-scientific-computing-in-python"]], "Section 2: Loops": [[3, "section-2-loops"]], "Section 2: SciPy - A Powerful Tool for Scientific Computing": [[2, "section-2-scipy-a-powerful-tool-for-scientific-computing"]], "Section 3: Functions": [[3, "section-3-functions"]], "Section 3: Matplotlib - Creating Publication-Quality Visualizations": [[2, "section-3-matplotlib-creating-publication-quality-visualizations"]], "Section 4: Hands-on Practice": [[3, "section-4-hands-on-practice"]], "Section 4: Pandas - Powerful Data Manipulation in Python": [[2, "section-4-pandas-powerful-data-manipulation-in-python"]], "Solving for Equilibrium": [[4, "solving-for-equilibrium"]], "Solving the System of Equations": [[6, "solving-the-system-of-equations"]], "Step 1: Formulating the Equilibrium Equation": [[4, "step-1-formulating-the-equilibrium-equation"]], "Step 1: Getting Python Installed": [[1, "step-1-getting-python-installed"]], "Step 2: Installing Jupyter Notebook": [[1, "step-2-installing-jupyter-notebook"]], "Step 2: Minimizing the Equilibrium Equation": [[4, "step-2-minimizing-the-equilibrium-equation"]], "Step 3: Let\u2019s Get Started with Python": [[1, "step-3-let-s-get-started-with-python"]], "Systems of Linear Algebraic Equations": [[6, "systems-of-linear-algebraic-equations"]], "The Importance of Initial Guess": [[4, null]], "Wait a Minute!": [[6, null]], "Wait!": [[5, null], [5, null]], "Wait, What\u2019s the Expected Solution?": [[4, null]], "Warning": [[4, null]], "Welcome to Computational Problem Solving in the Chemical Sciences": [[0, null]], "What Are Control Structures?": [[3, "what-are-control-structures"]], "What is an Integral?": [[5, "what-is-an-integral"]], "scipy.optimize.minimize: A Versatile Approach": [[4, "scipy-optimize-minimize-a-versatile-approach"]]}, "docnames": ["intro", "lecture-01-introduction", "lecture-02-packages", "lecture-03-control", "lecture-04-optimization", "lecture-05-integration", "lecture-06-linalg"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinxcontrib.bibtex": 9}, "filenames": ["intro.md", "lecture-01-introduction.md", "lecture-02-packages.md", "lecture-03-control.md", "lecture-04-optimization.md", "lecture-05-integration.md", "lecture-06-linalg.md"], "indexentries": {}, "objects": {}, "objnames": {}, "objtypes": {}, "terms": {"": [2, 3, 5, 6], "0": [1, 2, 3, 4, 5, 6], "00": [1, 2, 4, 5], "0000000000000004": 2, "0000000000000009": [], "000000019073487": 4, "0000003051757815": 4, "0000003433227533": 4, "000000381469727": 4, "000e": 4, "008": 1, "01": 1, "010999999999996": 1, "011": 1, "040756": [], "042757": [], "044403": [], "044783": [], "049373": 2, "051520": [], "060": 4, "067183": [], "07": 4, "07069651": [], "071614": [], "073500": [], "074532": [], "07812993": [], "0783716": [], "08": 2, "08468586": [], "090967": [], "09188008": [], "092201": [], "096565": 5, "096577": 5, "0f": 4, "1": [0, 6], "10": [1, 2, 3, 4, 5], "100": [1, 2, 4, 5], "1000": [2, 4, 5], "102174": [], "11": [2, 4], "113959": [], "11574968": [], "11x": 4, "12": 1, "12138546": [], "1225": 3, "12357159": [], "127797": [], "128745": [], "130": 2, "137451": [], "140199": 5, "140213": 5, "14159": 3, "15": 2, "150": 2, "151212": [], "153355": [], "15383974": [], "154": 2, "15763222": [], "16": [1, 2, 3, 4], "166290": [], "169374": [], "17855413": [], "18": 5, "183777": [], "19": 5, "19971276": [], "1e": 4, "2": [0, 5, 6], "20": [], "200369": 5, "200383": 5, "21459876": [], "21514317": [], "22": [], "220619": [], "2224677478": 4, "22466308": [], "22722108611679165": 1, "23": [], "230942": [], "234381": [], "24": 2, "246372": [], "24999999999998668": [], "25": [1, 2, 3], "25097623": [], "253167": [], "254594": [], "25685736": [], "264": 2, "264261": [], "265": 2, "270435": [], "273713": [], "28": 5, "281017": 5, "281032": 5, "282552": [], "288791": [], "291939": [], "29260813": [], "295068": [], "296185": [], "29978765": [], "2a": 6, "2b": 6, "2c": 6, "2d": 6, "2f": 5, "2n": 6, "2x": 4, "2x2": 2, "3": [0, 4, 5], "30": [2, 3], "31": 4, "31016631": [], "318526": 2, "32": 2, "32099643": [], "324007": [], "327": 2, "33026915": [], "3442733": [], "34714337": 2, "35": [2, 3], "350110": [], "36330421": [], "37": [2, 5], "37228132": 2, "373919": [], "385206": 5, "385223": 5, "39": 2, "391991": 2, "3d": [1, 2], "3n": 6, "3x": 4, "3x3": 2, "4": [0, 5, 6], "400": 4, "410": 2, "41152632": 2, "41263254": [], "415782": [], "419523": [], "42": 2, "422": 2, "4256142": [], "42638864": [], "429932": [], "430490": [], "435078": [], "435593": 2, "43765552": [], "44": 1, "440513": [], "453202": [], "45398804": [], "46": 5, "460471": [], "468024": [], "47036559": [], "480066": [], "482436": 2, "490528": [], "492423": 2, "49731891": [], "498755": [], "4999996185302713": [], "4999998855590835": [], "4a": 6, "4x": 4, "5": 4, "50": 2, "500e": [], "513279": 5, "513297": 5, "526100": [], "526245": [], "52695194": [], "529": 5, "53": [], "530054": [], "53651539": 2, "545158": [], "555261": 2, "558357": [], "562114": [], "563880": 2, "569610": [], "57": 2, "57219658": [], "575324": [], "582797": [], "5998763": 2, "6": [4, 5], "60": 2, "603": 2, "618404": [], "62": 4, "625": 3, "63": 2, "64": 5, "640340": [], "64181731": [], "64448507": [], "645725": 2, "649707": [], "65": 2, "653721": 2, "65437021": 2, "659902": 5, "659921": 5, "66805603": [], "670": 2, "67897942": 2, "684116": [], "697682": [], "6f": 5, "6x": 4, "7": [2, 3, 5], "70292167": [], "703219": [], "70360658": [], "712417": [], "71856743": [], "722833": [], "723356": [], "72436375": [], "73": [2, 5], "733507": 2, "734481": [], "736878": [], "74": 2, "74366638": [], "746566": [], "74807732": [], "75": 2, "76": [], "763835": [], "766e": 4, "76910543": [], "77": 2, "78": 4, "78083219": [], "780922": 2, "78252123": [], "790745": [], "8": [1, 3, 4, 5], "804": 2, "81": 2, "810121": 5, "810141": 5, "813318": 2, "82": [2, 5], "821785": [], "823132": [], "831357": [], "83257677": [], "840": 2, "841431": 2, "843290": [], "85": 2, "851055": [], "852": 2, "858194": [], "86": 2, "86599082": 2, "87": 2, "871706410": [], "872680": [], "879550": [], "88": 2, "881784197001252e": 4, "882e": 4, "884707": [], "88586208": [], "888187": [], "88821188": [], "89": 2, "9": [1, 2, 3, 4], "90": 2, "900": 3, "903735": 2, "91": 5, "913378": [], "916888": 5, "919537": [], "922371": [], "923769": [], "92578833": [], "928158": [], "931484": [], "934": 2, "935911": 5, "935931": 5, "94128165": [], "94459246": [], "95143119": 2, "954706": 2, "957231": [], "96641313": [], "966945": [], "998318": 5, "998337": 5, "A": [1, 3, 6], "AND": 2, "And": [1, 2], "As": [1, 2], "At": 4, "But": 6, "By": [1, 2, 3, 4], "For": [1, 2, 4, 5, 6], "If": [1, 2, 3, 5], "In": [1, 2, 3, 4, 5, 6], "It": [2, 3, 5, 6], "Its": 4, "NOT": 2, "OR": 2, "One": [2, 6], "Or": 6, "That": 5, "The": [1, 5, 6], "Then": 5, "There": [5, 6], "These": [1, 2, 3, 5], "To": [1, 3, 4, 6], "With": [1, 2], "_": 6, "_0": 5, "_2": [1, 4, 6], "_4": 6, "_n": 6, "_x": 6, "_y": 6, "a0": 5, "a_0": 5, "ab": 4, "abil": 2, "abl": [1, 2, 3, 4, 6], "about": [3, 4, 5], "abov": [1, 2, 4], "absolut": 4, "academ": 1, "access": [1, 2, 3, 4], "accordingli": 3, "accumul": 3, "accur": 5, "achiev": [1, 5], "across": [1, 2, 3], "actinium": 2, "action": [3, 4], "actual": [4, 6], "ad": [2, 3], "adapt": 4, "add": [1, 2, 3], "addit": 1, "addition": 1, "address": [], "advanc": 1, "advantag": 4, "affect": 4, "after": 1, "ag": 3, "age_squar": 3, "aggreg": 2, "aim": 4, "algebra": 2, "algegra": 6, "algorithm": 4, "alia": 1, "alic": 3, "align": [5, 6], "alkan": 6, "all": [1, 5, 6], "allow": [1, 2, 3, 4], "along": [2, 5], "alpha": 5, "also": [1, 2, 3, 4, 5, 6], "altern": 3, "aluminum": 2, "alwai": [2, 3, 4, 5], "americium": 2, "amount": 5, "an": [1, 2, 3, 4, 6], "analog": 4, "analys": 1, "analysi": [1, 2], "analyt": [4, 5], "analytical_overlap_integr": 5, "analytical_result": 5, "analyz": [1, 2], "anatomi": 2, "ani": [1, 2, 3, 6], "anim": 2, "annot": 2, "anonym": 3, "antimoni": 2, "appear": 1, "append": 5, "appl": 3, "appli": [1, 2, 3, 4, 5], "applic": [1, 2, 4], "approach": 3, "approx": 5, "approxim": [1, 4, 5], "ar": [1, 2, 4, 5, 6], "area": [1, 2, 3, 5], "arg": 4, "argon": 2, "argument": 3, "arithmet": 1, "around": [1, 5], "arr": 3, "arrai": [1, 4, 6], "ase": 1, "aspect": [2, 3, 5], "assign": 3, "assum": 4, "astyp": 6, "atom": [1, 2, 5, 6], "atomist": 1, "attract": 1, "autom": 1, "automat": 1, "avail": [1, 2], "avoid": [3, 4], "awai": 5, "awesom": [1, 5], "ax": [2, 5], "axhlin": 4, "axi": [1, 4, 5], "b": [1, 2, 5, 6], "back": [3, 5, 6], "backward": 3, "bad": [], "banana": 3, "bar": [1, 2, 4, 5], "base": [2, 3], "basic": [1, 3], "becaus": [3, 4], "becom": [2, 3, 5], "befor": [1, 2, 3, 4, 5, 6], "begin": 6, "behav": 3, "behavior": 4, "being": 2, "below": 3, "benchmark": 5, "best": 1, "better": 2, "between": [1, 2, 4, 5], "beyond": [1, 2], "big": 5, "bin": 2, "biologi": 1, "bisect": 4, "black": [2, 4, 5], "block": 3, "blue": 2, "bmatrix": 6, "bob": 3, "bohr": 5, "bond": 2, "both": [1, 2, 3, 4, 6], "bound": 4, "box": 1, "bracket": 2, "bread": 2, "break": 3, "bring": 1, "broad": 4, "broadcast": 2, "broader": [], "browser": 1, "build": [2, 3], "built": [1, 2, 3], "butter": 2, "c": [1, 2, 6], "calcul": [1, 2, 3, 6], "calculate_area": 3, "calculu": 1, "call": 3, "caller": 3, "can": [2, 3, 4, 5, 6], "cantera": 1, "capabl": [1, 2], "carbon": [1, 6], "carbon_mass": 1, "care": 4, "carlo": 1, "cartesian": 5, "case": [1, 3, 4], "cater": 2, "caus": [3, 5], "caveman": 5, "cdot": 4, "cell": [], "center": 5, "certain": [3, 4], "cesium": 2, "ch": 6, "challeng": [1, 3], "chang": [2, 4], "channel": 3, "char": 3, "charact": 3, "character": 4, "charg": 5, "charli": 3, "chart": 2, "check": [2, 4, 5], "chemistri": [2, 5], "cherri": 3, "choic": 4, "choos": 4, "chop": 5, "circ": 4, "circl": [3, 4], "circular": 2, "citi": 3, "clarif": 3, "class": 2, "classic": [4, 5], "clean": 2, "clearli": [3, 6], "close": 4, "co": [1, 6], "code": [1, 2, 3, 4, 5], "coeffici": [4, 6], "cohes": 2, "collect": [2, 3], "color": [1, 2, 4], "column": [2, 3, 6], "combin": 3, "combust": 6, "come": [1, 5], "command": [1, 2], "comment": 2, "common": [2, 3], "commonli": [1, 2, 3], "commun": [], "comp": [], "compact": 3, "compar": [3, 5], "complex": [1, 2, 3, 4], "compon": [2, 3], "compound": 1, "comprehens": 2, "comput": [1, 3, 5], "concentr": 4, "concept": [3, 4], "concis": 3, "conclud": [1, 2], "condit": [2, 4], "condition1": 3, "condition2": 3, "confid": [2, 3], "confirm": 2, "consid": [3, 4, 5, 6], "consider": 4, "consist": [], "constant": [1, 4, 5], "constitu": 2, "constraint": 4, "contain": [1, 2, 3], "context": 4, "continu": [1, 3], "contourpi": [], "control": 0, "conveni": 2, "converg": 4, "convert": [3, 4, 5, 6], "coordin": 5, "core": [2, 3], "cornerston": [2, 5], "correct": [4, 5], "correspond": 3, "count": 3, "coupl": 1, "cours": [1, 2], "coval": 5, "cover": [1, 2, 3], "creat": [1, 3, 5], "criteria": 2, "critic": 2, "crucial": [1, 3, 4], "csv": 2, "cubic": 4, "cubic_eq": 4, "curv": [4, 5], "cycler": [], "d": [5, 6], "dash": 2, "data": [1, 3], "databas": 2, "dataset": [2, 3], "dateutil": [], "decai": 5, "decim": 4, "decis": 3, "decompos": 2, "deepen": 1, "deepli": 2, "def": [3, 4, 5], "default": [1, 2], "defin": [4, 5, 6], "definit": [2, 5], "delta": 5, "delv": 2, "demonstr": [1, 2, 4], "depend": 3, "deriv": 4, "describ": 3, "descript": 3, "design": [1, 2, 3, 4], "det": 2, "detail": [1, 2], "determin": [1, 2, 4, 5, 6], "develop": 2, "df": [2, 3], "dictat": [3, 5], "dictionari": [2, 4], "differ": [1, 2, 3, 4, 5, 6], "differenti": [1, 2], "difficult": 6, "dimens": 5, "dimension": 2, "dioxid": 1, "directli": [1, 2], "discuss": [3, 5], "displai": [1, 2, 4], "dispos": 1, "dissoci": 4, "distanc": [2, 5], "distribut": 2, "dive": 1, "divers": 1, "divis": [1, 3], "do": [3, 4, 6], "docstr": 3, "document": [1, 2, 3], "doe": [3, 4], "doesn": 1, "don": [1, 2, 3], "done": [4, 5], "dot": [2, 3], "dot_product": 2, "down": 4, "download": 2, "dr": 5, "dtype": 2, "due": [], "duplic": 3, "dure": 1, "dx": 5, "dy": 5, "dynam": [1, 3], "dz": 5, "e": [2, 3, 4, 5], "each": [1, 2, 3, 4, 5, 6], "earlier": 6, "eas": [1, 2], "easi": [2, 5], "easier": [2, 3], "easili": [1, 2, 3], "ecosystem": 2, "edg": 5, "edgecolor": [2, 4, 5], "effect": 4, "effici": [2, 3], "eigenvalu": 2, "eigval": 2, "either": 3, "electron": [1, 5], "eleg": [2, 3], "element": [2, 5, 6], "ellipt": 5, "elsewher": 3, "emphas": [], "emploi": 1, "enabl": [2, 3], "encapsul": 3, "encount": [1, 2], "end": [1, 2, 3, 4, 6], "endpoint": 5, "energet": 5, "energi": [2, 4], "enforc": 4, "engin": [1, 2], "enhanc": 1, "ensur": [1, 2, 3, 4], "enumer": 5, "env": [], "environ": [1, 2], "equal": [2, 3, 4, 6], "equat": [0, 1, 2], "equilibria": [0, 2], "equilibrium_equ": 4, "equip": 1, "erf": 5, "error": 1, "especi": [2, 3, 4], "essenti": [0, 3, 4], "ev": 2, "evalu": [3, 4], "even": 6, "eventu": 3, "everi": 2, "exact": 5, "exampl": [1, 2, 3], "excel": [1, 2], "execut": 3, "exist": 3, "exp": 5, "expand": 3, "expect": 3, "experi": [1, 3, 4], "explain": [2, 3], "explicit": 4, "explor": [1, 2, 3, 4], "exponenti": 1, "express": [1, 3, 4], "extend": [1, 2], "extens": 2, "extent": 4, "ey": 2, "f": [2, 4, 5], "facilit": 3, "factor": 5, "fall": 2, "fals": [2, 3, 5], "far": [1, 2], "feel": 3, "few": [2, 3], "fewest": 5, "fibonacci": 3, "field": 2, "fig": 5, "figsiz": 5, "figur": 2, "file": 2, "fill": 2, "filter": 3, "filtered_df": 2, "final": [1, 4, 5, 6], "final_simplex": 4, "find": [1, 2, 6], "finit": 4, "first": [1, 2, 3, 4, 5, 6], "fit": 1, "flexibl": [2, 3, 4], "float": [1, 2, 3, 4], "float64": 2, "flow": 3, "fluorin": 2, "focu": [1, 2, 5], "focus": 3, "folder": 4, "follow": [1, 2, 3, 4, 5], "fonttool": [], "forget": [2, 3], "form": [3, 5, 6], "formal": 5, "format": [1, 2, 4], "formula": 4, "forward": [1, 3, 4], "found": [4, 6], "foundat": 1, "fourier": 2, "frac": [4, 5, 6], "free": [3, 4], "frequenc": 2, "frequent": [1, 2, 3], "from": [1, 2, 3, 4, 5, 6], "fruit": 3, "full": 2, "fun": 4, "function": [1, 2, 4, 5, 6], "function_nam": 3, "fundament": [1, 2, 3], "further": [3, 6], "g": [2, 3, 4, 6], "gain": [1, 2], "game": 6, "gase": 4, "gaussian": 5, "gener": [3, 4, 6], "genom": 1, "get": [3, 4, 5, 6], "gibb": 4, "give": [1, 3, 6], "given": [3, 4, 5], "glimps": 1, "go": [1, 6], "good": [3, 4], "googl": 1, "govern": 5, "grai": 4, "gram": 1, "graphic": [1, 2], "great": 1, "greater": [2, 3], "greet": 3, "grid": [2, 4, 5], "group": 2, "guess": 5, "guid": 3, "h": [1, 3, 4, 6], "ha": [1, 2, 3, 4, 6], "hamiltonian": 2, "hand": 6, "handl": [1, 2, 3], "happen": [3, 4], "have": [1, 2, 3, 4, 5, 6], "he": 5, "heavili": 2, "height": 5, "hello": 3, "help": [1, 2, 3, 4], "here": [1, 2, 3, 4, 5], "hesit": [1, 3], "high_root_guess": 4, "higher": 2, "highli": [1, 2], "highlight": 4, "hint": [1, 2, 3], "hist": 2, "hold": [1, 2], "how": [1, 2, 3, 4], "howev": [2, 4, 5], "hybrid": 5, "hydrocarbon": 6, "hydrogen": [1, 4, 5], "i": [2, 4, 6], "ic": 4, "idea": 3, "ideal": [1, 2], "ident": 2, "illustr": 4, "imag": 2, "implement": 5, "import": [1, 3, 5, 6], "includ": [1, 2, 3, 4], "inclus": 4, "increas": 5, "incredibli": [2, 3], "increment": [3, 5], "indefinit": 3, "index": [2, 3, 4], "indic": 4, "indispens": 2, "individu": 3, "industri": 1, "infinit": 2, "influenc": 4, "inform": [1, 2, 4], "infti": 5, "initi": [3, 5], "inorgan": 5, "input": [2, 3], "insert": 4, "insid": 3, "insight": 2, "instanc": [1, 4], "instead": [4, 5], "instruct": [1, 3], "int": 6, "int_": 5, "int_0": 5, "int_a": 5, "integ": [2, 6], "integr": 2, "integrand_valu": 5, "integratrion": 5, "interact": [1, 2], "interfac": 1, "interpol": 2, "intersect": 4, "interv": [2, 4, 5], "introduct": 0, "intuit": 5, "inv": 2, "invalu": [1, 2], "invers": 2, "involv": [4, 5], "ipykernel_10087": [], "ipykernel_10290": [], "ipykernel_10894": [], "ipykernel_11504": [], "ipykernel_12070": [], "ipykernel_12261": [], "ipykernel_12756": [], "ipykernel_13537": [], "ipykernel_13999": [], "ipykernel_14380": [], "ipykernel_14625": 4, "ipykernel_20224": [], "ipykernel_20664": [], "ipykernel_20834": [], "ipykernel_21107": [], "ipykernel_21954": [], "ipykernel_22428": [], "ipykernel_22617": [], "ipykernel_26292": [], "ipykernel_26525": [], "ipykernel_26897": [], "ipykernel_27150": [], "ipykernel_27540": [], "ipykernel_27695": [], "ipykernel_28014": [], "ipykernel_28159": [], "ipykernel_28455": [], "ipykernel_28609": [], "ipykernel_28909": [], "ipykernel_29131": [], "ipykernel_29352": [], "ipykernel_30005": [], "ipykernel_30224": [], "ipykernel_30465": [], "ipykernel_31674": [], "ipykernel_31908": [], "ipykernel_32080": [], "ipykernel_32531": [], "ipykernel_34814": [], "ipykernel_35168": [], "ipykernel_35574": [], "ipykernel_3669": [], "ipykernel_4171": [], "ipykernel_4437": [], "ipykernel_4962": [], "ipykernel_5297": [], "ipykernel_5780": [], "ipykernel_6053": [], "ipykernel_6165": [], "ipykernel_6610": [], "ipykernel_6946": [], "ipykernel_7270": [], "ipykernel_8585": [], "ipykernel_9023": [], "ipykernel_96621": [], "ipykernel_97096": [], "ipykernel_97762": [], "ipykernel_98107": [], "ipykernel_98323": [], "ipykernel_98609": [], "ipykernel_98736": [], "ipykernel_99350": [], "ipykernel_99922": [], "item": [2, 3], "iter": [3, 4], "iterrow": 3, "its": [1, 2, 3, 4], "itself": 3, "j": 5, "journei": 1, "julia": 1, "jupyt": 2, "just": [1, 2, 3, 5], "k": [4, 5], "k_p": 4, "keep": 3, "kei": 1, "keyword": 3, "kind": 1, "kinet": 1, "kiwisolv": [], "kj": 2, "knowledg": 3, "l": 3, "label": [1, 2, 4, 5], "languag": 1, "larg": [2, 3], "last": [3, 6], "later": 1, "latest": 1, "latex": 1, "latter": 5, "law": 4, "lectur": 0, "left": [4, 5, 6], "legend": [1, 2, 4, 5], "len": 5, "less": [3, 5], "let": [2, 4, 6], "leverag": 2, "li": 4, "lib": [], "librari": [1, 2, 6], "lie": 4, "like": [1, 2, 3, 5, 6], "lim_": 5, "limit": [4, 5], "linalg": [2, 6], "line": [1, 3], "linear": 2, "linestyl": [2, 4], "linspac": [2, 4, 5], "linux": 1, "list": [], "littl": 3, "live": 1, "ll": [1, 2, 3, 4, 6], "load": 2, "local": 5, "logic": 2, "long": 3, "look": [3, 6], "lost": 6, "low_root_guess": 4, "luck": 3, "m": [1, 2, 6], "m_inv": 2, "mac": 1, "machin": 1, "magnet": 2, "mai": 6, "main": 3, "maintain": [2, 3], "major": 1, "make": [1, 2, 3, 5, 6], "mani": [1, 2, 6], "manipul": 1, "manner": 2, "map": 3, "marker": 2, "mass": [1, 4, 6], "master": 1, "match": 4, "materi": [1, 5], "math": 1, "mathbf": 6, "mathemat": [2, 5], "mathematica": 1, "matlab": 1, "matplotlib": [1, 4, 5], "matric": 2, "matrix": 6, "matter": [1, 5], "max": 3, "maximum": 2, "mayb": 6, "mead": 4, "mean": [1, 2], "meaning": 4, "mechan": [2, 5], "medium_root_guess": 4, "meet": 2, "mercuri": 2, "merg": [2, 3], "messag": [3, 4], "met": 3, "methan": 6, "method": [2, 3, 5], "method_nam": 3, "midpoint": 4, "might": 1, "min": [3, 6], "miniconda3": [], "minimum": 2, "mixtur": 4, "model": 1, "modern": 1, "modifi": [1, 2, 4], "modul": [1, 2], "modular": 3, "modulo": 3, "mol": [2, 4], "molar": 1, "molar_mass": 1, "mole": [1, 2, 4], "molecular": [1, 2, 5], "mont": 1, "more": [2, 3, 4, 5, 6], "most": [2, 3], "move": [1, 3, 5], "much": [1, 2], "multi": [2, 4], "multipl": [1, 2, 3, 4], "multipli": [2, 3, 6], "must": [1, 3, 4], "my_dict": 3, "my_list": [2, 3], "n": [2, 3, 5, 6], "n9": 4, "n_valu": 5, "name": [1, 2, 3], "nameerror": [], "narr": 1, "narrow": 4, "ndarrai": 2, "need": [1, 2, 3, 4, 5, 6], "nelder": 4, "net": 4, "never": 3, "new": [1, 3, 4, 5], "new_list": 3, "newton": 4, "next": [1, 3, 6], "nfev": 4, "nit": 4, "non": [], "none": 3, "nonlinear": 4, "normal": [5, 6], "normalization_factor": 5, "notat": 3, "notebook": 2, "notic": 6, "now": [1, 3, 4, 5, 6], "np": [2, 3, 4, 5, 6], "nriemann": 5, "nucleu": 5, "null": 6, "null_spac": 6, "number": [1, 2, 4, 5, 6], "numer": [1, 2, 3], "numerical_result": 5, "numpi": [1, 4, 5, 6], "o": [1, 2, 3, 4, 5, 6], "obei": 4, "objective_funct": 4, "observ": 4, "obtain": 4, "occur": [3, 4], "offer": [1, 2], "offici": [1, 2], "often": [1, 3, 4], "ok": [5, 6], "old_list": 3, "onc": [1, 2], "one": [1, 2, 3, 4, 5], "ones": 2, "onli": [1, 2, 3], "open": 1, "oper": [1, 3], "operand": [], "opportun": 2, "optim": 2, "optimizewarn": 4, "option": 3, "order": [2, 6], "organ": [1, 2, 3, 5], "orient": [2, 5], "origin": [1, 3, 5], "orthonorm": 2, "other": [1, 2, 3, 4, 5, 6], "otherwis": 3, "our": [1, 2, 5, 6], "out": [1, 2, 5], "outcom": 4, "output": [2, 4, 5], "outsid": 4, "over": [2, 3, 5], "overlap": 2, "overlap_integr": 5, "overleaf": 1, "overview": 2, "own": [1, 3, 5], "oxygen": [1, 4, 6], "oxygen_mass": 1, "p": [2, 4], "p_": 4, "packag": [0, 1], "pair": 3, "panda": 1, "paramet": [2, 4], "parenthes": [2, 3], "part": [1, 4], "partial": 4, "particl": 5, "particularli": [1, 2, 3, 4], "path": 1, "pd": [2, 3], "pdf": 2, "per": 2, "percentag": 4, "perform": [1, 2, 3, 4, 5], "period": 2, "person": 3, "phenomenon": 5, "phi": 5, "physic": [1, 2, 4, 5], "pi": 5, "pillow": [], "pip": [1, 2], "pip3": 1, "place": 4, "placehold": 4, "plai": [2, 4, 5, 6], "plot": [1, 4, 5], "plotli": 1, "plt": [1, 2, 4, 5], "pm": 4, "png": 2, "point": [2, 4, 5, 6], "popular": 1, "posit": [2, 3], "possibl": [1, 3, 5], "potassium": 2, "power": [1, 3, 4, 5], "practic": [4, 5], "pre": 1, "precis": 6, "predefin": 2, "predetermin": 3, "predict": [1, 4], "prefix": 1, "prepar": [1, 5], "presenc": 6, "present": [1, 2], "pressur": 4, "pretti": 5, "prevent": 2, "previou": 1, "primari": 2, "primarili": [1, 5], "principl": 2, "print": [2, 3, 4, 5, 6], "prob": [], "problem": [1, 2, 6], "proce": [4, 5], "proceed": 4, "process": [1, 2, 3, 4], "produc": 3, "product": [2, 4, 6], "program": [1, 3], "progress": [1, 2, 4], "project": 1, "prompt": [1, 2], "properti": [1, 5], "prove": 5, "provid": [2, 3, 4, 5], "proxim": 5, "psi_": 5, "psi_i": 5, "psi_j": 5, "purpos": 2, "put": [1, 3], "py": 4, "pymatgen": 1, "pypars": [], "pyplot": [1, 2, 4, 5], "pyscf": 1, "python": [0, 5, 6], "python3": 1, "q030dl3x6qgfqffys4wc7d4c0000gn": 4, "quacc": 1, "quad": [], "quadrat": 4, "quadratic_eq": [], "quadratic_equ": 4, "quadratur": 5, "quantifi": 5, "quantiti": [2, 4], "quantum": [1, 2, 5], "question": 3, "quickli": 4, "r": [1, 4, 5], "r1": 5, "r2": 5, "r_valu": 5, "radiu": [3, 5], "rais": 4, "rand": 2, "randint": 2, "randn": 2, "random": 2, "rang": [1, 2, 3, 4, 5], "raphson": 4, "rapidli": 5, "rate": 4, "ratio": 4, "re": [1, 2, 3, 6], "reach": [3, 4], "reactant": [4, 6], "reaction": [0, 1, 2, 6], "read": 3, "read_csv": 2, "readabl": 2, "readi": [1, 2], "real": [1, 4], "realli": 5, "reason": 3, "recal": 5, "recast": 6, "recent": [], "recogn": 1, "recommend": [1, 2], "rectangl": 5, "red": [2, 4], "reduc": 3, "redund": 3, "refer": [1, 2, 3], "reflect": [1, 4], "regular": 3, "reinforc": 3, "relat": [4, 5], "relationship": 2, "reli": 2, "remain": 4, "rememb": [1, 6], "remov": 3, "render": 1, "repeat": 3, "repeatedli": 3, "repetit": 3, "replac": 4, "report": 2, "repositori": 1, "repres": [1, 2, 4], "requir": [2, 3, 4], "research": 1, "resourc": 1, "respect": [1, 4, 5], "respond": 3, "respons": 3, "result": [1, 2, 3, 4, 5], "return": [2, 3, 4, 5], "reus": 3, "reusabl": 3, "revers": [3, 4], "rewrit": 5, "riemann": 5, "riemann_sum": 5, "riemann_sum_valu": 5, "right": [4, 5, 6], "rightarrow": 6, "rightleftharpoon": 4, "robust": 2, "role": [2, 4, 5], "root": [0, 1, 2], "round": 6, "routin": 2, "row": [2, 3, 6], "rubidium": 2, "rule": 5, "run": [1, 2, 3, 4], "s_analyt": 5, "s_numer": 5, "s_sum": 5, "sai": [1, 5], "same": [1, 3, 6], "satisfi": [4, 6], "satur": 6, "save": 2, "scale": 1, "scatter": [1, 4], "scatterplot": 2, "scenario": [], "scienc": [4, 5, 6], "scientif": 1, "scikit": 1, "scipi": [1, 5, 6], "scratch": 2, "script": 2, "seaborn": 1, "secant": 4, "second": 2, "see": [1, 3, 4, 5, 6], "seen": 1, "send": [3, 6], "separ": [2, 5], "sequenc": [2, 3], "sequenti": 3, "seri": [3, 5], "serv": 2, "set": [1, 2, 3, 4, 6], "set_titl": 5, "set_xlabel": 5, "set_ylabel": 5, "sever": [1, 5], "shape": 2, "share": [1, 5], "sheet": 1, "short": 3, "should": [1, 2, 3, 4], "show": [1, 2, 3, 4, 5], "shown": 2, "side": 6, "signal": 2, "similar": [2, 5], "simpl": [1, 2, 3, 4], "simplest": 3, "simpli": [1, 6], "simplic": [], "simplifi": [2, 4], "simpson": 5, "simul": 1, "sin": [2, 5], "sine": [2, 5], "singl": 2, "site": [], "six": [], "size": 5, "skill": [1, 2, 3], "skip": 3, "slack": 3, "slice": 3, "slowli": 5, "small": [3, 5], "smaller": 3, "smallest": 6, "sn": 6, "sno": 6, "so": [2, 3, 5, 6], "softwar": [1, 2], "solid": [1, 2, 5], "solut": [2, 5, 6], "solv": [1, 2, 5], "some": [1, 2, 3], "sourc": 2, "space": [5, 6], "spatial": 5, "speci": 4, "special": [1, 5], "specif": 3, "specifi": [3, 4], "spectroscopi": 2, "spheric": 5, "split": 4, "spread": 2, "spreadsheet": [1, 2], "sql": 2, "sqrt": [1, 4, 5], "squar": [1, 2, 3], "stai": 4, "standard": 4, "start": [2, 3, 4, 5, 6], "state": [2, 4, 5], "statement": [1, 4], "static": 2, "statist": [1, 2], "statsmodel": 1, "statu": 4, "step": [5, 6], "steroid": 2, "still": 4, "stoichiometr": [1, 4, 6], "storag": 2, "store": [1, 2, 3], "straightforward": [1, 2, 3], "strength": [1, 2], "string": 2, "strong": 2, "structur": [0, 1], "struggl": [], "style": [1, 2], "subplot": 5, "subset": 2, "substitut": [4, 6], "subtract": 1, "success": 4, "successfulli": 4, "suit": [1, 2], "suitabl": 4, "sum": 5, "sum_": 5, "support": [1, 2], "suptitl": 5, "sure": [1, 5, 6], "svg": 2, "symbol": 1, "symmetr": 5, "symmetri": 5, "syntax": [1, 2, 3], "system": [1, 2, 4, 5], "t": [1, 2, 3, 4], "tab": 1, "tabl": [4, 6], "tabular": [1, 2, 3], "tackl": [1, 2], "tailor": 1, "take": [3, 5], "task": [1, 2, 3], "taught": 6, "technic": 2, "techniqu": [1, 2], "temperatur": 4, "term": [4, 6], "termin": [1, 2, 3, 4], "test": 1, "text": [1, 4, 6], "than": [2, 3], "thei": [1, 2, 3, 4], "them": [1, 2, 3], "therefor": 5, "thermodynam": 1, "theta": 5, "thi": [1, 2, 3, 4, 6], "thing": [3, 6], "think": [2, 3, 5], "those": [2, 5, 6], "three": [3, 4, 5], "through": [1, 2, 5], "throughout": 2, "ti": 3, "tight_layout": 5, "time": 3, "titl": [1, 2, 4, 5], "to_csv": 2, "todai": 1, "togeth": 3, "tol": 4, "toler": 4, "too": 3, "tool": [1, 4], "toolkit": 2, "top": [1, 2], "topic": 2, "total": [4, 5], "touch": 1, "tough": 5, "toward": 4, "traceback": [], "tradit": [2, 4], "train": 6, "transform": [2, 3], "transport": 1, "trapezoid": 5, "trend": 2, "true": [2, 3, 4], "try": [1, 2, 3, 6], "tupl": 3, "turn": 5, "twice": 1, "two": [1, 2, 3, 6], "type": [1, 2, 3, 5], "typeerror": [], "typic": [1, 4], "u": 3, "ubiquit": 2, "under": [4, 5], "underli": 2, "understand": [1, 2, 3, 4], "uniqu": 3, "unit": 2, "unknown": 6, "unlik": 3, "unnecessarili": 6, "unord": 3, "unphys": [], "unsatur": 6, "until": 3, "up": [1, 3, 4], "upon": 1, "us": [1, 4, 5, 6], "user": 1, "util": [3, 4], "v": 2, "valid": [], "valu": [1, 2, 4, 5, 6], "valuabl": [], "vapor": 4, "var": 4, "variabl": [1, 2, 3, 4], "varieti": [1, 2], "variou": [1, 2, 5], "vast": [1, 2], "ve": [1, 2, 3, 5], "vector": 6, "verifi": [1, 2], "versatil": [1, 2, 3], "version": 1, "view": 5, "visit": 1, "visual": [1, 4, 5], "vital": 2, "volum": 5, "vowel": 3, "w": 2, "wa": 6, "wai": [2, 3, 5], "want": 2, "water": [1, 4, 6], "wavefunct": 2, "we": [1, 2, 3, 4, 5, 6], "web": 1, "websit": 1, "weight": 5, "welcom": 1, "well": 3, "were": 6, "wexler": [], "what": [1, 2, 6], "when": [1, 2, 3, 4, 5], "where": [2, 4, 5, 6], "whether": [1, 2, 3], "which": [1, 2, 3, 4, 5], "while": [1, 2, 4], "why": 3, "wide": [1, 2, 4], "width": 5, "wise": 2, "within": [1, 2, 3, 4], "without": [3, 4, 5], "won": 2, "word": [5, 6], "work": [1, 3, 4], "workflow": 1, "workforc": 1, "world": 1, "would": 4, "write": [3, 4, 5, 6], "written": [2, 3, 5, 6], "x": [1, 2, 3, 4, 5, 6], "x0": 4, "x_i": 5, "x_max": 5, "x_min": 5, "x_valu": 4, "xenon": 2, "xlabel": [1, 2, 4, 5], "xp": [], "y": [1, 2, 3, 5, 6], "y_max": 5, "y_min": 5, "yield": 4, "ylabel": [1, 2, 4, 5], "york": 3, "you": [1, 2, 3, 4, 5, 6], "your": [1, 3, 5], "yourself": [1, 3], "ytterbium": 2, "yttrium": 2, "z": 5, "z_max": 5, "z_min": 5, "zero": [2, 4, 6], "zinc": 2, "zip": 5, "zirconium": 2, "zorder": 4, "zr": 5, "\u00e5": 5}, "titles": ["Welcome to Computational Problem Solving in the Chemical Sciences", "Lecture 1: Introduction to Python for the Chemical Sciences", "Lecture 2: Essential Python Packages for the Chemical Sciences", "Lecture 3: Control Structures in Python", "Lecture 4: Chemical Reaction Equilibria and Roots of Equations", "Lecture 5: Chemical Bonding and Numerical Integration", "Lecture 6: Balancing Chemical Equations and Systems of Linear Algebraic Equations"], "titleterms": {"": [1, 4], "1": [1, 2, 3, 4, 5], "1d": 2, "2": [1, 2, 3, 4], "2d": 2, "3": [1, 2, 3], "4": [1, 2, 3, 4], "5": [1, 2, 3, 5], "6": [1, 2, 3, 6], "7": 1, "A": [2, 4], "On": [4, 5], "The": [2, 3, 4], "To": 5, "activ": [4, 5], "addit": [3, 4], "advanc": 2, "algebra": 6, "all": 3, "alreadi": 1, "an": 5, "anoth": 5, "approach": 4, "ar": 3, "arrai": [2, 3], "balanc": 6, "basic": 2, "best": [2, 3], "bond": 5, "calcul": 5, "can": 1, "check": [1, 3], "chemic": [0, 1, 2, 4, 5, 6], "chemistri": 1, "comprehens": 3, "comput": [0, 2], "condit": 3, "control": 3, "creat": 2, "custom": 2, "data": 2, "datafram": [2, 3], "default": 3, "defin": 3, "dictionari": 3, "do": [1, 5], "download": 1, "element": 3, "elif": 3, "els": 3, "equat": [4, 6], "equilibria": 4, "equilibrium": 4, "essenti": 2, "even": 3, "exampl": [4, 5, 6], "exercis": [1, 2, 3, 4], "expect": 4, "factori": 3, "featur": 2, "filter": 2, "find": [3, 4], "formul": 4, "foundat": 2, "function": 3, "gener": 2, "get": 1, "graph": 1, "guess": 4, "h": 5, "hand": [3, 4, 5], "higher": 3, "histogram": 2, "hydrogen": 6, "i": [1, 3, 5], "implement": 4, "import": [2, 4], "infinit": 3, "initi": 4, "instal": [1, 2], "integr": 5, "introduct": [1, 3, 4], "iv": 6, "jupyt": 1, "kei": [2, 3], "lambda": 3, "launch": 1, "learn": [1, 2, 3, 4], "lectur": [1, 2, 3, 4, 5, 6], "let": [1, 5], "line": 2, "linear": 6, "list": [2, 3], "loop": 3, "manipul": 2, "mathemat": [1, 4], "matplotlib": 2, "matrix": 2, "maximum": 3, "method": 4, "minim": 4, "minimum": 3, "minut": 6, "more": 1, "note": [1, 3, 4, 5, 6], "notebook": 1, "number": 3, "numer": [4, 5], "numpi": [2, 3], "object": [1, 2, 3, 4], "odd": 3, "oper": 2, "optim": 4, "orbit": 5, "order": 3, "overlap": 5, "oxid": 6, "packag": 2, "palindrom": 3, "panda": [2, 3], "paramet": 3, "plot": 2, "power": 2, "practic": [1, 2, 3], "problem": [0, 4], "properti": 2, "public": 2, "put": 5, "python": [1, 2, 3, 4], "qualiti": 2, "reaction": 4, "read": 2, "reduct": 6, "remind": 2, "root": 4, "scatter": 2, "scienc": [0, 1, 2], "scientif": 2, "scipi": [2, 4], "section": [2, 3], "seri": 2, "solut": 4, "solv": [0, 4, 6], "specif": [1, 2], "start": 1, "statement": 3, "step": [1, 4], "string": 3, "structur": [2, 3], "sum": 3, "system": 6, "test": 5, "thi": 5, "through": 3, "tin": 6, "tool": 2, "two": 5, "u": 5, "us": [2, 3], "v": 3, "valu": 3, "vector": 2, "versatil": 4, "via": 4, "visual": 2, "wait": [4, 5, 6], "warn": 4, "welcom": 0, "what": [3, 4, 5], "while": 3, "window": 1, "work": 2, "write": 2, "your": 2}}) \ No newline at end of file

  • Lecture 1: Introduction to Python for the Chemical Sciences