From ea6411c730befe4e0e4091caa6f03379ad3712cc Mon Sep 17 00:00:00 2001 From: Cirdans-Home Date: Thu, 11 Mar 2021 09:28:02 +0100 Subject: [PATCH] Fixed table splitting among pages --- docs/amg4psblas_1.0-guide.pdf | Bin 1767566 -> 1773398 bytes docs/html/index.html | 24 +- docs/html/userhtml.css | 14 +- docs/html/userhtml.html | 24 +- docs/html/userhtmlli2.html | 12 +- docs/html/userhtmlli4.html | 105 ++-- docs/html/userhtmlse1.html | 28 +- docs/html/userhtmlse4.html | 8 +- docs/html/userhtmlse6.html | 24 +- docs/html/userhtmlse7.html | 6 +- docs/html/userhtmlsu1.html | 14 +- docs/html/userhtmlsu10.html | 114 ++-- docs/html/userhtmlsu11.html | 116 ++-- docs/html/userhtmlsu12.html | 108 ++-- docs/html/userhtmlsu13.html | 38 +- docs/html/userhtmlsu14.html | 80 +-- docs/html/userhtmlsu15.html | 192 +++--- docs/html/userhtmlsu2.html | 6 +- docs/html/userhtmlsu6.html | 2 +- docs/html/userhtmlsu8.html | 1033 ++++++++++++++++++--------------- docs/html/userhtmlsu9.html | 70 +-- docs/src/bibliography.tex | 5 + docs/src/overview.tex | 2 +- docs/src/userguide.tex | 1 + docs/src/userinterface.tex | 146 +++-- 25 files changed, 1160 insertions(+), 1012 deletions(-) diff --git a/docs/amg4psblas_1.0-guide.pdf b/docs/amg4psblas_1.0-guide.pdf index 2303b96c067f36243a5d0ed7743cda5e684e5653..60f23ddf8f4e2a0d86310f6942a290db5462d32f 100644 GIT binary patch delta 63747 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 V_mx?V7>$KuVX3iz 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 z zJn#A|=d-4=p=}1Am;02OlE$jZvY567`8DM;t@AbWp{u{zwt(#XUbp(R_2+c>J@wzL z=~#AF$LXE2FW&6PreUUXV;)@+XIA$paoX%Q%WrLQ#$NYA^jM_Mo^$jOvu7@v$#hD` zTIbC<;&A_I+C2a7f-%`t>$K^IPn$h+iWXBnb8+?A)rx~E?-uNd10>qQXWahfX=Y&F z1}z>$D3_&j`F4Pj$FU*{i-C$X3OE5c{OIStJgzt(S@#kkOj~Th_AIouP#(6$0J;8b zQ(K=w%&0S!8HU$W;w5H~z9WE9H?y|KLGn*1F|CDkSX60n(QPGWI8e%kf5l3Cxr6}B zO>es8y&C5)CJJ@V?_&tk*h~CF&sIe>bk1K-Yz+F~5B~fP*k{8^hBuvTUAO!^DkuKG4WQIy;G%DI@Nm48J)_|Bv9s2AOf*!eP=~tHR!HiPhtKf`e0hC3>}b4 zwFWbU@O(Q%^snV$S@@`l91)0^fJA;d%V|N17Qp>0mUo`YG{ptmI!lGNeI3rsb?cUY zMW-%Fm#ywtyRLJUEpwxm3Cx8P+|t-D^c?gC-C=ijKmndC1^8P$*OfTDTA_0y+X}wm z|6YFv^3{IH`F~Ii0ZnWOZxKy~BD7eK1~S~ATFX|iWR6tz5kt z;s&pSslEbT;1?athJZvVpzRbGy`9gD)9SVBWb?viw}x#2x*IX3_M#~>XSZo?-3`d}+2zKXG!+LX?l#iH#Kk7*0cB%l`*!Kz zz_JN)g_h0yBad8s*i1kx-&{!$l8A>bEV^KU_D5f08U~VX^wCEgRmiAj(Sgmh^{Qd& zeNly&D+kYK!&Ch^HnEUdRnY=pPBVCRXpnOGWa|d28}vzanf|qMmJEUm>l0=rXNE6onPr(fwa*ktnAP+;^7oKv%f$i6<1KGwt}dQ zcJCTuQ!hI^Ol2*01jaPxutv~#HJBCME9Ef9E91{=G0o|SXTEBYa*HSggdhq5J01S3TYD3 zm@xh7Fs=xF2@6x0ur5O|sfJn=l1^#JP;v^Ne3%Y+aAGZTjG(9<$@1#SBw#FP+kM8& z&}3?K7D{WAx9d$)x&F=&g@3CVykjhiP!Z-bHY~O$WdHxToff9AU<)Oy_MCj=nMBaZ zLXruJ&gbe_uW7e}gm&>2bhVHY$R=1h_p4Jkq=u6D<^H(8nOqxmw|8;`3l57|dkQ== zOuwMT3=8|+GrbQpGyokFfZLtnPc7!ux*V_oz_Wg04LWClIj+`EMFcy@rrbNgoE*N% zVl@)sInbOQ60WG8A}Ah0#W0iynp{9RTno%&jgfEsUmRcR<*4A4j&{Q0N$^oVXSYT} z!naTr4@O>}ApKs$+L{?P^9lobu&R}V@eLKK{(IC6DvV^W47;_#_Z-$-$#BwOe6wML z*9T`$sfK8wh4&D+=um`uEmQGhJsG3=wu=(l9gM1Rxo8F7o&=Gtp3dPSN!OtqztEo=R)`f{aHFH~qsl5E#M% z0J34YNmQpo9mej(;iffAg8zksRphndc>IEyTQrogR$aG4s7$}4q+eb)(s*Wo&xvp_ zvAPz-x4TZTJaPd$;@boEk=l_3cI=(FYJ)i>n9_jrHg)lo?wvfeJi>V$=K1ZY?ssYf>!?|XRGiPw3M8F0-_?FKGw5hdQdn(Rc zzzjjD>T4|pEF#k3PL$OC8q-hEm!>vF$Py&YUmS8vLg=B8?HRy42^7+(z{cqhi z&X@`|%4KqhMRmr#-p}BS{)q#MH$NvtP(9{8 zp$f@QuLJEQhBQcOaqN&dexmJJ)*Omprx3@SW)&v&`DOHsIY%u%xUYQC%mwqT(>oH9 zuUCOBz?kfj>{XzjO}*a%^$NM>*TZHi+QY{FJ!{S=yu;Wc!dp(snUm{s8UY9;3*Btf zO-DZc%JpT8t;_1tosdTa;^?d>$B)T^TJC??MAeZ_=;B_Jwtk~3#n3PYpyJz~fxL%Q z?2!j2HWBNxd5xKkPs?Vow5$&pEmKr}kXCW!GXt6iSpu5QKYIRxqYh5gqvy{$_=ltB z9sPwL>=+T|6p0))dhWF8M;EJmQOrPx!aeXjD4${wQ-y(`J&7O7U zDzV-^ZRSrlqwDTpkGQntvS)QA0&a4aH+3h8=Xo{Iwhwxj|xpv;sU<0gN zuA5>;ggl`xJpw%C(J5wm;T@j-Y#MLDR1>XIxC&D`my#(SA`xrJk$vCeEQA(*RrbX0trSyPX7r3SRR?DXC4HV#B#pG+Mm{Qyf*y8ppfGCsTj zhNi(|YBXps*^`O!fP}+rYdh48uh(`Jy*vF-v!idK^&IIt-HefM-Q>73ZMqpy4$JFi zwfo*O{fCFtQU_U#&=;%Hj##b0B?sG}F*?@Et~Jge>?7s|rc97f{(HJ zQEQif)dDWPD5A4m-Fs@t`>SRUe$E@x1tNbFzT)dF2c%lov3^IVX_nXwr?P=#j?iU= zyizxlVO3{h1BMxfRQDH!FnEc=)z0}<$!9Cf2-y^mR5YjqHP0d?{9=={`PVL=!j~&n zYKVtTZi8eXMNp8RoE04iZQ!aQnR+(dotXn?Rl~_o-OffkfiEu;$z=aAe+!p|J8p_tA*(@hC4%s%l6I{@Od@%q= zrZ2}Z`dnj&b)yff^HMPvc31dmQmv;h$D6bKlnuf6l=2Zm09FF7sP2N!B40_sb*NWrgPbH zwF)~ecGB(G%JgRM5MeLOR1gX*0Naig9p|pzV8<)nYD-S1TfKGaW8rMAUO?U zBWF92jrI|sc=h4we$M!y(3G!vrL02h* zmx^qy>$DR%)4Hg0WyjjH#;d9ku})c#V%N*V zCmJ`Dq8xd|f;BF$o@frKML+7^Dt(u<*j7Orvk6`!CK^*7^IM^Q1~1I|^(AIjB+v=! z9OTF_+ano#I#%mzb4{cnv;_{LW~@g;-?PB#X-`@AvYvop*F+kNQ=xvl3_Eb&Ji<)D z4T81N{goh`HD)UNX*GexT?4gWoQ~j{CTmEY5h(qj#6aoK`630*hcB?O=6_)x--56z zfAHupG!4|4upxYPf%fjz+@bY>)(-owTD#WQ+P#uS{gqZY6alT~E;hp|biy({WzAyK zRslc49R!4RIZi>tXHrP*cv>D^Y`#)p4jc*TOh%44+6=DjT+8|^oyp2OM;oLzt>w@u z>rvDsCC8dk4FD0u8+E^Y`Dl~2#uwWv)b$u799_rsS1)YvYVZkWxXTuFv>(jpzx3yX z?D~PzEK`p$)ffUA%NAz&*)b-g=1z=Ff8jftFnXhgfvK;xxD=fbJ|wIfuD2{w*e({j zGu49Ow7k~StTbPZ&q#mSk+i66ruC=|fuW-xd>}g0dNj11KWo95{Nki~_555qXVO6MqCuR6x68K$jSvvxI(BE+*Vh1yU$IX2bxa97eLtuNm?d%@9Dtge$!TO*Z+ zav~lu79Ko&sd=2rR!{{(#V&yn`cxBdg^THZq4T(pt+NMPuw;p8spfcG>>c%>O8hrP zMqVIRw5~&Ph!tg?9(Bz?&Gc{vg@PO3p$$vb7D>N&g!5DOIOX!wxn?q!o4@iXo*sp$ zHD9XeWk zl3t;HMxxfc?(HxqloXa$-RXCXH-pRB;YyU6e{hKf|JAFgTY)Y9Zl&>K9j3kO{bgot zNjH^>aupE$GA%16{YJ3Bg+?}-cVK-?*AKe4%ObP#+*9BQ6VEeqW!j06{<1B?I_`H* zo3`d2N9hK^^X#(CbonU#XA{gBwG0vB1HRJ3--sFpzfhF_$;+KcjsFcO6?7s*?i0B6 z5FnhC#OWcxfHv5-meJ5HzrgOaRuTMq1+n4SFxA$$nO>V>-XmHHsS+CH+gQ({f*q}e zq&|qRAV-{d@UX-w(mp&=ld(Y$80SH`{!EymI=FSF{r{{naXk9=5gEekdAyKm#<;ci zl)$1!PN`Qlsc?GG6@Z7CHCVw4KZf;MxWBp{lM91X-)qo?!u~_L3Dx~I&7!=Q+cMXH zqsLM#&LW7z%;dk9n@n9uvEDh!~41lhI!ms`+MI+ob z$UexzqGm`@7HFm?--ch0=wxM{(+GKHQ23IC4S*X+>x8h~MHII7EGzTYWoN7=OaS$d ztnZ-Bx>{fIU+%!ZMB}J8-N;E-M=FjXWFNB_;IOz1U(NVRjHnmP1$KD%P$QuVq8`H3 zI@d0@tDczJ9%zY}{CSmWtJi2_%jrFb!0W-x%x`=&gUi&Q@Pz^g$OJP1G?N2(W!h_m zj7$Y2@8)v_L~*Y6UxRTF@_BLU9y}f-RvxbpdAvLEH2I`8Qq|4Xe(Epc>V6?t1GsX6 zFv$wu7^f~^Y5$YFdA1pRFqXz?6R>o5BPKVf*dd%7uY}(XUCV!&?K zuQ%CH9{0}BgYZFm>n>w^NEQ>09S%&2!jc1b8F+3?-9JHM++}k@G2XNAVGRYz6QspE z*4h{h2)>0B2PhPe2bxDkjQ`~ehodeWj^4EuMkJ_BN2D$skzR={>M`C1OsZ7%bND~J1T-&i~S*JX5LbEG--f}A(_BG>t=$T9HVb_*A5;rvpK@U){#5vrm}B{qcylSAWZHT++FdY9DsHTqoPN} zYGP~EGVWY6tS;oYp5(x33dwxQ*<+3G{YeS`Fn=%v8_{#*Eg*5T)6&)P;% z{2><@yL)JWw13ysvbw+!Zg#BdFou;WubNdCV|DqadFi(0U99*Af5u;~k`zht4OPq1KZLbNFnbe%!QB?n6 za6=7_1P=|$Rl}i5cgYtOOZQ9-2Uc43s@XT{CaBmZND;oxvioe)Q~LHBW>!BvnalQ` z02!7RK;*7Kqdq9NZ^!?;(zcd;383POEY!Osjh9|z&Xb!jXH@=rkr_s(lvX_oYt;1~ao>J%+D>~$9mkH< z)o|Q{C0B8V26^Kfcw;s6Ue7_-&WU@mNmLQf%sc^ekOddxx}+*RM>%u=LH-*rHpk$O z$sjb?wrQP;uUu?Sgh6Z~x()0hbH8b3Hc}w0%8_0AN<~cLHYV1C-!vz)y}soVbA2!} zJ=^r=CAydmhKB=eIC`+-Ob;g;15|jAGmiLo_Dc+vaaWo;S#X)j7RHI=bC`hI|C3j{ ztQ2r4)%eWXJ6rSJCKrs9pUHPE1svNm_0R!2?>Xk8P&}Aa=&6viKk=N>(fB6pQ`zW4 zyB`(*uy4ypTa-lh*Ec)mqb)9C-&c$dkPt1T%pxH{DFy7KHkcc|nxv43j(E`cFJEcK z)T${DWNK+3Tdy>uBe;)2oWf=+ly;~rz0wS=&oF>`ihGdwqbp6K4o3kvJNPc}MMm;l zOnyjM33v&o@7N{o`sFJ$G75>t3Z&mM*R)t9Gce(F&e~>yw7^q)wwM!ZaJsXs=foad zq+_=?XsjX7d;g8dKcI}{)z7_NAvRo?2n4@PIf zwPqq@QE}UIEb3(LYExU|%iIjS$w}=0bp1))5Ki`tHdce=c9=GqyMrClDw6bUD9|6) z?N{zF`MO{tcPCv|!}|xkZe_AnGwHVR^)650bz9w^>&o&aPe= zBGzrjYzT9({kNq)WVT+3o22S`Qysm$!sQA6n3T$cigY3P@9OkibC)l4;z-V6(OSRz0qZZ51YfPk^ba||<**7zi z0iP6;k=>`Y)d7?6o=}0_f}i6s6?)g;{Y`sl_lpmAvk9&Ww3u9Yi-`yFzGvzgbpfXY z32pp-z$-;5m+n$SCSa8yX@ONjLEJmN`d5`vg7nHLp;RhLx_6fu7jj6Dvf@^=ICzDF zmPm-KoOUZ6@TpUjch9ZH6!f3IXZWsh>=bI0`rFLF5jMsL3=u35YtvuWvrmdWG^ebv zXlJYyyHAb9=+ow8*;of?dhgSQ%Xqf;b2*tk-LReu9EEc%!ArG)}_ zKBdz1ep4-bzhg=(_z1)ZlQhC4p~)Dp$DoM=QYLZx#t5m=9p}}E68y`YBb1f)#=ump zv(DT?I%_E+8}$T=;&j$hY$S*b4|gFk*5aTl&~iPyuc%DSzZftoT@Pyy4|!;+((sp_ zC9AOrM2YDWrnbf+co`z6P%Is5h8FhP8I4{cFdKwPK7Y_OW2groaG@q;znac3U4k(( z!BGd2tDEuvoSB1 z-HX}=8Rlr(!n?=rHDl}4{^)*HdY>6S5=3PgTR_+l*HeWAC1SGc&fcT$Ge`Hu2O*r) zZBHaFll?!2=?;I8EzkS!W4RVK0gE-uzS!ZrO}tJo2w~WQSF|A7j9T&$B|R%a?|KTq z-mu%uD-?oN3z#GC?KVdj-f2)(E+@y{Z^qUV3St?e2YLFV$t+9oHZJ>aW#pA3YC?`+ zJG?ydBnKMR{>V)4W(5^L$+Udy2iVv?D-5-THcH=mst#i?iX3pv0~ zsOIk8A7fv$PH2;Np5TnH2mZ^n2GgWC=k#u72jEa z0+uC$ocn)N#1bsDK`f>7$L7nJmdq7BW7B{4?gN0Q*b1sF!go%WzVip4d$9;AWCv82 zX|KY}z=ge{V~uRS-XYBY0U~zQNa7zbub*&Vm&S7v{ySV$_LCb3TWBOmx6b;eHc+h!*kM!pDyTdx9!#NDrb^PHgsRo_#2NKT1|?dh_JT0C9@~k;NBgMw=$U6QNV0CL z0b%o-p>R$pGm4U`X2Z%>(GVnT`x(YNr~-+?S85X1foj@os{G<^`ip( zKO-1Eq-A$kQGm^L{=CzQRrMZ)!?{OLM_BWnP{W9ME77e`!lXP)p*&m zr+dDIN%!)Oz{s=4d4q|5WFJ2VndvtULefhS7Cd6tO+NS=ln(aRU%vfq=(y_uI1sMn~^q{0k>b_ zW%JLOcnlN{hp;k+6}TNy$VCT*m#kxkGc<4nGb*Tr#mp#mq1c;AgLm)!Tw}z2&hcp= zV}HT=B^dwW#&7xsE4gsAnS4PI?Jd7Hv+6^23s9EeSezJ`5+ zOG65<5J9ubN53&=)dob-@W6zud(^C~Q{k&;yuytfl>YXkW@Jr3re2lI`>m<23MrKX z20^a8{5yDP+iy*-AvDogMyi!4FaLzo#q|t{O2$MDl;RvdMB*DKEJ~P6n9XAzR+pD^QU!ui3JkS$LT-Vso`yIl=()>A-LA(`9Qo5Tr3zeD>fl@-}jLzwky zN>=SPUkYS*QLt@WXF@H9_~{r+d_9gX-tLgY$xPU_C9F_ z1omHdmI8VG(u+lRA<^7gHG@@d+d?1ty@^(*b(1*dvcPn%2*4mm z8*3QdRzLF(W>LK!I>G!8-zizy6vaVBg;&r2fxV|;Rz0x|fKf>s%KAc^+Imx#qLs2% zbB-Uufpr=i+6Iu#{;7kmbGS=6Sm&&eW7;`vtPs%eA-KBFGzlIOGVCR@ zwHBi2#gYW0K&xA(vi)FhooDw1=y6*9>mxGW+%mnGD=+h2Hd9Iw*)iGrG7a0Y-z<~b zedco930$KvQFdg#7iIS)UUj*8AwdEkdBvPS2e~FvhQ7)feUtuaD&_cB%}Mfdj8pr6 z_9_j|bdmST68TNq9W5U|ZFK8lHmN}kT=H7|x`~xC>N%PGx|yR_SYV62^Ncx(uTt)6Clc+l|1;OH3s$wTjQAU&D_~!GGqeU{Aqoqwno`;NH&a!P z1;;tva`WHJvcf(jL_^IRW=<)kWaPLvOp-fE@Gr}@H%xmSW}x1=nL$yZH6A1MSTEzK zBXo}8OUlQjsqQ`n#BR!!Id7V^GOE(!NZB_{D+K%3o91Tu_gMJh*1wy}W>Z4GwjV?Pu9q3JO|{%aVH&)R{=lW=C-1_cx4dFT z$bJ7X$8$Fcoj;9 zY5+z~hPd8wWl%|-KDyPVZGbmK;vcYx=b*V3E=^!Xla<&9)E70N@q9W$wi;>*3YdD9 z_o`gzc^pQ7L6ef$3U8crdERpN#Nsst_Ih%KcNdq{G31YZWKQ$@k(4LiH&wFcV>&ax z1^$}ziCJh{CObbd$I5CB4U*43fl=SSn5Su2Fr>e-dE)D5^s4k=k**YDzc2s zuJ1El*W7MKc1{1Q`BjPB)7N`R*8Csy==M_Y=rWLPP>J{iCc*A2ovLy)2a#5iD)Y|v zg~i=v-qCd$d`WCxz{n@RL0dJo?o!Ijm&(0(X$JAh0Z(4imcVZ6yUM*s{1U$W2K@B3 z3h!?J=lDwR_!^c?HVT-N)6u~;}peDD!uknP|TFH zS9w$VvMQ4`RbFd_!n+;oH^?nj-j`+YBB#9T^C~Z0;tQZ>YrH@JeYhXz)D^Yfaf*rK z5944)mjB!Z{xy9A|9>}9XU=9B^$Cc4?B)|3B!zcAJ;ZqZlLyb2~nVEA9KQ(ZX{)E|w6077LAsat1 zm1TYru=d|9k#P_z@7y5KW^cFOj%S*^(|fb>v$D9wTj)3Ft`_fjIr-nFq8#H|8v%AY zL?)}FYuf;CvS0P~0o?hx=TjsEPs5az$7%f)GG?InJ9+&xGlDZA+qsii`h9M;cl~gX z2S-mRfulJ=01Go-;OHgtKnc-zuMY9v>&sw-TiW6=h5Sw^k@tpqXUL*Iv2o)Y!|7xw zfFttOa4%Jg<0~m6M|flD(Si{kN1^#@>!fMkuVnH_ZyHCr5pa=|i${82D%Dk-{Cp$~ zj0i}{hae*hP_e6)xud%UZ+@=8IKR?Rjb|*R|X0(?>eC6?h zA2r%LuT+BoWa%1KL$8m9b=dokGriSI562aVPdbp{zI&>jz#We02?8;3QGK)3JJ)Xn zQ>9k=jqyg7EAqpnpE$e;MQDRNN*dI@bG=jIBcAuN>=r zitg6cVOfG52Qk?)&O3~=FR{_%^87e24jNxK-ur7EYbiDVtl}liE$KCj*G9V;n7GRS zSYI@OY-#hRmjh#PBELM-=Ee0!8n&-VUAq@6CDw~5o_23kxvp23VJq9cMS9y5QOG}U z_cEm*W*Pac-5c*KkI56fF>=j1Z=T$W8nF=!Fakz5!UtutP}ZzR$Q}{%CYI{DT(-o# zh4R%}wiC_Fau)i;xVN%r-yVy1_pK!n_U(H+EYF zEKGajN~t0xo6=rhdvy0l_&Dhk4U&4p8*okgCa8b^?%1_ll?{)Q+3twcCJu}g3E62f+At<+Gs+VBEwT06r zc}Mrf443OCd6#Na*+43Tr+Mwr8Uqkh>BPz21i5j9H&S*_X4+QF_D+!YDbVcx$!JJ^ zW~K62ub=Gy9^#&;q`drmikB@@%Q&tzCChao0<{jA>McS(;4(?eRa3ohmNLzI%7hg5YYmq63dS%Q|YT-h#L%lE2N)D4g)SFh8)Mb{GOou;*6-BI6LFsF=y#sInA0 zDN>S|>BZ&p$=>Z!J+dG_N%FmnajfB~D z&i2mf$#Y*i%sWgYS(#59LCx&LN(5jTWcuSIY=6Mi;+0$Gf2vH)~S9 zHrM-arB;qOmPvUwHl52#OJ0cnVA@Ie)vJ;Nl9 zG#qdQ+LbkmEIGm(<1_MQM|f9piu=^tjl(@p1b;v2OzvtM>iw#uYuf^EPDvl|)8`g? zx;|hXFu1E_k=Lh>$0Fx|B@42%aKBS+i5$NGuF4B^osJ0^b*vYw%-StE z@a0LzdPmhmHQjB?E@(Rg4EtR);rc0lyi^smX|>eRy033&YJ`? z<>jN}yckEQSkF%EcyF>^u*Kz;>yGy_ec9hH_Z+X>qaM1y9*;3UVN#^5tLe+$gcA0g zzm;-dkarG2h{jHYPjg+F6TONO*n*vbEu|W5CMPcOuGgn@*N02IP5SM;lf41{x9d;# zW|ZqjEc}wMo$QUS$>5V-M;N6Jk-O9zX*0^?rQVUUWvMr=B-QocQbblz!3eEDEfE-2 zgQRT~!(xpBqDPCvwD$W7)w{1z|GK90@FJLjVmwBzFYAnfT z4lcBBE%QdVa@L?dVMnu$v(iH9_V-E%O#YjWMTs^ZhY8?^I7Db|wclU;3P> z?Hb#O1of@)j^&=U#w!R+_KvYOFUOE;8~i}P&}6AmBe+ujdZurv6s+=F&cu*-OfBJ^ zXJY!2JSm5q<^7*E$7Re43}ZFK<Au7Vz#XGzU-SWMm}HZjcx{ZKals-nUpk zoUqnQ5oyG^imR0L*RJ)J=yr2Gk&aM!+$$0r?2bmlsEcLnIhr~<^2o{#Q|L z`0uzkTVDRE*TLn{w0MPFKhCX@2hR2G@6*)w;h7fCScA zrYCLbxaSKy-2hI$eV(^bo;V^>CPTjF-RGOzzyF#yhb^*eWa#NX&9$DkT7Gze*IvyDVK#n|FK=GpwUn}8%uCgU z-Yj*UC~$+wKKeqh(=Y937kWo%r@2LGBhynYMwzqGyQEwL8IYiV+~_@Qdn-3=@}gSr z2HPJ@p#RzA%_sgq4=z-TsCl!;B|>V!sOL3>nS=n14|WH1UB1~ntFJ6s&R~4{4R4_? zZZNg64Om_$)z&^%esHljv6}Z>MZ<@roZaq43ubnC-@+?3wYz_H+q}R3rf>5Omq#w~ zPM5PkXGsgcp411IKl0QqiFY;HGme(6##m^2&>OEB6*nH}%_y1rNfX%bgI+@^`vl@$ zTORak`^uUtv3>5_Jl77Q|%w7M7y*-+{3Q-ohq=& zy=EycIb+`?xtLjpLoVF3Jm_U>oOh7ai|_Q{BJQbUHI{}R z8#&tscz~by2ce=qXcs6XrF6?szAau)uF+(Ayk<(9!nxb}ixsAlj1CZm!7trP1;=uG z9TGt)pa#)vi2b0*lH%L5J98}%{?Z2qI+4r!Y#$UBpmrbTJDA;x=h~? z9hTk5Va^;qP9R>IA=G{PF&akO*@y-S(brsBM{`-`z?;?q=9D~%E*(tA<`7Ya9|Rhe+6cxfB6lTk-a1(w*|v; z;P;zdlOkBI*Bv(+E%wT_-qZ?v^Hg++e0Y^NL-ZOhdFV=Sc2luJn-M*Mc`bT1OJB{` zeUF%4*mU+5)L3}$U7e$bSdSZ!n9{bU#vV7^Apj0?Q_lDZo$A)4S}~xbz4+*7SG$d4 zReb2RJNEJ>z3f46{UDl4X;XAnkyiPit}0@@xqj1c`OrI>hdLVD-n-edpdr#O(YxJ9 zBRrzDssz%%OXS9@y`u)R$)UO=8Z1gpr(}ZyAMF73ce)uHihF%|ZjTX>C58p*`XpAJy zf@ynD<3C^Aq@tSja`6>Odh4D%vEAFuI;7(&Z>Qex$0cERdkrlLOz2$1ItI$uOE0Zc z6WJxZuJHy*XC)C=PhR8YFp#RR^#*V{2y3Nqlq7boH|Bu5(6s7d{-F3>nq}3eJt>tA z@(U3Lh-EJWL{|A19&wwerY^o+3URF$9vu=vkoP1OnUsGgsx0pP#jjIu(_&9EmVyS; zAB2o3a&98}qWi!CDsoGaBcC^7>b-qWb5xc+-Qvj9Tf9aWdD^?NsAU@4HcZ`B+K<8w zZ>nN+XoEZC=y}Q2-ozaa7tuEE_QpA?d3tsN|CU}Q$U&~k$VIm~)OD|+>M}^og_I@^1gT0#N-_Ita zZ}OVPBJK-qWC(O(A+HZ)WMGE>G_8w=U`m}+A2t~YHA?>P1`PKr`#4BLbZ+l91F+~& z3_oxv;BjqRI25e)w(GTcyA9z(T<|qDf{No*4dTq9w^V6IHPsky8HlLsM; zC8OKCY1+HHym$n~*^?v+uQB`N*jqil&ul6ed-cUQ>7_}m)*63{ciM;phXF-tJAnfB z|EA?Tw|EbzV47BaeeD97q|dxFe~>L+yM+U{8m8LUw+4HlrwJi zru9_idc<1ym|LGq&oKul3CH~8+q`UF>?_%Rn|GXtX~n=1&`nD@L>_~a`U%l&yo)tr z`gXq~jV>EpFowfKDPUVpn%6{QB{~FI_S@TmOgG)`m2(=B&k;V)O#B}7IPDIKncBhy zo*~zOlj(tA0oOnlfFxpMyF2^A9l-W`^*T9aB3G|pjH7}BCPL9#w5fljS+?EnMP&26 z%`LL@23F%Y{m`p$lOQzqW^0foHPW~w67Xu*l`e=AW9X<+*^~b`fKU0aiIMO1!SbT~ z`&LY)0d-D8PrBm>$OgK`9`w|U=m3dat~Wl-Isu+6mfsk6mP;`L^=~LVh}`NSJRIS6 z!0|HcE^of<{IOT=azC@(gA_6pivSj-ueA7taGHASE}HksZh(uW_j(PsvHSI=K&;_j zGpnH68v=1OOO1GI1Ksb9>caw*D+GtS_Qr=Eoy1tSo$P;LC)L8HbF$>S-avZ^t4z76 zd1k~S$3+SVi`<|4eed`BX-(YfH>^*Zt@bxHhu1Z#6-hhfd-pNeyKilVArCMknYp$l z6A#uBUpT1wuH;t3%Kz(2zJUCg`8~-$r7t=DpTf=rKCa@(|9a21WXty0mNc5y^Ce$c zK9D8N(`E2|+t`4`VX%!YJOT@hY!_huemPkbiaw`~CHskw!MVd_Hz-UcG+Z)z#JARn^ti4irbUgXNhY*vlvOgETA% zf9(U36 z_kS~9Qzk8<7YCw*xRu*hKE%{mYj+MU9cPc__fWJGHNq|27!(@pSq~*9Ogs>ZzKK%} zU6Cj7iB!F1bY@okHgQah-C0FSW;Sl;9d%RLKxlISd!tB2taERd zqs^H=PK+Cax^w^mqt148a$B~K-eREB0Z`@?tQyR`z36n{IB|4pc_hb$tbhm73d^|$ z{p7Ep72=0zB<(DpR(ozt%*csuQ?0!}kDCVAUH2tsmNHfLZW0qT5=5oF?Y?+Pg$x`$ zue0trjhxbnOyf&_D&yiuKTiy_PYj92?cfY{eMg5~nZ(`EuUStf?&%v6(93@MB-=jj zZSpC0%~%tYn6%eDl~^@JCuq1MU|ZWJ>~;F>!lg$*T|kfpaY;;-{l8Boj){ty{&eEi z$htPQXA;}&tTR|W_CAw%+?moE>+DUxNc}G*uICbqi*=iavlp@x|6HOq%C+J7#HH9EpL#)i6oDCF$G?!c#lAA!^tHcuf!%Hg z`^O83(+fqfoXe1lcxr!{xD0h<Hj`z1Gy_h)VQ0Mzb;|MX~Zc88# z9j$N|jR@9uPTPhZ+uiw)+Nx^%>d~d8ED~S7nD}{QyL|fB+NDRXwuLVx>igg=V`sj^ zUYR5EYcC~kw*M%{D7)o1iQU@u=M2-!E?YCP!4uQvK7}lO{>$1ttFD1S54_Cgqx<;N zmlG!rXs(K4x!2ocUrCd5u)mBiWoWZ`VJ4X?5Q%MNRIyqfq~j>t{FO>{+N{Q0+u zM{}foU~gi#m$JK$PmCtKJaZI2WQoHIwb-+c-1{2aZ?2?QUrTJ^j;E?qT4lGj%U{>_ zkbEI7dp&VNf8u~aEF``E_j=BJdgL34&GO_aLbQACjl_&W4OK@>n?Fr)kjOXW%|v+) zu_#4bPG42rf7e)+G79fi6e0)1=IA8@{K zv*{au&^9W{9;$Eo+llSk+-tPgy`5N~9m^W-IQ{3hv8ZpVHT`Yuoy3)P){|JOZ+Rzi zm0iEDY(Uqc|CXp4;3FlqPK}rL;r5njI1YR(@qN$k8^d+9ZaCiXL1OxzW_azj4-)s= z=ZD6J**za7w&Q1_02Hy05_PJ$$s1nej1Ub<6{QQtViR8_Rx5I zP)S>KU6YF%mE$|~#^ z6MKI*E72-((=d(b6P0?NO#s?Ei8wx{(qlOht?zUD@+ zxob*4GeO&EM;DrF*i!jJp=sfoiE8!{iLGFtTwB)Cb>&p^h-cp(Q#vMU!VzWW#!*O< zI{U&6vRE>rZLi~XCM-+CFUrgX_OcIIk)6jU17kCHQ@I_4Z^un?G%-pDhr;fb@@v?* zzTpSQe?{r{;%2G#3rp;Ra?@Ibqv%F~?Hd!B@@y1oiQsSzCG2LYYJT;u^Rhd#!RqJ|AySj3NyQZtFG8m+2>c7HEwIsUhs0s zVEbN$X|+RBrG+*%+Dx&#+DZr8D*|)Ay)}gr`^IonZG#sQ#dg+kv-?2U;1OnfH*Ct# zyj#I^v2T-odW5;%4&GeW-<~*8D+)~tfyO}AYY-KIm%ocW#2o> zT-}WnTb$EPk^RAFv#qG9%1ywwqS7RlwaB(qni<_VWO03|(%g9?sq>;l%ntspuA#=SsZy$V??`kin++vmY8^-n%w66 z6(uGb(8KJ-@0Sm-uP+3%)2q$Qp)MXLBbKe*yI zt8(Rr6>KvJg z1}q7%mVGOE5QO&M8_bK^WN$PxSjRqUG&e<6UDl+kbV}pdCUgCqC^w1)dvd4=ZvQ>H za!J!lc0aR;Ajz9G%-vkm-f@Mb#~2R=3C6;pB-jSi~-OVQxYq6lAxL}I~s+2Yn^}3cMdn5 zcJ_D%?6?_bZ7#DMJeuL*>zm9WcK^`$puRfsYkx7r>=8}_?1q`9ktHaaA33_6o@vgA zkciJRw<=G6`?Fc*M-lAQ*(PNlNtz+{_p{9s!IF039J8pe&db@YbIdoQmVPnE?1{dx zbIrGOv`CoO;^o4{dU?3W(`V~ECb;zFrDZlT-%PiorkXNVZaiSJYr`*aZ2zayVfMH; z%j0&_LW6IWoOfNIOYBpN%y3R0-~q=@8$Juzd31?SUZ7JV75CLG76baC zPS)F|#b$z{hBdIW_`iREkBO5D9_Ne5$Kt^k!$?Uv#l4Jc#)!G)?r1vu*IA+jL31luuFDh zN6<&+3NCE6(~dD$96`v?Bo^N+EE>WD^wX6{%Xe(r-hS%Vc6U=*Gq-a>#i|_$*zK*G z+;U!9)q+V;xh&E0m(g@%?#ondFMGMDC6fAz81>WkQQ#(g4bzgT6ysi-OJZ0A5XonYo= z`G5^=EXPUv#}mx9KI)&&Q?T}393}<~VTYb0f7!6DOMQ zp*rcVonNow!}C^~fw__~;>gAKhSg?DAtj&QzRh|ge7c4#mkg*r7F?9%__pdQG45-caM`+it zHVM1yM$@-kri*A{h=zb{CXJ2ug0-gg5b$f)HKmSM@XpoW#jPCi<;9lPj@Gk?=h_(B zFV>pbgR>;yHVj3iT6&UMjjz`R?jDPLy;?V$a(S~48pJSR7-aMP%SooeeM+Cp4$LAy zYMt4o&MfLD)ih}zTW78wn&YJC(k-s}x&9i%?6!q2XPcS><&Cy;y_q$j-Ua1j)Xy7O{pzzGsSl1CdkG)Z!Cfw3u-f0$8cts(@75YSesdr zqZ4u0w3Td!onmgl)1}&7uNA?v17Cd6sEE9vyvcD1Pn%9{lW*SE)+}N;Z4v0$et3%6 zoE;e-r;M@RyT%NTx={z5WZB()syW>)-|P(JU;{RqX@!kdN3?ge**P1zfyIq=nd+L^ zWZbmT+&+}!YBHDRW<@w0rDV@#7-BMM#O2O&O;Hii`(31(ji;MM-4BnPZm#R+mS($j zlWEWXe3YL>xh=^_XP5_X+}C%ceQud4@1x)awa=GKwL`Bo-$d7Z^@UP`+FwayW}FUc zf4UMfPv|fu0~@R6w{bnBo8M=3m@R`Fs}@5ZLZQ-<9UAp?(=r;*)Pc0+AifIBJFqxj|SNMX_4yXwa1X+gvr@sRHkB zH5bHmp%wFBLzLZa-)5FN+_WIDkAriM{q;68yigHonUvq(W@g~xi{n%G>u|eicc0+> zqvffF!EpC>GaH+hD01u8h$5xTEjpbzW`|kHz3kO2kM8**o+qLSQ94lzqktC*fR&pf zBRVNQaYNF6w!yp7jTxdDO5R9WTH5{F^SC#bB_obMh!CN@^lY<2hqT!nlQWQmy?r)g|Se4DLtB_6UhtScH!ow2E@QTw^(@Yr5U+vkhyTTK21R%w=&|sMvaB zvSluF%~*{_+TGVVB(pi}wdcaJ5K3-&IoJp1njM28dbmUSHFnc^thseWa%3|;3wq)_ zbEDnT!W4yj1rukpU41@6TQ44Kmas$kcZNJ$!SGj&ktOYZsbI)|nQFMz7f~ zE;N^A>(L%y9p~zVh8c3}L8RC8+(ZzmAs3r(#aIcP-+vbN;KgQ{{mHRfFWK0X z*>T`bvmnMn4moz^U?=TFg>kf(Uv48)%D$auQg-mX-I*OcMG7OMh3d#l%;f&a`%nT| zZRaJXDu#~ZZh_3^;3}NaL{CM|!c3t_%C?r{y3TDlQ-{>)Tm*ViuC(cwnhg<(IJ>Zn zHQ2i@HD}0BqFX((u!!@JNpNM17?z_3FlCVXIX6f@UGlK^+IdZrZmnxTyrDd&V zU&6WNK;GqOq(459g$4zishS9zmz%8z_grY7x!imZFxKU_vuSi6=M>+TNuSG`w4T^EstCAhu<-T>2t-8)MM^Z&@$?dof^VsFrml zbr&`vC(ktCG1A<~DS=&P1#-n(*G0q4$wx(;zeHEDXYO{2q@3#Tu63t`oxWMiw{lf= zz~TLzIYER^}zJtWJ5|btAG4#Hg3^ZUmZm6NVEtvap^PNR##^ z^P)ZbMyA0Y2@oe|{6L!Q%{QCNV_XfDL=?!uChajTxmqOeH`*)rn3_S!s#CYNZgIEN zaCmW#X-3<}O9WNXBsO`fKt+=yxO|amDJ)%&kF-3=QQP>7*DpGu+;W@4=HhyJh~sd}3q|Xx z4?D?@J&q{~5dOAFCKu!ed5`0o$mTXD=E*Imab5iZC2%8``z;T(_z3fZS+SdcAGlf*rw$KuH4y0#eTmFK*|DV@cg~E>{CcD>RxePb9^8GP z4qh(I;JGxI$(<&XmqoEqe_Ue7d%2Oh!_uDMf9fXoq@z!;}l)x)>y zPDE;c@V}A0ZZ7XoJ@ph#%~*cqgU$~GDGpQcAeVeMQshTV9XO^#T=L+VE<7|`X@X*& zJI{2!z1L+yZ`1npF2 zoTZ{Te2my;m=?{AAC0(r(@Cu5AgmCkHOQw5kA(NWxQPn!Y7}Zsm5p_BkB3Kbd#B%F zE8O0}fktsPC`>}B_`j=YN~A@_T_>(GGA)Ya9 zAmHm{1#H(qTR2-G5MJkEDF}x9I1FAqfxq&Y$nDzUd5!D2l{=A6j~wi)v*#)~lSJ;= zy_`w#>z0GWxUX`MhP~z*vRnaumr1^edT+mp#*SmjBwI? z#Ei3t-D*m7sgpd3?AcwoZe4p#BI~*pFN++T_|ka}GeODnAjb}z2XOWtTk3X?dwak* zU+<~hk*v@19Jw^HL_Qt8J&7>?KViuvVz={;y7jF9OVX~y!18+9HJSIWip!c|KEEE}`l-;P{AQ!k9UcOJxaXWvwANZB6z0<_~`h043JAu2#{@3lMZQNHhC>k=kQ4X7b ze?-~zk@yoik6Xq4ZPvPmwOZ%06wIpG?hDGM+NBH!+i{1%_2LdQzR)?AHQ7FQnrY=M zXFA{Cs|ENEZ@I&a=p)yZ+IzqiCp!TG04#vW`ONG2?p_Qdy(fGwv$7<*M%#3!nH>3i z_IT}&vFSU_DL@C_Wh#a_eqlk1Mi3LS9eEd9&p6~)*!9E9#>Ek`v?GCsj8?dMg**tG z_WaoFw5_+Yn@gUtBVd|(MdL<2=XX$ z3UWBIm9{Pzl@8;ZA28EP0rqBRP}xbB+rkIUQ0ykIif)HKmP%NKMd5`<%*YA}9KxXI zb%T7_QJ;fH&B)HLcn#xWq|WCANgoFya6q954Hy-AyH&Daf8AG|ibaPAn9p_yHed4@ z8#Abxy$h&4I)7O0E3?xV+d6h{TJMgPzK=S)W zrj2Gqr(T~OxUwA7qcSBhZ@luj8F}Qv9m;trX0yg#Wqy4F5bPN@xRKq%=7G+<v7Yc{vZO#m+`VP9fR2Ukf|(hK;f%}?D61-j7Bj zoAzN3nVOx$jmCFSgJ0C+FvPRJ5+L`}9$V7yNF6{njE1Tiq6X zx!h~$y5c{B&%LT9w3x;zHMJ9KY9>x9p0<2*YCab{R#wfQj>Us>s3_1bi~Z3T!Al;vUh;6JznY>JC9OzLVw4f#g3}Vl*m^3zZ7B`?6B^B8akyyK~Xo9S{mMFm7~02+eUpwM|DbA4Vf|F=qN7Az0^w#!o@^$MMYJOm@w-x521LYoksRz zr>2IS0oOaUJk(>Uol;ccXWBw(4o|240@0~+U4+trGk9@>Q*X2nr2jf_tmDGC8%jl{ zbxo-II`4>-CI}j#ZU#|MU;_AJtf0_F24!Wf&OkRxW94ixr>4VXv1}ZT?#w)yC4R{M zC$;=7(5DH~BPl(pex|-&m~vfe2D>W!G`1qGgMM zx8N|XZiq_mm+U{pJ^}^-Yjs>+UO0*4aXPeOPu>9kv_xBJ1jk8?fu}S6aF= z*MwmwpFj{|c+zm02(WOV(qlj17uH06Q3+Es+zbJ0IRK)3RKnCNnBzdu#LyrXtf3(g z9M*$6vSZb9R7=(e>L8>6-(rBNWu5^o5U;J`+$Z=`JPlFnXg`4v+{aYH;q+!rNVTYkTFGJf&i={g3B^pAB&bIC3+6U0oMdjP~t!o(=G$`9Vdw9sOdk z%kF+InBMi?i@{l*{qFO@bX!~$n6CR@3V!9;AH2Zxf1SqjOD_k9d-mmD1%o+T(`8-_ zzAevQ%8T3muLUFQAAcKEs(pofgULEn^u*p^rrola>S)>Sy#Z&8-C3Y$)zNa+^X=dF z2BUno(}LHOEw5!d59P8AeIpoYzwufynpr>nT2O^Eg4%Dt&$@4)cp)ej5{KEodxH`? zgYtbZK!4ZVy>A4Q?GLiwRmjAl?&$TUJ^am}-A;Wy80N~J0tZh!zCE>l z<2E=VT7i4z&#TE|SE#hH-vxu_JL$f7+Oqc4w#wC#Kd476nEe~Am$gne2JR$V{xX8d zm(}>{bkHbaPkJjD;L2Rst4zfv`BJ5@cxC@aC&H2pD+iBi%VNsGw2IPFw4t)T|6{>UO{PG!XIB9BQ};I#YFum+ z_Z*25*@AJN|6fSJeyA%$j%@li7t|nR5_HeZ5Yb;p?p&Fi=j}~`!+Q}nchFn0Gu+o% zf-*lu&soh)R!`pBTkj!C*x;+;#XU`5n6)WIy^rUa`%vaA6{v6-(cdf_8?1X~+U9Q- zP1eB!&|J`~RGIAESIpbd--rmZqPu4%PWP8tj=#B5(KD}#bF(N+H76{dhC>gY@vIHK z%g%OAPG!(K<;v>SISm*j-U>#qBrZo!InmshPB;e6*^0uJ2!r(hJ*<*)w~j6EdFxK&HGx1GVM+)2nZ5v8+`q#(67R}3FvYu*ip z`Z&e>+q;2TQyc0VA&+B;FurZ3o6z{Q&80g zE{Cn2H)qMZmN_ezEolK)r!a$>dozFjLZsLleHZmr7QFB{c5#{n&SDki7L?XtYPb77 z2;zqvPUmjGxf+%qwFL5M1Hlm| zf*rg3C=i!RO&+jy`-Y8kH=lEqT7+E;Y=-9*9$|v7TsD)P^%hHFH`OK)&$IPhrURh z`E>iekAh%AUhNU0-R~#ms3t3NH`Q9U?>M=wV_i)x^LKW^O-0(KChw(vF<$GcoCg9hgavxn_9OC zr|i@jeIlUi!+f#|D5B;@nWJ?oRkyAgPS6%m54u}$LR?p)QRVDNIZoZOO=YaBal9H$ z`1UU!1Vc?0iKz0PTx;#_KLsN?+s@q4x*h+PYK#w}Uba^@aoIhhgkahwbhYPT8o$x3 zTFL3EC?B{JgQ|Bvjbc;>_w5#rlBqDA&Ihm-rLX;rcAUj(GZ z!u7OBrpUZI)nq@d@8L4k z=Y4@$ukncYYd#LJi?(L-uwtxe3oZ}R3?#>Du13&AK8aojW8U3a6c{4iVhavGuy`n*!; z6z#(IK&V=(Y94?_M*B87^g8a~Xo|x8saFPuP$Md6!YOVOo8HsW@P@}vndeEdHI-=48XotJ9 z;!jjwyMtthuj{RL2WpDCtGl;=+JE{u+lY?#vnVGLn=3iSjd#}Oj>#Il*~+^?;$~+s z1;uV4jgfnV!>Svo-p$IBJvr6E4VVF;!4TD%_r}iI7mS+O{kb|m8-1oHllmT8Oz(;y zlH3IZvs0KJ-F-b90@s{Wb-QRXP*W0l)JRF8f>e!?KnAGeYFlX zU9}(T-12!a&@T9Ea2VO2`D?JqCjS;B%CM03&X3vCPW>dxKiF1$9yF8x+n-1ID@qQ^ z&Ax7T?){&G#nFRG6L!zvg1M@o!f&1=NZFvCX$el$B6Es68R+I{j2n&+5rmFWAjCWf zl}3TT=&C3WjZ_4~ygZsaazil61KkJ&WrzMfC@&rOoK^&6YX!6ju;%FY@#_)kh=78rJ% zoAA2Xw5NldfPX+kvGcfwWH)MM*HJ19D_lPh0b4F#6_^!>h)+$u5^^e%rR~sP@rm*(+5-ol!N^XAW+(=aEA&rsvsc?;$c9fhlc<}Rq6S^4!@ z21}%9>o|4$Mp(bz{?;2lxpTH(P~dw?d?iQt1%7Ile)Un(mn1V*u$g-7r=(D@P_P+# zEK<^6u*HHMuEzmNiUnID*kO7csAP~}s|1^_$H9IlX-vQq1Z);?h?1dxffrJ$pK8+M zFeN2|QM8|G)MKfVGQmjvRD&MlO3DSR6Rcj32_;6bxq^XtfnT8{0M;2g43l~uu4IHV z9;1wuP~eYLG74DwP{C^TI9f@iVBq1WYV}a|D~F$8k!=3${qGYCTR+a)@A# z(ua2Hd7_dk0bRvY^*Bk%WWkQr$5Zs^65e|0;{@Yvfe%^*K1F-!HG;X%TTaE~9OWIyEy`cRy9;#o|A8S?I6=f00-6+;Q#^t}F1DD_QE5JZ~IqnI4Z)vcfC*!(Scj zNIkB!`}+=G)tM0_Bd*W*O2q3K$Lr$ojN@?ebp{SB$P7^8xLG`$aXbti3jCwJlD8dB znZbGy^GZMa!j%lh1(~5$byXcFasYJWW;%Vl7> zf{Yj~Q>jE$%RuLXjA)-JrD)fx3}p9H)b6K1%TF7TZp(-RGvZIS%}B)3nF(I$g7L1M;<1c| zO-5rP0}~Zwrg^1ne(m1EZGK90%XEszGGJJc5f^3PqJoTgCj;*kWW+HUu}B8A3Nj3+ zf(%2qAS33;z#Ijc1xmoTAk*lTo^p>Xe~}((S3zc>8sZXQehlXDV@D`isbsMxoeaQ& z%nBu9jEtBibF>oj6l55O1({=&@LfR$8Wm)gd8Jp}>S{V(k1a|ZfkDuZ(O5qQT7JwG z%D^kgtoBNO_^|t8jULx2X(j2*oaB}M{2KRWJ)fk?8J7{Ooa~kUbIQHg;KeU)O@!n9vJhOfMYS zsT2`4Z zMZ+{+IKeBs_hwfX9OkDSM$p>};TbQ4XS@)e@xn$Wp;z|GUtDIm%ug|7y$~+*LRiBK zo4m63Ut-eZCtT-+vz5SCUO3B(4?fMkpg+A3_VGg4#|!CHFND{;aK0CxTI#Ya)+4Op zh47IV(&b(VA9*2si4u* zDD8Ri`#J-cM?91k52cymymUV={&oE(?s~r^IV%W-2c&c1f3ewD{Fe^A@|Fqi%?Le?)W_}<@k@HN zSAN>D?ro(W#ZqbUP2? zF-dy960t^lo|hOh*}a92{FDYwS}c?nyQDjpc!|TGbgvyT#WZO#OCeKX)#0^*6?GVey#TsXAf|1H+beUO%8sH9`|Dd z;6Fb`zaw~giMupb{2099#~9Im45sm8MPA~U54jh`Jf`S2KL!W*F}l}}4e}Ci{*!y_ z7y{<8|Ee6In})oFT`L>KUVG~_7^)C9N@>`Q@=9?LHyWgB^912XmhV!C1QgZ zQ-&NI`OyNoc1A8S?u8~8EUz>mQOehfD7V|0Wc zo9CGmI$UPD+>gamol z9HRsMm>barUU1J@1)h1}BNdbKJoC;|?w9YGFQ>R)eY}cM$GcyBy^5I#BjoGnRorac zuR^cldrRD}BCq0ev6`Ri?**%W?0z*d-u;wFof4^2>WEaOk~vC5kJLORYF!G}_EV0H l7ujvG;g<~Xf;*oE!}qVTQ-%z$9EjU>P4R>Y3yxe^{NGgL?z#W~ diff --git a/docs/html/index.html b/docs/html/index.html index e720e239..6957ab26 100644 --- a/docs/html/index.html +++ b/docs/html/index.html @@ -123,57 +123,57 @@ class="cmr-12">Method set
 5.3 Method hierarchy_build
 5.4 Method smoothers_build
 5.5 Method build
 5.6 Method apply
 5.7 Method free
 5.8 Method descr
 5.9 Auxiliary Methods
