From 8e5f7fa4525c133c586fed9c3e3ce1a37be3ea61 Mon Sep 17 00:00:00 2001 From: Salvatore Filippone Date: Mon, 29 Feb 2016 16:14:42 +0000 Subject: [PATCH] mld2p4-2: Docs updates for DIAG/Gauss-Seidel --- docs/html/node18.html | 15 +++++++++++++-- docs/mld2p4-2.1-guide.pdf | 30 +++++++++++++++--------------- docs/src/userinterface.tex | 8 ++++++++ 3 files changed, 36 insertions(+), 17 deletions(-) diff --git a/docs/html/node18.html b/docs/html/node18.html index c010e77d..fca7cce6 100644 --- a/docs/html/node18.html +++ b/docs/html/node18.html @@ -169,14 +169,25 @@ can be logically divided into four groups, i.e. parameters defining A list of the parameters that can be set, along with their allowed and default values, is given in Tables 2-5. For a detailed description of the meaning of the parameters, please -refer to Section 4. The smoother and solver objects are arranged in a hierarchical manner; +refer to Section 4. + +

+The smoother and solver objects are arranged in a hierarchical manner; when specifying a smoother object, its parameters including the contained solver are set to default values, and when a solver object is specified its defaults are also set, overriding in both cases any previous settings even if explicitly specified. Therefore if the user sets a new smoother, and wishes to use a solver different from the default one, the call to set the solver must come -after the call to set the smoother. Completely new smoother and/or solver class derived from the +after the call to set the smoother. +

+The combination of a Jacobi smoother with a Diagonal Scaling local +solver is equivalent to the strategy called Point Jacobi in the +literature; similarly, having a Jacobi smoother with a Gauss-Seidel +local solver is equivalent to a ``hybrid Gauss-Seidel'' solver. + +