6 Adding new smoother and solver objects to AMG4PSBLAS
7 Error Handling
A License
References
References diff --git a/docs/html/userhtml.css b/docs/html/userhtml.css index 3d2eaa23..f8b025b4 100644 --- a/docs/html/userhtml.css +++ b/docs/html/userhtml.css @@ -194,9 +194,9 @@ div.lstinputlisting{ font-family: monospace; white-space: nowrap; } #TBL-5{border-collapse:collapse;} #TBL-5 colgroup{border-left: 1px solid black;border-right:1px solid black;} #TBL-5{border-collapse:collapse;} -td#TBL-5-10-5{border-left:solid black 0.4pt;border-right:solid black 0.4pt;} td#TBL-5-11-5{border-left:solid black 0.4pt;border-right:solid black 0.4pt;} td#TBL-5-12-5{border-left:solid black 0.4pt;border-right:solid black 0.4pt;} +td#TBL-5-13-5{border-left:solid black 0.4pt;border-right:solid black 0.4pt;} #TBL-6 colgroup{border-left: 1px solid black;border-right:1px solid black;} #TBL-6{border-collapse:collapse;} #TBL-6 colgroup{border-left: 1px solid black;border-right:1px solid black;} @@ -250,17 +250,5 @@ td#TBL-7-7-5{border-left:solid black 0.4pt;border-right:solid black 0.4pt;} #TBL-9{border-collapse:collapse;} #TBL-9 colgroup{border-left: 1px solid black;border-right:1px solid black;} #TBL-9{border-collapse:collapse;} -#TBL-10 colgroup{border-left: 1px solid black;border-right:1px solid black;} -#TBL-10{border-collapse:collapse;} -#TBL-10 colgroup{border-left: 1px solid black;border-right:1px solid black;} -#TBL-10{border-collapse:collapse;} -#TBL-10 colgroup{border-left: 1px solid black;border-right:1px solid black;} -#TBL-10{border-collapse:collapse;} -#TBL-10 colgroup{border-left: 1px solid black;border-right:1px solid black;} -#TBL-10{border-collapse:collapse;} -#TBL-10 colgroup{border-left: 1px solid black;border-right:1px solid black;} -#TBL-10{border-collapse:collapse;} -#TBL-10 colgroup{border-left: 1px solid black;border-right:1px solid black;} -#TBL-10{border-collapse:collapse;} /* end css.sty */ diff --git a/docs/html/userhtml.html b/docs/html/userhtml.html index e720e239..6957ab26 100644 --- a/docs/html/userhtml.html +++ b/docs/html/userhtml.html @@ -123,57 +123,57 @@ class="cmr-12">Method set
 5.3 Method hierarchy_build
 5.4 Method smoothers_build
 5.5 Method build
 5.6 Method apply
 5.7 Method free
 5.8 Method descr
 5.9 Auxiliary Methods
6 Adding new smoother and solver objects to AMG4PSBLAS
7 Error Handling
A License
References
References diff --git a/docs/html/userhtmlli2.html b/docs/html/userhtmlli2.html index 061f8760..8f14145c 100644 --- a/docs/html/userhtmlli2.html +++ b/docs/html/userhtmlli2.html @@ -135,32 +135,32 @@ class="cmr-12">Auxiliary Methods class="cmr-12">  5.9.1 Method: dump
  5.9.2 Method: clone
  5.9.3 Method: sizeof
  5.9.4 Method: allocate_wrk
  5.9.5 Method: free_wrk
A License
References diff --git a/docs/html/userhtmlli4.html b/docs/html/userhtmlli4.html index 31370ba6..38af5368 100644 --- a/docs/html/userhtmlli4.html +++ b/docs/html/userhtmlli4.html @@ -29,7 +29,7 @@ class="cmr-12">]

class="cmr-12">References

+ id="Q1-28-46">

. class="cmr-12">[2]   D. Bertaccini and S. Filippone, Sparse approximate inverse + preconditioners on high performance GPU platforms, Comput. Math. Appl. + 71 (2016), no. 3, 693–711. +

+

+ [3]   M., Computing, 63, 1999, 233–263.

[3][4]   , SIAM, 2000.