+Completely new smoother and/or solver class derived from the base objects in the library may be used without recompiling the library itself. Once the new smoother/solver class has been developed, the user can declare a variable of that new type in the diff --git a/docs/mld2p4-2.1-guide.pdf b/docs/mld2p4-2.1-guide.pdf index b9f0cf82..cf01fb5e 100644 --- a/docs/mld2p4-2.1-guide.pdf +++ b/docs/mld2p4-2.1-guide.pdf @@ -3317,7 +3317,7 @@ endstream endobj 426 0 obj << -/Length 4105 +/Length 4784 >> stream 0 g 0 G @@ -3348,11 +3348,11 @@ BT 0 0 1 rg 0 0 1 RG [(5)]TJ 0 g 0 G - [(.)-432(F)83(or)-296(a)-296(detailed)-296(description)-296(of)-296(the)-296(meaning)-296(of)-296(the)-296(parameters,)-304(please)]TJ 0 -13.549 Td [(refer)-470(to)-469(Section)]TJ + [(.)-432(F)83(or)-296(a)-296(detailed)-296(description)-296(of)-296(the)-296(meaning)-296(of)-296(the)-296(parameters,)-304(please)]TJ 0 -13.549 Td [(refer)-333(to)-334(Section)]TJ 0 0 1 rg 0 0 1 RG - [-470(4)]TJ + [-333(4)]TJ 0 g 0 G - [(.)-853(The)-470(smo)-27(other)-470(and)-470(solv)28(er)-469(ob)-56(jects)-470(are)-469(arranged)-470(in)-469(a)-470(hierarc)28(hical)]TJ 0 -13.549 Td [(manner;)-519(when)-457(sp)-28(ecifying)-457(a)-457(smo)-28(other)-457(ob)-55(ject,)-488(its)-457(parameters)-457(including)-457(the)-457(con)27(tained)]TJ 0 -13.549 Td [(solv)28(er)-277(are)-277(set)-277(to)-277(default)-277(v)56(alues,)-288(and)-277(when)-277(a)-277(solv)28(er)-277(ob)-55(ject)-277(is)-277(sp)-28(eci\014ed)-277(its)-277(defaults)-277(ar)1(e)-277(also)]TJ 0 -13.55 Td [(set,)-300(o)28(v)28(erriding)-291(in)-292(b)-28(oth)-291(cases)-291(an)27(y)-291(previous)-291(settings)-292(ev)28(en)-291(if)-292(explicitly)-291(sp)-28(eci\014ed.)-430(Therefore)]TJ 0 -13.549 Td [(if)-383(the)-383(user)-383(sets)-383(a)-382(new)-383(smo)-28(other,)-395(and)-383(wishes)-383(to)-383(use)-383(a)-383(solv)28(er)-383(di\013eren)28(t)-383(from)-383(the)-383(default)]TJ 0 -13.549 Td [(one,)-307(the)-300(call)-300(to)-300(set)-300(the)-300(solv)28(er)-300(m)27(ust)-300(come)]TJ/F18 10.9091 Tf 193.685 0 Td [(after)]TJ/F15 10.9091 Tf 26.611 0 Td [(the)-300(call)-300(to)-300(set)-300(the)-300(smo)-28(other.)-433(Com)-1(p)1(le)-1(t)1(e)-1(ly)]TJ -220.296 -13.549 Td [(new)-354(smo)-27(other)-354(and/or)-353(solv)27(er)-353(class)-354(deriv)28(ed)-353(from)-354(the)-354(b)1(as)-1(e)-353(ob)-56(jects)-353(in)-354(the)-353(library)-354(ma)28(y)-353(b)-28(e)]TJ 0 -13.549 Td [(used)-419(without)-419(recompiling)-419(the)-420(librar)1(y)-420(itself.)-702(Once)-419(the)-419(new)-419(smo)-28(other/solv)28(er)-420(class)-419(has)]TJ 0 -13.55 Td [(b)-28(een)-422(dev)28(elop)-28(ed,)-444(the)-423(u)1(s)-1(er)-422(can)-422(declare)-422(a)-422(v)55(ariable)-422(of)-422(that)-422(new)-422(t)27(yp)-27(e)-423(in)-422(the)-422(application,)]TJ 0 -13.549 Td [(and)-358(pass)-358(th)1(at)-358(v)55(ariable)-357(to)-358(the)]TJ/F44 10.9091 Tf 143.268 0 Td [(p%set\050solver,info\051)]TJ/F15 10.9091 Tf 106.993 0 Td [(call;)-370(the)-358(new)-358(solv)28(er)-358(ob)-55(ject)-358(is)-358(then)]TJ -250.261 -13.549 Td [(dynamically)-333(included)-333(in)-334(the)-333(preconditioner)-333(structure.)]TJ 16.936 -13.549 Td [(The)]TJ/F44 10.9091 Tf 24.161 0 Td [(what,val)]TJ/F15 10.9091 Tf 51.19 0 Td [(pairs)-492(des)-1(crib)-27(ed)-493(here)-492(are)-493(those)-492(of)-493(the)-492(prede\014ned)-493(smo)-27(other/solv)27(er)]TJ -92.287 -13.549 Td [(ob)-55(jec)-1(ts;)-333(newly)-333(dev)28(elop)-28(ed)-333(s)-1(olv)28(ers)-333(ma)28(y)-334(de\014ne)-333(new)-333(pairs)-334(according)-333(to)-333(their)-333(nee)-1(d)1(s)-1(.)]TJ + [(.)]TJ 16.936 -13.549 Td [(The)-285(smo)-28(other)-284(and)-285(solv)28(er)-285(ob)-56(jects)-284(are)-285(arranged)-285(in)-284(a)-285(hierarc)28(hical)-285(manner;)-301(when)-285(sp)-28(eci-)]TJ -16.936 -13.549 Td [(fying)-280(a)-281(smo)-27(other)-281(ob)-55(ject,)-291(its)-281(par)1(am)-1(eters)-280(including)-280(the)-280(c)-1(on)28(tained)-280(solv)28(er)-281(are)-280(set)-280(to)-281(default)]TJ 0 -13.55 Td [(v)56(alues,)-317(and)-313(when)-312(a)-313(solv)28(er)-313(ob)-55(ject)-313(is)-312(sp)-28(eci\014ed)-313(its)-312(defaults)-313(are)-312(also)-313(set,)-317(o)28(v)28(erriding)-313(in)-312(b)-28(oth)]TJ 0 -13.549 Td [(cases)-333(an)28(y)-334(p)1(revious)-334(settings)-333(ev)28(en)-333(if)-333(explicitly)-333(sp)-28(eci\014ed.)-444(Therefore)-333(if)-333(the)-333(user)-334(sets)-333(a)-333(new)]TJ 0 -13.549 Td [(smo)-28(other,)-351(and)-348(wishes)-347(to)-348(use)-347(a)-348(solv)28(er)-348(di\013eren)28(t)-348(from)-347(the)-348(default)-347(one,)-352(the)-347(call)-348(to)-348(set)-347(the)]TJ 0 -13.549 Td [(solv)28(er)-334(m)28(ust)-333(come)]TJ/F18 10.9091 Tf 85.909 0 Td [(after)]TJ/F15 10.9091 Tf 26.974 0 Td [(the)-333(call)-334(to)-333(set)-333(the)-334(smo)-28(other.)]TJ -95.947 -13.549 Td [(The)-287(com)27(b)1(ination)-288(of)-287(a)-287(Jacobi)-287(smo)-28(other)-287(with)-287(a)-287(Diagonal)-287(Scaling)-287(lo)-28(cal)-287(solv)27(er)-287(is)-287(equiv-)]TJ -16.936 -13.55 Td [(alen)28(t)-420(to)-420(the)-419(s)-1(tr)1(ate)-1(gy)-419(called)-420(P)28(oin)28(t)-420(Jacobi)-420(in)-420(the)-419(literature;)-463(similarly)83(,)-441(ha)28(ving)-420(a)-420(Jacobi)]TJ 0 -13.549 Td [(smo)-28(other)-494(with)-495(a)-495(Gauss-Seidel)-494(lo)-28(cal)-495(solv)28(er)-495(is)-495(equ)1(iv)55(alen)28(t)-495(to)-494(a)-495(\134h)28(ybrid)-495(Gauss-Seidel")]TJ 0 -13.549 Td [(solv)28(er.)]TJ 16.936 -13.549 Td [(Completely)-255(new)-256(smo)-28(other)-255(and/or)-255(solv)28(er)-256(class)-255(deriv)28(ed)-256(from)-255(the)-255(base)-256(ob)-55(jects)-256(in)-255(the)-255(li-)]TJ -16.936 -13.549 Td [(brary)-246(ma)27(y)-246(b)-28(e)-246(use)-1(d)-246(without)-246(rec)-1(omp)1(iling)-247(the)-246(library)-247(itself.)-415(Once)-247(the)-246(new)-247(smo)-28(other/solv)28(er)]TJ 0 -13.55 Td [(class)-318(has)-317(b)-28(een)-317(dev)27(elop)-27(ed,)-321(the)-317(user)-318(can)-317(declare)-318(a)-317(v)55(ariable)-317(of)-318(that)-317(new)-318(t)28(yp)-28(e)-317(in)-318(th)1(e)-318(appli-)]TJ 0 -13.549 Td [(cation,)-366(and)-360(pass)-360(t)1(hat)-360(v)55(ari)1(able)-360(to)-360(the)]TJ/F44 10.9091 Tf 179.508 0 Td [(p%set\050solver,info\051)]TJ/F15 10.9091 Tf 107.013 0 Td [(call;)-373(the)-360(n)1(e)-1(w)-359(solv)28(er)-360(ob)-56(ject)]TJ -286.521 -13.549 Td [(is)-333(then)-334(dynamically)-333(included)-333(in)-333(the)-334(precondition)1(e)-1(r)-333(structure.)]TJ 16.936 -13.549 Td [(The)]TJ/F44 10.9091 Tf 24.161 0 Td [(what,val)]TJ/F15 10.9091 Tf 51.19 0 Td [(pairs)-492(des)-1(crib)-27(ed)-493(here)-492(are)-493(those)-492(of)-493(the)-492(prede\014ned)-493(smo)-27(other/solv)27(er)]TJ -92.287 -13.549 Td [(ob)-55(jec)-1(ts;)-333(newly)-333(dev)28(elop)-28(ed)-333(s)-1(olv)28(ers)-333(ma)28(y)-334(de\014ne)-333(new)-333(pairs)-334(according)-333(to)-333(their)-333(nee)-1(d)1(s)-1(.)]TJ 0 g 0 G 0 g 0 G ET @@ -5392,7 +5392,7 @@ stream /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [166.591 547.793 174.038 559.483] +/Rect [162.131 549.915 169.578 559.483] /A << /S /GoTo /D (section.4) >> >> % 427 0 obj @@ -5443,7 +5443,7 @@ stream >> % 360 0 obj << -/D [434 0 R /XYZ 366.765 4378.384 null] +/D [434 0 R /XYZ 366.787 4378.384 null] >> % 433 0 obj << @@ -5494,7 +5494,7 @@ stream >> % 448 0 obj << -/D [445 0 R /XYZ 530.198 4405.505 null] +/D [445 0 R /XYZ 530.185 4405.505 null] >> % 444 0 obj << @@ -8889,8 +8889,8 @@ endobj 585 0 obj << /Title (MultiLevel Domain Decomposition Parallel Preconditioners Package based on PSBLAS, V. 2.0) /Subject (MultiLevel Domain Decomposition Parallel Preconditioners Package) /Keywords (Parallel Numerical Software, Algebraic Multilevel Preconditioners, Sparse Iterative Solvers, PSBLAS, MPI) /Creator (pdfLaTeX) /Producer ($Id: userguide.tex 2008-04-08 Pasqua D'Ambra, Daniela di Serafino, Salvatore Filippone$) /Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.15)/Keywords() -/CreationDate (D:20160229143146Z) -/ModDate (D:20160229143146Z) +/CreationDate (D:20160229143618Z) +/ModDate (D:20160229143618Z) /Trapped /False /PTEX.Fullbanner (This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2014) kpathsea version 6.2.0) >> @@ -9009,19 +9009,19 @@ endobj /W [1 3 1] /Root 584 0 R /Info 585 0 R -/ID [<9F2D429390BD338100291AAD77B5B6A2> <9F2D429390BD338100291AAD77B5B6A2>] +/ID [<7A56873F27E1D9014CBB25848E9AD09A> <7A56873F27E1D9014CBB25848E9AD09A>] /Length 2935 >> stream Ny6Y=XWV"U  #T  $S +R6Q7PDOTN5M5'L58K5WJ 5]I!"H#$'G%&,F'(2E)*7D+,=C-.AB/0EA123745%4-6:89>;3<,&A?@CDEFGHIJKLMNOPQRSTUVWXYZ]B[\$`^-_cba.x3(07^FbYXW_     q_5 %Y!PQ[ZN()',&T*O\/-.130v28845:<9;>?@ABHE=CKLIJKLMNOPQRZ[GXFS+2/)'UVW`aGHIM]\]_YI^JVbc555a5`[595 555 5 -5 55T5 .*1555555555 *55555555 5!5"5#5$5%5152535.55&5(5)5*5+5,5-5754555;5<50595/;{565K5=5>5?5@5A5B5C5D5E5G5:_65F5O5P5Q5I5L5Hz<5J:5R5M5N5U5T5X5S5V5Z5[5^5Y5\5a5b5c5`5_B  -   =;%V #$%"(!&*-)`+0/3.$1<584|6;:>9<B?@RC DcS'TU&  -   iC8[r2wk,HY#' @!N"!#=>?@Z[\]^_`abc7=777777777 7 -7 7 7 7777}mW +5 55T5 .*1555555555 *55555555 5!5"5#5$5%5152535.55&5(5)5*5+5,5-5754555;5<50595/;{565K5=5>5?5@5A5B5C5D5E5G5:_65F5O5P5Q5I5L5Hz<5J:5R5M5N5U5T5X5S5V5Z5[5^5Y5\5a5b5c5`5_E  +   ;(Y #$%"(!&*-)+0/3.1<584#6;:>9><B?@RCiDcS)TU)C  +   llu;^ynH: % CR!"#=>?@Z[\]^_`abc7777777777 7 +7 7 7 7777 endstream endobj startxref -559959 +560638 %%EOF diff --git a/docs/src/userinterface.tex b/docs/src/userinterface.tex index 0b69bcd6..fed1d42d 100644 --- a/docs/src/userinterface.tex +++ b/docs/src/userinterface.tex @@ -156,6 +156,7 @@ A list of the parameters that can be set, along with their allowed and default values, is given in Tables~\ref{tab:p_type}-\ref{tab:p_coarse}. For a detailed description of the meaning of the parameters, please refer to Section~\ref{sec:background}. + % The smoother and solver objects are arranged in a hierarchical manner; when specifying a smoother object, its parameters including the @@ -166,6 +167,13 @@ the user sets a new smoother, and wishes to use a solver different from the default one, the call to set the solver must come \emph{after} the call to set the smoother. % + +The combination of a Jacobi smoother with a Diagonal Scaling local +solver is equivalent to the strategy called Point Jacobi in the +literature; similarly, having a Jacobi smoother with a Gauss-Seidel +local solver is equivalent to a ``hybrid Gauss-Seidel'' solver. + + Completely new smoother and/or solver class derived from the base objects in the library may be used without recompiling the library itself. Once the new smoother/solver class has been