[4][5]   State of the Art in Scientific Computing, Lecture Notes in Comput Springer, 2005, 593–602.

+ + +

[5][6]   applications, Applicable Algebra in Engineering, Communications and Computing, 18 (3) 2007, 223–239. - - -

[6][7]   (2), 1999, 792–797.

[7][8]   Workshops, IEEE CS, 2011.

[8][9]   , Applied Numerical Mathematics, Elsevier Science, class="cmr-12">57 (11-12), 2007, 1181-1196.

- [9][10]   , ACM Trans. Math. Softw., 37(3), 2010, art. 30.

[10][11]   , Appl. Algebra Engrg. Comm. Comput., 18(3), 2007, 223–239.

[11][12]   , 2020, arXiv:2006.16147v3. + + +

[12][13]   , ACM Transactions on Mathematical Software, 30, 2004, 196– class="cmr-12">(See also http://www.cise.ufl.edu/~davis/) - - -

[13][14]   SIAM Journal on Matrix Analysis and Applications, 20 (3), 1999, 7

[14][15]   Software, 16 (1) 1990, 1–17.

[15][16]   Transactions on Mathematical Software, 14 (1) 1988, 1–17.

[16][17]   .

[17][18]    23.

[18][19]   Library for Parallel Linear Algebra Computation on Sparse Matric class="cmr-12">, ACM Transactions on Mathematical Software, 26 (4), 2000, 527–550. + + +

[19][20]   algebraic multigrid by aggregation, Numerical Lin. Algebra with Applications, 2016, 23:501-518 - - -

[20][21]   , MIT Press, 1998.

[21][22]   Mathematical Software, 5 (3), 1979, 308–323.

[22][23]   ACM Transactions on Mathematical Software, 29 (2), 2003, 110̵

[23][24]   Numerical Linear Algebra with Applications, 15 (5), 2008, 473R

[24][25]   2003.

[25][26]   , Cambridge University Press, 1996.

+ + +

[26][27]   Press, 1998.

[27][28]    class="cmr-12">U. Trottenberg, C. Oosterlee, Multigrid, Academic Press, 2001. - - -

[28][29]   editor, Proceedings of SuperComputing 2000, Dallas, 2000.

[29][30]   (3) 1996, 179–196.

[30][31]   16, (2013) 59–76.

[31][32]   ) provides parallel Algebraic MultiGrid (AMG) preconditioners (se class="cmr-12">e.g., [34, 2728]), to be used in the iterative solution of linear systems, and a version of a Krylov-type cycle (K-cycle) [34, 2324]are available, which can beproposed in [23, 2930], and already included in the previous versions of thepackage [10, 911]; @@ -177,11 +177,11 @@ class="cmr-12">on Compatible Weighted Matching introduced in [3031, 3132]and described indetails in [1112];

computational framework [1819, 1718]. PSBLAS provides basic linear algebra operators multilevel (i.e., AMG) preconditioners with the Krylov solvers in [1617]. The following steps are required:

    @@ -134,8 +134,8 @@ class="cmr-12"> 2-87.
  1. 2-8 for further details of +href="userhtmlsu8.html#x17-16014r7">7 for further details of the preconditioner.
The interfaces for the calls shown above are defined using

-




smoother

smoother

class(amg_x_base_smoother_type)

The user-defined new smoother to be employed in the preconditioner.

solver

solver

class(amg_x_base_solver_type)

The user-defined new solver to be employed in the preconditioner.

PSBLAS error handling routines; for further details see the PSBLA [1617]. @@ -61,6 +61,10 @@ class="cmr-12">. +

+ + + diff --git a/docs/html/userhtmlsu1.html b/docs/html/userhtmlsu1.html index 945fed8d..f6d3e1f0 100644 --- a/docs/html/userhtmlsu1.html +++ b/docs/html/userhtmlsu1.html @@ -36,15 +36,15 @@ class="cmbx-12">BLAS

[1415, 1516, 2122] Many vendors provide optimized versions of BLAS; if no MPI
[2021, 2627] A version of MPI is available on most high-performance computing PSBLAS
[1617, 1819] Parallel Sparse BLAS (PSBLAS) is available from -
[1213] A sparse LU factorization package included in the SuiteSparse SuperLU
[1314] A sparse LU factorization package available from _Dist
[2223] A sparse LU factorization package available from the same PSBLAS User’s Guide [1617].

 2-87.  2-87. When the value is of type  2-87).  2-87.

), as specified in Tables 76-87. For example, the block-Jacobi smoother using ILU(0) on the blocks is obtained by combining the block-Jacobi smoother object with the @@ -410,8 +410,8 @@ class="cmr-12">ILU(0) solver object. Similarly, the hybrid Gauss-Seidel smoother Table 76) is obtained by combining the block-Jacobi smoother object with a single sweep of the Gauss-Seidel solver object, while the point-Jacobi smoother @@ -429,8 +429,8 @@ class="cmtt-12">SMOOTHER_TYPE to appropriate values (see Tables 76), i.e., without setting smoother. class="cmr-12">Similar considerations apply to the point-Jacobi, Gauss-Seidel and block-Jacobi coarsest-level solvers, and shortcuts are available in this case too (see Table 5 ??).
@@ -606,16 +605,26 @@ class="cmtt-10x-x-109">character
(len=*)

’VCYCLE’ -

’WCYCLE’ -

’KCYCLE’ -

’ADD’

’VCYCLE’

VCYCLE +

WCYCLE +

KCYCLE +

ADD

VCYCLE

Multilevel cycle: V-cycle, W-cycle, K-cycle, and additive composition.

OUTER_SWEEPS integer

integer

Any integer

number 1 ments s






+






MIN_COARSE_SIZE_PER_PROCESS. +class="cmtt-10x-x-109">’.




Minimum ratio. The aggregation stops if the ratio between the global matrix dimensions at two consecutive levels is lower than or -equal to this threshold (see Note). +equal to this threshold (see Note).






> 1

20

Maximum number of levels. The aggregation stops if the number of levels -reaches this value (see Note). +reaches this value (see Note).






PAR_AGGR_ALG

character(len=*)

’DEC’, ’SYMDEC’, ’COUPLED’

’DEC’

Parallel aggregation algorithm. -

the

Parallel aggregation algorithm. +

the SYMDEC option applies decoupled aggregation to the sparsity pattern of A + AT . +class="cmmi-8">T .






what data type

val

default

comments +






AGGR_TYPE

character(len=*)

’SOC1’

’SOC1’, -’SOC2’, -’MATCHBOXP’

Type of aggregation algorithm: currently, +class="cmtt-10x-x-109">=*)

SOC1

SOC1, +SOC2, +MATCHBOXP

Type of aggregation algorithm: currently, for the decoupled aggregation we implement two measures of strength of connection, the one by Vaněk, Mandel and Brezina [29], +href="userhtmlli4.html#XVANEK_MANDEL_BREZINA">30], and the one by Gratton et al [19]. The +href="userhtmlli4.html#XGrHeJi:16">20]. The coupled aggregation is based on a parallel version of the half-approximate matching implemented in the MatchBox-P software -package AGGIUNGERE LINK AL -PACKAGE? +package [8].






AGGR_SIZE

integer

Any integer -

number +class="cmtt-10x-x-109">’

integer

Any integer +

number power of 2 and > 2

4

Maximum size of aggregates when the +class="cmmi-10x-x-109">> 2

4

Maximum size of aggregates when the coupled aggregation based on matching is applied. For aggressive coarsening with size of aggregate larger than 8 @@ -865,49 +916,56 @@ we recommend the use of smoothed prolongators. MODIFICARE CODICE +class="cmbx-10x-x-109">CODICE






AGGR_PROL

character(len=*)

’SMOOTHED’, -’UNSMOOTHED’

’SMOOTHED’

Prolongator used by the aggregation +class="cmtt-10x-x-109">=*)

SMOOTHED, +UNSMOOTHED

SMOOTHED

Prolongator used by the aggregation algorithm: smoothed or unsmoothed (i.e., -tentative prolongator). +tentative prolongator).






Note. The aggregation algorithm stops when at least one of the following criteria is met: the coarse size threshold, the coarse size threshold per process, the
-
minimum coarsening ratio, or the maximum number of levels is reached. Therefore, the actual number of levels may be
+class="td11">
Note. The aggregation algorithm stops when at least one of the following criteria is met: the coarse size threshold,
smaller than the specified maximum number of levels.
+class="td11">
the coarse size threshold per process, the minimum coarsening ratio, or the maximum number of levels is reached.
+
Therefore, the actual number of levels may be smaller than the specified maximum number of levels.





- +
Table 3: Parameters defining the aggregation algorithm.
+ @@ -917,7 +975,7 @@ class="content">Parameters defining the aggregation algorithm.


@@ -925,7 +983,7 @@ class="content">Parameters defining the aggregation algorithm.

+

< style="vertical-align:baseline;" id="TBL-6-5-">
Note. Different thresholds at different levels, such as those used in [29, Section 5.1], can be easily set by invoking the rou-
+href="userhtmlli4.html#XVANEK_MANDEL_BREZINA">30, Section 5.1], can be easily set by invoking the rou-
tine Parameters defining the aggregation algorithm (continued).


@@ -1075,7 +1133,10 @@ class="content">Parameters defining the aggregation algorithm (continued). -

+

+ + +






what

type

val

deault

cots






AGGR_ORD

character(len=*)

’NATURAL’ -

’DEGREE’

’NATURAL’

Initial ordering of indices for +class="td11">

Initial ordering of indices for the decoupled aggregation algorithm: either natural ordering or sorted by descending degrees of the nodes in the @@ -994,23 +1052,23 @@ matrix graph.






AGGR_THRESH

real( kind_parameter

_parameter

)

Any real -

number 

Any real +

number  [0,1]

0.01

The threshold

0.01

The threshold θ in the decoupled aggregation algorithm, see (??) in @@ -1020,22 +1078,22 @@ bottom of this table.






AGGR_FILTER

character(len=*)

’FILTER’ -

’NOFILTER’

’NOFILTER’

Matrix used in computing the smoothed +class="td11">

Matrix used in computing the smoothed prolongator: filtered or unfiltered (see (??) in Section 






+LU from MUMPS, SuperLU or UMFPACK (plus +triangular solve). Suitable for GPUs (no triangular +solve) approximate inverse solvers INVK(p,q), +INVT(p1,p2,t1,t2) and AINV(t), see [2]. Note that +UMFPACK and SuperLU_Dist are available only in +double precision.





what

a type

e

val

deault

cots






COARSE_MAT

character(len=*)

’DIST’ -

’REPL’

’REPL’

Coarsest matrix layout: distributed among the +class="td11">

DIST +

REPL

REPL

Coarsest matrix layout: distributed among the processes or replicated on each of them.






COARSE_SOLVE

character(len=*)

’MUMPS’ -

’UMF’ -

’SLU’ -

’SLUDIST’ -

’JACOBI’ -

’GS’ -

’BJAC’ -

’PCG’

See Note.

Solver used at the coarsest level: sequential LU +class="td11">

MUMPS +

UMF +

SLU +

SLUDIST +

JACOBI +

GS +

BJAC +

RKR

See Note.

Solver used at the coarsest level: sequential LU from MUMPS, UMFPACK, or SuperLU (plus triangular solve); distributed LU from MUMPS or SuperLU_Dist (plus triangular solve); point-Jacobi, @@ -1180,62 +1263,95 @@ class="cmbx-10x-x-109">preconditioned Conjugate Gradient coupled with the block-Jacobi preconditioner with ILU(0) on the blocks. -

Note that UMF and SLU require the coarsest matrix -to be replicated, ILU(0) on the blocks. Note that UMF and +SLU require the coarsest matrix to be replicated, +SLUDIST, JACOBI, GS, BJAC and PCG -require it to be distributed, MUMPS can be used with -either a replicated or a distributed matrix. When -any of the previous solvers is specified, the matrix -layout is set to a default value which allows the use -of the solver (see Remark 3, p. 24). Note also that +class="cmtt-10x-x-109">PCG require it to +be distributed, MUMPS can be used with either a +replicated or a distributed matrix. When any of +the previous solvers is specified, the matrix layout +is set to a default value which allows the use of +the solver (see Remark 3, p. 24). Note also that UMFPACK and SuperLU_Dist are available only in double precision.






COARSE_SUBSOLVE

character(len=*)

’ILU’ -

’ILUT’ -

’MILU’ -

’MUMPS’ -

’SLU’ -

’UMF’

See Note.

Solver for the diagonal blocks of the coarse matrix, +class="td11">

ILU +

ILUT +

MILU +

MUMPS +

SLU +

UMF +

INVT +

INVK +

AINV

See Note.

Solver for the diagonal blocks of the coarse matrix, in case the block Jacobi solver is chosen as coarsest-level solver: ILU(p), ILU(p,t), MILU(p), -LU from MUMPS, SuperLU or UMFPACK -(plus triangular solve). Aggiungere Sparse -Approssimate per GPU? Note that UMFPACK -and SuperLU_Dist are available only in double -precision.






ILU otherwise.





-
Table 5: Parameters defining the coarse-space correction at the coarsest level.
- - - -
- -
- - - -


- - - -
-

-

s + +class="cmbx-10x-x-109">criterio di arresto del PCG? +class="cmtt-10x-x-109">’ +class="cmti-10x-x-109">_parameter

)






what

what

da type

val

e

val

default

t

coments






COARSE_SWEEPS

integer

Any integer -

number > 0

10

Number of sweeps when JACOBI, GS or BJAC is -chosen as coarsest-level solver.

integer

Any +integer +

number > +0

10

Number of sweeps when JACOBI, GS or BJAC +is chosen as coarsest-level solver. Aggiungere criterio di arresto del PCG?






COARSE_FILLIN

integer

Any integer -

number 0

0

Fill-in level p of the ILU factorizations.

integer

Any +integer +

number +0

0

Fill-in level p of the ILU factorizations.






COARSE_ILUTHRS

real( kind_parameter

)

Any real -

number 0

0

Drop tolerance t in the ILU(p,t) -factorization.

Any real +

number +0

0

Drop tolerance t in the ILU(p,t) factorization.






+ style="vertical-align:baseline;" id="TBL-7-12-"> +
+ + +
Table 6: Table 5: Parameters defining the coarse-space correction at the coarsest level -(continued).
+(continued). @@ -1399,27 +1492,27 @@ class="content">Parameters defining the coarse-space correction at the co -



-

-

+






what

what

da type

val

e

val

default

t

conts






SMOOTHER_TYPE

character(len=*)

=*)

JACOBI -

GS -

BGS -

BJAC -

AS

FBGS

Type of smoother used in the multilevel preconditioner: point-Jacobi, hybrid @@ -1499,39 +1592,55 @@ class="cmr-7">1-versions? and Additive Schwarz. -

It is ignored by one-level preconditioners.






SUB_SOLVE

character(len=*)

’JACOBI’ -

’GS’ -

=*)

JACOBI +

GS +

’BGS’ -

’ILU’ -

’ILUT’ -

’MILU’ -

’MUMPS’ -

’SLU’ -

’UMF’

ILU +

ILUT +

MILU +

MUMPS +

SLU +

UMF

GS and BGS multilevel class="cmr-10">preconditioners, respectively -

ILU for block-Jacobi preconditioners 1-versions?

-versions?

The local solver to be used with the smoother or one-level preconditioner (see @@ -1583,23 +1692,23 @@ class="cmr-10">or UMFPACK (plus triangular solve). See class="cmr-10">Note for details on hybrid Gauss-Seidel.






SMOOTHER_SWEEPS

integer

integer

Any integer -

number 0

1

0

1

Number of sweeps of the smoother or one-level preconditioner. In the multilevel @@ -1624,34 +1733,34 @@ class="cmr-10">, class="cmr-10">respectively.






SUB_OVR

integer

integer

Any integer -

number 0

1

0

1

Number of overlap layers, for Additive Schwarz only.







Table 7: Table 6: Parameters defining the smoother or the details of the one-level -preconditioner.
+preconditioner.
@@ -1661,27 +1770,27 @@ preconditioner.
-



-

-

+






what

what

da type

val

e

val

default

t

conts






SUB_RESTR

character(len=*)

=*)

HALO -

NONE

HALO

Type of restriction operator, for Additive Schwarz only: NONE for neglecting it. -

Note that HALO must be chosen for the @@ -1758,29 +1867,29 @@ class="cmr-10">classical Addditive Schwarz smoother and class="cmr-10">its RAS variant.






SUB_PROL

character(len=*)

=*)

SUM -

NONE

NONE

Type of prolongation operator, for Additive Schwarz only: for neglecting them. -

Note that SUM for its RAS variant.






SUB_FILLIN

integer

integer

Any integer -

number 0

0

0

0

Fill-in level p of the incomplete LU @@ -1835,27 +1944,27 @@ class="cmr-10">of the incomplete LU class="cmr-10">factorizations.






SUB_ILUTHRS

real( kind_parameter

)

_parameter

)

Any real number 0

0

0

0

Drop tolerance t in the ILU() factorization.

MUMPS_LOC_GLOB

character(len=*)

=*)

LOCAL_SOLVER -

GLOBAL_SOLVER

GLOBAL_SOLVER

Whether MUMPS should be used as a distributed solver, or as a serial solver acting @@ -1895,20 +2004,20 @@ class="cmr-10">only on the part of the matrix local to each process.

MUMPS_IPAR_ENTRY

integer

integer

Any integer number

0

number

0

Set an entry in the MUMPS integer control array, as chosen via the optional argument.

MUMPS_RPAR_ENTRY

real

Any real number

0

real

Any real number

0

Set an entry in the MUMPS real control array, as chosen via the optional class="cmr-10">argument.







Table 8: Table 7: Parameters defining the smoother or the details of the one-level preconditioner -(continued).
+(continued).
@@ -1955,7 +2064,7 @@ class="content">Parameters defining the smoother or the details of the one-level -