config/pac.m4
 configure
 docs/html/WARNINGS
 docs/html/images.log
 docs/html/images.pl
 docs/html/images.tex
 docs/html/img100.png
 docs/html/img101.png
 docs/html/img92.png
 docs/html/img93.png
 docs/html/img94.png
 docs/html/img95.png
 docs/html/img96.png
 docs/html/img97.png
 docs/html/img98.png
 docs/html/img99.png
 docs/html/index.html
 docs/html/internals.pl
 docs/html/labels.pl
 docs/html/node1.html
 docs/html/node10.html
 docs/html/node11.html
 docs/html/node12.html
 docs/html/node13.html
 docs/html/node14.html
 docs/html/node15.html
 docs/html/node16.html
 docs/html/node17.html
 docs/html/node18.html
 docs/html/node19.html
 docs/html/node2.html
 docs/html/node20.html
 docs/html/node21.html
 docs/html/node22.html
 docs/html/node23.html
 docs/html/node24.html
 docs/html/node25.html
 docs/html/node26.html
 docs/html/node27.html
 docs/html/node28.html
 docs/html/node29.html
 docs/html/node3.html
 docs/html/node30.html
 docs/html/node31.html
 docs/html/node4.html
 docs/html/node5.html
 docs/html/node6.html
 docs/html/node7.html
 docs/html/node8.html
 docs/html/node9.html
 docs/html/userhtml.html
 docs/pdf/Makefile
 docs/pdf/abstract.tex
 docs/pdf/background.tex
 docs/pdf/bibliography.tex
 docs/pdf/building.tex
 docs/pdf/conventions.tex
 docs/pdf/distribution.tex
 docs/pdf/errors.tex
 docs/pdf/gettingstarted.tex
 docs/pdf/overview.tex
 docs/pdf/title.tex
 docs/pdf/userguide.tex
 docs/pdf/userhtml.tex
 docs/pdf/userinterface.tex

Configure minro fix: require psblas 2.3
Doc fixes: dual version of title for pdf/html, fixed tables.
stopcriterion
Salvatore Filippone 17 years ago
parent b7445f740c
commit 3f302b360c

@ -290,7 +290,7 @@ AC_DEFUN([PAC_ARG_WITH_PSBLAS],
[ [
AC_ARG_WITH(psblas, AC_ARG_WITH(psblas,
AC_HELP_STRING([--with-psblas], [The source directory for PSBLAS, for example, AC_HELP_STRING([--with-psblas], [The source directory for PSBLAS, for example,
--with-psblas=/opt/packages/psblas-2.2]), --with-psblas=/opt/packages/psblas-2.3]),
[pac_cv_psblas_dir=$withval], [pac_cv_psblas_dir=$withval],
[pac_cv_psblas_dir='']) [pac_cv_psblas_dir=''])
] ]

2
configure vendored

@ -1268,7 +1268,7 @@ Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-psblas The source directory for PSBLAS, for example, --with-psblas The source directory for PSBLAS, for example,
--with-psblas=/opt/packages/psblas-2.2 --with-psblas=/opt/packages/psblas-2.3
--with-libs List additional link flags here. For example, --with-libs List additional link flags here. For example,
--with-libs=-lspecial_system_lib or --with-libs=-lspecial_system_lib or
--with-libs=-L/path/to/libs --with-libs=-L/path/to/libs

@ -8,30 +8,11 @@ No implementation found for style `rotating'
redefining command \thepage redefining command \thepage
The userhtml.aux file was not found, so sections will not be numbered ? brace missing for \
and cross-references will be shown as icons.
? brace missing for \setlength Substitution of arg to newlabelxx delayed.
No number for "Applicationofthemulti-levelhybridpost-smoothedpreconditioner."
No number for "Preconditionertypes,correspondingstringsanddefaultchoices."
No number for "Setupandapplicationofthedefaultmulti-levelSchwarzpreconditioner."
No number for "Setupofahybridthree-levelSchwarzpreconditioner."
No number for "Setupofanadditivethree-levelSchwarzpreconditioner."
No number for "Setupofaone-levelSchwarzpreconditioner." ? brace missing for \setlength
No number for "Parametersdefiningthetypeofmulti-levelpreconditioner."
No number for "Parametersdefiningtheone-levelpreconditionerusedassmoother."
No number for "Parametersdefiningtheaggregationalgorithm."
No number for "Parametersdefiningthecoarse-spacecorrectionatthecoarsestlevel."
couldn't convert character ecaron into available encodings couldn't convert character ecaron into available encodings
...set $ACCENT_IMAGES to get an image ...set $ACCENT_IMAGES to get an image

@ -1,4 +1,4 @@
This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6) (format=latex 2008.5.20) 22 JUL 2008 18:30 This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6) (format=latex 2008.5.20) 23 JUL 2008 10:16
entering extended mode entering extended mode
%&-line parsing enabled. %&-line parsing enabled.
**./images.tex **./images.tex
@ -28,8 +28,10 @@ File: size11.clo 2005/09/16 v1.4f Standard LaTeX file (size option)
\abovecaptionskip=\skip41 \abovecaptionskip=\skip41
\belowcaptionskip=\skip42 \belowcaptionskip=\skip42
\bibindent=\dimen102 \bibindent=\dimen102
) (/usr/share/texmf/tex/latex/pstricks/pstricks.sty )
(/usr/share/texmf/tex/latex/pstricks/pstricks.sty
Package: pstricks 2006/08/10 v0.32 LaTeX wrapper for `PSTricks' (RN,HV) Package: pstricks 2006/08/10 v0.32 LaTeX wrapper for `PSTricks' (RN,HV)
(/usr/share/texmf/tex/generic/pstricks/pstricks.tex (/usr/share/texmf/tex/generic/pstricks/pstricks.tex
`PSTricks' v1.15 <2006/12/22> (tvz) `PSTricks' v1.15 <2006/12/22> (tvz)
\pst@dima=\dimen103 \pst@dima=\dimen103
@ -62,13 +64,16 @@ Package: pstricks 2006/08/10 v0.32 LaTeX wrapper for `PSTricks' (RN,HV)
\theoverlaybox=\box28 \theoverlaybox=\box28
) )
File: pstricks.tex 2006/12/22 v1.15 `PSTricks' (tvz) File: pstricks.tex 2006/12/22 v1.15 `PSTricks' (tvz)
(/usr/share/texmf/tex/latex/xcolor/xcolor.sty (/usr/share/texmf/tex/latex/xcolor/xcolor.sty
Package: xcolor 2007/01/21 v2.11 LaTeX color extensions (UK) Package: xcolor 2007/01/21 v2.11 LaTeX color extensions (UK)
(/usr/share/texmf/tex/latex/config/color.cfg (/usr/share/texmf/tex/latex/config/color.cfg
File: color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive File: color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive
) )
Package xcolor Info: Package option `override' ignored on input line 216. Package xcolor Info: Package option `override' ignored on input line 216.
Package xcolor Info: Driver file: dvips.def on input line 225. Package xcolor Info: Driver file: dvips.def on input line 225.
(/usr/share/texmf/tex/latex/graphics/dvips.def (/usr/share/texmf/tex/latex/graphics/dvips.def
File: dvips.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR) File: dvips.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR)
) )
@ -80,8 +85,10 @@ Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1357.
Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1358. Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1358.
Package xcolor Info: Model `Gray' substituted by `gray' on input line 1359. Package xcolor Info: Model `Gray' substituted by `gray' on input line 1359.
Package xcolor Info: Model `wave' substituted by `hsb' on input line 1360. Package xcolor Info: Model `wave' substituted by `hsb' on input line 1360.
)) (/usr/share/texmf/tex/latex/fancybox/fancybox.sty ))
(/usr/share/texmf/tex/latex/fancybox/fancybox.sty
Package: fancybox 2000/09/19 1.3 Package: fancybox 2000/09/19 1.3
Style option: `fancybox' v1.3 <2000/09/19> (tvz) Style option: `fancybox' v1.3 <2000/09/19> (tvz)
\@fancybox=\box29 \@fancybox=\box29
\shadowsize=\dimen118 \shadowsize=\dimen118
@ -99,11 +106,14 @@ Package: amsfonts 2001/10/25 v2.2f
\symAMSb=\mathgroup5 \symAMSb=\mathgroup5
LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold'
(Font) U/euf/m/n --> U/euf/b/n on input line 132. (Font) U/euf/m/n --> U/euf/b/n on input line 132.
) (/usr/share/texmf/tex/generic/oberdiek/ifpdf.sty )
(/usr/share/texmf/tex/generic/oberdiek/ifpdf.sty
Package: ifpdf 2006/02/20 v1.4 Provides the ifpdf switch (HO) Package: ifpdf 2006/02/20 v1.4 Provides the ifpdf switch (HO)
Package ifpdf Info: pdfTeX in pdf mode not detected. Package ifpdf Info: pdfTeX in pdf mode not detected.
) (/usr/share/texmf/tex/latex/hyperref/hyperref.sty )
(/usr/share/texmf/tex/latex/hyperref/hyperref.sty
Package: hyperref 2007/02/07 v6.75r Hypertext links for LaTeX Package: hyperref 2007/02/07 v6.75r Hypertext links for LaTeX
(/usr/share/texmf/tex/latex/graphics/keyval.sty (/usr/share/texmf/tex/latex/graphics/keyval.sty
Package: keyval 1999/03/16 v1.13 key=value parser (DPC) Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
\KV@toks@=\toks22 \KV@toks@=\toks22
@ -111,11 +121,14 @@ Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
\@linkdim=\dimen119 \@linkdim=\dimen119
\Hy@linkcounter=\count93 \Hy@linkcounter=\count93
\Hy@pagecounter=\count94 \Hy@pagecounter=\count94
(/usr/share/texmf/tex/latex/hyperref/pd1enc.def (/usr/share/texmf/tex/latex/hyperref/pd1enc.def
File: pd1enc.def 2007/02/07 v6.75r Hyperref: PDFDocEncoding definition (HO) File: pd1enc.def 2007/02/07 v6.75r Hyperref: PDFDocEncoding definition (HO)
) (/usr/share/texmf/tex/latex/config/hyperref.cfg )
(/usr/share/texmf/tex/latex/config/hyperref.cfg
File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive
) (/usr/share/texmf/tex/latex/oberdiek/kvoptions.sty )
(/usr/share/texmf/tex/latex/oberdiek/kvoptions.sty
Package: kvoptions 2006/08/22 v2.4 Connects package keyval with LaTeX options ( Package: kvoptions 2006/08/22 v2.4 Connects package keyval with LaTeX options (
HO) HO)
) )
@ -131,6 +144,7 @@ Package hyperref Info: Link nesting OFF on input line 2293.
Package hyperref Info: Hyper index ON on input line 2296. Package hyperref Info: Hyper index ON on input line 2296.
Package hyperref Info: Plain pages OFF on input line 2303. Package hyperref Info: Plain pages OFF on input line 2303.
Package hyperref Info: Backreferencing OFF on input line 2308. Package hyperref Info: Backreferencing OFF on input line 2308.
Implicit mode ON; LaTeX internals redefined Implicit mode ON; LaTeX internals redefined
Package hyperref Info: Bookmarks ON on input line 2444. Package hyperref Info: Bookmarks ON on input line 2444.
(/usr/share/texmf/tex/latex/html/url.sty (/usr/share/texmf/tex/latex/html/url.sty
@ -155,6 +169,7 @@ Package hyperref Info: Link coloring ON on input line 3120.
*hyperref using default driver hdvips* *hyperref using default driver hdvips*
(/usr/share/texmf/tex/latex/hyperref/hdvips.def (/usr/share/texmf/tex/latex/hyperref/hdvips.def
File: hdvips.def 2007/02/07 v6.75r Hyperref driver for dvips File: hdvips.def 2007/02/07 v6.75r Hyperref driver for dvips
(/usr/share/texmf/tex/latex/hyperref/pdfmark.def (/usr/share/texmf/tex/latex/hyperref/pdfmark.def
File: pdfmark.def 2007/02/07 v6.75r Hyperref definitions for pdfmark specials File: pdfmark.def 2007/02/07 v6.75r Hyperref definitions for pdfmark specials
\pdf@docset=\toks25 \pdf@docset=\toks25
@ -162,15 +177,20 @@ File: pdfmark.def 2007/02/07 v6.75r Hyperref definitions for pdfmark specials
\pdf@toks=\toks26 \pdf@toks=\toks26
\pdf@defaulttoks=\toks27 \pdf@defaulttoks=\toks27
\Fld@listcount=\count99 \Fld@listcount=\count99
)) (/usr/share/texmf/tex/latex/base/ifthen.sty ))
(/usr/share/texmf/tex/latex/base/ifthen.sty
Package: ifthen 2001/05/26 v1.1c Standard LaTeX ifthen package (DPC) Package: ifthen 2001/05/26 v1.1c Standard LaTeX ifthen package (DPC)
) (/usr/share/texmf/tex/latex/graphics/graphicx.sty )
(/usr/share/texmf/tex/latex/graphics/graphicx.sty
Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR) Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
(/usr/share/texmf/tex/latex/graphics/graphics.sty (/usr/share/texmf/tex/latex/graphics/graphics.sty
Package: graphics 2006/02/20 v1.0o Standard LaTeX Graphics (DPC,SPQR) Package: graphics 2006/02/20 v1.0o Standard LaTeX Graphics (DPC,SPQR)
(/usr/share/texmf/tex/latex/graphics/trig.sty (/usr/share/texmf/tex/latex/graphics/trig.sty
Package: trig 1999/03/16 v1.09 sin cos tan (DPC) Package: trig 1999/03/16 v1.09 sin cos tan (DPC)
) (/usr/share/texmf/tex/latex/config/graphics.cfg )
(/usr/share/texmf/tex/latex/config/graphics.cfg
File: graphics.cfg 2007/01/18 v1.5 graphics configuration of teTeX/TeXLive File: graphics.cfg 2007/01/18 v1.5 graphics configuration of teTeX/TeXLive
) )
Package graphics Info: Driver file: dvips.def on input line 90. Package graphics Info: Driver file: dvips.def on input line 90.
@ -180,6 +200,7 @@ Package graphics Info: Driver file: dvips.def on input line 90.
) )
\c@theorem=\count100 \c@theorem=\count100
\c@corollary=\count101 \c@corollary=\count101
(/usr/share/texmf/tex/latex/rotating/rotating.sty (/usr/share/texmf/tex/latex/rotating/rotating.sty
Package: rotating 1997/09/26, v2.13 Rotation package Package: rotating 1997/09/26, v2.13 Rotation package
\c@r@tfl@t=\count102 \c@r@tfl@t=\count102
@ -187,9 +208,11 @@ Package: rotating 1997/09/26, v2.13 Rotation package
) )
\c@subroutine=\count103 \c@subroutine=\count103
\c@example=\count104 \c@example=\count104
(/usr/share/texmf/tex/latex/pstricks/pstcol.sty (/usr/share/texmf/tex/latex/pstricks/pstcol.sty
Package: pstcol 2005/11/16 v1.2 LaTeX wrapper for `PSTricks' (RN,HV) Package: pstcol 2005/11/16 v1.2 LaTeX wrapper for `PSTricks' (RN,HV)
Package pstcol Warning: ************************************ Package pstcol Warning: ************************************
(pstcol) The package `pstcol' is obsolet! (pstcol) The package `pstcol' is obsolet!
(pstcol) You should use `pstricks' directly: (pstcol) You should use `pstricks' directly:
@ -218,12 +241,24 @@ Try typing <return> to proceed.
Package: inputenc 2006/05/05 v1.1b Input encoding file Package: inputenc 2006/05/05 v1.1b Input encoding file
\inpenc@prehook=\toks28 \inpenc@prehook=\toks28
\inpenc@posthook=\toks29 \inpenc@posthook=\toks29
(/usr/share/texmf/tex/latex/base/latin1.def (/usr/share/texmf/tex/latex/base/latin1.def
File: latin1.def 2006/05/05 v1.1b Input encoding file File: latin1.def 2006/05/05 v1.1b Input encoding file
)) ))
\sizebox=\box33 \sizebox=\box33
\lthtmlwrite=\write4 \lthtmlwrite=\write4
No file images.aux. (./images.aux
(/home/sfilippo/NUMERICAL/PSBLAS2/mld2p4-dev/docs/pdf/tmp/title.aux)
(/home/sfilippo/NUMERICAL/PSBLAS2/mld2p4-dev/docs/pdf/tmp/abstract.aux)
(/home/sfilippo/NUMERICAL/PSBLAS2/mld2p4-dev/docs/pdf/tmp/overview.aux)
(/home/sfilippo/NUMERICAL/PSBLAS2/mld2p4-dev/docs/pdf/tmp/distribution.aux)
(/home/sfilippo/NUMERICAL/PSBLAS2/mld2p4-dev/docs/pdf/tmp/building.aux)
(/home/sfilippo/NUMERICAL/PSBLAS2/mld2p4-dev/docs/pdf/tmp/background.aux)
(/home/sfilippo/NUMERICAL/PSBLAS2/mld2p4-dev/docs/pdf/tmp/gettingstarted.aux)
(/home/sfilippo/NUMERICAL/PSBLAS2/mld2p4-dev/docs/pdf/tmp/userinterface.aux)
(/home/sfilippo/NUMERICAL/PSBLAS2/mld2p4-dev/docs/pdf/tmp/errors.aux)
(/home/sfilippo/NUMERICAL/PSBLAS2/mld2p4-dev/docs/pdf/tmp/license.aux)
(/home/sfilippo/NUMERICAL/PSBLAS2/mld2p4-dev/docs/pdf/tmp/bibliography.aux))
\openout1 = `images.aux'. \openout1 = `images.aux'.
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 152. LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 152.
@ -241,8 +276,10 @@ LaTeX Font Info: ... okay on input line 152.
LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 152. LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 152.
LaTeX Font Info: ... okay on input line 152. LaTeX Font Info: ... okay on input line 152.
Package hyperref Info: Link coloring ON on input line 152. Package hyperref Info: Link coloring ON on input line 152.
(/usr/share/texmf/tex/latex/hyperref/nameref.sty (/usr/share/texmf/tex/latex/hyperref/nameref.sty
Package: nameref 2006/12/27 v2.28 Cross-referencing by name of section Package: nameref 2006/12/27 v2.28 Cross-referencing by name of section
(/usr/share/texmf/tex/latex/oberdiek/refcount.sty (/usr/share/texmf/tex/latex/oberdiek/refcount.sty
Package: refcount 2006/02/20 v3.0 Data extraction from references (HO) Package: refcount 2006/02/20 v3.0 Data extraction from references (HO)
) )
@ -250,12 +287,12 @@ Package: refcount 2006/02/20 v3.0 Data extraction from references (HO)
) )
LaTeX Info: Redefining \ref on input line 152. LaTeX Info: Redefining \ref on input line 152.
LaTeX Info: Redefining \pageref on input line 152. LaTeX Info: Redefining \pageref on input line 152.
(./images.out)
(./images.out)
\@outlinefile=\write5 \@outlinefile=\write5
\openout5 = `images.out'. \openout5 = `images.out'.
Package hyperref Warning: Rerun to get /PageLabels entry.
latex2htmlLength hsize=349.0pt latex2htmlLength hsize=349.0pt
@ -280,522 +317,528 @@ latex2htmlLength oddsidemargin=22.0pt
latex2htmlLength evensidemargin=70.0pt latex2htmlLength evensidemargin=70.0pt
\centeroffset=\skip43 \centeroffset=\skip43
LaTeX Font Info: Try loading font information for U+msa on input line 184. LaTeX Font Info: Try loading font information for U+msa on input line 185.
(/usr/share/texmf/tex/latex/amsfonts/umsa.fd (/usr/share/texmf/tex/latex/amsfonts/umsa.fd
File: umsa.fd 2002/01/19 v2.2g AMS font definitions File: umsa.fd 2002/01/19 v2.2g AMS font definitions
) )
LaTeX Font Info: Try loading font information for U+msb on input line 184. LaTeX Font Info: Try loading font information for U+msb on input line 185.
(/usr/share/texmf/tex/latex/amsfonts/umsb.fd (/usr/share/texmf/tex/latex/amsfonts/umsb.fd
File: umsb.fd 2002/01/19 v2.2g AMS font definitions File: umsb.fd 2002/01/19 v2.2g AMS font definitions
) )
l2hSize :displaymath238:15.72917pt::0.0pt::349.0pt. l2hSize :displaymath242:15.72917pt::0.0pt::349.0pt.
[1 [1
] ]
l2hSize :tex2html_wrap_inline265:7.48248pt::0.0pt::8.76004pt. l2hSize :tex2html_wrap_inline268:7.48248pt::0.0pt::8.76004pt.
[2 [2
] ]
l2hSize :tex2html_wrap_inline586:9.30704pt::9.30704pt::83.67497pt. l2hSize :tex2html_wrap_inline588:9.30704pt::9.30704pt::83.67497pt.
[3 [3
] ]
l2hSize :tex2html_wrap_inline588:8.7125pt::8.7125pt::55.89207pt. l2hSize :tex2html_wrap_inline590:8.7125pt::8.7125pt::55.89207pt.
[4 [4
] ]
l2hSize :tex2html_wrap_inline592:8.7125pt::8.7125pt::84.68239pt. l2hSize :tex2html_wrap_inline594:8.7125pt::8.7125pt::84.68239pt.
[5 [5
] ]
l2hSize :tex2html_wrap_inline594:8.7125pt::8.7125pt::99.38406pt. l2hSize :tex2html_wrap_inline596:8.7125pt::8.7125pt::99.38406pt.
[6 [6
] ]
l2hSize :tex2html_wrap_inline596:7.48248pt::0.0pt::9.15695pt. l2hSize :tex2html_wrap_inline598:7.48248pt::0.0pt::9.15695pt.
[7 [7
] ]
l2hSize :tex2html_wrap_inline598:8.10416pt::8.10416pt::25.90352pt. l2hSize :tex2html_wrap_inline600:8.10416pt::8.10416pt::25.90352pt.
[8 [8
] ]
l2hSize :tex2html_wrap_inline600:7.60416pt::0.0pt::5.8286pt. l2hSize :tex2html_wrap_inline602:7.60416pt::0.0pt::5.8286pt.
[9 [9
] ]
l2hSize :tex2html_wrap_inline602:7.48248pt::0.0pt::12.41005pt. l2hSize :tex2html_wrap_inline604:7.48248pt::0.0pt::12.41005pt.
[10 [10
] ]
l2hSize :tex2html_wrap_inline606:7.07185pt::0.0pt::10.16177pt. l2hSize :tex2html_wrap_inline608:7.07185pt::0.0pt::10.16177pt.
[11 [11
] ]
l2hSize :tex2html_wrap_inline608:9.62923pt::9.62923pt::43.62254pt. l2hSize :tex2html_wrap_inline610:9.62923pt::9.62923pt::43.62254pt.
[12 [12
] ]
l2hSize :tex2html_wrap_inline610:9.62923pt::9.62923pt::65.17778pt. l2hSize :tex2html_wrap_inline612:9.62923pt::9.62923pt::65.17778pt.
[13 [13
] ]
l2hSize :tex2html_wrap_inline616:10.66058pt::10.66058pt::58.85606pt. l2hSize :tex2html_wrap_inline618:10.66058pt::10.66058pt::58.85606pt.
[14 [14
] ]
l2hSize :tex2html_wrap_inline618:10.66058pt::10.66058pt::27.83247pt. l2hSize :tex2html_wrap_inline620:10.66058pt::10.66058pt::27.83247pt.
[15 [15
] ]
l2hSize :tex2html_wrap_inline620:10.02922pt::10.02922pt::11.68126pt. l2hSize :tex2html_wrap_inline622:10.02922pt::10.02922pt::11.68126pt.
[16 [16
] ]
l2hSize :tex2html_wrap_inline622:10.02922pt::10.02922pt::16.9712pt. l2hSize :tex2html_wrap_inline624:10.02922pt::10.02922pt::16.9712pt.
[17 [17
] ]
l2hSize :tex2html_wrap_inline624:11.46367pt::11.46367pt::56.33008pt. l2hSize :tex2html_wrap_inline626:11.46367pt::11.46367pt::56.33008pt.
[18 [18
] ]
l2hSize :tex2html_wrap_inline626:8.10416pt::8.10416pt::33.19717pt. l2hSize :tex2html_wrap_inline628:8.10416pt::8.10416pt::33.19717pt.
[19 [19
] ]
l2hSize :tex2html_wrap_inline628:11.46367pt::11.46367pt::41.86319pt. l2hSize :tex2html_wrap_inline630:11.46367pt::11.46367pt::41.86319pt.
[20 [20
] ]
l2hSize :tex2html_wrap_inline630:7.07185pt::0.0pt::6.24812pt. l2hSize :tex2html_wrap_inline632:7.07185pt::0.0pt::6.24812pt.
[21 [21
] ]
l2hSize :tex2html_wrap_inline634:10.02922pt::10.02922pt::13.50749pt. l2hSize :tex2html_wrap_inline636:10.02922pt::10.02922pt::13.50749pt.
[22 [22
] ]
l2hSize :tex2html_wrap_inline636:10.96367pt::0.0pt::18.2182pt. l2hSize :tex2html_wrap_inline638:10.96367pt::0.0pt::18.2182pt.
[23 [23
] ]
l2hSize :tex2html_wrap_inline638:7.60416pt::0.0pt::14.11334pt. l2hSize :tex2html_wrap_inline640:7.60416pt::0.0pt::14.11334pt.
[24 [24
] ]
l2hSize :tex2html_wrap_inline640:11.46367pt::11.46367pt::124.12694pt. l2hSize :tex2html_wrap_inline642:11.46367pt::11.46367pt::124.12694pt.
[25 [25
] ]
l2hSize :tex2html_wrap_inline644:10.02922pt::10.02922pt::16.9712pt. l2hSize :tex2html_wrap_inline646:10.02922pt::10.02922pt::16.9712pt.
[26 [26
] ]
l2hSize :displaymath564:33.45825pt::0.0pt::349.0pt. l2hSize :displaymath566:33.45825pt::0.0pt::349.0pt.
[27 [27
] ]
l2hSize :tex2html_wrap_inline646:10.02922pt::10.02922pt::13.3212pt. l2hSize :tex2html_wrap_inline648:10.02922pt::10.02922pt::13.3212pt.
[28 [28
] ]
l2hSize :tex2html_wrap_inline652:10.02922pt::10.02922pt::42.50967pt. l2hSize :tex2html_wrap_inline654:10.02922pt::10.02922pt::42.50967pt.
[29 [29
] ]
l2hSize :tex2html_wrap_inline654:7.72179pt::7.72179pt::58.3423pt. l2hSize :tex2html_wrap_inline656:7.72179pt::7.72179pt::58.3423pt.
[30 [30
] ]
l2hSize :tex2html_wrap_inline656:10.02922pt::10.02922pt::47.85603pt. l2hSize :tex2html_wrap_inline658:10.02922pt::10.02922pt::47.85603pt.
[31 [31
] ]
l2hSize :tex2html_wrap_inline660:7.57185pt::7.57185pt::11.78078pt. l2hSize :tex2html_wrap_inline662:7.57185pt::7.57185pt::11.78078pt.
[32 [32
] ]
l2hSize :tex2html_wrap_inline662:10.02922pt::10.02922pt::88.43413pt. l2hSize :tex2html_wrap_inline664:10.02922pt::10.02922pt::88.43413pt.
[33 [33
] ]
l2hSize :tex2html_wrap_inline664:7.57185pt::7.57185pt::6.05675pt. l2hSize :tex2html_wrap_inline666:7.57185pt::7.57185pt::6.05675pt.
[34 [34
] ]
l2hSize :tex2html_wrap_inline668:7.57185pt::7.57185pt::14.87756pt. l2hSize :tex2html_wrap_inline670:7.57185pt::7.57185pt::14.87756pt.
[35 [35
] ]
l2hSize :tex2html_wrap_inline672:11.46367pt::11.46367pt::71.66493pt. l2hSize :tex2html_wrap_inline674:11.46367pt::11.46367pt::71.66493pt.
[36 [36
] ]
l2hSize :tex2html_wrap_inline674:10.58096pt::10.58096pt::13.6964pt. l2hSize :tex2html_wrap_inline676:10.58096pt::10.58096pt::13.6964pt.
[37 [37
] ]
l2hSize :tex2html_wrap_inline676:10.02922pt::10.02922pt::13.50749pt. l2hSize :tex2html_wrap_inline678:10.02922pt::10.02922pt::13.50749pt.
[38 [38
] ]
l2hSize :tex2html_wrap_inline678:10.02922pt::10.02922pt::39.05879pt. l2hSize :tex2html_wrap_inline680:10.02922pt::10.02922pt::39.05879pt.
[39 [39
] ]
l2hSize :displaymath565:33.45825pt::0.0pt::349.0pt. l2hSize :displaymath567:33.45825pt::0.0pt::349.0pt.
[40 [40
] ]
l2hSize :displaymath566:33.45825pt::0.0pt::349.0pt. l2hSize :displaymath568:33.45825pt::0.0pt::349.0pt.
[41 [41
] ]
l2hSize :tex2html_wrap_inline680:7.60416pt::0.0pt::25.90352pt. l2hSize :tex2html_wrap_inline682:7.60416pt::0.0pt::25.90352pt.
[42 [42
] ]
l2hSize :tex2html_wrap_inline686:7.98248pt::7.98248pt::15.88345pt. l2hSize :tex2html_wrap_inline688:7.98248pt::7.98248pt::15.88345pt.
[43 [43
] ]
l2hSize :tex2html_wrap_inline692:7.98248pt::7.98248pt::18.01262pt. l2hSize :tex2html_wrap_inline694:7.98248pt::7.98248pt::18.01262pt.
[44 [44
] ]
l2hSize :tex2html_wrap_inline694:7.57185pt::7.57185pt::14.24352pt. l2hSize :tex2html_wrap_inline696:7.57185pt::7.57185pt::14.24352pt.
[45 [45
] ]
l2hSize :tex2html_wrap_inline696:9.30704pt::9.30704pt::60.92035pt. l2hSize :tex2html_wrap_inline698:9.30704pt::9.30704pt::60.92035pt.
[46 [46
] ]
l2hSize :displaymath567:16.30702pt::0.0pt::349.0pt. l2hSize :displaymath569:16.30702pt::0.0pt::349.0pt.
[47 [47
] ]
l2hSize :tex2html_wrap_inline700:7.98248pt::7.98248pt::21.70126pt. l2hSize :tex2html_wrap_inline702:7.98248pt::7.98248pt::21.70126pt.
[48 [48
] ]
l2hSize :displaymath568:17.04697pt::0.0pt::349.0pt. l2hSize :displaymath570:17.04697pt::0.0pt::349.0pt.
[49 [49
] ]
l2hSize :tex2html_wrap_inline704:10.26059pt::10.26059pt::23.72566pt. l2hSize :tex2html_wrap_inline706:10.26059pt::10.26059pt::23.72566pt.
[50 [50
] ]
l2hSize :tex2html_wrap_inline710:7.98248pt::7.98248pt::18.29398pt. l2hSize :tex2html_wrap_inline712:7.98248pt::7.98248pt::18.29398pt.
[51 [51
] ]
l2hSize :displaymath569:17.04697pt::0.0pt::349.0pt. l2hSize :displaymath571:17.04697pt::0.0pt::349.0pt.
[52 [52
] ]
l2hSize :tex2html_wrap_inline714:10.26059pt::10.26059pt::34.67923pt. l2hSize :tex2html_wrap_inline716:10.26059pt::10.26059pt::34.67923pt.
[53 [53
] ]
l2hSize :tex2html_wrap_inline720:10.26059pt::10.26059pt::23.72566pt. l2hSize :tex2html_wrap_inline722:10.26059pt::10.26059pt::23.72566pt.
[54 [54
] ]
l2hSize :displaymath570:28.68124pt::0.0pt::349.0pt. l2hSize :displaymath572:28.68124pt::0.0pt::349.0pt.
[55 [55
] ]
l2hSize :displaymath571:17.88034pt::0.0pt::349.0pt. l2hSize :displaymath573:17.88034pt::0.0pt::349.0pt.
[56 [56
] ]
l2hSize :displaymath572:28.68124pt::0.0pt::349.0pt. l2hSize :displaymath574:28.68124pt::0.0pt::349.0pt.
[57 [57
] ]
l2hSize :displaymath573:17.88034pt::0.0pt::349.0pt. l2hSize :displaymath575:17.88034pt::0.0pt::349.0pt.
[58 [58
] ]
l2hSize :tex2html_wrap_inline734:7.48248pt::0.0pt::12.3644pt. l2hSize :tex2html_wrap_inline736:7.48248pt::0.0pt::12.3644pt.
[59 [59
] ]
l2hSize :tex2html_wrap_inline738:9.12923pt::0.0pt::52.16011pt. l2hSize :tex2html_wrap_inline740:9.12923pt::0.0pt::52.16011pt.
[60 [60
] ]
l2hSize :tex2html_wrap_inline740:7.60416pt::0.0pt::21.40202pt. l2hSize :tex2html_wrap_inline742:7.60416pt::0.0pt::21.40202pt.
[61 [61
] ]
l2hSize :tex2html_wrap_inline742:7.60416pt::0.0pt::4.03026pt. l2hSize :tex2html_wrap_inline744:7.60416pt::0.0pt::4.03026pt.
[62 [62
] ]
l2hSize :tex2html_wrap_inline744:7.98248pt::7.98248pt::11.892pt. l2hSize :tex2html_wrap_inline746:7.98248pt::7.98248pt::11.892pt.
[63 [63
] ]
l2hSize :tex2html_wrap_inline746:7.98248pt::7.98248pt::14.30252pt. l2hSize :tex2html_wrap_inline748:7.98248pt::7.98248pt::14.30252pt.
[64 [64
] ]
l2hSize :tex2html_wrap_inline748:7.98248pt::7.98248pt::36.32253pt. l2hSize :tex2html_wrap_inline750:7.98248pt::7.98248pt::36.32253pt.
[65 [65
] ]
l2hSize :tex2html_wrap860:139.25392pt::133.77895pt::349.0pt. l2hSize :tex2html_wrap862:139.25392pt::133.77895pt::349.0pt.
[66 [66
] ]
l2hSize :tex2html_wrap_inline776:7.98248pt::7.98248pt::15.98515pt. l2hSize :tex2html_wrap_inline778:7.98248pt::7.98248pt::15.98515pt.
[67 [67
] ]
l2hSize :tex2html_wrap_inline784:9.94032pt::9.94032pt::15.98515pt. l2hSize :tex2html_wrap_inline786:9.94032pt::9.94032pt::15.98515pt.
[68 [68
] ]
l2hSize :tex2html_wrap_inline798:7.98248pt::7.98248pt::13.91736pt. l2hSize :tex2html_wrap_inline800:7.98248pt::7.98248pt::13.91736pt.
[69 [69
] ]
l2hSize :tex2html_wrap_inline802:7.98248pt::7.98248pt::31.03764pt. l2hSize :tex2html_wrap_inline804:7.98248pt::7.98248pt::31.03764pt.
[70 [70
] ]
l2hSize :displaymath574:20.71762pt::0.0pt::349.0pt. l2hSize :displaymath576:20.71762pt::0.0pt::349.0pt.
[71 [71
] ]
l2hSize :tex2html_wrap_inline804:8.7125pt::8.7125pt::41.27534pt. l2hSize :tex2html_wrap_inline806:8.7125pt::8.7125pt::41.27534pt.
[72 [72
] ]
l2hSize :tex2html_wrap_inline806:7.22179pt::0.0pt::4.31995pt. l2hSize :tex2html_wrap_inline808:7.22179pt::0.0pt::4.31995pt.
[73 [73
] ]
l2hSize :tex2html_wrap_inline808:9.62923pt::9.62923pt::17.16011pt. l2hSize :tex2html_wrap_inline810:9.62923pt::9.62923pt::17.16011pt.
[74 [74
] ]
l2hSize :tex2html_wrap_inline812:9.94032pt::9.94032pt::44.73853pt. l2hSize :tex2html_wrap_inline814:9.94032pt::9.94032pt::44.73853pt.
[75 [75
] ]
l2hSize :tex2html_wrap_inline814:9.30704pt::9.30704pt::54.03362pt. l2hSize :tex2html_wrap_inline816:9.30704pt::9.30704pt::54.03362pt.
[76 [76
] ]
l2hSize :displaymath531:29.29593pt::0.0pt::349.0pt. l2hSize :displaymath533:29.29593pt::0.0pt::349.0pt.
[77 [77
] ]
l2hSize :tex2html_wrap_inline816:7.98248pt::7.98248pt::14.70099pt. l2hSize :tex2html_wrap_inline818:7.98248pt::7.98248pt::14.70099pt.
[78 [78
] ]
l2hSize :tex2html_wrap_inline818:7.48248pt::0.0pt::9.09842pt. l2hSize :tex2html_wrap_inline820:7.48248pt::0.0pt::9.09842pt.
[79 [79
] ]
l2hSize :tex2html_wrap_inline820:9.30704pt::9.30704pt::46.61087pt. l2hSize :tex2html_wrap_inline822:9.30704pt::9.30704pt::46.61087pt.
[80 [80
] ]
l2hSize :displaymath542:15.72917pt::0.0pt::349.0pt. l2hSize :displaymath544:15.72917pt::0.0pt::349.0pt.
[81 [81
] ]
l2hSize :tex2html_wrap_inline822:7.48248pt::0.0pt::7.89314pt. l2hSize :tex2html_wrap_inline824:7.48248pt::0.0pt::7.89314pt.
[82 [82
] ]
l2hSize :displaymath546:15.72917pt::0.0pt::349.0pt. l2hSize :displaymath548:15.72917pt::0.0pt::349.0pt.
[83 [83
] ]
l2hSize :tex2html_wrap_inline824:7.07185pt::0.0pt::7.75627pt. l2hSize :tex2html_wrap_inline826:7.07185pt::0.0pt::7.75627pt.
[84 [84
] ]
l2hSize :tex2html_wrap_inline826:9.12923pt::0.0pt::29.49117pt. l2hSize :tex2html_wrap_inline828:9.12923pt::0.0pt::29.49117pt.
[85 [85
] ]
l2hSize :tex2html_wrap_inline983:7.60416pt::0.0pt::26.06703pt. l2hSize :tex2html_wrap_inline985:7.60416pt::0.0pt::26.06703pt.
[86 [86
] ]
l2hSize :tex2html_wrap_inline1324:7.07185pt::0.0pt::8.68147pt. l2hSize :tex2html_wrap_inline1316:7.07185pt::0.0pt::8.68147pt.
[87 [87
] ]
l2hSize :tex2html_wrap_inline1328:7.57185pt::7.57185pt::17.58084pt. l2hSize :tex2html_wrap_inline1320:7.57185pt::7.57185pt::17.58084pt.
[88 [88
] ]
l2hSize :tex2html_wrap_inline1342:7.07185pt::0.0pt::4.50171pt. l2hSize :tex2html_wrap_inline1334:7.07185pt::0.0pt::4.50171pt.
[89 [89
] ]
l2hSize :tex2html_wrap_inline1346:8.7125pt::8.7125pt::32.78915pt. l2hSize :tex2html_wrap_inline1338:8.7125pt::8.7125pt::32.78915pt.
[90 [90
] ]
l2hSize :tex2html_wrap_inline1348:7.60416pt::0.0pt::5.99211pt. l2hSize :tex2html_wrap_inline1340:7.60416pt::0.0pt::5.99211pt.
[91 [91
] ]
l2hSize :tex2html_wrap_inline1352:7.57185pt::7.57185pt::17.58084pt. l2hSize :tex2html_wrap_inline1346:9.62923pt::9.62923pt::75.59969pt.
[92 [92
] ]
l2hSize :tex2html_wrap_inline1374:9.62923pt::9.62923pt::71.50383pt. l2hSize :tex2html_wrap_inline1362:7.57185pt::7.57185pt::17.58084pt.
[93 [93
] ]
l2hSize :tex2html_wrap_inline1378:7.57185pt::7.57185pt::11.36446pt. l2hSize :tex2html_wrap_inline1374:9.62923pt::9.62923pt::71.50383pt.
[94 [94
] ]
l2hSize :tex2html_wrap_inline1382:7.07185pt::0.0pt::6.80576pt. l2hSize :tex2html_wrap_inline1378:7.57185pt::7.57185pt::11.36446pt.
[95 [95
] ]
l2hSize :tex2html_wrap_inline1384:7.57185pt::7.57185pt::6.30898pt. l2hSize :tex2html_wrap_inline1382:7.07185pt::0.0pt::6.80576pt.
[96 [96
] ]
l2hSize :tex2html_wrap_inline1386:9.62923pt::9.62923pt::80.83733pt. l2hSize :tex2html_wrap_inline1384:7.57185pt::7.57185pt::6.30898pt.
[97 [97
] ]
l2hSize :tex2html_wrap_inline1388:9.94032pt::9.94032pt::82.71652pt. l2hSize :tex2html_wrap_inline1386:9.62923pt::9.62923pt::80.83733pt.
[98 [98
] ]
l2hSize :tex2html_wrap_inline1390:9.62923pt::9.62923pt::27.98401pt. l2hSize :tex2html_wrap_inline1388:9.94032pt::9.94032pt::82.71652pt.
[99 [99
] ]
l2hSize :tex2html_wrap_inline1392:9.94032pt::9.94032pt::83.21068pt. l2hSize :tex2html_wrap_inline1390:9.62923pt::9.62923pt::27.98401pt.
[100 [100
]
l2hSize :tex2html_wrap_inline1392:9.94032pt::9.94032pt::83.21068pt.
[101
] (./images.aux) ) ] (./images.aux) )
Here is how much of TeX's memory you used: Here is how much of TeX's memory you used:
4265 strings out of 94074 4373 strings out of 94074
55276 string characters out of 1167173 57907 string characters out of 1167173
134209 words of memory out of 1500000 141384 words of memory out of 1500000
7519 multiletter control sequences out of 10000+50000 7590 multiletter control sequences out of 10000+50000
10304 words of font info for 41 fonts, out of 1200000 for 2000 10304 words of font info for 41 fonts, out of 1200000 for 2000
645 hyphenation exceptions out of 8191 645 hyphenation exceptions out of 8191
30i,8n,37p,306b,390s stack positions out of 5000i,500n,6000p,200000b,10000s 30i,8n,37p,306b,390s stack positions out of 5000i,500n,6000p,200000b,10000s
Output written on images.dvi (100 pages, 72052 bytes). Output written on images.dvi (101 pages, 72868 bytes).

@ -85,7 +85,7 @@ $cached_env_img{$key} = q|<IMG
$key = q/op(M^{-1})=M^{-T};MSF=1.6;LFS=11;AAT/; $key = q/op(M^{-1})=M^{-T};MSF=1.6;LFS=11;AAT/;
$cached_env_img{$key} = q|<IMG $cached_env_img{$key} = q|<IMG
WIDTH="135" HEIGHT="40" ALIGN="MIDDLE" BORDER="0" WIDTH="135" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img98.png" SRC="|."$dir".q|img99.png"
ALT="$op(M^{-1}) = M^{-T}$">|; ALT="$op(M^{-1}) = M^{-T}$">|;
$key = q/W_i^{delta-1};MSF=1.6;LFS=11;AAT/; $key = q/W_i^{delta-1};MSF=1.6;LFS=11;AAT/;
@ -140,8 +140,8 @@ $cached_env_img{$key} = q|<IMG
$key = q/y;MSF=1.6;LFS=11;AAT/; $key = q/y;MSF=1.6;LFS=11;AAT/;
$cached_env_img{$key} = q|<IMG $cached_env_img{$key} = q|<IMG
WIDTH="14" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img96.png" SRC="|."$dir".q|img97.png"
ALT="$y$">|; ALT="$y$">|;
$key = q/{displaymath}A_C=R_CAR_C^T{displaymath};MSF=1.6;LFS=11;AAT/; $key = q/{displaymath}A_C=R_CAR_C^T{displaymath};MSF=1.6;LFS=11;AAT/;
@ -205,6 +205,12 @@ $cached_env_img{$key} = q|<IMG
SRC="|."$dir".q|img63.png" SRC="|."$dir".q|img63.png"
ALT="$A_l$">|; ALT="$A_l$">|;
$key = q/A_i^delta;MSF=1.6;LFS=11;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="25" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img28.png"
ALT="$A_i^\delta$">|;
$key = q/n_C;MSF=1.6;LFS=11;AAT/; $key = q/n_C;MSF=1.6;LFS=11;AAT/;
$cached_env_img{$key} = q|<IMG $cached_env_img{$key} = q|<IMG
WIDTH="26" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="26" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
@ -217,12 +223,6 @@ $cached_env_img{$key} = q|<IMG
SRC="|."$dir".q|img17.png" SRC="|."$dir".q|img17.png"
ALT="$W_i^\delta$">|; ALT="$W_i^\delta$">|;
$key = q/A_i^delta;MSF=1.6;LFS=11;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="25" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img28.png"
ALT="$A_i^\delta$">|;
$key = q/{displaymath}M_{AS}^{-1}=sum_{i=1}^m(R_i^{delta})^T(A_i^delta)^{-1}R_i^{delta},{displaymath};MSF=1.6;LFS=11;AAT/; $key = q/{displaymath}M_{AS}^{-1}=sum_{i=1}^m(R_i^{delta})^T(A_i^delta)^{-1}R_i^{delta},{displaymath};MSF=1.6;LFS=11;AAT/;
$cached_env_img{$key} = q|<IMG $cached_env_img{$key} = q|<IMG
WIDTH="206" HEIGHT="58" BORDER="0" WIDTH="206" HEIGHT="58" BORDER="0"
@ -323,9 +323,9 @@ $cached_env_img{$key} = q|<IMG
$key = q/>0;MSF=1.6;LFS=11;AAT/; $key = q/>0;MSF=1.6;LFS=11;AAT/;
$cached_env_img{$key} = q|<IMG $cached_env_img{$key} = q|<IMG
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="31" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img92.png" SRC="|."$dir".q|img93.png"
ALT="$&gt;0$">|; ALT="$&gt; 0$">|;
$key = q/(tilde{R}_i^0)^TinRe^{n_i^deltatimesn};MSF=1.6;LFS=11;AAT/; $key = q/(tilde{R}_i^0)^TinRe^{n_i^deltatimesn};MSF=1.6;LFS=11;AAT/;
$cached_env_img{$key} = q|<IMG $cached_env_img{$key} = q|<IMG
@ -347,8 +347,8 @@ $cached_env_img{$key} = q|<IMG
$key = q/x;MSF=1.6;LFS=11;AAT/; $key = q/x;MSF=1.6;LFS=11;AAT/;
$cached_env_img{$key} = q|<IMG $cached_env_img{$key} = q|<IMG
WIDTH="14" HEIGHT="14" ALIGN="BOTTOM" BORDER="0" WIDTH="15" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img95.png" SRC="|."$dir".q|img96.png"
ALT="$x$">|; ALT="$x$">|;
$key = q/G=(W,E);MSF=1.6;LFS=11;AAT/; $key = q/G=(W,E);MSF=1.6;LFS=11;AAT/;
@ -388,7 +388,7 @@ $cached_env_img{$key} = q|<IMG
$key = q/M^{-1});MSF=1.6;LFS=11;AAT/; $key = q/M^{-1});MSF=1.6;LFS=11;AAT/;
$cached_env_img{$key} = q|<IMG $cached_env_img{$key} = q|<IMG
WIDTH="48" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" WIDTH="48" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img99.png" SRC="|."$dir".q|img100.png"
ALT="$M^{-1})$">|; ALT="$M^{-1})$">|;
$key = q/{displaymath}M_{C}^{-1}=R_C^TA_C^{-1}R_C,{displaymath};MSF=1.6;LFS=11;AAT/; $key = q/{displaymath}M_{C}^{-1}=R_C^TA_C^{-1}R_C,{displaymath};MSF=1.6;LFS=11;AAT/;
@ -418,6 +418,12 @@ $cached_env_img{$key} = q|<IMG
SRC="|."$dir".q|img90.png" SRC="|."$dir".q|img90.png"
ALT="$\in [0, 1]$">|; ALT="$\in [0, 1]$">|;
$key = q/Re^n;MSF=1.6;LFS=11;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="26" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img24.png"
ALT="$\Re^n$">|;
$key = q/{displaymath}array{{l}w=M_{C}^{-1}v,z=w+M_{1L}^{-1}(v-Aw),array{{displaymath};MSF=1.6;LFS=11;AAT/; $key = q/{displaymath}array{{l}w=M_{C}^{-1}v,z=w+M_{1L}^{-1}(v-Aw),array{{displaymath};MSF=1.6;LFS=11;AAT/;
$cached_env_img{$key} = q|<IMG $cached_env_img{$key} = q|<IMG
WIDTH="177" HEIGHT="51" BORDER="0" WIDTH="177" HEIGHT="51" BORDER="0"
@ -434,12 +440,6 @@ $cached_env_img{$key} = q|<IMG
SRC="|."$dir".q|img35.png" SRC="|."$dir".q|img35.png"
ALT="$p,t$">|; ALT="$p,t$">|;
$key = q/Re^n;MSF=1.6;LFS=11;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="26" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img24.png"
ALT="$\Re^n$">|;
$key = q/t;MSF=1.6;LFS=11;AAT/; $key = q/t;MSF=1.6;LFS=11;AAT/;
$cached_env_img{$key} = q|<IMG $cached_env_img{$key} = q|<IMG
WIDTH="11" HEIGHT="14" ALIGN="BOTTOM" BORDER="0" WIDTH="11" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
@ -504,8 +504,8 @@ M_{2LH-POST}^{-1} = M_{1L}^{-1} + \left( I - M_{1L}^{-1}A \right) M_{C}^{-1}.
$key = q/op;MSF=1.6;LFS=11;AAT/; $key = q/op;MSF=1.6;LFS=11;AAT/;
$cached_env_img{$key} = q|<IMG $cached_env_img{$key} = q|<IMG
WIDTH="22" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="21" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img94.png" SRC="|."$dir".q|img95.png"
ALT="$op$">|; ALT="$op$">|;
$key = q/G;MSF=1.6;LFS=11;AAT/; $key = q/G;MSF=1.6;LFS=11;AAT/;
@ -520,6 +520,12 @@ $cached_env_img{$key} = q|<IMG
SRC="|."$dir".q|img84.png" SRC="|."$dir".q|img84.png"
ALT="$\omega$">|; ALT="$\omega$">|;
$key = q/4slash(3||D^{-1}A||_infty);MSF=1.6;LFS=11;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="124" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img92.png"
ALT="$4/(3\vert\vert D^{-1}A\vert\vert _\infty)$">|;
$key = q/P_C;MSF=1.6;LFS=11;AAT/; $key = q/P_C;MSF=1.6;LFS=11;AAT/;
$cached_env_img{$key} = q|<IMG $cached_env_img{$key} = q|<IMG
WIDTH="27" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="27" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
@ -541,7 +547,7 @@ $cached_env_img{$key} = q|<IMG
$key = q/op(M^{-1})=M^{-1};MSF=1.6;LFS=11;AAT/; $key = q/op(M^{-1})=M^{-1};MSF=1.6;LFS=11;AAT/;
$cached_env_img{$key} = q|<IMG $cached_env_img{$key} = q|<IMG
WIDTH="132" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" WIDTH="132" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img97.png" SRC="|."$dir".q|img98.png"
ALT="$op(M^{-1}) = M^{-1}$">|; ALT="$op(M^{-1}) = M^{-1}$">|;
$key = q/W={1,2,ldots,n};MSF=1.6;LFS=11;AAT/; $key = q/W={1,2,ldots,n};MSF=1.6;LFS=11;AAT/;
@ -578,8 +584,8 @@ $cached_env_img{$key} = q|<IMG
$key = q/y=op(M^{-1}),x;MSF=1.6;LFS=11;AAT/; $key = q/y=op(M^{-1}),x;MSF=1.6;LFS=11;AAT/;
$cached_env_img{$key} = q|<IMG $cached_env_img{$key} = q|<IMG
WIDTH="117" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" WIDTH="118" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img93.png" SRC="|."$dir".q|img94.png"
ALT="$y = op(M^{-1}) x$">|; ALT="$y = op(M^{-1}) x$">|;
$key = q/{displaymath}S=I-omegaD^{-1}A,{displaymath};MSF=1.6;LFS=11;AAT/; $key = q/{displaymath}S=I-omegaD^{-1}A,{displaymath};MSF=1.6;LFS=11;AAT/;
@ -613,7 +619,7 @@ $cached_env_img{$key} = q|<IMG
$key = q/op(M^{-1})=M^{-C};MSF=1.6;LFS=11;AAT/; $key = q/op(M^{-1})=M^{-C};MSF=1.6;LFS=11;AAT/;
$cached_env_img{$key} = q|<IMG $cached_env_img{$key} = q|<IMG
WIDTH="136" HEIGHT="40" ALIGN="MIDDLE" BORDER="0" WIDTH="136" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img100.png" SRC="|."$dir".q|img101.png"
ALT="$op(M^{-1}) = M^{-C}$">|; ALT="$op(M^{-1}) = M^{-C}$">|;
$key = q/W_i^deltasupsetW_i^{delta-1};MSF=1.6;LFS=11;AAT/; $key = q/W_i^deltasupsetW_i^{delta-1};MSF=1.6;LFS=11;AAT/;

@ -1,4 +1,4 @@
\batchmode \nonstopmode
\documentclass[a4paper,twoside,11pt]{article} \documentclass[a4paper,twoside,11pt]{article}
\usepackage{pstricks} \usepackage{pstricks}
@ -180,7 +180,8 @@
\endgroup \endgroup
\stepcounter{section} \stepcounter{section}
{\newpage\clearpage {\newpage\clearpage
\lthtmldisplayA{displaymath238}% % contents=begin{displaymath} Ax=b, end{displaymath}
\lthtmldisplayA{displaymath242}%
\begin{displaymath} \begin{displaymath}
Ax=b, Ax=b,
\end{displaymath}% \end{displaymath}%
@ -188,12 +189,12 @@ Ax=b,
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline265}% % contents=$A$
\lthtmlinlinemathA{tex2html_wrap_inline268}%
$A$% $A$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
\stepcounter{section}
\stepcounter{section} \stepcounter{section}
\stepcounter{section} \stepcounter{section}
\stepcounter{subsection} \stepcounter{subsection}
@ -203,153 +204,178 @@ $A$%
\stepcounter{section} \stepcounter{section}
\stepcounter{subsection} \stepcounter{subsection}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline586}% % contents=$A=(a_{ij}) \in \Re^{n \times n}$
\lthtmlinlinemathA{tex2html_wrap_inline588}%
$A=(a_{ij}) \in \Re^{n \times n}$% $A=(a_{ij}) \in \Re^{n \times n}$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline588}% % contents=$G=(W,E)$
\lthtmlinlinemathA{tex2html_wrap_inline590}%
$G=(W,E)$% $G=(W,E)$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline592}% % contents=$W=\{1, 2, \ldots, n\}$
\lthtmlinlinemathA{tex2html_wrap_inline594}%
$W=\{1, 2, \ldots, n\}$% $W=\{1, 2, \ldots, n\}$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline594}% % contents=$E=\{(i,j) : a_{ij} \neq 0\}$
\lthtmlinlinemathA{tex2html_wrap_inline596}%
$E=\{(i,j) : a_{ij} \neq 0\}$% $E=\{(i,j) : a_{ij} \neq 0\}$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline596}% % contents=$G$
\lthtmlinlinemathA{tex2html_wrap_inline598}%
$G$% $G$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline598}% % contents=$\delta > 0$
\lthtmlinlinemathA{tex2html_wrap_inline600}%
$\delta > 0$% $\delta > 0$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline600}% % contents=$\delta$
\lthtmlinlinemathA{tex2html_wrap_inline602}%
$\delta$% $\delta$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline602}% % contents=$W$
\lthtmlinlinemathA{tex2html_wrap_inline604}%
$W$% $W$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline606}% % contents=$m$
\lthtmlinlinemathA{tex2html_wrap_inline608}%
$m$% $m$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline608}% % contents=$W_i^0 \subset W$
\lthtmlinlinemathA{tex2html_wrap_inline610}%
$W_i^0 \subset W$% $W_i^0 \subset W$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline610}% % contents=$\cup_{i=1}^m W_i^0 = W$
\lthtmlinlinemathA{tex2html_wrap_inline612}%
$\cup_{i=1}^m W_i^0 = W$% $\cup_{i=1}^m W_i^0 = W$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline616}% % contents=$W_i^\delta \supset W_i^{\delta-1}$
\lthtmlinlinemathA{tex2html_wrap_inline618}%
$W_i^\delta \supset W_i^{\delta-1}$% $W_i^\delta \supset W_i^{\delta-1}$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline618}% % contents=$W_i^{\delta-1}$
\lthtmlinlinemathA{tex2html_wrap_inline620}%
$W_i^{\delta-1}$% $W_i^{\delta-1}$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline620}% % contents=$n_i^\delta$
\lthtmlinlinemathA{tex2html_wrap_inline622}%
$n_i^\delta$% $n_i^\delta$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline622}% % contents=$W_i^\delta$
\lthtmlinlinemathA{tex2html_wrap_inline624}%
$W_i^\delta$% $W_i^\delta$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline624}% % contents=$R_i^{\delta} \in \Re^{n_i^\delta \times n}$
\lthtmlinlinemathA{tex2html_wrap_inline626}%
$R_i^{\delta} \in $R_i^{\delta} \in
\Re^{n_i^\delta \times n}$% \Re^{n_i^\delta \times n}$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline626}% % contents=$v \in \Re^n$
\lthtmlinlinemathA{tex2html_wrap_inline628}%
$v \in \Re^n$% $v \in \Re^n$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline628}% % contents=$v_i^{\delta} \in \Re^{n_i^\delta}$
\lthtmlinlinemathA{tex2html_wrap_inline630}%
$v_i^{\delta} \in \Re^{n_i^\delta}$% $v_i^{\delta} \in \Re^{n_i^\delta}$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline630}% % contents=$v$
\lthtmlinlinemathA{tex2html_wrap_inline632}%
$v$% $v$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline634}% % contents=$R_i^{\delta}$
\lthtmlinlinemathA{tex2html_wrap_inline636}%
$R_i^{\delta}$% $R_i^{\delta}$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline636}% % contents=$\Re^{n_i^\delta}$
\lthtmlinlinemathA{tex2html_wrap_inline638}%
$\Re^{n_i^\delta}$% $\Re^{n_i^\delta}$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline638}% % contents=$\Re^n$
\lthtmlinlinemathA{tex2html_wrap_inline640}%
$\Re^n$% $\Re^n$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline640}% % contents=$A_i^\delta=R_i^\delta A (R_i^\delta)^T \in \Re^{n_i^\delta \times n_i^\delta}$
\lthtmlinlinemathA{tex2html_wrap_inline642}%
$A_i^\delta=R_i^\delta A (R_i^\delta)^T \in $A_i^\delta=R_i^\delta A (R_i^\delta)^T \in
\Re^{n_i^\delta \times n_i^\delta}$% \Re^{n_i^\delta \times n_i^\delta}$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline644}% % contents=$W_i^{\delta}$
\lthtmlinlinemathA{tex2html_wrap_inline646}%
$W_i^{\delta}$% $W_i^{\delta}$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmldisplayA{displaymath564}% % contents=begin{displaymath} M_{AS}^{-1}= \sum_{i=1}^m (R_i^{\delta})^T (A_i^\delta)^{-1} R_i^{\delta}, end{displaymath}
\lthtmldisplayA{displaymath566}%
\begin{displaymath} \begin{displaymath}
M_{AS}^{-1}= \sum_{i=1}^m (R_i^{\delta})^T M_{AS}^{-1}= \sum_{i=1}^m (R_i^{\delta})^T
(A_i^\delta)^{-1} R_i^{\delta}, (A_i^\delta)^{-1} R_i^{\delta},
@ -358,79 +384,92 @@ M_{AS}^{-1}= \sum_{i=1}^m (R_i^{\delta})^T
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline646}% % contents=$A_i^\delta$
\lthtmlinlinemathA{tex2html_wrap_inline648}%
$A_i^\delta$% $A_i^\delta$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline652}% % contents=$v_i = R_i^{\delta} v$
\lthtmlinlinemathA{tex2html_wrap_inline654}%
$v_i = R_i^{\delta} v$% $v_i = R_i^{\delta} v$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline654}% % contents=$i=1,\ldots,m$
\lthtmlinlinemathA{tex2html_wrap_inline656}%
$i=1,\ldots,m$% $i=1,\ldots,m$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline656}% % contents=$A_i^\delta w_i = v_i$
\lthtmlinlinemathA{tex2html_wrap_inline658}%
$A_i^\delta w_i = v_i$% $A_i^\delta w_i = v_i$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline660}% % contents=$w_i$
\lthtmlinlinemathA{tex2html_wrap_inline662}%
$w_i$% $w_i$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline662}% % contents=$w = \sum_{i=1}^m (R_i^{\delta})^T w_i$
\lthtmlinlinemathA{tex2html_wrap_inline664}%
$w = \sum_{i=1}^m (R_i^{\delta})^T w_i$% $w = \sum_{i=1}^m (R_i^{\delta})^T w_i$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline664}% % contents=$p$
\lthtmlinlinemathA{tex2html_wrap_inline666}%
$p$% $p$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline668}% % contents=$p,t$
\lthtmlinlinemathA{tex2html_wrap_inline670}%
$p,t$% $p,t$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline672}% % contents=$(\tilde{R}_i^0)^T \in \Re^{n_i^\delta \times n}$
\lthtmlinlinemathA{tex2html_wrap_inline674}%
$(\tilde{R}_i^0)^T \in \Re^{n_i^\delta \times n}$% $(\tilde{R}_i^0)^T \in \Re^{n_i^\delta \times n}$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline674}% % contents=$\tilde{R}_i^0$
\lthtmlinlinemathA{tex2html_wrap_inline676}%
$\tilde{R}_i^0$% $\tilde{R}_i^0$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline676}% % contents=$R_i^\delta$
\lthtmlinlinemathA{tex2html_wrap_inline678}%
$R_i^\delta$% $R_i^\delta$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline678}% % contents=$W_i^\delta \backslash W_i^0$
\lthtmlinlinemathA{tex2html_wrap_inline680}%
$W_i^\delta \backslash W_i^0$% $W_i^\delta \backslash W_i^0$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmldisplayA{displaymath565}% % contents=begin{displaymath} M_{RAS}^{-1}= \sum_{i=1}^m (\tilde{R}_i^0)^T (A_i^\delta)^{-1} R_i^{\delta}. end{displaymath}
\lthtmldisplayA{displaymath567}%
\begin{displaymath} \begin{displaymath}
M_{RAS}^{-1}= \sum_{i=1}^m (\tilde{R}_i^0)^T M_{RAS}^{-1}= \sum_{i=1}^m (\tilde{R}_i^0)^T
(A_i^\delta)^{-1} R_i^{\delta}. (A_i^\delta)^{-1} R_i^{\delta}.
@ -439,7 +478,8 @@ M_{RAS}^{-1}= \sum_{i=1}^m (\tilde{R}_i^0)^T
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmldisplayA{displaymath566}% % contents=begin{displaymath} M_{ASH}^{-1}= \sum_{i=1}^m (R_i^{\delta})^T (A_i^\delta)^{-1} \tilde{R}_i^0. end{displaymath}
\lthtmldisplayA{displaymath568}%
\begin{displaymath} M_{ASH}^{-1}= \sum_{i=1}^m (R_i^{\delta})^T \begin{displaymath} M_{ASH}^{-1}= \sum_{i=1}^m (R_i^{\delta})^T
(A_i^\delta)^{-1} \tilde{R}_i^0. (A_i^\delta)^{-1} \tilde{R}_i^0.
\end{displaymath}% \end{displaymath}%
@ -447,37 +487,43 @@ M_{RAS}^{-1}= \sum_{i=1}^m (\tilde{R}_i^0)^T
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline680}% % contents=$\delta=0$
\lthtmlinlinemathA{tex2html_wrap_inline682}%
$\delta=0$% $\delta=0$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline686}% % contents=$A_C$
\lthtmlinlinemathA{tex2html_wrap_inline688}%
$A_C$% $A_C$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline692}% % contents=$W_C$
\lthtmlinlinemathA{tex2html_wrap_inline694}%
$W_C$% $W_C$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline694}% % contents=$n_C$
\lthtmlinlinemathA{tex2html_wrap_inline696}%
$n_C$% $n_C$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline696}% % contents=$R_C \in \Re^{n_C \times n}$
\lthtmlinlinemathA{tex2html_wrap_inline698}%
$R_C \in \Re^{n_C \times n}$% $R_C \in \Re^{n_C \times n}$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmldisplayA{displaymath567}% % contents=begin{displaymath} A_C=R_C A R_C^T end{displaymath}
\lthtmldisplayA{displaymath569}%
\begin{displaymath} \begin{displaymath}
A_C=R_C A R_C^T A_C=R_C A R_C^T
\end{displaymath}% \end{displaymath}%
@ -485,13 +531,15 @@ A_C=R_C A R_C^T
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline700}% % contents=$M_{1L}$
\lthtmlinlinemathA{tex2html_wrap_inline702}%
$M_{1L}$% $M_{1L}$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmldisplayA{displaymath568}% % contents=begin{displaymath} M_{C}^{-1}= R_C^T A_C^{-1} R_C, end{displaymath}
\lthtmldisplayA{displaymath570}%
\begin{displaymath} \begin{displaymath}
M_{C}^{-1}= R_C^T A_C^{-1} R_C, M_{C}^{-1}= R_C^T A_C^{-1} R_C,
\end{displaymath}% \end{displaymath}%
@ -499,19 +547,22 @@ M_{C}^{-1}= R_C^T A_C^{-1} R_C,
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline704}% % contents=$M_{C}^{-1}$
\lthtmlinlinemathA{tex2html_wrap_inline706}%
$M_{C}^{-1}$% $M_{C}^{-1}$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline710}% % contents=$M_{C}$
\lthtmlinlinemathA{tex2html_wrap_inline712}%
$M_{C}$% $M_{C}$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmldisplayA{displaymath569}% % contents=begin{displaymath} M_{2LA}^{-1} = M_{C}^{-1} + M_{1L}^{-1}. end{displaymath}
\lthtmldisplayA{displaymath571}%
\begin{displaymath} \begin{displaymath}
M_{2LA}^{-1} = M_{C}^{-1} + M_{1L}^{-1}. M_{2LA}^{-1} = M_{C}^{-1} + M_{1L}^{-1}.
\end{displaymath}% \end{displaymath}%
@ -519,19 +570,22 @@ M_{2LA}^{-1} = M_{C}^{-1} + M_{1L}^{-1}.
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline714}% % contents=$M_{2L-A}^{-1}$
\lthtmlinlinemathA{tex2html_wrap_inline716}%
$M_{2L-A}^{-1}$% $M_{2L-A}^{-1}$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline720}% % contents=$M_{1L}^{-1}$
\lthtmlinlinemathA{tex2html_wrap_inline722}%
$M_{1L}^{-1}$% $M_{1L}^{-1}$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmldisplayA{displaymath570}% % contents=begin{displaymath} begin{array}{l} w = M_{1L}^{-1} v, \\z = w + M_{C}^{-1} (v-Aw); end{array} end{displaymath}
\lthtmldisplayA{displaymath572}%
\begin{displaymath} \begin{displaymath}
\begin{array}{l} \begin{array}{l}
w = M_{1L}^{-1} v, \\ w = M_{1L}^{-1} v, \\
@ -542,7 +596,8 @@ z = w + M_{C}^{-1} (v-Aw);
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmldisplayA{displaymath571}% % contents=begin{displaymath} M_{2LH-PRE}^{-1} = M_{C}^{-1} + \left( I - M_{C}^{-1}A \right) M_{1L}^{-1}. end{displaymath}
\lthtmldisplayA{displaymath573}%
\begin{displaymath} \begin{displaymath}
M_{2LH-PRE}^{-1} = M_{C}^{-1} + \left( I - M_{C}^{-1}A \right) M_{1L}^{-1}. M_{2LH-PRE}^{-1} = M_{C}^{-1} + \left( I - M_{C}^{-1}A \right) M_{1L}^{-1}.
\end{displaymath}% \end{displaymath}%
@ -550,7 +605,8 @@ M_{2LH-PRE}^{-1} = M_{C}^{-1} + \left( I - M_{C}^{-1}A \right) M_{1L}^{-1}.
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmldisplayA{displaymath572}% % contents=begin{displaymath} begin{array}{l} w = M_{C}^{-1} v , \\z = w + M_{1L}^{-1} (v-Aw) , end{array} end{displaymath}
\lthtmldisplayA{displaymath574}%
\begin{displaymath} \begin{displaymath}
\begin{array}{l} \begin{array}{l}
w = M_{C}^{-1} v , \\ w = M_{C}^{-1} v , \\
@ -561,7 +617,8 @@ z = w + M_{1L}^{-1} (v-Aw) ,
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmldisplayA{displaymath573}% % contents=begin{displaymath} M_{2LH-POST}^{-1} = M_{1L}^{-1} + \left( I - M_{1L}^{-1}A \right) M_{C}^{-1}. end{displaymath}
\lthtmldisplayA{displaymath575}%
\begin{displaymath} \begin{displaymath}
M_{2LH-POST}^{-1} = M_{1L}^{-1} + \left( I - M_{1L}^{-1}A \right) M_{C}^{-1}. M_{2LH-POST}^{-1} = M_{1L}^{-1} + \left( I - M_{1L}^{-1}A \right) M_{C}^{-1}.
\end{displaymath}% \end{displaymath}%
@ -569,49 +626,57 @@ M_{2LH-POST}^{-1} = M_{1L}^{-1} + \left( I - M_{1L}^{-1}A \right) M_{C}^{-1}.
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline734}% % contents=$M$
\lthtmlinlinemathA{tex2html_wrap_inline736}%
$M$% $M$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline738}% % contents=$w=M^{-1}v$
\lthtmlinlinemathA{tex2html_wrap_inline740}%
$w=M^{-1}v$% $w=M^{-1}v$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline740}% % contents=$nlev$
\lthtmlinlinemathA{tex2html_wrap_inline742}%
$nlev$% $nlev$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline742}% % contents=$l$
\lthtmlinlinemathA{tex2html_wrap_inline744}%
$l$% $l$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline744}% % contents=$A_l$
\lthtmlinlinemathA{tex2html_wrap_inline746}%
$A_l$% $A_l$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline746}% % contents=$M_l$
\lthtmlinlinemathA{tex2html_wrap_inline748}%
$M_l$% $M_l$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline748}% % contents=$A_1=A$
\lthtmlinlinemathA{tex2html_wrap_inline750}%
$A_1=A$% $A_1=A$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlpictureA{tex2html_wrap860}% % contents=\framebox{ begin{minipage}{.85\textwidth} {\small begin{tabbing} \quad \=\quad \=\quad \=\quad \\[-1mm] $v_1 = v$; \\[2mm] \textbf{for $l=2, nlev$\ do}\\[1mm] \> ! transfer $v_{l-1}$\ to the next ...}
\lthtmlpictureA{tex2html_wrap862}%
\framebox{ \framebox{
\begin{minipage}{.85\textwidth} {\small \begin{minipage}{.85\textwidth} {\small
\begin{tabbing} \begin{tabbing}
@ -643,31 +708,36 @@ $w = y_1$;
\stepcounter{subsection} \stepcounter{subsection}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline776}% % contents=$R_C$
\lthtmlinlinemathA{tex2html_wrap_inline778}%
$R_C$% $R_C$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline784}% % contents=$R_C^T$
\lthtmlinlinemathA{tex2html_wrap_inline786}%
$R_C^T$% $R_C^T$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline798}% % contents=$N_r$
\lthtmlinlinemathA{tex2html_wrap_inline800}%
$N_r$% $N_r$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline802}% % contents=$r \in W$
\lthtmlinlinemathA{tex2html_wrap_inline804}%
$r \in W$% $r \in W$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmldisplayA{displaymath574}% % contents=begin{displaymath} N_r = \left\{s \in W: |a_{rs}| > \theta \sqrt{|a_{rr}a_{ss}|} \right\} \cup \left\{ r \right\} , end{displaymath}
\lthtmldisplayA{displaymath576}%
\begin{displaymath} N_r = \left\{s \in W: |a_{rs}| > \theta \sqrt{|a_{rr}a_{ss}|} \right\} \begin{displaymath} N_r = \left\{s \in W: |a_{rs}| > \theta \sqrt{|a_{rr}a_{ss}|} \right\}
\cup \left\{ r \right\} , \cup \left\{ r \right\} ,
\end{displaymath}% \end{displaymath}%
@ -675,37 +745,43 @@ $r \in W$%
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline804}% % contents=$\theta \in [0,1]$
\lthtmlinlinemathA{tex2html_wrap_inline806}%
$\theta \in [0,1]$% $\theta \in [0,1]$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline806}% % contents=$i$
\lthtmlinlinemathA{tex2html_wrap_inline808}%
$i$% $i$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline808}% % contents=$W_i^0$
\lthtmlinlinemathA{tex2html_wrap_inline810}%
$W_i^0$% $W_i^0$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline812}% % contents=$P_C=R_C^T$
\lthtmlinlinemathA{tex2html_wrap_inline814}%
$P_C=R_C^T$% $P_C=R_C^T$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline814}% % contents=$P \in \Re^{n \times n_C}$
\lthtmlinlinemathA{tex2html_wrap_inline816}%
$P \in \Re^{n \times n_C}$% $P \in \Re^{n \times n_C}$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmldisplayA{displaymath531}% % contents=begin{displaymath} P=(p_{ij}), \quad p_{ij}= \left\{ begin{array}{ll} 1 & \quad \mbox{if} \; i \in V^j_C \\0 & \quad \mbox{otherwise} end{array} \right. . end{displaymath}
\lthtmldisplayA{displaymath533}%
\begin{displaymath} \begin{displaymath}
P=(p_{ij}), \quad p_{ij}= P=(p_{ij}), \quad p_{ij}=
\left\{ \begin{array}{ll} \left\{ \begin{array}{ll}
@ -717,25 +793,29 @@ P=(p_{ij}), \quad p_{ij}=
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline816}% % contents=$P_C$
\lthtmlinlinemathA{tex2html_wrap_inline818}%
$P_C$% $P_C$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline818}% % contents=$P$
\lthtmlinlinemathA{tex2html_wrap_inline820}%
$P$% $P$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline820}% % contents=$S \in \Re^{n \times n}$
\lthtmlinlinemathA{tex2html_wrap_inline822}%
$S \in \Re^{n \times n}$% $S \in \Re^{n \times n}$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmldisplayA{displaymath542}% % contents=begin{displaymath} P_C = S P, end{displaymath}
\lthtmldisplayA{displaymath544}%
\begin{displaymath} \begin{displaymath}
P_C = S P, P_C = S P,
\end{displaymath}% \end{displaymath}%
@ -743,13 +823,15 @@ P_C = S P,
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline822}% % contents=$S$
\lthtmlinlinemathA{tex2html_wrap_inline824}%
$S$% $S$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmldisplayA{displaymath546}% % contents=begin{displaymath} S = I - \omega D^{-1} A , end{displaymath}
\lthtmldisplayA{displaymath548}%
\begin{displaymath} \begin{displaymath}
S = I - \omega D^{-1} A , S = I - \omega D^{-1} A ,
\end{displaymath}% \end{displaymath}%
@ -757,20 +839,23 @@ S = I - \omega D^{-1} A ,
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline824}% % contents=$\omega$
\lthtmlinlinemathA{tex2html_wrap_inline826}%
$\omega$% $\omega$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline826}% % contents=$D^{-1}A$
\lthtmlinlinemathA{tex2html_wrap_inline828}%
$D^{-1}A$% $D^{-1}A$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
\stepcounter{section} \stepcounter{section}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline983}% % contents=$\theta = 0$
\lthtmlinlinemathA{tex2html_wrap_inline985}%
$\theta = 0$% $\theta = 0$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
@ -778,7 +863,8 @@ $\theta = 0$%
\stepcounter{subsection} \stepcounter{subsection}
\stepcounter{section} \stepcounter{section}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline1324}% % contents=$w$
\lthtmlinlinemathA{tex2html_wrap_inline1316}%
$w$% $w$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
@ -786,80 +872,100 @@ $w$%
\stepcounter{subsection} \stepcounter{subsection}
\stepcounter{subsection} \stepcounter{subsection}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline1328}% % contents=$\ge 0$
\lthtmlinlinemathA{tex2html_wrap_inline1320}%
$\ge 0$% $\ge 0$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline1342}% % contents=$t$
\lthtmlinlinemathA{tex2html_wrap_inline1334}%
$t$% $t$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline1346}% % contents=$\in [0, 1]$
\lthtmlinlinemathA{tex2html_wrap_inline1338}%
$\in [0, 1]$% $\in [0, 1]$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline1348}% % contents=$\theta$
\lthtmlinlinemathA{tex2html_wrap_inline1340}%
$\theta$% $\theta$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline1352}% % contents=$4/(3||D^{-1}A||_\infty)$
$>0$% \lthtmlinlinemathA{tex2html_wrap_inline1346}%
$4/(3||D^{-1}A||_\infty)$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
% contents=$> 0$
\lthtmlinlinemathA{tex2html_wrap_inline1362}%
$> 0$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
\stepcounter{subsection} \stepcounter{subsection}
\stepcounter{subsection} \stepcounter{subsection}
{\newpage\clearpage {\newpage\clearpage
% contents=$y = op(M^{-1})\, x$
\lthtmlinlinemathA{tex2html_wrap_inline1374}% \lthtmlinlinemathA{tex2html_wrap_inline1374}%
$y = op(M^{-1})\, x$% $y = op(M^{-1})\, x$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
% contents=$op$
\lthtmlinlinemathA{tex2html_wrap_inline1378}% \lthtmlinlinemathA{tex2html_wrap_inline1378}%
$op$% $op$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
% contents=$x$
\lthtmlinlinemathA{tex2html_wrap_inline1382}% \lthtmlinlinemathA{tex2html_wrap_inline1382}%
$x$% $x$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
% contents=$y$
\lthtmlinlinemathA{tex2html_wrap_inline1384}% \lthtmlinlinemathA{tex2html_wrap_inline1384}%
$y$% $y$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
% contents=$op(M^{-1}) = M^{-1}$
\lthtmlinlinemathA{tex2html_wrap_inline1386}% \lthtmlinlinemathA{tex2html_wrap_inline1386}%
$op(M^{-1}) = M^{-1}$% $op(M^{-1}) = M^{-1}$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
% contents=$op(M^{-1}) = M^{-T}$
\lthtmlinlinemathA{tex2html_wrap_inline1388}% \lthtmlinlinemathA{tex2html_wrap_inline1388}%
$op(M^{-1}) = M^{-T}$% $op(M^{-1}) = M^{-T}$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
% contents=$M^{-1})$
\lthtmlinlinemathA{tex2html_wrap_inline1390}% \lthtmlinlinemathA{tex2html_wrap_inline1390}%
$M^{-1})$% $M^{-1})$%
\lthtmlinlinemathZ \lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage} \lthtmlcheckvsize\clearpage}
{\newpage\clearpage {\newpage\clearpage
% contents=$op(M^{-1}) = M^{-C}$
\lthtmlinlinemathA{tex2html_wrap_inline1392}% \lthtmlinlinemathA{tex2html_wrap_inline1392}%
$op(M^{-1}) = M^{-C}$% $op(M^{-1}) = M^{-C}$%
\lthtmlinlinemathZ \lthtmlinlinemathZ

Binary file not shown.

Before

Width:  |  Height:  |  Size: 673 B

After

Width:  |  Height:  |  Size: 375 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 684 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 272 B

After

Width:  |  Height:  |  Size: 687 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 634 B

After

Width:  |  Height:  |  Size: 275 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 257 B

After

Width:  |  Height:  |  Size: 636 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 200 B

After

Width:  |  Height:  |  Size: 259 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 216 B

After

Width:  |  Height:  |  Size: 202 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 648 B

After

Width:  |  Height:  |  Size: 218 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 678 B

After

Width:  |  Height:  |  Size: 647 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 372 B

After

Width:  |  Height:  |  Size: 683 B

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -22,7 +22,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html13" <A NAME="tex2html13"
HREF="node1.html"> HREF="node1.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
@ -32,130 +33,60 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev_g.png"> SRC="file:/usr/share/latex2html/icons/prev_g.png">
<A NAME="tex2html11" <A NAME="tex2html11"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html14" <B> Next:</B> <A NAME="tex2html14"
HREF="node1.html">Contents</A> HREF="node1.html">Abstract</A>
&nbsp; <B> <A NAME="tex2html12" &nbsp; <B> <A NAME="tex2html12"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR>
<BR> <BR>
<BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<BIG CLASS="XLARGE"><B>MLD2P4
<P>
MLD2P4 User's and Reference Guidetitle
<BR>
<TABLE WIDTH="100%">
<TR><TD>
<DIV ALIGN="RIGHT">
<FONT SIZE="+4"><B>MLD2P4
<BR>
<BR> <BR>
User's and Reference Guide
</B></FONT>
<BR> <BR>
<BR> User's and Reference Guide</B></BIG>
<BR> <BR><SPAN CLASS="textit"><BIG CLASS="LARGE">A guide for the Multi-Level Domain Decomposition <BR>
<BR><I><FONT SIZE="+2">A guide for the Multi-Level Domain Decomposition <BR>
<BR> <BR>
Parallel Preconditioners Package Parallel Preconditioners Package
based on PSBLAS</FONT></I> based on PSBLAS</BIG></SPAN>
<B>Pasqua D'Ambra</B>
</DIV></TD></TR>
</TABLE>
<P>
<BR> <BR>
<TABLE WIDTH="100%"> ICAR-CNR, Naples, Italy
<TR><TD>
<DIV ALIGN="RIGHT">
<FONT SIZE="+1"><B>Pasqua D'Ambra</B></FONT>
<BR><FONT SIZE="+1">ICAR-CNR, Naples, Italy
<BR> <BR>
<BR> <BR>
<BR> <BR>
<BR><FONT SIZE="+1"><B>Daniela di Serafino</B></FONT> <BR><B>Daniela di Serafino</B>
<BR><FONT SIZE="+1">Second University of Naples, Italy
<BR> <BR>
Second University of Naples, Italy
<BR> <BR>
<BR> <BR>
<BR><FONT SIZE="+1"><B>Salvatore Filippone</B></FONT>
<BR><FONT SIZE="+1">University of Rome ``Tor Vergata'', Italy
</FONT></FONT></FONT></DIV></TD></TR>
</TABLE>
<P>
<BR> <BR>
<TABLE WIDTH="100%"> <BR><B>Salvatore Filippone</B>
<TR><TD>
<DIV ALIGN="RIGHT">
<FONT SIZE="+1">Software version: 1.0
<BR> <BR>
July 22, 2008 University of Rome ``Tor Vergata'', Italy
Software version: 1.0
</FONT></DIV></TD></TR>
</TABLE>
<P>
<BR> <BR>
July 24, 2008
<BR> <BR>
<P> <P>
<P> <P>
<BR><HR>
<H3>Abstract:</H3>
<DIV>
MLD2P4 (M<SMALL>ULTI-</SMALL>L<SMALL>EVEL </SMALL>D<SMALL>OMAIN </SMALL>D<SMALL>ECOMPOSITION </SMALL>P<SMALL>ARALLEL </SMALL>P<SMALL>RECONDITIONERS </SMALL>P<SMALL>ACKAGE BASED ON
</SMALL>PSBLAS) is a package of parallel algebraic multi-level preconditioners.
It implements various versions of one-level additive and of multi-level additive
and hybrid Schwarz algorithms. In the multi-level case, a purely algebraic approach
is applied to generate coarse-level corrections, so that no geometric background is needed
concerning the matrix to be preconditioned. The matrix is required to be square, real
or complex, with a symmetric sparsity pattern.
<P>
MLD2P4 has been designed to provide scalable and easy-to-use preconditioners in the
context of the PSBLAS (Parallel Sparse Basic Linear Algebra Subprograms)
computational framework and can be used in conjuction with the Krylov solvers
available in this framework. MLD2P4 enables the user to easily specify different aspects
of a generic algebraic multilevel Schwarz preconditioner, thus allowing to search
for the ``best'' preconditioner for the problem at hand.
<P>
The package has been designed employing object-oriented techniques,
using Fortran 95, with interfaces to additional third party libraries
such as UMFPACK, SuperLU and SuperLU_Dist, that
can be exploited in building multi-level preconditioners. The parallel
implementation is based on a Single Program Multiple Data (SPMD)
paradigm for distributed-memory architectures; the inter-process data
communication is based on MPI and is managed mainly through PSBLAS.
<P>
This guide provides a brief description of the functionalities and
the user interface of MLD2P4.
</DIV>
<P>
<P>
<BR><HR>
<!--Table of Child-Links--> <!--Table of Child-Links-->
<A NAME="CHILD_LINKS"></A> <A NAME="CHILD_LINKS"></A>
<UL> <UL CLASS="ChildLinks">
<LI><A NAME="tex2html15" <LI><A NAME="tex2html15"
HREF="node1.html">Contents</A> HREF="node1.html">Abstract</A>
<LI><A NAME="tex2html16" <LI><A NAME="tex2html16"
HREF="node2.html">General Overview</A> HREF="node2.html">Contents</A>
<LI><A NAME="tex2html17" <LI><A NAME="tex2html17"
HREF="node3.html">Notational Conventions</A> HREF="node3.html">General Overview</A>
<LI><A NAME="tex2html18" <LI><A NAME="tex2html18"
HREF="node4.html">Code Distribution</A> HREF="node4.html">Code Distribution</A>
<LI><A NAME="tex2html19" <LI><A NAME="tex2html19"
@ -238,29 +169,10 @@ the user interface of MLD2P4.
HREF="node31.html">About this document ...</A> HREF="node31.html">About this document ...</A>
</UL> </UL>
<!--End of Table of Child-Links--> <!--End of Table of Child-Links-->
<HR> <BR><HR>
<!--Navigation Panel-->
<A NAME="tex2html13"
HREF="node1.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up_g.png">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev_g.png">
<A NAME="tex2html11"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html14"
HREF="node1.html">Contents</A>
&nbsp; <B> <A NAME="tex2html12"
HREF="node1.html">Contents</A></B>
<!--End of Navigation Panel-->
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -18,6 +18,10 @@ $key = q/cite_dd2_96/;
$ref_files{$key} = "$dir".q|node30.html|; $ref_files{$key} = "$dir".q|node30.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
$key = q/sec:ex_and_test/;
$ref_files{$key} = "$dir".q|node9.html|;
$noresave{$key} = "$nosave";
$key = q/cite_Saad_book/; $key = q/cite_Saad_book/;
$ref_files{$key} = "$dir".q|node30.html|; $ref_files{$key} = "$dir".q|node30.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
@ -30,7 +34,7 @@ $key = q/sec:conventions/;
$ref_files{$key} = "$dir".q|node3.html|; $ref_files{$key} = "$dir".q|node3.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
$key = q/cite_SUPERLUDIST/; $key = q/cite_blas2/;
$ref_files{$key} = "$dir".q|node30.html|; $ref_files{$key} = "$dir".q|node30.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
@ -38,6 +42,10 @@ $key = q/cite_dd1_94/;
$ref_files{$key} = "$dir".q|node30.html|; $ref_files{$key} = "$dir".q|node30.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
$key = q/cite_SUPERLUDIST/;
$ref_files{$key} = "$dir".q|node30.html|;
$noresave{$key} = "$nosave";
$key = q/cite_TUMINARO_TONG/; $key = q/cite_TUMINARO_TONG/;
$ref_files{$key} = "$dir".q|node30.html|; $ref_files{$key} = "$dir".q|node30.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
@ -55,7 +63,7 @@ $ref_files{$key} = "$dir".q|node12.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
$key = q/sec:overview/; $key = q/sec:overview/;
$ref_files{$key} = "$dir".q|node2.html|; $ref_files{$key} = "$dir".q|node3.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
$key = q/sec:multilevel/; $key = q/sec:multilevel/;
@ -87,7 +95,11 @@ $ref_files{$key} = "$dir".q|node30.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
$key = q/system1/; $key = q/system1/;
$ref_files{$key} = "$dir".q|node2.html|; $ref_files{$key} = "$dir".q|node3.html|;
$noresave{$key} = "$nosave";
$key = q/cite_MPI2/;
$ref_files{$key} = "$dir".q|node30.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
$key = q/fig:ex_3la/; $key = q/fig:ex_3la/;
@ -102,6 +114,10 @@ $key = q/sec:errors/;
$ref_files{$key} = "$dir".q|node28.html|; $ref_files{$key} = "$dir".q|node28.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
$key = q/tab:precinit/;
$ref_files{$key} = "$dir".q|node13.html|;
$noresave{$key} = "$nosave";
$key = q/fig:ex_default/; $key = q/fig:ex_default/;
$ref_files{$key} = "$dir".q|node14.html|; $ref_files{$key} = "$dir".q|node14.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
@ -122,14 +138,14 @@ $key = q/eq:jac_smoother/;
$ref_files{$key} = "$dir".q|node12.html|; $ref_files{$key} = "$dir".q|node12.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
$key = q/fig:ex_3lh/;
$ref_files{$key} = "$dir".q|node14.html|;
$noresave{$key} = "$nosave";
$key = q/sec:precaply/; $key = q/sec:precaply/;
$ref_files{$key} = "$dir".q|node22.html|; $ref_files{$key} = "$dir".q|node22.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
$key = q/fig:ex_3lh/;
$ref_files{$key} = "$dir".q|node14.html|;
$noresave{$key} = "$nosave";
$key = q/cite_BREZINA_VANEK/; $key = q/cite_BREZINA_VANEK/;
$ref_files{$key} = "$dir".q|node30.html|; $ref_files{$key} = "$dir".q|node30.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
@ -142,6 +158,10 @@ $key = q/cite_para_04/;
$ref_files{$key} = "$dir".q|node30.html|; $ref_files{$key} = "$dir".q|node30.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
$key = q/cite_BLACS/;
$ref_files{$key} = "$dir".q|node30.html|;
$noresave{$key} = "$nosave";
$key = q/cite_EFSTATHIOU/; $key = q/cite_EFSTATHIOU/;
$ref_files{$key} = "$dir".q|node30.html|; $ref_files{$key} = "$dir".q|node30.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
@ -174,6 +194,10 @@ $key = q/eq:smoothed_prol/;
$ref_files{$key} = "$dir".q|node12.html|; $ref_files{$key} = "$dir".q|node12.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
$key = q/cite_blas1/;
$ref_files{$key} = "$dir".q|node30.html|;
$noresave{$key} = "$nosave";
$key = q/fig:ex_1l/; $key = q/fig:ex_1l/;
$ref_files{$key} = "$dir".q|node14.html|; $ref_files{$key} = "$dir".q|node14.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
@ -186,5 +210,9 @@ $key = q/sec:precfree/;
$ref_files{$key} = "$dir".q|node24.html|; $ref_files{$key} = "$dir".q|node24.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
$key = q/cite_blas3/;
$ref_files{$key} = "$dir".q|node30.html|;
$noresave{$key} = "$nosave";
1; 1;

@ -18,6 +18,10 @@ $key = q/cite_dd2_96/;
$external_labels{$key} = "$URL/" . q|node30.html|; $external_labels{$key} = "$URL/" . q|node30.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
$key = q/sec:ex_and_test/;
$external_labels{$key} = "$URL/" . q|node9.html|;
$noresave{$key} = "$nosave";
$key = q/cite_Saad_book/; $key = q/cite_Saad_book/;
$external_labels{$key} = "$URL/" . q|node30.html|; $external_labels{$key} = "$URL/" . q|node30.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
@ -30,7 +34,7 @@ $key = q/sec:conventions/;
$external_labels{$key} = "$URL/" . q|node3.html|; $external_labels{$key} = "$URL/" . q|node3.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
$key = q/cite_SUPERLUDIST/; $key = q/cite_blas2/;
$external_labels{$key} = "$URL/" . q|node30.html|; $external_labels{$key} = "$URL/" . q|node30.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
@ -38,6 +42,10 @@ $key = q/cite_dd1_94/;
$external_labels{$key} = "$URL/" . q|node30.html|; $external_labels{$key} = "$URL/" . q|node30.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
$key = q/cite_SUPERLUDIST/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$noresave{$key} = "$nosave";
$key = q/cite_TUMINARO_TONG/; $key = q/cite_TUMINARO_TONG/;
$external_labels{$key} = "$URL/" . q|node30.html|; $external_labels{$key} = "$URL/" . q|node30.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
@ -55,7 +63,7 @@ $external_labels{$key} = "$URL/" . q|node12.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
$key = q/sec:overview/; $key = q/sec:overview/;
$external_labels{$key} = "$URL/" . q|node2.html|; $external_labels{$key} = "$URL/" . q|node3.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
$key = q/sec:multilevel/; $key = q/sec:multilevel/;
@ -87,7 +95,11 @@ $external_labels{$key} = "$URL/" . q|node30.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
$key = q/system1/; $key = q/system1/;
$external_labels{$key} = "$URL/" . q|node2.html|; $external_labels{$key} = "$URL/" . q|node3.html|;
$noresave{$key} = "$nosave";
$key = q/cite_MPI2/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
$key = q/fig:ex_3la/; $key = q/fig:ex_3la/;
@ -102,6 +114,10 @@ $key = q/sec:errors/;
$external_labels{$key} = "$URL/" . q|node28.html|; $external_labels{$key} = "$URL/" . q|node28.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
$key = q/tab:precinit/;
$external_labels{$key} = "$URL/" . q|node13.html|;
$noresave{$key} = "$nosave";
$key = q/fig:ex_default/; $key = q/fig:ex_default/;
$external_labels{$key} = "$URL/" . q|node14.html|; $external_labels{$key} = "$URL/" . q|node14.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
@ -122,14 +138,14 @@ $key = q/eq:jac_smoother/;
$external_labels{$key} = "$URL/" . q|node12.html|; $external_labels{$key} = "$URL/" . q|node12.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
$key = q/fig:ex_3lh/;
$external_labels{$key} = "$URL/" . q|node14.html|;
$noresave{$key} = "$nosave";
$key = q/sec:precaply/; $key = q/sec:precaply/;
$external_labels{$key} = "$URL/" . q|node22.html|; $external_labels{$key} = "$URL/" . q|node22.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
$key = q/fig:ex_3lh/;
$external_labels{$key} = "$URL/" . q|node14.html|;
$noresave{$key} = "$nosave";
$key = q/cite_BREZINA_VANEK/; $key = q/cite_BREZINA_VANEK/;
$external_labels{$key} = "$URL/" . q|node30.html|; $external_labels{$key} = "$URL/" . q|node30.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
@ -142,6 +158,10 @@ $key = q/cite_para_04/;
$external_labels{$key} = "$URL/" . q|node30.html|; $external_labels{$key} = "$URL/" . q|node30.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
$key = q/cite_BLACS/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$noresave{$key} = "$nosave";
$key = q/cite_EFSTATHIOU/; $key = q/cite_EFSTATHIOU/;
$external_labels{$key} = "$URL/" . q|node30.html|; $external_labels{$key} = "$URL/" . q|node30.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
@ -174,6 +194,10 @@ $key = q/eq:smoothed_prol/;
$external_labels{$key} = "$URL/" . q|node12.html|; $external_labels{$key} = "$URL/" . q|node12.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
$key = q/cite_blas1/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$noresave{$key} = "$nosave";
$key = q/fig:ex_1l/; $key = q/fig:ex_1l/;
$external_labels{$key} = "$URL/" . q|node14.html|; $external_labels{$key} = "$URL/" . q|node14.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
@ -186,6 +210,10 @@ $key = q/sec:precfree/;
$external_labels{$key} = "$URL/" . q|node24.html|; $external_labels{$key} = "$URL/" . q|node24.html|;
$noresave{$key} = "$nosave"; $noresave{$key} = "$nosave";
$key = q/cite_blas3/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$noresave{$key} = "$nosave";
1; 1;
@ -193,5 +221,133 @@ $noresave{$key} = "$nosave";
# labels from external_latex_labels array. # labels from external_latex_labels array.
$key = q/sec:license/;
$external_latex_labels{$key} = q|A|;
$noresave{$key} = "$nosave";
$key = q/fig:ex_3la/;
$external_latex_labels{$key} = q|4|;
$noresave{$key} = "$nosave";
$key = q/sec:errors/;
$external_latex_labels{$key} = q|7|;
$noresave{$key} = "$nosave";
$key = q/tab:p_smoother/;
$external_latex_labels{$key} = q|3|;
$noresave{$key} = "$nosave";
$key = q/tab:precinit/;
$external_latex_labels{$key} = q|1|;
$noresave{$key} = "$nosave";
$key = q/sec:precinit/;
$external_latex_labels{$key} = q|6.1|;
$noresave{$key} = "$nosave";
$key = q/sec:precset/;
$external_latex_labels{$key} = q|6.2|;
$noresave{$key} = "$nosave";
$key = q/fig:ex_default/;
$external_latex_labels{$key} = q|2|;
$noresave{$key} = "$nosave";
$key = q/sec:ex_and_test/;
$external_latex_labels{$key} = q|3.4|;
$noresave{$key} = "$nosave";
$key = q/sec:started/;
$external_latex_labels{$key} = q|5|;
$noresave{$key} = "$nosave";
$key = q/sec:precdescr/;
$external_latex_labels{$key} = q|6.6|;
$noresave{$key} = "$nosave";
$key = q/sec:overview/;
$external_latex_labels{$key} = q|1|;
$noresave{$key} = "$nosave";
$key = q/eq:tent_prol/;
$external_latex_labels{$key} = q|2|;
$noresave{$key} = "$nosave";
$key = q/sec:precaply/;
$external_latex_labels{$key} = q|6.4|;
$noresave{$key} = "$nosave";
$key = q/fig:ex_3lh/;
$external_latex_labels{$key} = q|3|;
$noresave{$key} = "$nosave";
$key = q/eq:jac_smoother/;
$external_latex_labels{$key} = q|4|;
$noresave{$key} = "$nosave";
$key = q/sec:multilevel/;
$external_latex_labels{$key} = q|4.1|;
$noresave{$key} = "$nosave";
$key = q/tab:p_coarse/;
$external_latex_labels{$key} = q|5|;
$noresave{$key} = "$nosave";
$key = q/fig:mlhpost_alg/;
$external_latex_labels{$key} = q|1|;
$noresave{$key} = "$nosave";
$key = q/tab:p_type/;
$external_latex_labels{$key} = q|2|;
$noresave{$key} = "$nosave";
$key = q/sec:userinterface/;
$external_latex_labels{$key} = q|6|;
$noresave{$key} = "$nosave";
$key = q/sec:background/;
$external_latex_labels{$key} = q|4|;
$noresave{$key} = "$nosave";
$key = q/tab:p_aggregation/;
$external_latex_labels{$key} = q|4|;
$noresave{$key} = "$nosave";
$key = q/sec:aggregation/;
$external_latex_labels{$key} = q|4.2|;
$noresave{$key} = "$nosave";
$key = q/sec:examples/;
$external_latex_labels{$key} = q|5.1|;
$noresave{$key} = "$nosave";
$key = q/sec:building/;
$external_latex_labels{$key} = q|3|;
$noresave{$key} = "$nosave";
$key = q/sec:distribution/;
$external_latex_labels{$key} = q|2|;
$noresave{$key} = "$nosave";
$key = q/system1/;
$external_latex_labels{$key} = q|1|;
$noresave{$key} = "$nosave";
$key = q/eq:smoothed_prol/;
$external_latex_labels{$key} = q|3|;
$noresave{$key} = "$nosave";
$key = q/fig:ex_1l/;
$external_latex_labels{$key} = q|5|;
$noresave{$key} = "$nosave";
$key = q/sec:precbld/;
$external_latex_labels{$key} = q|6.3|;
$noresave{$key} = "$nosave";
$key = q/sec:precfree/;
$external_latex_labels{$key} = q|6.5|;
$noresave{$key} = "$nosave";
1; 1;

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
Jens Lippmann, Marek Rouchal, Martin Wilck and others --> Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML> <HTML>
<HEAD> <HEAD>
<TITLE>Contents</TITLE> <TITLE>Abstract</TITLE>
<META NAME="description" CONTENT="Contents"> <META NAME="description" CONTENT="Abstract">
<META NAME="keywords" CONTENT="userhtml"> <META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document"> <META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global"> <META NAME="distribution" CONTENT="global">
@ -25,8 +25,9 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<A NAME="tex2html54" <DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html56"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
@ -38,92 +39,90 @@ original version by: Nikos Drakos, CBLU, University of Leeds
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html54"
HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html55" <B> Next:</B> <A NAME="tex2html57"
HREF="node2.html">General Overview</A> HREF="node2.html">Contents</A>
<B> Up:</B> <A NAME="tex2html53" <B> Up:</B> <A NAME="tex2html53"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html47" <B> Previous:</B> <A NAME="tex2html47"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
&nbsp; <B> <A NAME="tex2html55"
HREF="node2.html">Contents</A></B>
<BR> <BR>
<BR> <BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<BR>
<H2><A NAME="SECTION00010000000000000000"> <H1><A NAME="SECTION00010000000000000000">
Contents</A> Abstract</A>
</H2> </H1>
<!--Table of Contents-->
<UL> MLD2P4 (M<SMALL>ULTI-</SMALL>L<SMALL>EVEL </SMALL>D<SMALL>OMAIN </SMALL>D<SMALL>ECOMPOSITION </SMALL>P<SMALL>ARALLEL </SMALL>P<SMALL>RECONDITIONERS </SMALL>P<SMALL>ACKAGE BASED ON
<LI><A NAME="tex2html56" </SMALL>PSBLAS) is a package of parallel algebraic multi-level preconditioners.
HREF="node2.html">General Overview</A> It implements various versions of one-level additive and of multi-level additive
<LI><A NAME="tex2html57" and hybrid Schwarz algorithms. In the multi-level case, a purely algebraic approach
HREF="node3.html">Notational Conventions</A> is applied to generate coarse-level corrections, so that no geometric background is needed
<LI><A NAME="tex2html58" concerning the matrix to be preconditioned. The matrix is required to be square, real
HREF="node4.html">Code Distribution</A> or complex, with a symmetric sparsity pattern.
<LI><A NAME="tex2html59"
HREF="node5.html">Configuring and Building MLD2P4</A> <P>
<UL> MLD2P4 has been designed to provide scalable and easy-to-use preconditioners in the
<LI><A NAME="tex2html60" context of the PSBLAS (Parallel Sparse Basic Linear Algebra Subprograms)
HREF="node6.html">Prerequisites</A> computational framework and can be used in conjuction with the Krylov solvers
<LI><A NAME="tex2html61" available in this framework. MLD2P4 enables the user to easily specify different aspects
HREF="node7.html">Optional third party libraries</A> of a generic algebraic multilevel Schwarz preconditioner, thus allowing to search
<LI><A NAME="tex2html62" for the ``best'' preconditioner for the problem at hand.
HREF="node8.html">Configuration options</A>
<LI><A NAME="tex2html63" <P>
HREF="node9.html">Example and test programs</A> The package has been designed employing object-oriented techniques,
</UL> using Fortran 95, with interfaces to additional third party libraries
<BR> such as UMFPACK, SuperLU and SuperLU_Dist, that
<LI><A NAME="tex2html64" can be exploited in building multi-level preconditioners. The parallel
HREF="node10.html">Multi-level Domain Decomposition Background</A> implementation is based on a Single Program Multiple Data (SPMD)
<UL> paradigm for distributed-memory architectures; the inter-process data
<LI><A NAME="tex2html65" communication is based on MPI and is managed mainly through PSBLAS.
HREF="node11.html">Multi-level Schwarz Preconditioners</A>
<LI><A NAME="tex2html66"
HREF="node12.html">Smoothed Aggregation</A>
</UL>
<BR>
<LI><A NAME="tex2html67"
HREF="node13.html">Getting Started</A>
<UL>
<LI><A NAME="tex2html68"
HREF="node14.html">Examples</A>
</UL>
<BR>
<LI><A NAME="tex2html69"
HREF="node15.html">User Interface</A>
<UL>
<LI><A NAME="tex2html70"
HREF="node16.html">Subroutine mld_precinit</A>
<LI><A NAME="tex2html71"
HREF="node18.html">Subroutine mld_precset</A>
<LI><A NAME="tex2html72"
HREF="node20.html">Subroutine mld_precbld</A>
<LI><A NAME="tex2html73"
HREF="node22.html">Subroutine mld_precaply</A>
<LI><A NAME="tex2html74"
HREF="node24.html">Subroutine mld_precfree</A>
<LI><A NAME="tex2html75"
HREF="node26.html">Subroutine mld_precdescr</A>
</UL>
<BR>
<LI><A NAME="tex2html76"
HREF="node28.html">Error Handling</A>
<LI><A NAME="tex2html77"
HREF="node29.html">License</A>
<LI><A NAME="tex2html78"
HREF="node30.html">Bibliography</A>
</UL>
<!--End of Table of Contents-->
<P> <P>
This guide provides a brief description of the functionalities and
the user interface of MLD2P4.
<P> <P>
<BR><HR>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html56"
HREF="node2.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html52"
HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html46"
HREF="userhtml.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html54"
HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html57"
HREF="node2.html">Contents</A>
<B> Up:</B> <A NAME="tex2html53"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html47"
HREF="userhtml.html">userhtml</A>
&nbsp; <B> <A NAME="tex2html55"
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,34 +25,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<A NAME="tex2html187" <DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html186"
HREF="node11.html"> HREF="node11.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html183" <A NAME="tex2html182"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html177" <A NAME="tex2html176"
HREF="node9.html"> HREF="node9.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html185" <A NAME="tex2html184"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html188" <B> Next:</B> <A NAME="tex2html187"
HREF="node11.html">Multi-level Schwarz Preconditioners</A> HREF="node11.html">Multi-level Schwarz Preconditioners</A>
<B> Up:</B> <A NAME="tex2html184" <B> Up:</B> <A NAME="tex2html183"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html178" <B> Previous:</B> <A NAME="tex2html177"
HREF="node9.html">Example and test programs</A> HREF="node9.html">Example and test programs</A>
&nbsp; <B> <A NAME="tex2html186" &nbsp; <B> <A NAME="tex2html185"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR>
<BR> <BR>
<BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H1><A NAME="SECTION00060000000000000000"></A><A NAME="sec:background"></A> <H1><A NAME="SECTION00060000000000000000"></A><A NAME="sec:background"></A>
@ -61,7 +62,7 @@ Multi-level Domain Decomposition Background
</H1> </H1>
<P> <P>
<I>Domain Decomposition</I> (DD) preconditioners, coupled with Krylov iterative <SPAN CLASS="textit">Domain Decomposition</SPAN> (DD) preconditioners, coupled with Krylov iterative
solvers, are widely used in the parallel solution of large and sparse linear systems. solvers, are widely used in the parallel solution of large and sparse linear systems.
These preconditioners are based on the divide and conquer technique: the matrix These preconditioners are based on the divide and conquer technique: the matrix
to be preconditioned is divided into submatrices, a ``local'' linear system to be preconditioned is divided into submatrices, a ``local'' linear system
@ -74,13 +75,13 @@ solution of the original problem from the local solutions
[<A [<A
HREF="node30.html#Cai_Widlund_92">6</A>,<A HREF="node30.html#Cai_Widlund_92">6</A>,<A
HREF="node30.html#dd1_94">7</A>,<A HREF="node30.html#dd1_94">7</A>,<A
HREF="node30.html#dd2_96">15</A>]. HREF="node30.html#dd2_96">20</A>].
<P> <P>
<I>Additive Schwarz</I> preconditioners are DD preconditioners using overlapping <SPAN CLASS="textit">Additive Schwarz</SPAN> preconditioners are DD preconditioners using overlapping
submatrices, i.e. with some common rows, to couple the local information submatrices, i.e. with some common rows, to couple the local information
related to the submatrices (see, e.g., [<A related to the submatrices (see, e.g., [<A
HREF="node30.html#dd2_96">15</A>]). HREF="node30.html#dd2_96">20</A>]).
The main motivation for choosing Additive Schwarz preconditioners is their The main motivation for choosing Additive Schwarz preconditioners is their
intrinsic parallelism. A drawback of these intrinsic parallelism. A drawback of these
preconditioners is that the number of iterations of the preconditioned solvers preconditioners is that the number of iterations of the preconditioned solvers
@ -93,15 +94,15 @@ in a coarse space, which globally couples the information related to the single
submatrices. submatrices.
<P> <P>
<I>Two-level Schwarz</I> preconditioners are obtained <SPAN CLASS="textit">Two-level Schwarz</SPAN> preconditioners are obtained
by combining basic (one-level) Schwarz preconditioners with a coarse-level by combining basic (one-level) Schwarz preconditioners with a coarse-level
correction. In this context, the one-level preconditioner is often correction. In this context, the one-level preconditioner is often
called `smoother'. Different two-level preconditioners are obtained by varying the called `smoother'. Different two-level preconditioners are obtained by varying the
choice of the smoother and of the coarse-level correction, and the choice of the smoother and of the coarse-level correction, and the
way they are combined [<A way they are combined [<A
HREF="node30.html#dd2_96">15</A>]. The same reasoning can be applied starting HREF="node30.html#dd2_96">20</A>]. The same reasoning can be applied starting
from the coarse-level system, i.e. a coarse-space correction can be built from the coarse-level system, i.e. a coarse-space correction can be built
from this system, thus obtaining <I>multi-level</I> preconditioners. from this system, thus obtaining <SPAN CLASS="textit">multi-level</SPAN> preconditioners.
<P> <P>
It is worth noting that optimal preconditioners do not necessarily correspond It is worth noting that optimal preconditioners do not necessarily correspond
@ -123,68 +124,69 @@ are considered. The algebraic approach builds coarse-space corrections using onl
information. It performs a fully automatic coarsening and enforces the interplay between information. It performs a fully automatic coarsening and enforces the interplay between
the fine and coarse levels by suitably choosing the coarse space and the coarse-to-fine the fine and coarse levels by suitably choosing the coarse space and the coarse-to-fine
interpolation [<A interpolation [<A
HREF="node30.html#StubenGMD69_99">17</A>]. HREF="node30.html#StubenGMD69_99">22</A>].
<P> <P>
MLD2P4 uses a pure algebraic approach for building the sequence of coarse matrices MLD2P4 uses a pure algebraic approach for building the sequence of coarse matrices
starting from the original matrix. The algebraic approach is based on the <I>smoothed starting from the original matrix. The algebraic approach is based on the <SPAN CLASS="textit">smoothed
aggregation</I> algorithm [<A aggregation</SPAN> algorithm [<A
HREF="node30.html#BREZINA_VANEK">1</A>,<A HREF="node30.html#BREZINA_VANEK">1</A>,<A
HREF="node30.html#VANEK_MANDEL_BREZINA">19</A>]. A decoupled version HREF="node30.html#VANEK_MANDEL_BREZINA">24</A>]. A decoupled version
of this algorithm is implemented, where the smoothed aggregation is applied locally of this algorithm is implemented, where the smoothed aggregation is applied locally
to each submatrix [<A to each submatrix [<A
HREF="node30.html#TUMINARO_TONG">18</A>]. In the next two subsections we provide HREF="node30.html#TUMINARO_TONG">23</A>]. In the next two subsections we provide
a brief description of the multi-level Schwarz preconditioners and of the smoothed a brief description of the multi-level Schwarz preconditioners and of the smoothed
aggregation technique as implemented in MLD2P4. For further details the user aggregation technique as implemented in MLD2P4. For further details the user
is referred to [<A is referred to [<A
HREF="node30.html#para_04">2</A>,<A HREF="node30.html#para_04">2</A>,<A
HREF="node30.html#aaecc_07">3</A>,<A HREF="node30.html#aaecc_07">3</A>,<A
HREF="node30.html#apnum_07">4</A>,<A HREF="node30.html#apnum_07">4</A>,<A
HREF="node30.html#dd2_96">15</A>]. HREF="node30.html#dd2_96">20</A>].
<P> <P>
<BR><HR> <BR><HR>
<!--Table of Child-Links--> <!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A> <A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL> <UL CLASS="ChildLinks">
<LI><A NAME="tex2html189" <LI><A NAME="tex2html188"
HREF="node11.html">Multi-level Schwarz Preconditioners</A> HREF="node11.html">Multi-level Schwarz Preconditioners</A>
<LI><A NAME="tex2html190" <LI><A NAME="tex2html189"
HREF="node12.html">Smoothed Aggregation</A> HREF="node12.html">Smoothed Aggregation</A>
</UL> </UL>
<!--End of Table of Child-Links--> <!--End of Table of Child-Links-->
<HR>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html187" <A NAME="tex2html186"
HREF="node11.html"> HREF="node11.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html183" <A NAME="tex2html182"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html177" <A NAME="tex2html176"
HREF="node9.html"> HREF="node9.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html185" <A NAME="tex2html184"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html188" <B> Next:</B> <A NAME="tex2html187"
HREF="node11.html">Multi-level Schwarz Preconditioners</A> HREF="node11.html">Multi-level Schwarz Preconditioners</A>
<B> Up:</B> <A NAME="tex2html184" <B> Up:</B> <A NAME="tex2html183"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html178" <B> Previous:</B> <A NAME="tex2html177"
HREF="node9.html">Example and test programs</A> HREF="node9.html">Example and test programs</A>
&nbsp; <B> <A NAME="tex2html186" &nbsp; <B> <A NAME="tex2html185"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,34 +25,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<A NAME="tex2html201" <DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html200"
HREF="node12.html"> HREF="node12.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html197" <A NAME="tex2html196"
HREF="node10.html"> HREF="node10.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html191" <A NAME="tex2html190"
HREF="node10.html"> HREF="node10.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html199" <A NAME="tex2html198"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html202" <B> Next:</B> <A NAME="tex2html201"
HREF="node12.html">Smoothed Aggregation</A> HREF="node12.html">Smoothed Aggregation</A>
<B> Up:</B> <A NAME="tex2html198" <B> Up:</B> <A NAME="tex2html197"
HREF="node10.html">Multi-level Domain Decomposition Background</A> HREF="node10.html">Multi-level Domain Decomposition Background</A>
<B> Previous:</B> <A NAME="tex2html192" <B> Previous:</B> <A NAME="tex2html191"
HREF="node10.html">Multi-level Domain Decomposition Background</A> HREF="node10.html">Multi-level Domain Decomposition Background</A>
&nbsp; <B> <A NAME="tex2html200" &nbsp; <B> <A NAME="tex2html199"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR>
<BR> <BR>
<BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H2><A NAME="SECTION00061000000000000000"></A><A NAME="sec:multilevel"></A> <H2><A NAME="SECTION00061000000000000000"></A><A NAME="sec:multilevel"></A>
@ -70,157 +71,157 @@ Given the linear system ,
where <!-- MATH where <!-- MATH
$A=(a_{ij}) \in \Re^{n \times n}$ $A=(a_{ij}) \in \Re^{n \times n}$
--> -->
<IMG <SPAN CLASS="MATH"><IMG
WIDTH="137" HEIGHT="38" ALIGN="MIDDLE" BORDER="0" WIDTH="137" HEIGHT="38" ALIGN="MIDDLE" BORDER="0"
SRC="img3.png" SRC="img3.png"
ALT="$A=(a_{ij}) \in \Re^{n \times n}$"> is a ALT="$A=(a_{ij}) \in \Re^{n \times n}$"></SPAN> is a
nonsingular sparse matrix with a symmetric nonzero pattern, nonsingular sparse matrix with a symmetric nonzero pattern,
let <IMG let <SPAN CLASS="MATH"><IMG
WIDTH="93" HEIGHT="36" ALIGN="MIDDLE" BORDER="0" WIDTH="93" HEIGHT="36" ALIGN="MIDDLE" BORDER="0"
SRC="img4.png" SRC="img4.png"
ALT="$G=(W,E)$"> be the adjacency graph of <IMG ALT="$G=(W,E)$"></SPAN> be the adjacency graph of <SPAN CLASS="MATH"><IMG
WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img2.png" SRC="img2.png"
ALT="$A$">, where <!-- MATH ALT="$A$"></SPAN>, where <!-- MATH
$W=\{1, 2, \ldots, n\}$ $W=\{1, 2, \ldots, n\}$
--> -->
<IMG <SPAN CLASS="MATH"><IMG
WIDTH="138" HEIGHT="36" ALIGN="MIDDLE" BORDER="0" WIDTH="138" HEIGHT="36" ALIGN="MIDDLE" BORDER="0"
SRC="img5.png" SRC="img5.png"
ALT="$W=\{1, 2, \ldots, n\}$"> ALT="$W=\{1, 2, \ldots, n\}$"></SPAN>
and <!-- MATH and <!-- MATH
$E=\{(i,j) : a_{ij} \neq 0\}$ $E=\{(i,j) : a_{ij} \neq 0\}$
--> -->
<IMG <SPAN CLASS="MATH"><IMG
WIDTH="162" HEIGHT="36" ALIGN="MIDDLE" BORDER="0" WIDTH="162" HEIGHT="36" ALIGN="MIDDLE" BORDER="0"
SRC="img6.png" SRC="img6.png"
ALT="$E=\{(i,j) : a_{ij} \neq 0\}$"> are the vertex set and the edge set of <IMG ALT="$E=\{(i,j) : a_{ij} \neq 0\}$"></SPAN> are the vertex set and the edge set of <SPAN CLASS="MATH"><IMG
WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img7.png" SRC="img7.png"
ALT="$G$">, ALT="$G$"></SPAN>,
respectively. Two vertices are called adjacent if there is an edge connecting respectively. Two vertices are called adjacent if there is an edge connecting
them. For any integer <IMG them. For any integer <SPAN CLASS="MATH"><IMG
WIDTH="45" HEIGHT="34" ALIGN="MIDDLE" BORDER="0" WIDTH="45" HEIGHT="34" ALIGN="MIDDLE" BORDER="0"
SRC="img8.png" SRC="img8.png"
ALT="$\delta &gt; 0$">, a <IMG ALT="$\delta &gt; 0$"></SPAN>, a <SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" WIDTH="13" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img9.png" SRC="img9.png"
ALT="$\delta$">-overlap ALT="$\delta$"></SPAN>-overlap
partition of <IMG partition of <SPAN CLASS="MATH"><IMG
WIDTH="24" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" WIDTH="24" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img10.png" SRC="img10.png"
ALT="$W$"> can be defined recursively as follows. ALT="$W$"></SPAN> can be defined recursively as follows.
Given a 0-overlap (or non-overlapping) partition of <IMG Given a 0-overlap (or non-overlapping) partition of <SPAN CLASS="MATH"><IMG
WIDTH="24" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" WIDTH="24" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img10.png" SRC="img10.png"
ALT="$W$">, ALT="$W$"></SPAN>,
i.e. a set of <IMG i.e. a set of <SPAN CLASS="MATH"><IMG
WIDTH="20" HEIGHT="14" ALIGN="BOTTOM" BORDER="0" WIDTH="20" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img11.png" SRC="img11.png"
ALT="$m$"> disjoint nonempty sets <!-- MATH ALT="$m$"></SPAN> disjoint nonempty sets <!-- MATH
$W_i^0 \subset W$ $W_i^0 \subset W$
--> -->
<IMG <SPAN CLASS="MATH"><IMG
WIDTH="73" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" WIDTH="73" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img12.png" SRC="img12.png"
ALT="$W_i^0 \subset W$"> such that ALT="$W_i^0 \subset W$"></SPAN> such that
<!-- MATH <!-- MATH
$\cup_{i=1}^m W_i^0 = W$ $\cup_{i=1}^m W_i^0 = W$
--> -->
<IMG <SPAN CLASS="MATH"><IMG
WIDTH="107" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" WIDTH="107" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img13.png" SRC="img13.png"
ALT="$\cup_{i=1}^m W_i^0 = W$">, a <IMG ALT="$\cup_{i=1}^m W_i^0 = W$"></SPAN>, a <SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" WIDTH="13" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img9.png" SRC="img9.png"
ALT="$\delta$">-overlap ALT="$\delta$"></SPAN>-overlap
partition of <IMG partition of <SPAN CLASS="MATH"><IMG
WIDTH="24" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" WIDTH="24" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img10.png" SRC="img10.png"
ALT="$W$"> is obtained by considering the sets ALT="$W$"></SPAN> is obtained by considering the sets
<!-- MATH <!-- MATH
$W_i^\delta \supset W_i^{\delta-1}$ $W_i^\delta \supset W_i^{\delta-1}$
--> -->
<IMG <SPAN CLASS="MATH"><IMG
WIDTH="97" HEIGHT="41" ALIGN="MIDDLE" BORDER="0" WIDTH="97" HEIGHT="41" ALIGN="MIDDLE" BORDER="0"
SRC="img14.png" SRC="img14.png"
ALT="$W_i^\delta \supset W_i^{\delta-1}$"> obtained by including the vertices that ALT="$W_i^\delta \supset W_i^{\delta-1}$"></SPAN> obtained by including the vertices that
are adjacent to any vertex in <!-- MATH are adjacent to any vertex in <!-- MATH
$W_i^{\delta-1}$ $W_i^{\delta-1}$
--> -->
<IMG <SPAN CLASS="MATH"><IMG
WIDTH="48" HEIGHT="41" ALIGN="MIDDLE" BORDER="0" WIDTH="48" HEIGHT="41" ALIGN="MIDDLE" BORDER="0"
SRC="img15.png" SRC="img15.png"
ALT="$W_i^{\delta-1}$">. ALT="$W_i^{\delta-1}$"></SPAN>.
<P> <P>
Let <IMG Let <SPAN CLASS="MATH"><IMG
WIDTH="22" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" WIDTH="22" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img16.png" SRC="img16.png"
ALT="$n_i^\delta$"> be the size of <IMG ALT="$n_i^\delta$"></SPAN> be the size of <SPAN CLASS="MATH"><IMG
WIDTH="30" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" WIDTH="30" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img17.png" SRC="img17.png"
ALT="$W_i^\delta$"> and <!-- MATH ALT="$W_i^\delta$"></SPAN> and <!-- MATH
$R_i^{\delta} \in $R_i^{\delta} \in
\Re^{n_i^\delta \times n}$ \Re^{n_i^\delta \times n}$
--> -->
<IMG <SPAN CLASS="MATH"><IMG
WIDTH="93" HEIGHT="43" ALIGN="MIDDLE" BORDER="0" WIDTH="93" HEIGHT="43" ALIGN="MIDDLE" BORDER="0"
SRC="img18.png" SRC="img18.png"
ALT="$R_i^{\delta} \in ALT="$R_i^{\delta} \in
\Re^{n_i^\delta \times n}$"> the restriction operator that maps \Re^{n_i^\delta \times n}$"></SPAN> the restriction operator that maps
a vector <IMG a vector <SPAN CLASS="MATH"><IMG
WIDTH="56" HEIGHT="34" ALIGN="MIDDLE" BORDER="0" WIDTH="56" HEIGHT="34" ALIGN="MIDDLE" BORDER="0"
SRC="img19.png" SRC="img19.png"
ALT="$v \in \Re^n$"> onto the vector <!-- MATH ALT="$v \in \Re^n$"></SPAN> onto the vector <!-- MATH
$v_i^{\delta} \in \Re^{n_i^\delta}$ $v_i^{\delta} \in \Re^{n_i^\delta}$
--> -->
<IMG <SPAN CLASS="MATH"><IMG
WIDTH="70" HEIGHT="43" ALIGN="MIDDLE" BORDER="0" WIDTH="70" HEIGHT="43" ALIGN="MIDDLE" BORDER="0"
SRC="img20.png" SRC="img20.png"
ALT="$v_i^{\delta} \in \Re^{n_i^\delta}$"> ALT="$v_i^{\delta} \in \Re^{n_i^\delta}$"></SPAN>
containing the components of <IMG containing the components of <SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0" WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img21.png" SRC="img21.png"
ALT="$v$"> corresponding to the vertices in ALT="$v$"></SPAN> corresponding to the vertices in
<IMG <SPAN CLASS="MATH"><IMG
WIDTH="30" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" WIDTH="30" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img17.png" SRC="img17.png"
ALT="$W_i^\delta$">. The transpose of <IMG ALT="$W_i^\delta$"></SPAN>. The transpose of <SPAN CLASS="MATH"><IMG
WIDTH="25" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" WIDTH="25" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img22.png" SRC="img22.png"
ALT="$R_i^{\delta}$"> is a ALT="$R_i^{\delta}$"></SPAN> is a
prolongation operator from <!-- MATH prolongation operator from <!-- MATH
$\Re^{n_i^\delta}$ $\Re^{n_i^\delta}$
--> -->
<IMG <SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" WIDTH="32" HEIGHT="24" ALIGN="BOTTOM" BORDER="0"
SRC="img23.png" SRC="img23.png"
ALT="$\Re^{n_i^\delta}$"> to <IMG ALT="$\Re^{n_i^\delta}$"></SPAN> to <SPAN CLASS="MATH"><IMG
WIDTH="26" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" WIDTH="26" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img24.png" SRC="img24.png"
ALT="$\Re^n$">. ALT="$\Re^n$"></SPAN>.
The matrix <!-- MATH The matrix <!-- MATH
$A_i^\delta=R_i^\delta A (R_i^\delta)^T \in $A_i^\delta=R_i^\delta A (R_i^\delta)^T \in
\Re^{n_i^\delta \times n_i^\delta}$ \Re^{n_i^\delta \times n_i^\delta}$
--> -->
<IMG <SPAN CLASS="MATH"><IMG
WIDTH="201" HEIGHT="43" ALIGN="MIDDLE" BORDER="0" WIDTH="201" HEIGHT="43" ALIGN="MIDDLE" BORDER="0"
SRC="img25.png" SRC="img25.png"
ALT="$A_i^\delta=R_i^\delta A (R_i^\delta)^T \in ALT="$A_i^\delta=R_i^\delta A (R_i^\delta)^T \in
\Re^{n_i^\delta \times n_i^\delta}$"> can be considered \Re^{n_i^\delta \times n_i^\delta}$"></SPAN> can be considered
as a restriction of <IMG as a restriction of <SPAN CLASS="MATH"><IMG
WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img2.png" SRC="img2.png"
ALT="$A$"> corresponding to the set <IMG ALT="$A$"></SPAN> corresponding to the set <SPAN CLASS="MATH"><IMG
WIDTH="31" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" WIDTH="31" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img26.png" SRC="img26.png"
ALT="$W_i^{\delta}$">. ALT="$W_i^{\delta}$"></SPAN>.
<P> <P>
The <I>classical one-level AS</I> preconditioner is defined by The <SPAN CLASS="textit">classical one-level AS</SPAN> preconditioner is defined by
<BR><P></P> <BR><P></P>
<DIV ALIGN="CENTER"> <DIV ALIGN="CENTER" CLASS="mathdisplay">
<!-- MATH <!-- MATH
\begin{displaymath} \begin{displaymath}
M_{AS}^{-1}= \sum_{i=1}^m (R_i^{\delta})^T M_{AS}^{-1}= \sum_{i=1}^m (R_i^{\delta})^T
@ -238,105 +239,105 @@ M_{AS}^{-1}= \sum_{i=1}^m (R_i^{\delta})^T
</DIV> </DIV>
<BR CLEAR="ALL"> <BR CLEAR="ALL">
<P></P> <P></P>
where <IMG where <SPAN CLASS="MATH"><IMG
WIDTH="25" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" WIDTH="25" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img28.png" SRC="img28.png"
ALT="$A_i^\delta$"> is assumed to be nonsingular. Its application ALT="$A_i^\delta$"></SPAN> is assumed to be nonsingular. Its application
to a vector <IMG to a vector <SPAN CLASS="MATH"><IMG
WIDTH="56" HEIGHT="34" ALIGN="MIDDLE" BORDER="0" WIDTH="56" HEIGHT="34" ALIGN="MIDDLE" BORDER="0"
SRC="img19.png" SRC="img19.png"
ALT="$v \in \Re^n$"> within a Krylov solver requires the following ALT="$v \in \Re^n$"></SPAN> within a Krylov solver requires the following
three steps: three steps:
<OL> <OL>
<LI>restriction of <IMG <LI>restriction of <SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0" WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img21.png" SRC="img21.png"
ALT="$v$"> as <!-- MATH ALT="$v$"></SPAN> as <!-- MATH
$v_i = R_i^{\delta} v$ $v_i = R_i^{\delta} v$
--> -->
<IMG <SPAN CLASS="MATH"><IMG
WIDTH="71" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" WIDTH="71" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img29.png" SRC="img29.png"
ALT="$v_i = R_i^{\delta} v$">, <IMG ALT="$v_i = R_i^{\delta} v$"></SPAN>, <SPAN CLASS="MATH"><IMG
WIDTH="97" HEIGHT="33" ALIGN="MIDDLE" BORDER="0" WIDTH="97" HEIGHT="33" ALIGN="MIDDLE" BORDER="0"
SRC="img30.png" SRC="img30.png"
ALT="$i=1,\ldots,m$">; ALT="$i=1,\ldots,m$"></SPAN>;
</LI> </LI>
<LI>solution of the linear systems <!-- MATH <LI>solution of the linear systems <!-- MATH
$A_i^\delta w_i = v_i$ $A_i^\delta w_i = v_i$
--> -->
<IMG <SPAN CLASS="MATH"><IMG
WIDTH="80" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" WIDTH="80" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img31.png" SRC="img31.png"
ALT="$A_i^\delta w_i = v_i$">, ALT="$A_i^\delta w_i = v_i$"></SPAN>,
<IMG <SPAN CLASS="MATH"><IMG
WIDTH="97" HEIGHT="33" ALIGN="MIDDLE" BORDER="0" WIDTH="97" HEIGHT="33" ALIGN="MIDDLE" BORDER="0"
SRC="img30.png" SRC="img30.png"
ALT="$i=1,\ldots,m$">; ALT="$i=1,\ldots,m$"></SPAN>;
</LI> </LI>
<LI>prolongation and sum of the <IMG <LI>prolongation and sum of the <SPAN CLASS="MATH"><IMG
WIDTH="23" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="23" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img32.png" SRC="img32.png"
ALT="$w_i$">'s, i.e. <!-- MATH ALT="$w_i$"></SPAN>'s, i.e. <!-- MATH
$w = \sum_{i=1}^m (R_i^{\delta})^T w_i$ $w = \sum_{i=1}^m (R_i^{\delta})^T w_i$
--> -->
<IMG <SPAN CLASS="MATH"><IMG
WIDTH="144" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" WIDTH="144" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img33.png" SRC="img33.png"
ALT="$w = \sum_{i=1}^m (R_i^{\delta})^T w_i$">. ALT="$w = \sum_{i=1}^m (R_i^{\delta})^T w_i$"></SPAN>.
</LI> </LI>
</OL> </OL>
Note that the linear systems at step 2 are usually solved approximately, Note that the linear systems at step 2 are usually solved approximately,
e.g. using incomplete LU factorizations such as ILU(<IMG e.g. using incomplete LU factorizations such as ILU(<SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img34.png" SRC="img34.png"
ALT="$p$">), MILU(<IMG ALT="$p$"></SPAN>), MILU(<SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img34.png" SRC="img34.png"
ALT="$p$">) and ALT="$p$"></SPAN>) and
ILU(<IMG ILU(<SPAN CLASS="MATH"><IMG
WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img35.png" SRC="img35.png"
ALT="$p,t$">) [<A ALT="$p,t$"></SPAN>) [<A
HREF="node30.html#Saad_book">14</A>, Chapter 10]. HREF="node30.html#Saad_book">19</A>, Chapter 10].
<P> <P>
A variant of the classical AS preconditioner that outperforms it A variant of the classical AS preconditioner that outperforms it
in terms of convergence rate and of computation and communication in terms of convergence rate and of computation and communication
time on parallel distributed-memory computers is the so-called <I>Restricted AS time on parallel distributed-memory computers is the so-called <SPAN CLASS="textit">Restricted AS
(RAS)</I> preconditioner&nbsp;[<A (RAS)</SPAN> preconditioner&nbsp;[<A
HREF="node30.html#CAI_SARKIS">5</A>,<A HREF="node30.html#CAI_SARKIS">5</A>,<A
HREF="node30.html#EFSTATHIOU">10</A>]. It HREF="node30.html#EFSTATHIOU">13</A>]. It
is obtained by zeroing the components of <IMG is obtained by zeroing the components of <SPAN CLASS="MATH"><IMG
WIDTH="23" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="23" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img32.png" SRC="img32.png"
ALT="$w_i$"> corresponding to the ALT="$w_i$"></SPAN> corresponding to the
overlapping vertices when applying the prolongation. Therefore, overlapping vertices when applying the prolongation. Therefore,
RAS differs from classical AS by the prolongation operators, RAS differs from classical AS by the prolongation operators,
which are substituted by <!-- MATH which are substituted by <!-- MATH
$(\tilde{R}_i^0)^T \in \Re^{n_i^\delta \times n}$ $(\tilde{R}_i^0)^T \in \Re^{n_i^\delta \times n}$
--> -->
<IMG <SPAN CLASS="MATH"><IMG
WIDTH="118" HEIGHT="43" ALIGN="MIDDLE" BORDER="0" WIDTH="118" HEIGHT="43" ALIGN="MIDDLE" BORDER="0"
SRC="img36.png" SRC="img36.png"
ALT="$(\tilde{R}_i^0)^T \in \Re^{n_i^\delta \times n}$">, ALT="$(\tilde{R}_i^0)^T \in \Re^{n_i^\delta \times n}$"></SPAN>,
where <IMG where <SPAN CLASS="MATH"><IMG
WIDTH="25" HEIGHT="42" ALIGN="MIDDLE" BORDER="0" WIDTH="25" HEIGHT="42" ALIGN="MIDDLE" BORDER="0"
SRC="img37.png" SRC="img37.png"
ALT="$\tilde{R}_i^0$"> is obtained by zeroing the rows of <IMG ALT="$\tilde{R}_i^0$"></SPAN> is obtained by zeroing the rows of <SPAN CLASS="MATH"><IMG
WIDTH="25" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" WIDTH="25" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img38.png" SRC="img38.png"
ALT="$R_i^\delta$"> ALT="$R_i^\delta$"></SPAN>
corresponding to the vertices in <!-- MATH corresponding to the vertices in <!-- MATH
$W_i^\delta \backslash W_i^0$ $W_i^\delta \backslash W_i^0$
--> -->
<IMG <SPAN CLASS="MATH"><IMG
WIDTH="66" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" WIDTH="66" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img39.png" SRC="img39.png"
ALT="$W_i^\delta \backslash W_i^0$">: ALT="$W_i^\delta \backslash W_i^0$"></SPAN>:
<BR><P></P> <BR><P></P>
<DIV ALIGN="CENTER"> <DIV ALIGN="CENTER" CLASS="mathdisplay">
<!-- MATH <!-- MATH
\begin{displaymath} \begin{displaymath}
M_{RAS}^{-1}= \sum_{i=1}^m (\tilde{R}_i^0)^T M_{RAS}^{-1}= \sum_{i=1}^m (\tilde{R}_i^0)^T
@ -354,10 +355,10 @@ M_{RAS}^{-1}= \sum_{i=1}^m (\tilde{R}_i^0)^T
</DIV> </DIV>
<BR CLEAR="ALL"> <BR CLEAR="ALL">
<P></P> <P></P>
Analogously, the AS variant called <I>AS with Harmonic extension (ASH)</I> Analogously, the AS variant called <SPAN CLASS="textit">AS with Harmonic extension (ASH)</SPAN>
is defined by is defined by
<BR><P></P> <BR><P></P>
<DIV ALIGN="CENTER"> <DIV ALIGN="CENTER" CLASS="mathdisplay">
<!-- MATH <!-- MATH
\begin{displaymath} \begin{displaymath}
M_{ASH}^{-1}= \sum_{i=1}^m (R_i^{\delta})^T M_{ASH}^{-1}= \sum_{i=1}^m (R_i^{\delta})^T
@ -374,57 +375,57 @@ M_{ASH}^{-1}= \sum_{i=1}^m (R_i^{\delta})^T
</DIV> </DIV>
<BR CLEAR="ALL"> <BR CLEAR="ALL">
<P></P> <P></P>
We note that for <IMG We note that for <SPAN CLASS="MATH"><IMG
WIDTH="45" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" WIDTH="45" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img42.png" SRC="img42.png"
ALT="$\delta=0$"> the three variants of the AS preconditioner are ALT="$\delta=0$"></SPAN> the three variants of the AS preconditioner are
all equal to the block-Jacobi preconditioner. all equal to the block-Jacobi preconditioner.
<P> <P>
As already observed, the convergence rate of the one-level Schwarz As already observed, the convergence rate of the one-level Schwarz
preconditioned iterative solvers deteriorates as the number <IMG preconditioned iterative solvers deteriorates as the number <SPAN CLASS="MATH"><IMG
WIDTH="20" HEIGHT="14" ALIGN="BOTTOM" BORDER="0" WIDTH="20" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img11.png" SRC="img11.png"
ALT="$m$"> of partitions ALT="$m$"></SPAN> of partitions
of <IMG of <SPAN CLASS="MATH"><IMG
WIDTH="24" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" WIDTH="24" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img10.png" SRC="img10.png"
ALT="$W$"> increases [<A ALT="$W$"></SPAN> increases [<A
HREF="node30.html#dd1_94">7</A>,<A HREF="node30.html#dd1_94">7</A>,<A
HREF="node30.html#dd2_96">15</A>]. To reduce the dependency HREF="node30.html#dd2_96">20</A>]. To reduce the dependency
of the number of iterations on the degree of parallelism we may of the number of iterations on the degree of parallelism we may
introduce a global coupling among the overlapping partitions by defining introduce a global coupling among the overlapping partitions by defining
a coarse-space approximation <IMG a coarse-space approximation <SPAN CLASS="MATH"><IMG
WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img43.png" SRC="img43.png"
ALT="$A_C$"> of the matrix <IMG ALT="$A_C$"></SPAN> of the matrix <SPAN CLASS="MATH"><IMG
WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img2.png" SRC="img2.png"
ALT="$A$">. ALT="$A$"></SPAN>.
In a pure algebraic setting, <IMG In a pure algebraic setting, <SPAN CLASS="MATH"><IMG
WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img43.png" SRC="img43.png"
ALT="$A_C$"> is usually built with ALT="$A_C$"></SPAN> is usually built with
a Galerkin approach. Given a set <IMG a Galerkin approach. Given a set <SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="32" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img44.png" SRC="img44.png"
ALT="$W_C$"> of <I>coarse vertices</I>, ALT="$W_C$"></SPAN> of <SPAN CLASS="textit">coarse vertices</SPAN>,
with size <IMG with size <SPAN CLASS="MATH"><IMG
WIDTH="26" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="26" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img45.png" SRC="img45.png"
ALT="$n_C$">, and a suitable restriction operator ALT="$n_C$"></SPAN>, and a suitable restriction operator
<!-- MATH <!-- MATH
$R_C \in \Re^{n_C \times n}$ $R_C \in \Re^{n_C \times n}$
--> -->
<IMG <SPAN CLASS="MATH"><IMG
WIDTH="101" HEIGHT="38" ALIGN="MIDDLE" BORDER="0" WIDTH="101" HEIGHT="38" ALIGN="MIDDLE" BORDER="0"
SRC="img46.png" SRC="img46.png"
ALT="$R_C \in \Re^{n_C \times n}$">, <IMG ALT="$R_C \in \Re^{n_C \times n}$"></SPAN>, <SPAN CLASS="MATH"><IMG
WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img43.png" SRC="img43.png"
ALT="$A_C$"> is defined as ALT="$A_C$"></SPAN> is defined as
<BR><P></P> <BR><P></P>
<DIV ALIGN="CENTER"> <DIV ALIGN="CENTER" CLASS="mathdisplay">
<!-- MATH <!-- MATH
\begin{displaymath} \begin{displaymath}
A_C=R_C A R_C^T A_C=R_C A R_C^T
@ -441,12 +442,12 @@ A_C=R_C A R_C^T
<BR CLEAR="ALL"> <BR CLEAR="ALL">
<P></P> <P></P>
and the coarse-level correction matrix to be combined with a generic and the coarse-level correction matrix to be combined with a generic
one-level AS preconditioner <IMG one-level AS preconditioner <SPAN CLASS="MATH"><IMG
WIDTH="38" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="38" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img48.png" SRC="img48.png"
ALT="$M_{1L}$"> is obtained as ALT="$M_{1L}$"></SPAN> is obtained as
<BR><P></P> <BR><P></P>
<DIV ALIGN="CENTER"> <DIV ALIGN="CENTER" CLASS="mathdisplay">
<!-- MATH <!-- MATH
\begin{displaymath} \begin{displaymath}
M_{C}^{-1}= R_C^T A_C^{-1} R_C, M_{C}^{-1}= R_C^T A_C^{-1} R_C,
@ -462,36 +463,36 @@ M_{C}^{-1}= R_C^T A_C^{-1} R_C,
</DIV> </DIV>
<BR CLEAR="ALL"> <BR CLEAR="ALL">
<P></P> <P></P>
where <IMG where <SPAN CLASS="MATH"><IMG
WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img43.png" SRC="img43.png"
ALT="$A_C$"> is assumed to be nonsingular. The application of <IMG ALT="$A_C$"></SPAN> is assumed to be nonsingular. The application of <SPAN CLASS="MATH"><IMG
WIDTH="42" HEIGHT="41" ALIGN="MIDDLE" BORDER="0" WIDTH="42" HEIGHT="41" ALIGN="MIDDLE" BORDER="0"
SRC="img50.png" SRC="img50.png"
ALT="$M_{C}^{-1}$"> ALT="$M_{C}^{-1}$"></SPAN>
to a vector <IMG to a vector <SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0" WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img21.png" SRC="img21.png"
ALT="$v$"> corresponds to a restriction, a solution and ALT="$v$"></SPAN> corresponds to a restriction, a solution and
a prolongation step; the solution step, involving the matrix <IMG a prolongation step; the solution step, involving the matrix <SPAN CLASS="MATH"><IMG
WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img43.png" SRC="img43.png"
ALT="$A_C$">, ALT="$A_C$"></SPAN>,
may be carried out also approximately. may be carried out also approximately.
<P> <P>
The combination of <IMG The combination of <SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="32" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img51.png" SRC="img51.png"
ALT="$M_{C}$"> and <IMG ALT="$M_{C}$"></SPAN> and <SPAN CLASS="MATH"><IMG
WIDTH="38" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="38" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img48.png" SRC="img48.png"
ALT="$M_{1L}$"> may be ALT="$M_{1L}$"></SPAN> may be
performed in either an additive or a multiplicative framework. performed in either an additive or a multiplicative framework.
In the former case, the <I>two-level additive</I> Schwarz preconditioner In the former case, the <SPAN CLASS="textit">two-level additive</SPAN> Schwarz preconditioner
is obtained: is obtained:
<BR><P></P> <BR><P></P>
<DIV ALIGN="CENTER"> <DIV ALIGN="CENTER" CLASS="mathdisplay">
<!-- MATH <!-- MATH
\begin{displaymath} \begin{displaymath}
M_{2LA}^{-1} = M_{C}^{-1} + M_{1L}^{-1}. M_{2LA}^{-1} = M_{C}^{-1} + M_{1L}^{-1}.
@ -507,38 +508,38 @@ M_{2LA}^{-1} = M_{C}^{-1} + M_{1L}^{-1}.
</DIV> </DIV>
<BR CLEAR="ALL"> <BR CLEAR="ALL">
<P></P> <P></P>
Applying <IMG Applying <SPAN CLASS="MATH"><IMG
WIDTH="59" HEIGHT="41" ALIGN="MIDDLE" BORDER="0" WIDTH="59" HEIGHT="41" ALIGN="MIDDLE" BORDER="0"
SRC="img53.png" SRC="img53.png"
ALT="$M_{2L-A}^{-1}$"> to a vector <IMG ALT="$M_{2L-A}^{-1}$"></SPAN> to a vector <SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0" WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img21.png" SRC="img21.png"
ALT="$v$"> within a Krylov solver ALT="$v$"></SPAN> within a Krylov solver
corresponds to applying <IMG corresponds to applying <SPAN CLASS="MATH"><IMG
WIDTH="42" HEIGHT="41" ALIGN="MIDDLE" BORDER="0" WIDTH="42" HEIGHT="41" ALIGN="MIDDLE" BORDER="0"
SRC="img50.png" SRC="img50.png"
ALT="$M_{C}^{-1}$"> ALT="$M_{C}^{-1}$"></SPAN>
and <IMG and <SPAN CLASS="MATH"><IMG
WIDTH="42" HEIGHT="41" ALIGN="MIDDLE" BORDER="0" WIDTH="42" HEIGHT="41" ALIGN="MIDDLE" BORDER="0"
SRC="img54.png" SRC="img54.png"
ALT="$M_{1L}^{-1}$"> to <IMG ALT="$M_{1L}^{-1}$"></SPAN> to <SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0" WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img21.png" SRC="img21.png"
ALT="$v$"> independently and then summing up ALT="$v$"></SPAN> independently and then summing up
the results. the results.
<P> <P>
In the multiplicative case, the combination can be In the multiplicative case, the combination can be
performed by first applying the smoother <IMG performed by first applying the smoother <SPAN CLASS="MATH"><IMG
WIDTH="42" HEIGHT="41" ALIGN="MIDDLE" BORDER="0" WIDTH="42" HEIGHT="41" ALIGN="MIDDLE" BORDER="0"
SRC="img54.png" SRC="img54.png"
ALT="$M_{1L}^{-1}$"> and then ALT="$M_{1L}^{-1}$"></SPAN> and then
the coarse-level correction operator <IMG the coarse-level correction operator <SPAN CLASS="MATH"><IMG
WIDTH="42" HEIGHT="41" ALIGN="MIDDLE" BORDER="0" WIDTH="42" HEIGHT="41" ALIGN="MIDDLE" BORDER="0"
SRC="img50.png" SRC="img50.png"
ALT="$M_{C}^{-1}$">: ALT="$M_{C}^{-1}$"></SPAN>:
<BR><P></P> <BR><P></P>
<DIV ALIGN="CENTER"> <DIV ALIGN="CENTER" CLASS="mathdisplay">
<!-- MATH <!-- MATH
\begin{displaymath} \begin{displaymath}
\begin{array}{l} \begin{array}{l}
@ -559,10 +560,10 @@ z = w + M_{C}^{-1} (v-Aw);
</DIV> </DIV>
<BR CLEAR="ALL"> <BR CLEAR="ALL">
<P></P> <P></P>
this corresponds to the following <I>two-level hybrid pre-smoothed</I> this corresponds to the following <SPAN CLASS="textit">two-level hybrid pre-smoothed</SPAN>
Schwarz preconditioner: Schwarz preconditioner:
<BR><P></P> <BR><P></P>
<DIV ALIGN="CENTER"> <DIV ALIGN="CENTER" CLASS="mathdisplay">
<!-- MATH <!-- MATH
\begin{displaymath} \begin{displaymath}
M_{2LH-PRE}^{-1} = M_{C}^{-1} + \left( I - M_{C}^{-1}A \right) M_{1L}^{-1}. M_{2LH-PRE}^{-1} = M_{C}^{-1} + \left( I - M_{C}^{-1}A \right) M_{1L}^{-1}.
@ -581,7 +582,7 @@ M_{2LH-PRE}^{-1} = M_{C}^{-1} + \left( I - M_{C}^{-1}A \right) M_{1L}^{-1}.
On the other hand, by applying the smoother after the coarse-level correction, On the other hand, by applying the smoother after the coarse-level correction,
i.e. by computing i.e. by computing
<BR><P></P> <BR><P></P>
<DIV ALIGN="CENTER"> <DIV ALIGN="CENTER" CLASS="mathdisplay">
<!-- MATH <!-- MATH
\begin{displaymath} \begin{displaymath}
\begin{array}{l} \begin{array}{l}
@ -602,10 +603,10 @@ z = w + M_{1L}^{-1} (v-Aw) ,
</DIV> </DIV>
<BR CLEAR="ALL"> <BR CLEAR="ALL">
<P></P> <P></P>
the <I>two-level hybrid post-smoothed</I> the <SPAN CLASS="textit">two-level hybrid post-smoothed</SPAN>
Schwarz preconditioner is obtained: Schwarz preconditioner is obtained:
<BR><P></P> <BR><P></P>
<DIV ALIGN="CENTER"> <DIV ALIGN="CENTER" CLASS="mathdisplay">
<!-- MATH <!-- MATH
\begin{displaymath} \begin{displaymath}
M_{2LH-POST}^{-1} = M_{1L}^{-1} + \left( I - M_{1L}^{-1}A \right) M_{C}^{-1}. M_{2LH-POST}^{-1} = M_{1L}^{-1} + \left( I - M_{1L}^{-1}A \right) M_{C}^{-1}.
@ -623,16 +624,16 @@ M_{2LH-POST}^{-1} = M_{1L}^{-1} + \left( I - M_{1L}^{-1}A \right) M_{C}^{-1}.
<P></P> <P></P>
One more variant of two-level hybrid preconditioner is obtained by applying One more variant of two-level hybrid preconditioner is obtained by applying
the smoother before and after the coarse-level correction. In this case, the the smoother before and after the coarse-level correction. In this case, the
preconditioner is symmetric if <IMG preconditioner is symmetric if <SPAN CLASS="MATH"><IMG
WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img2.png" SRC="img2.png"
ALT="$A$">, <IMG ALT="$A$"></SPAN>, <SPAN CLASS="MATH"><IMG
WIDTH="38" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="38" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img48.png" SRC="img48.png"
ALT="$M_{1L}$"> and <IMG ALT="$M_{1L}$"></SPAN> and <SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="32" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img51.png" SRC="img51.png"
ALT="$M_{C}$"> are symmetric. ALT="$M_{C}$"></SPAN> are symmetric.
<P> <P>
As previously noted, on parallel computers the number of submatrices usually matches As previously noted, on parallel computers the number of submatrices usually matches
@ -643,52 +644,51 @@ On the other hand, the use of few processors often leads to local sumatrices tha
are too expensive to be processed on single processors, because of memory and/or are too expensive to be processed on single processors, because of memory and/or
computing requirements. Therefore, it seems natural to use a recursive approach, computing requirements. Therefore, it seems natural to use a recursive approach,
in which the coarse-level correction is re-applied starting from the current in which the coarse-level correction is re-applied starting from the current
coarse-level system. The corresponding preconditioners, called <I>multi-level</I> coarse-level system. The corresponding preconditioners, called <SPAN CLASS="textit">multi-level</SPAN>
preconditioners, can significantly reduce the computational cost of preconditioning preconditioners, can significantly reduce the computational cost of preconditioning
with respect to the two-level case (see [<A with respect to the two-level case (see [<A
HREF="node30.html#dd2_96">15</A>, Chapter 3]). HREF="node30.html#dd2_96">20</A>, Chapter 3]).
Additive and hybrid multilevel preconditioners Additive and hybrid multilevel preconditioners
are obtained as direct extensions of the two-level counterparts. are obtained as direct extensions of the two-level counterparts.
For a detailed descrition of them, the reader is For a detailed descrition of them, the reader is
referred to [<A referred to [<A
HREF="node30.html#dd2_96">15</A>, Chapter 3]. HREF="node30.html#dd2_96">20</A>, Chapter 3].
The algorithm for the application of a multi-level hybrid The algorithm for the application of a multi-level hybrid
post-smoothed preconditioner <IMG post-smoothed preconditioner <SPAN CLASS="MATH"><IMG
WIDTH="23" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" WIDTH="23" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img59.png" SRC="img59.png"
ALT="$M$"> to a vector <IMG ALT="$M$"></SPAN> to a vector <SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0" WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img21.png" SRC="img21.png"
ALT="$v$">, i.e. for the ALT="$v$"></SPAN>, i.e. for the
computation of <IMG computation of <SPAN CLASS="MATH"><IMG
WIDTH="87" HEIGHT="21" ALIGN="BOTTOM" BORDER="0" WIDTH="87" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
SRC="img60.png" SRC="img60.png"
ALT="$w=M^{-1}v$">, is reported, for ALT="$w=M^{-1}v$"></SPAN>, is reported, for
example, in Figure&nbsp;<A HREF="#fig:mlhpost_alg"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]" example, in Figure&nbsp;<A HREF="#fig:mlhpost_alg">1</A>. Here the number of levels
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>. Here the number of levels is denoted by <SPAN CLASS="MATH"><IMG
is denoted by <IMG
WIDTH="37" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" WIDTH="37" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img61.png" SRC="img61.png"
ALT="$nlev$"> and the levels are numbered in increasing order starting ALT="$nlev$"></SPAN> and the levels are numbered in increasing order starting
from the finest one, i.e. the finest level is level 1; the coarse matrix from the finest one, i.e. the finest level is level 1; the coarse matrix
and the corresponding basic preconditioner at each level <IMG and the corresponding basic preconditioner at each level <SPAN CLASS="MATH"><IMG
WIDTH="10" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" WIDTH="10" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img62.png" SRC="img62.png"
ALT="$l$"> are denoted by <IMG ALT="$l$"></SPAN> are denoted by <SPAN CLASS="MATH"><IMG
WIDTH="22" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="22" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img63.png" SRC="img63.png"
ALT="$A_l$"> and ALT="$A_l$"></SPAN> and
<IMG <SPAN CLASS="MATH"><IMG
WIDTH="27" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="27" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img64.png" SRC="img64.png"
ALT="$M_l$">, respectively, with <IMG ALT="$M_l$"></SPAN>, respectively, with <SPAN CLASS="MATH"><IMG
WIDTH="61" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="61" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img65.png" SRC="img65.png"
ALT="$A_1=A$">. ALT="$A_1=A$"></SPAN>.
<DIV ALIGN="CENTER"><A NAME="fig:mlhpost_alg"></A><A NAME="557"></A> <DIV ALIGN="CENTER"><A NAME="fig:mlhpost_alg"></A><A NAME="508"></A>
<TABLE> <TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure:</STRONG> <CAPTION ALIGN="BOTTOM"><STRONG>Figure 1:</STRONG>
Application of the multi-level hybrid post-smoothed preconditioner.</CAPTION> Application of the multi-level hybrid post-smoothed preconditioner.</CAPTION>
<TR><TD> <TR><TD>
<DIV ALIGN="CENTER"> <DIV ALIGN="CENTER">
@ -728,7 +728,7 @@ $w = y_1$;
\begin{tabbing} \begin{tabbing}
\quad \=\quad... \quad \=\quad...
...= y_l+r_l$\\ ...= y_l+r_l$\\
\textbf{endfor} \ [1mm] \textbf{endfor} [1mm]
$w = y_1$; $w = y_1$;
\end{tabbing}} \end{tabbing}}
\end{minipage}}"> \end{minipage}}">
@ -738,37 +738,38 @@ $w = y_1$;
</DIV> </DIV>
<P> <P>
<HR>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html201" <A NAME="tex2html200"
HREF="node12.html"> HREF="node12.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html197" <A NAME="tex2html196"
HREF="node10.html"> HREF="node10.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html191" <A NAME="tex2html190"
HREF="node10.html"> HREF="node10.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html199" <A NAME="tex2html198"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html202" <B> Next:</B> <A NAME="tex2html201"
HREF="node12.html">Smoothed Aggregation</A> HREF="node12.html">Smoothed Aggregation</A>
<B> Up:</B> <A NAME="tex2html198" <B> Up:</B> <A NAME="tex2html197"
HREF="node10.html">Multi-level Domain Decomposition Background</A> HREF="node10.html">Multi-level Domain Decomposition Background</A>
<B> Previous:</B> <A NAME="tex2html192" <B> Previous:</B> <A NAME="tex2html191"
HREF="node10.html">Multi-level Domain Decomposition Background</A> HREF="node10.html">Multi-level Domain Decomposition Background</A>
&nbsp; <B> <A NAME="tex2html200" &nbsp; <B> <A NAME="tex2html199"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -24,34 +24,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<A NAME="tex2html211" <DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html210"
HREF="node13.html"> HREF="node13.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html207" <A NAME="tex2html206"
HREF="node10.html"> HREF="node10.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html203" <A NAME="tex2html202"
HREF="node11.html"> HREF="node11.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html209" <A NAME="tex2html208"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html212" <B> Next:</B> <A NAME="tex2html211"
HREF="node13.html">Getting Started</A> HREF="node13.html">Getting Started</A>
<B> Up:</B> <A NAME="tex2html208" <B> Up:</B> <A NAME="tex2html207"
HREF="node10.html">Multi-level Domain Decomposition Background</A> HREF="node10.html">Multi-level Domain Decomposition Background</A>
<B> Previous:</B> <A NAME="tex2html204" <B> Previous:</B> <A NAME="tex2html203"
HREF="node11.html">Multi-level Schwarz Preconditioners</A> HREF="node11.html">Multi-level Schwarz Preconditioners</A>
&nbsp; <B> <A NAME="tex2html210" &nbsp; <B> <A NAME="tex2html209"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR>
<BR> <BR>
<BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H2><A NAME="SECTION00062000000000000000"></A><A NAME="sec:aggregation"></A> <H2><A NAME="SECTION00062000000000000000"></A><A NAME="sec:aggregation"></A>
@ -60,29 +61,29 @@ Smoothed Aggregation
</H2> </H2>
<P> <P>
In order to define the restriction operator <IMG In order to define the restriction operator <SPAN CLASS="MATH"><IMG
WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img67.png" SRC="img67.png"
ALT="$R_C$">, which is used to compute ALT="$R_C$"></SPAN>, which is used to compute
the coarse-level matrix <IMG the coarse-level matrix <SPAN CLASS="MATH"><IMG
WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img43.png" SRC="img43.png"
ALT="$A_C$">, MLD2P4 uses the <I>smoothed aggregation</I> ALT="$A_C$"></SPAN>, MLD2P4 uses the <SPAN CLASS="textit">smoothed aggregation</SPAN>
algorithm described in [<A algorithm described in [<A
HREF="node30.html#BREZINA_VANEK">1</A>,<A HREF="node30.html#BREZINA_VANEK">1</A>,<A
HREF="node30.html#VANEK_MANDEL_BREZINA">19</A>]. HREF="node30.html#VANEK_MANDEL_BREZINA">24</A>].
The basic idea of this algorithm is to build a coarse set of vertices The basic idea of this algorithm is to build a coarse set of vertices
<IMG <SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="32" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img44.png" SRC="img44.png"
ALT="$W_C$"> by suitably grouping the vertices of <IMG ALT="$W_C$"></SPAN> by suitably grouping the vertices of <SPAN CLASS="MATH"><IMG
WIDTH="24" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" WIDTH="24" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img10.png" SRC="img10.png"
ALT="$W$"> into disjoint subsets ALT="$W$"></SPAN> into disjoint subsets
(aggregates), and to define the coarse-to-fine space transfer operator <IMG (aggregates), and to define the coarse-to-fine space transfer operator <SPAN CLASS="MATH"><IMG
WIDTH="29" HEIGHT="40" ALIGN="MIDDLE" BORDER="0" WIDTH="29" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
SRC="img68.png" SRC="img68.png"
ALT="$R_C^T$"> by ALT="$R_C^T$"></SPAN> by
applying a suitable smoother to a simple piecewise constant applying a suitable smoother to a simple piecewise constant
prolongation operator, to improve the quality of the coarse-space correction. prolongation operator, to improve the quality of the coarse-space correction.
@ -90,29 +91,29 @@ prolongation operator, to improve the quality of the coarse-space correction.
Three main steps can be identified in the smoothed aggregation procedure: Three main steps can be identified in the smoothed aggregation procedure:
<OL> <OL>
<LI>coarsening of the vertex set <IMG <LI>coarsening of the vertex set <SPAN CLASS="MATH"><IMG
WIDTH="24" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" WIDTH="24" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img10.png" SRC="img10.png"
ALT="$W$">, to obtain <IMG ALT="$W$"></SPAN>, to obtain <SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="32" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img44.png" SRC="img44.png"
ALT="$W_C$">; ALT="$W_C$"></SPAN>;
</LI> </LI>
<LI>construction of the prolongator <IMG <LI>construction of the prolongator <SPAN CLASS="MATH"><IMG
WIDTH="29" HEIGHT="40" ALIGN="MIDDLE" BORDER="0" WIDTH="29" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
SRC="img68.png" SRC="img68.png"
ALT="$R_C^T$">; ALT="$R_C^T$"></SPAN>;
</LI> </LI>
<LI>application of <IMG <LI>application of <SPAN CLASS="MATH"><IMG
WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img67.png" SRC="img67.png"
ALT="$R_C$"> and <IMG ALT="$R_C$"></SPAN> and <SPAN CLASS="MATH"><IMG
WIDTH="29" HEIGHT="40" ALIGN="MIDDLE" BORDER="0" WIDTH="29" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
SRC="img68.png" SRC="img68.png"
ALT="$R_C^T$"> to build <IMG ALT="$R_C^T$"></SPAN> to build <SPAN CLASS="MATH"><IMG
WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img43.png" SRC="img43.png"
ALT="$A_C$">. ALT="$A_C$"></SPAN>.
</LI> </LI>
</OL> </OL>
@ -120,20 +121,20 @@ Three main steps can be identified in the smoothed aggregation procedure:
To perform the coarsening step, we have implemented the aggregation algorithm sketched To perform the coarsening step, we have implemented the aggregation algorithm sketched
in [<A in [<A
HREF="node30.html#apnum_07">4</A>]. According to [<A HREF="node30.html#apnum_07">4</A>]. According to [<A
HREF="node30.html#VANEK_MANDEL_BREZINA">19</A>], a modification of HREF="node30.html#VANEK_MANDEL_BREZINA">24</A>], a modification of
this algorithm has been actually considered, this algorithm has been actually considered,
in which each aggregate <IMG in which each aggregate <SPAN CLASS="MATH"><IMG
WIDTH="26" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="26" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img69.png" SRC="img69.png"
ALT="$N_r$"> is made of vertices of <IMG ALT="$N_r$"></SPAN> is made of vertices of <SPAN CLASS="MATH"><IMG
WIDTH="24" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" WIDTH="24" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img10.png" SRC="img10.png"
ALT="$W$"> that are <I>strongly coupled</I> ALT="$W$"></SPAN> that are <SPAN CLASS="textit">strongly coupled</SPAN>
to a certain root vertex <IMG to a certain root vertex <SPAN CLASS="MATH"><IMG
WIDTH="53" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="53" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img70.png" SRC="img70.png"
ALT="$r \in W$">, i.e. <BR><P></P> ALT="$r \in W$"></SPAN>, i.e. <BR><P></P>
<DIV ALIGN="CENTER"> <DIV ALIGN="CENTER" CLASS="mathdisplay">
<!-- MATH <!-- MATH
\begin{displaymath} \begin{displaymath}
N_r = \left\{s \in W: |a_{rs}| > \theta \sqrt{|a_{rr}a_{ss}|} \right\} N_r = \left\{s \in W: |a_{rs}| > \theta \sqrt{|a_{rr}a_{ss}|} \right\}
@ -153,47 +154,47 @@ N_r = \left\{s \in W: |a_{rs}| > \theta \sqrt{|a_{rr}a_{ss}|} \right\}
for a given <!-- MATH for a given <!-- MATH
$\theta \in [0,1]$ $\theta \in [0,1]$
--> -->
<IMG <SPAN CLASS="MATH"><IMG
WIDTH="69" HEIGHT="36" ALIGN="MIDDLE" BORDER="0" WIDTH="69" HEIGHT="36" ALIGN="MIDDLE" BORDER="0"
SRC="img72.png" SRC="img72.png"
ALT="$\theta \in [0,1]$">. ALT="$\theta \in [0,1]$"></SPAN>.
Since this algorithm has a sequential nature, a <I>decoupled</I> version of Since this algorithm has a sequential nature, a <SPAN CLASS="textit">decoupled</SPAN> version of
it has been chosen, where each processor <IMG it has been chosen, where each processor <SPAN CLASS="MATH"><IMG
WIDTH="10" HEIGHT="18" ALIGN="BOTTOM" BORDER="0" WIDTH="10" HEIGHT="18" ALIGN="BOTTOM" BORDER="0"
SRC="img73.png" SRC="img73.png"
ALT="$i$"> independently applies the algorithm to ALT="$i$"></SPAN> independently applies the algorithm to
the set of vertices <IMG the set of vertices <SPAN CLASS="MATH"><IMG
WIDTH="31" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" WIDTH="31" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img74.png" SRC="img74.png"
ALT="$W_i^0$"> assigned to it in the initial data distribution. This ALT="$W_i^0$"></SPAN> assigned to it in the initial data distribution. This
version is embarrassingly parallel, since it does not require any data communication. version is embarrassingly parallel, since it does not require any data communication.
On the other hand, it may produce non-uniform aggregates near boundary vertices, On the other hand, it may produce non-uniform aggregates near boundary vertices,
i.e. near vertices adjacent to vertices in other processors, and is strongly i.e. near vertices adjacent to vertices in other processors, and is strongly
dependent on the number of processors and on the initial partitioning of the matrix <IMG dependent on the number of processors and on the initial partitioning of the matrix <SPAN CLASS="MATH"><IMG
WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img2.png" SRC="img2.png"
ALT="$A$">. ALT="$A$"></SPAN>.
Nevertheless, this algorithm has been chosen for the implementation in MLD2P4, Nevertheless, this algorithm has been chosen for the implementation in MLD2P4,
since it has been shown to produce good results in practice since it has been shown to produce good results in practice
[<A [<A
HREF="node30.html#aaecc_07">3</A>,<A HREF="node30.html#aaecc_07">3</A>,<A
HREF="node30.html#apnum_07">4</A>,<A HREF="node30.html#apnum_07">4</A>,<A
HREF="node30.html#TUMINARO_TONG">18</A>]. HREF="node30.html#TUMINARO_TONG">23</A>].
<P> <P>
The prolongator <IMG The prolongator <SPAN CLASS="MATH"><IMG
WIDTH="75" HEIGHT="40" ALIGN="MIDDLE" BORDER="0" WIDTH="75" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
SRC="img75.png" SRC="img75.png"
ALT="$P_C=R_C^T$"> is built starting from a <I>tentative prolongator</I> ALT="$P_C=R_C^T$"></SPAN> is built starting from a <SPAN CLASS="textit">tentative prolongator</SPAN>
<!-- MATH <!-- MATH
$P \in \Re^{n \times n_C}$ $P \in \Re^{n \times n_C}$
--> -->
<IMG <SPAN CLASS="MATH"><IMG
WIDTH="90" HEIGHT="38" ALIGN="MIDDLE" BORDER="0" WIDTH="90" HEIGHT="38" ALIGN="MIDDLE" BORDER="0"
SRC="img76.png" SRC="img76.png"
ALT="$P \in \Re^{n \times n_C}$">, defined as ALT="$P \in \Re^{n \times n_C}$"></SPAN>, defined as
<BR> <BR>
<DIV ALIGN="RIGHT"> <DIV ALIGN="RIGHT" CLASS="mathdisplay">
<!-- MATH <!-- MATH
\begin{equation} \begin{equation}
@ -204,6 +205,7 @@ P=(p_{ij}), \quad p_{ij}=
\end{array} \right. . \end{array} \right. .
\end{equation} \end{equation}
--> -->
<A NAME="eq:tent_prol"></A>
<TABLE WIDTH="100%" ALIGN="CENTER"> <TABLE WIDTH="100%" ALIGN="CENTER">
<TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="eq:tent_prol"></A><IMG <TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="eq:tent_prol"></A><IMG
WIDTH="290" HEIGHT="52" BORDER="0" WIDTH="290" HEIGHT="52" BORDER="0"
@ -216,32 +218,33 @@ P=(p_{ij}), \quad p_{ij}=
0 &amp; \quad \mbox{otherwise} 0 &amp; \quad \mbox{otherwise}
\end{array} \right. . \end{array} \right. .
\end{displaymath}"></TD> \end{displaymath}"></TD>
<TD WIDTH=10 ALIGN="RIGHT"> <TD CLASS="eqno" WIDTH=10 ALIGN="RIGHT">
(2)</TD></TR> (<SPAN CLASS="arabic">2</SPAN>)</TD></TR>
</TABLE> </TABLE>
<BR CLEAR="ALL"></DIV><P></P> <BR CLEAR="ALL"></DIV><P></P>
<IMG <SPAN CLASS="MATH"><IMG
WIDTH="27" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="27" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img78.png" SRC="img78.png"
ALT="$P_C$"> is obtained by ALT="$P_C$"></SPAN> is obtained by
applying to <IMG applying to <SPAN CLASS="MATH"><IMG
WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img79.png" SRC="img79.png"
ALT="$P$"> a smoother <!-- MATH ALT="$P$"></SPAN> a smoother <!-- MATH
$S \in \Re^{n \times n}$ $S \in \Re^{n \times n}$
--> -->
<IMG <SPAN CLASS="MATH"><IMG
WIDTH="78" HEIGHT="38" ALIGN="MIDDLE" BORDER="0" WIDTH="78" HEIGHT="38" ALIGN="MIDDLE" BORDER="0"
SRC="img80.png" SRC="img80.png"
ALT="$S \in \Re^{n \times n}$">: ALT="$S \in \Re^{n \times n}$"></SPAN>:
<BR> <BR>
<DIV ALIGN="RIGHT"> <DIV ALIGN="RIGHT" CLASS="mathdisplay">
<!-- MATH <!-- MATH
\begin{equation} \begin{equation}
P_C = S P, P_C = S P,
\end{equation} \end{equation}
--> -->
<A NAME="eq:smoothed_prol"></A>
<TABLE WIDTH="100%" ALIGN="CENTER"> <TABLE WIDTH="100%" ALIGN="CENTER">
<TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="eq:smoothed_prol"></A><IMG <TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="eq:smoothed_prol"></A><IMG
WIDTH="73" HEIGHT="30" BORDER="0" WIDTH="73" HEIGHT="30" BORDER="0"
@ -249,27 +252,28 @@ P_C = S P,
ALT="\begin{displaymath} ALT="\begin{displaymath}
P_C = S P, P_C = S P,
\end{displaymath}"></TD> \end{displaymath}"></TD>
<TD WIDTH=10 ALIGN="RIGHT"> <TD CLASS="eqno" WIDTH=10 ALIGN="RIGHT">
(3)</TD></TR> (<SPAN CLASS="arabic">3</SPAN>)</TD></TR>
</TABLE> </TABLE>
<BR CLEAR="ALL"></DIV><P></P> <BR CLEAR="ALL"></DIV><P></P>
in order to remove oscillatory components from the range of the prolongator in order to remove oscillatory components from the range of the prolongator
and hence to improve the convergence properties of the multi-level and hence to improve the convergence properties of the multi-level
Schwarz method [<A Schwarz method [<A
HREF="node30.html#BREZINA_VANEK">1</A>,<A HREF="node30.html#BREZINA_VANEK">1</A>,<A
HREF="node30.html#StubenGMD69_99">17</A>]. HREF="node30.html#StubenGMD69_99">22</A>].
A simple choice for <IMG A simple choice for <SPAN CLASS="MATH"><IMG
WIDTH="16" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" WIDTH="16" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img82.png" SRC="img82.png"
ALT="$S$"> is the damped Jacobi smoother: ALT="$S$"></SPAN> is the damped Jacobi smoother:
<BR> <BR>
<DIV ALIGN="RIGHT"> <DIV ALIGN="RIGHT" CLASS="mathdisplay">
<!-- MATH <!-- MATH
\begin{equation} \begin{equation}
S = I - \omega D^{-1} A , S = I - \omega D^{-1} A ,
\end{equation} \end{equation}
--> -->
<A NAME="eq:jac_smoother"></A>
<TABLE WIDTH="100%" ALIGN="CENTER"> <TABLE WIDTH="100%" ALIGN="CENTER">
<TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="eq:jac_smoother"></A><IMG <TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="eq:jac_smoother"></A><IMG
WIDTH="126" HEIGHT="30" BORDER="0" WIDTH="126" HEIGHT="30" BORDER="0"
@ -277,52 +281,53 @@ S = I - \omega D^{-1} A ,
ALT="\begin{displaymath} ALT="\begin{displaymath}
S = I - \omega D^{-1} A , S = I - \omega D^{-1} A ,
\end{displaymath}"></TD> \end{displaymath}"></TD>
<TD WIDTH=10 ALIGN="RIGHT"> <TD CLASS="eqno" WIDTH=10 ALIGN="RIGHT">
(4)</TD></TR> (<SPAN CLASS="arabic">4</SPAN>)</TD></TR>
</TABLE> </TABLE>
<BR CLEAR="ALL"></DIV><P></P> <BR CLEAR="ALL"></DIV><P></P>
where the value of <IMG where the value of <SPAN CLASS="MATH"><IMG
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0" WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img84.png" SRC="img84.png"
ALT="$\omega$"> can be chosen ALT="$\omega$"></SPAN> can be chosen
using some estimate of the spectral radius of <IMG using some estimate of the spectral radius of <SPAN CLASS="MATH"><IMG
WIDTH="50" HEIGHT="21" ALIGN="BOTTOM" BORDER="0" WIDTH="50" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
SRC="img85.png" SRC="img85.png"
ALT="$D^{-1}A$"> [<A ALT="$D^{-1}A$"></SPAN> [<A
HREF="node30.html#BREZINA_VANEK">1</A>]. HREF="node30.html#BREZINA_VANEK">1</A>].
<P> <P>
<HR>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html211" <A NAME="tex2html210"
HREF="node13.html"> HREF="node13.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html207" <A NAME="tex2html206"
HREF="node10.html"> HREF="node10.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html203" <A NAME="tex2html202"
HREF="node11.html"> HREF="node11.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html209" <A NAME="tex2html208"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html212" <B> Next:</B> <A NAME="tex2html211"
HREF="node13.html">Getting Started</A> HREF="node13.html">Getting Started</A>
<B> Up:</B> <A NAME="tex2html208" <B> Up:</B> <A NAME="tex2html207"
HREF="node10.html">Multi-level Domain Decomposition Background</A> HREF="node10.html">Multi-level Domain Decomposition Background</A>
<B> Previous:</B> <A NAME="tex2html204" <B> Previous:</B> <A NAME="tex2html203"
HREF="node11.html">Multi-level Schwarz Preconditioners</A> HREF="node11.html">Multi-level Schwarz Preconditioners</A>
&nbsp; <B> <A NAME="tex2html210" &nbsp; <B> <A NAME="tex2html209"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,34 +25,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<A NAME="tex2html223" <DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html222"
HREF="node14.html"> HREF="node14.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html219" <A NAME="tex2html218"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html213" <A NAME="tex2html212"
HREF="node12.html"> HREF="node12.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html221" <A NAME="tex2html220"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html224" <B> Next:</B> <A NAME="tex2html223"
HREF="node14.html">Examples</A> HREF="node14.html">Examples</A>
<B> Up:</B> <A NAME="tex2html220" <B> Up:</B> <A NAME="tex2html219"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html214" <B> Previous:</B> <A NAME="tex2html213"
HREF="node12.html">Smoothed Aggregation</A> HREF="node12.html">Smoothed Aggregation</A>
&nbsp; <B> <A NAME="tex2html222" &nbsp; <B> <A NAME="tex2html221"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR>
<BR> <BR>
<BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H1><A NAME="SECTION00070000000000000000"></A><A NAME="sec:started"></A> <H1><A NAME="SECTION00070000000000000000"></A><A NAME="sec:started"></A>
@ -63,58 +64,51 @@ Getting Started
<P> <P>
We describe the basics for building and applying MLD2P4 one-level and multi-level We describe the basics for building and applying MLD2P4 one-level and multi-level
Schwarz preconditioners with the Krylov solvers included in PSBLAS [<A Schwarz preconditioners with the Krylov solvers included in PSBLAS [<A
HREF="node30.html#PSBLASGUIDE">11</A>]. HREF="node30.html#PSBLASGUIDE">14</A>].
The following steps are required: The following steps are required:
<OL> <OL>
<LI><I>Declare the preconditioner data structure</I>. It is a derived data type, <LI><SPAN CLASS="textit">Declare the preconditioner data structure</SPAN>. It is a derived data type,
<code>mld_</code><I>x</I><code>prec_type</code>, where <I>x</I> may be <code>s</code>, <code>d</code>, <code>c</code> <code>mld_</code><SPAN CLASS="textit">x</SPAN><code>prec_</code> <code>type</code>, where <SPAN CLASS="textit">x</SPAN> may be <code>s</code>, <code>d</code>, <code>c</code>
or <code>z</code>, according to the basic data type of the sparse matrix or <code>z</code>, according to the basic data type of the sparse matrix
(<code>s</code> = real single precision; <code>d</code> = real double precision; (<code>s</code> = real single precision; <code>d</code> = real double precision;
<code>c</code> = complex single precision; <code>z</code> = complex double precision). <code>c</code> = complex single precision; <code>z</code> = complex double precision).
This data structure is accessed by the user only through the MLD2P4 routines, This data structure is accessed by the user only through the MLD2P4 routines,
following an object-oriented approach. following an object-oriented approach.
</LI> </LI>
<LI><I>Allocate and initialize the preconditioner data structure, according to <LI><SPAN CLASS="textit">Allocate and initialize the preconditioner data structure, according to
a preconditioner type chosen by the user</I>. This is performed by the routine a preconditioner type chosen by the user</SPAN>. This is performed by the routine
<code>mld_precinit</code>, which also sets defaults for each preconditioner <code>mld_precinit</code>, which also sets defaults for each preconditioner
type selected by the user. The defaults associated to each preconditioner type selected by the user. The defaults associated to each preconditioner
type are given in Table&nbsp;<A HREF="#tab:precinit"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]" type are given in Table&nbsp;<A HREF="#tab:precinit">1</A>, where the strings used by
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>, where the strings used by
<code>mld_precinit</code> to identify the preconditioner types are also given. <code>mld_precinit</code> to identify the preconditioner types are also given.
Note that these strings are valid also if uppercase letters are substituted by Note that these strings are valid also if uppercase letters are substituted by
corresponding lowercase ones. corresponding lowercase ones.
</LI> </LI>
<LI><I>Modify the selected preconditioner type, by properly setting <LI><SPAN CLASS="textit">Modify the selected preconditioner type, by properly setting
preconditioner parameters.</I> This is performed by the routine <code>mld_precset</code>. preconditioner parameters.</SPAN> This is performed by the routine <code>mld_precset</code>.
This routine must be called only if the user wants to modify the default values This routine must be called only if the user wants to modify the default values
of the parameters associated to the selected preconditioner type, to obtain a variant of the parameters associated to the selected preconditioner type, to obtain a variant
of the preconditioner. Examples of use of <code>mld_precset</code> are given in of the preconditioner. Examples of use of <code>mld_precset</code> are given in
Section&nbsp;<A HREF="node14.html#sec:examples"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]" Section&nbsp;<A HREF="node14.html#sec:examples">5.1</A>; a complete list of all the
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>; a complete list of all the
preconditioner parameters and their allowed and default values is provided in preconditioner parameters and their allowed and default values is provided in
Section&nbsp;<A HREF="node15.html#sec:userinterface"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]" Section&nbsp;<A HREF="node15.html#sec:userinterface">6</A>, Tables&nbsp;<A HREF="#tab:p_type">2</A>-<A HREF="#tab:p_coarse">5</A>.
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>, Tables&nbsp;<A HREF="#tab:p_type"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>-<A HREF="#tab:p_coarse"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>.
</LI> </LI>
<LI><I>Build the preconditioner for a given matrix.</I> This is performed by <LI><SPAN CLASS="textit">Build the preconditioner for a given matrix.</SPAN> This is performed by
the routine <code>mld_precbld</code>. the routine <code>mld_precbld</code>.
</LI> </LI>
<LI><I>Apply the preconditioner at each iteration of a Krylov solver.</I> <LI><SPAN CLASS="textit">Apply the preconditioner at each iteration of a Krylov solver.</SPAN>
This is performed by the routine <code>mld_precaply</code>. When using the PSBLAS Krylov solvers, This is performed by the routine <code>mld_precaply</code>. When using the PSBLAS Krylov solvers,
this step is completely transparent to the user, since <code>mld_precaply</code> is called this step is completely transparent to the user, since <code>mld_precaply</code> is called
by the PSBLAS routine implementing the Krylov solver (<code>psb_krylov</code>). by the PSBLAS routine implementing the Krylov solver (<code>psb_krylov</code>).
</LI> </LI>
<LI><I>Free the preconditioner data structure</I>. This is performed by <LI><SPAN CLASS="textit">Free the preconditioner data structure</SPAN>. This is performed by
the routine <code>mld_precfree</code>. This step is complementary to step 1 and should the routine <code>mld_</code> <code>precfree</code>. This step is complementary to step 1 and should
be performed when the preconditioner is no more used. be performed when the preconditioner is no more used.
</LI> </LI>
</OL> </OL>
A detailed description of the above routines is given in Section&nbsp;<A HREF="node15.html#sec:userinterface"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]" A detailed description of the above routines is given in Section&nbsp;<A HREF="node15.html#sec:userinterface">6</A>.
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>. Examples showing the basic use of MLD2P4 are reported in Section&nbsp;<A HREF="node14.html#sec:examples">5.1</A>.
Examples showing the basic use of MLD2P4 are reported in Section&nbsp;<A HREF="node14.html#sec:examples"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>.
<P> <P>
Note that the Fortran 95 module <code>mld_prec_mod</code>, containing the definition of the Note that the Fortran 95 module <code>mld_prec_mod</code>, containing the definition of the
@ -122,12 +116,11 @@ preconditioner data type and the interfaces to the routines of MLD2P4,
must be used in any program calling such routines. must be used in any program calling such routines.
The modules <code>psb_base_mod</code>, for the sparse matrix and communication descriptor The modules <code>psb_base_mod</code>, for the sparse matrix and communication descriptor
data types, and <code>psb_krylov_mod</code>, for interfacing with the data types, and <code>psb_krylov_mod</code>, for interfacing with the
Krylov solvers, must be also used (see Section&nbsp;<A HREF="node14.html#sec:examples"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]" Krylov solvers, must be also used (see Section&nbsp;<A HREF="node14.html#sec:examples">5.1</A>).
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>).
<P> <P>
<BR><B>Remark 1.</B> The coarsest-level solver used by the default two-level <BR><SPAN CLASS="textbf">Remark 1.</SPAN> The coarsest-level solver used by the default two-level
preconditioner has been chosen by taking into account that, on parallel preconditioner has been chosen by taking into account that, on parallel
machines, it often leads to the smallest execution time when applied to machines, it often leads to the smallest execution time when applied to
linear systems coming from finite-difference discretizations of basic linear systems coming from finite-difference discretizations of basic
@ -138,13 +131,12 @@ preconditioners [<A
not necessarily correspond to the smallest number of iterations of the not necessarily correspond to the smallest number of iterations of the
preconditioned Krylov method, which is usually obtained by applying preconditioned Krylov method, which is usually obtained by applying
a direct solver to the coarsest-level system, e.g. based on the LU a direct solver to the coarsest-level system, e.g. based on the LU
factorization (see Section&nbsp;<A HREF="node15.html#sec:userinterface"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]" factorization (see Section&nbsp;<A HREF="node15.html#sec:userinterface">6</A>
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>
for the coarsest-level solvers available in MLD2P4). for the coarsest-level solvers available in MLD2P4).
<P> <P>
<BR><B>Remark 2.</B> The include path for MLD2P4 must override <BR><SPAN CLASS="textbf">Remark 2.</SPAN> The include path for MLD2P4 must override
those for PSBLAS, e.g. the latter must come first in the sequence those for PSBLAS, e.g. the latter must come first in the sequence
passed to the compiler, as the MLD2P4 version of the Krylov solver passed to the compiler, as the MLD2P4 version of the Krylov solver
interfaces must override that of PSBLAS. This will change in the future interfaces must override that of PSBLAS. This will change in the future
@ -153,9 +145,9 @@ compilers.
<P> <P>
<BR><P></P> <BR><P></P>
<DIV ALIGN="CENTER"><A NAME="972"></A> <DIV ALIGN="CENTER"><A NAME="923"></A>
<TABLE> <TABLE>
<CAPTION><STRONG>Table:</STRONG> <CAPTION><STRONG>Table 1:</STRONG>
Preconditioner types, corresponding strings and default choices. Preconditioner types, corresponding strings and default choices.
</CAPTION> </CAPTION>
<TR><TD> <TR><TD>
@ -192,16 +184,17 @@ Preconditioner types, corresponding strings and default choices.
Post-smoother: RAS with overlap 1 and ILU(0) Post-smoother: RAS with overlap 1 and ILU(0)
on the local blocks. on the local blocks.
Aggregation: smoothed aggregation with Aggregation: smoothed aggregation with
threshold <IMG threshold <SPAN CLASS="MATH"><IMG
WIDTH="45" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" WIDTH="45" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img86.png" SRC="img86.png"
ALT="$\theta = 0$">. ALT="$\theta = 0$"></SPAN>.
Coarsest matrix: distributed among the processors. Coarsest matrix: distributed among the processors.
Coarsest-level solver: Coarsest-level solver:
4 sweeps of the block-Jacobi solver, 4 sweeps of the block-Jacobi solver,
with LU factorization of the blocks with LU (or ILU) factorization of the blocks
(UMFPACK for the double precision versions and (UMFPACK for the double precision versions and
SuperLU for the single precision ones)</TD> SuperLU for the single precision ones, if they have been
installed; ILU(0), otherwise).</TD>
</TR> </TR>
</TABLE> </TABLE>
</DIV> </DIV>
@ -217,42 +210,43 @@ Preconditioner types, corresponding strings and default choices.
<!--Table of Child-Links--> <!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A> <A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL> <UL CLASS="ChildLinks">
<LI><A NAME="tex2html225" <LI><A NAME="tex2html224"
HREF="node14.html">Examples</A> HREF="node14.html">Examples</A>
</UL> </UL>
<!--End of Table of Child-Links--> <!--End of Table of Child-Links-->
<HR>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html223" <A NAME="tex2html222"
HREF="node14.html"> HREF="node14.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html219" <A NAME="tex2html218"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html213" <A NAME="tex2html212"
HREF="node12.html"> HREF="node12.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html221" <A NAME="tex2html220"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html224" <B> Next:</B> <A NAME="tex2html223"
HREF="node14.html">Examples</A> HREF="node14.html">Examples</A>
<B> Up:</B> <A NAME="tex2html220" <B> Up:</B> <A NAME="tex2html219"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html214" <B> Previous:</B> <A NAME="tex2html213"
HREF="node12.html">Smoothed Aggregation</A> HREF="node12.html">Smoothed Aggregation</A>
&nbsp; <B> <A NAME="tex2html222" &nbsp; <B> <A NAME="tex2html221"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -24,34 +24,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<A NAME="tex2html234" <DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html233"
HREF="node15.html"> HREF="node15.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html230" <A NAME="tex2html229"
HREF="node13.html"> HREF="node13.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html226" <A NAME="tex2html225"
HREF="node13.html"> HREF="node13.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html232" <A NAME="tex2html231"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html235" <B> Next:</B> <A NAME="tex2html234"
HREF="node15.html">User Interface</A> HREF="node15.html">User Interface</A>
<B> Up:</B> <A NAME="tex2html231" <B> Up:</B> <A NAME="tex2html230"
HREF="node13.html">Getting Started</A> HREF="node13.html">Getting Started</A>
<B> Previous:</B> <A NAME="tex2html227" <B> Previous:</B> <A NAME="tex2html226"
HREF="node13.html">Getting Started</A> HREF="node13.html">Getting Started</A>
&nbsp; <B> <A NAME="tex2html233" &nbsp; <B> <A NAME="tex2html232"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR>
<BR> <BR>
<BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H2><A NAME="SECTION00071000000000000000"></A><A NAME="sec:examples"></A> <H2><A NAME="SECTION00071000000000000000"></A><A NAME="sec:examples"></A>
@ -60,11 +61,9 @@ Examples
</H2> </H2>
<P> <P>
The code reported in Figure&nbsp;<A HREF="#fig:ex_default"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]" The code reported in Figure&nbsp;<A HREF="#fig:ex_default">2</A> shows how to set and apply the default
SRC="file:/usr/share/latex2html/icons/crossref.png"></A> shows how to set and apply the default
multi-level preconditioner available in the real double precision version multi-level preconditioner available in the real double precision version
of MLD2P4 (see Table&nbsp;<A HREF="#tab:precinit"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]" of MLD2P4 (see Table&nbsp;<A HREF="node13.html#tab:precinit">1</A>). This preconditioner is chosen
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>). This preconditioner is chosen
by simply specifying <code>'ML'</code> as second argument of <code>mld_precinit</code> by simply specifying <code>'ML'</code> as second argument of <code>mld_precinit</code>
(a call to <code>mld_precset</code> is not needed) and is applied with the BiCGSTAB (a call to <code>mld_precset</code> is not needed) and is applied with the BiCGSTAB
solver provided by PSBLAS. As previously observed, the modules <code>psb_base_mod</code>, solver provided by PSBLAS. As previously observed, the modules <code>psb_base_mod</code>,
@ -78,25 +77,23 @@ here for brevity; the statements concerning the deallocation of the PSBLAS
data structure are neglected too. data structure are neglected too.
The complete code can be found in the example program file <code>mld_dexample_ml.f90</code>, The complete code can be found in the example program file <code>mld_dexample_ml.f90</code>,
in the directory <code>examples/fileread</code> of the MLD2P4 tree (see in the directory <code>examples/fileread</code> of the MLD2P4 tree (see
Section&nbsp;<A HREF="node5.html#sec:building"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]" Section&nbsp;<A HREF="node9.html#sec:ex_and_test">3.4</A>).
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>).
For details on the use of the PSBLAS routines, see the PSBLAS User's For details on the use of the PSBLAS routines, see the PSBLAS User's
Guide [<A Guide [<A
HREF="node30.html#PSBLASGUIDE">11</A>]. HREF="node30.html#PSBLASGUIDE">14</A>].
<P> <P>
The setup and application of the default multi-level The setup and application of the default multi-level
preconditioners for the real single precision and the complex, single and double preconditioners for the real single precision and the complex, single and double
precision, versions are obtained with straightforward modifications of the previous precision, versions are obtained with straightforward modifications of the previous
example (see Section&nbsp;<A HREF="node15.html#sec:userinterface"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]" example (see Section&nbsp;<A HREF="node15.html#sec:userinterface">6</A> for details). If these versions are installed,
SRC="file:/usr/share/latex2html/icons/crossref.png"></A> for details). If these versions are installed,
the corresponding Fortran 95 codes are available in <code>examples/fileread/</code>. the corresponding Fortran 95 codes are available in <code>examples/fileread/</code>.
<P> <P>
<DIV ALIGN="CENTER"><A NAME="fig:ex_default"></A><A NAME="975"></A> <DIV ALIGN="CENTER"><A NAME="fig:ex_default"></A><A NAME="926"></A>
<TABLE> <TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure:</STRONG> <CAPTION ALIGN="BOTTOM"><STRONG>Figure 2:</STRONG>
Setup and application of the default multi-level Schwarz preconditioner. Setup and application of the default multi-level Schwarz preconditioner.
</CAPTION> </CAPTION>
<TR><TD> <TR><TD>
@ -165,8 +162,7 @@ Setup and application of the default multi-level Schwarz preconditioner.
<P> <P>
Different versions of multi-level preconditioners can be obtained by changing Different versions of multi-level preconditioners can be obtained by changing
the default values of the preconditioner parameters. The code reported in the default values of the preconditioner parameters. The code reported in
Figure&nbsp;<A HREF="#fig:ex_3lh"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]" Figure&nbsp;<A HREF="#fig:ex_3lh">3</A> shows how to set a three-level hybrid Schwarz
SRC="file:/usr/share/latex2html/icons/crossref.png"></A> shows how to set a three-level hybrid Schwarz
preconditioner, which uses block Jacobi with ILU(0) on the preconditioner, which uses block Jacobi with ILU(0) on the
local blocks as post-smoother, has a coarsest matrix replicated on the processors, local blocks as post-smoother, has a coarsest matrix replicated on the processors,
and solves the coarsest-level system with the LU factorization from UMFPACK&nbsp;[<A and solves the coarsest-level system with the LU factorization from UMFPACK&nbsp;[<A
@ -178,28 +174,22 @@ with post-smoothing only) is not specified since it is the default
set by <code>mld_precinit</code>. set by <code>mld_precinit</code>.
<P> <P>
Figure&nbsp;<A HREF="#fig:ex_3la"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]" Figure&nbsp;<A HREF="#fig:ex_3la">4</A> shows how to
SRC="file:/usr/share/latex2html/icons/crossref.png"></A> shows how to
set a three-level additive Schwarz preconditioner, set a three-level additive Schwarz preconditioner,
which uses RAS, with overlap 1 and ILU(0) on the blocks, which uses RAS, with overlap 1 and ILU(0) on the blocks,
as pre- and post-smoother, and applies five block-Jacobi sweeps, with as pre- and post-smoother, and applies five block-Jacobi sweeps, with
the UMFPACK LU factorization on the blocks, as distributed coarsest-level the UMFPACK LU factorization on the blocks, as distributed coarsest-level
solver. Again, <code>mld_precset</code> is used only to set solver. Again, <code>mld_precset</code> is used only to set
non-default values of the parameters (see Tables&nbsp;<A HREF="#tab:p_type"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]" non-default values of the parameters (see Tables&nbsp;<A HREF="#tab:p_type">2</A>-<A HREF="#tab:p_coarse">5</A>).
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>-<A HREF="#tab:p_coarse"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>).
In both cases, the construction and the application of the preconditioner In both cases, the construction and the application of the preconditioner
are carried out as for the default multi-level preconditioner. are carried out as for the default multi-level preconditioner.
The code fragments shown in in Figures&nbsp;<A HREF="#fig:ex_3lh"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]" The code fragments shown in in Figures&nbsp;<A HREF="#fig:ex_3lh">3</A>-<A HREF="#fig:ex_3la">4</A> are
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>-<A HREF="#fig:ex_3la"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A> are
included in the example program file <code>mld_dexample_ml.f90</code> too. included in the example program file <code>mld_dexample_ml.f90</code> too.
<P> <P>
Finally, Figure&nbsp;<A HREF="#fig:ex_1l"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]" Finally, Figure&nbsp;<A HREF="#fig:ex_1l">5</A> shows the setup of a one-level
SRC="file:/usr/share/latex2html/icons/crossref.png"></A> shows the setup of a one-level
additive Schwarz preconditioner, i.e. RAS with overlap 2. The corresponding additive Schwarz preconditioner, i.e. RAS with overlap 2. The corresponding
example program is available in <code>mld_dexample_1lev.f90</code>. example program is available in <code>mld_dexample_</code> <code>1lev.f90</code>.
<P> <P>
For all the previous preconditioners, example programs where the sparse matrix and For all the previous preconditioners, example programs where the sparse matrix and
@ -208,9 +198,19 @@ boundary conditions are also available in the directory <code>examples/pdegen</c
<P> <P>
<DIV ALIGN="CENTER"><A NAME="fig:ex_3lh"></A><A NAME="977"></A> <BR><SPAN CLASS="textbf">Remark 3.</SPAN> Any PSBLAS-based program using the basic preconditioners
implemented in PSBLAS 2.0, i.e. the diagonal and block-Jacobi ones,
can use the diagonal and block-Jacobi preconditioners
implemented in MLD2P4 without any change in the code.
The PSBLAS-based program must be only recompiled
and linked to the MLD2P4 library.
<BR>
<P>
<DIV ALIGN="CENTER"><A NAME="fig:ex_3lh"></A><A NAME="928"></A>
<TABLE> <TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure:</STRONG> <CAPTION ALIGN="BOTTOM"><STRONG>Figure 3:</STRONG>
Setup of a hybrid three-level Schwarz preconditioner.</CAPTION> Setup of a hybrid three-level Schwarz preconditioner.</CAPTION>
<TR><TD> <TR><TD>
<DIV ALIGN="CENTER"> <DIV ALIGN="CENTER">
@ -240,9 +240,9 @@ Setup of a hybrid three-level Schwarz preconditioner.</CAPTION>
<P> <P>
<DIV ALIGN="CENTER"><A NAME="fig:ex_3la"></A><A NAME="979"></A> <DIV ALIGN="CENTER"><A NAME="fig:ex_3la"></A><A NAME="930"></A>
<TABLE> <TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure:</STRONG> <CAPTION ALIGN="BOTTOM"><STRONG>Figure 4:</STRONG>
Setup of an additive three-level Schwarz preconditioner.</CAPTION> Setup of an additive three-level Schwarz preconditioner.</CAPTION>
<TR><TD> <TR><TD>
<DIV ALIGN="CENTER"> <DIV ALIGN="CENTER">
@ -272,9 +272,9 @@ Setup of an additive three-level Schwarz preconditioner.</CAPTION>
<P> <P>
<DIV ALIGN="CENTER"><A NAME="fig:ex_1l"></A><A NAME="981"></A> <DIV ALIGN="CENTER"><A NAME="fig:ex_1l"></A><A NAME="932"></A>
<TABLE> <TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure:</STRONG> <CAPTION ALIGN="BOTTOM"><STRONG>Figure 5:</STRONG>
Setup of a one-level Schwarz preconditioner.</CAPTION> Setup of a one-level Schwarz preconditioner.</CAPTION>
<TR><TD> <TR><TD>
<DIV ALIGN="CENTER"> <DIV ALIGN="CENTER">
@ -297,45 +297,37 @@ Setup of a one-level Schwarz preconditioner.</CAPTION>
<P> <P>
<BR><B>Remark 3.</B> Any PSBLAS-based program using the basic preconditioners <DIV CLASS="navigation"><HR>
implemented in PSBLAS 2.0, i.e. the diagonal and block-Jacobi ones,
can use the diagonal and block-Jacobi preconditioners
implemented in MLD2P4 without any change in the code.
The PSBLAS-based program must be only recompiled
and linked to the MLD2P4 library.
<P>
<HR>
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html234" <A NAME="tex2html233"
HREF="node15.html"> HREF="node15.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html230" <A NAME="tex2html229"
HREF="node13.html"> HREF="node13.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html226" <A NAME="tex2html225"
HREF="node13.html"> HREF="node13.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html232" <A NAME="tex2html231"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html235" <B> Next:</B> <A NAME="tex2html234"
HREF="node15.html">User Interface</A> HREF="node15.html">User Interface</A>
<B> Up:</B> <A NAME="tex2html231" <B> Up:</B> <A NAME="tex2html230"
HREF="node13.html">Getting Started</A> HREF="node13.html">Getting Started</A>
<B> Previous:</B> <A NAME="tex2html227" <B> Previous:</B> <A NAME="tex2html226"
HREF="node13.html">Getting Started</A> HREF="node13.html">Getting Started</A>
&nbsp; <B> <A NAME="tex2html233" &nbsp; <B> <A NAME="tex2html232"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,34 +25,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<A NAME="tex2html246" <DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html245"
HREF="node16.html"> HREF="node16.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html242" <A NAME="tex2html241"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html236" <A NAME="tex2html235"
HREF="node14.html"> HREF="node14.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html244" <A NAME="tex2html243"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html247" <B> Next:</B> <A NAME="tex2html246"
HREF="node16.html">Subroutine mld_precinit</A> HREF="node16.html">Subroutine mld_precinit</A>
<B> Up:</B> <A NAME="tex2html243" <B> Up:</B> <A NAME="tex2html242"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html237" <B> Previous:</B> <A NAME="tex2html236"
HREF="node14.html">Examples</A> HREF="node14.html">Examples</A>
&nbsp; <B> <A NAME="tex2html245" &nbsp; <B> <A NAME="tex2html244"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR>
<BR> <BR>
<BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H1><A NAME="SECTION00080000000000000000"></A><A NAME="sec:userinterface"></A> <H1><A NAME="SECTION00080000000000000000"></A><A NAME="sec:userinterface"></A>
@ -61,7 +62,7 @@ User Interface
</H1> </H1>
<P> <P>
The basic user interface of MLD2P4 consists of six routines. The four routines <code>mld_precinit</code>, The basic user interface of MLD2P4 consists of six routines. The four routines <code>mld_</code> <code>precinit</code>,
<code>mld_precset</code>, <code>mld_precbld</code> and <code>mld_precaply</code> encapsulate all the functionalities <code>mld_precset</code>, <code>mld_precbld</code> and <code>mld_precaply</code> encapsulate all the functionalities
for the setup and the application of any one-level and multi-level for the setup and the application of any one-level and multi-level
preconditioner implemented in the package. preconditioner implemented in the package.
@ -76,29 +77,29 @@ i.e.
<UL> <UL>
<LI>the sparse matrix data structure, containing the matrix to be <LI>the sparse matrix data structure, containing the matrix to be
preconditioned, must be of type <code>mld_</code><I>x</I><code>spmat_type</code> preconditioned, must be of type <code>mld_</code><SPAN CLASS="textit">x</SPAN><code>spmat_type</code>
with <I>x</I> = <code>s</code> for real single precision, <I>x</I> = <code>d</code> with <SPAN CLASS="textit">x</SPAN> = <code>s</code> for real single precision, <SPAN CLASS="textit">x</SPAN> = <code>d</code>
for real double precision, <I>x</I> = <code>c</code> for complex single precision, for real double precision, <SPAN CLASS="textit">x</SPAN> = <code>c</code> for complex single precision,
<I>x</I> = <code>z</code> for complex double precision; <SPAN CLASS="textit">x</SPAN> = <code>z</code> for complex double precision;
</LI> </LI>
<LI>the preconditioner data structure must be of type <LI>the preconditioner data structure must be of type
<code>mld_</code><I>x</I><code>prec_type</code>, with <I>x</I> = <code>mld_</code><SPAN CLASS="textit">x</SPAN><code>prec_type</code>, with <SPAN CLASS="textit">x</SPAN> =
<code>s</code>, <code>d</code>, <code>c</code>, <code>z</code>, according to the sparse <code>s</code>, <code>d</code>, <code>c</code>, <code>z</code>, according to the sparse
matrix data structure; matrix data structure;
</LI> </LI>
<LI>the arrays containing the vectors <IMG <LI>the arrays containing the vectors <SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0" WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img21.png" SRC="img21.png"
ALT="$v$"> and <IMG ALT="$v$"></SPAN> and <SPAN CLASS="MATH"><IMG
WIDTH="17" HEIGHT="14" ALIGN="BOTTOM" BORDER="0" WIDTH="17" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img87.png" SRC="img87.png"
ALT="$w$"> involved in ALT="$w$"></SPAN> involved in
the preconditioner application <IMG the preconditioner application <SPAN CLASS="MATH"><IMG
WIDTH="87" HEIGHT="21" ALIGN="BOTTOM" BORDER="0" WIDTH="87" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
SRC="img60.png" SRC="img60.png"
ALT="$w=M^{-1}v$"> must be of type ALT="$w=M^{-1}v$"></SPAN> must be of type
<I>type</I><code>(</code><I>kind_parameter</I><code>)</code>, with <I>type</I> = <SPAN CLASS="textit">type</SPAN><code>(</code><SPAN CLASS="textit">kind_parameter</SPAN><code>)</code>, with <SPAN CLASS="textit">type</SPAN> =
<code>real</code>, <code>complex</code> and <I>kind_parameter</I> = <code>kind(1.e0)</code>, <code>real</code>, <code>complex</code> and <SPAN CLASS="textit">kind_parameter</SPAN> = <code>kind(1.e0)</code>,
<code>kind(1.d0)</code>, according to the sparse matrix and preconditioner <code>kind(1.d0)</code>, according to the sparse matrix and preconditioner
data structure; note that the PSBLAS module <code>psb_base_mod</code> data structure; note that the PSBLAS module <code>psb_base_mod</code>
provides the constants <code>psb_spk_</code> provides the constants <code>psb_spk_</code>
@ -106,91 +107,93 @@ i.e.
</LI> </LI>
<LI>real parameters defining the preconditioner must be declared <LI>real parameters defining the preconditioner must be declared
according to the precision of the sparse matrix and preconditioner according to the precision of the sparse matrix and preconditioner
data structures (see Section&nbsp;<A HREF="node18.html#sec:precset"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]" data structures (see Section&nbsp;<A HREF="node18.html#sec:precset">6.2</A>).
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>).
</LI> </LI>
</UL> </UL>
A description of each routine is given in the remainder of this section. A description of each routine is given in the remainder of this section.
<P>
<P> <P>
<BR><HR> <BR><HR>
<!--Table of Child-Links--> <!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A> <A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL> <UL CLASS="ChildLinks">
<LI><A NAME="tex2html248" <LI><A NAME="tex2html247"
HREF="node16.html">Subroutine mld_precinit</A> HREF="node16.html">Subroutine mld_precinit</A>
<UL> <UL>
<LI><A NAME="tex2html249" <LI><A NAME="tex2html248"
HREF="node17.html">Arguments</A> HREF="node17.html">Arguments</A>
</UL> </UL>
<BR> <BR>
<LI><A NAME="tex2html250" <LI><A NAME="tex2html249"
HREF="node18.html">Subroutine mld_precset</A> HREF="node18.html">Subroutine mld_precset</A>
<UL> <UL>
<LI><A NAME="tex2html251" <LI><A NAME="tex2html250"
HREF="node19.html">Arguments</A> HREF="node19.html">Arguments</A>
</UL> </UL>
<BR> <BR>
<LI><A NAME="tex2html252" <LI><A NAME="tex2html251"
HREF="node20.html">Subroutine mld_precbld</A> HREF="node20.html">Subroutine mld_precbld</A>
<UL> <UL>
<LI><A NAME="tex2html253" <LI><A NAME="tex2html252"
HREF="node21.html">Arguments</A> HREF="node21.html">Arguments</A>
</UL> </UL>
<BR> <BR>
<LI><A NAME="tex2html254" <LI><A NAME="tex2html253"
HREF="node22.html">Subroutine mld_precaply</A> HREF="node22.html">Subroutine mld_precaply</A>
<UL> <UL>
<LI><A NAME="tex2html255" <LI><A NAME="tex2html254"
HREF="node23.html">Arguments</A> HREF="node23.html">Arguments</A>
</UL> </UL>
<BR> <BR>
<LI><A NAME="tex2html256" <LI><A NAME="tex2html255"
HREF="node24.html">Subroutine mld_precfree</A> HREF="node24.html">Subroutine mld_precfree</A>
<UL> <UL>
<LI><A NAME="tex2html257" <LI><A NAME="tex2html256"
HREF="node25.html">Arguments</A> HREF="node25.html">Arguments</A>
</UL> </UL>
<BR> <BR>
<LI><A NAME="tex2html258" <LI><A NAME="tex2html257"
HREF="node26.html">Subroutine mld_precdescr</A> HREF="node26.html">Subroutine mld_precdescr</A>
<UL> <UL>
<LI><A NAME="tex2html259" <LI><A NAME="tex2html258"
HREF="node27.html">Arguments</A> HREF="node27.html">Arguments</A>
</UL></UL> </UL></UL>
<!--End of Table of Child-Links--> <!--End of Table of Child-Links-->
<HR>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html246" <A NAME="tex2html245"
HREF="node16.html"> HREF="node16.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html242" <A NAME="tex2html241"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html236" <A NAME="tex2html235"
HREF="node14.html"> HREF="node14.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html244" <A NAME="tex2html243"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html247" <B> Next:</B> <A NAME="tex2html246"
HREF="node16.html">Subroutine mld_precinit</A> HREF="node16.html">Subroutine mld_precinit</A>
<B> Up:</B> <A NAME="tex2html243" <B> Up:</B> <A NAME="tex2html242"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html237" <B> Previous:</B> <A NAME="tex2html236"
HREF="node14.html">Examples</A> HREF="node14.html">Examples</A>
&nbsp; <B> <A NAME="tex2html245" &nbsp; <B> <A NAME="tex2html244"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,34 +25,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<A NAME="tex2html270" <DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html269"
HREF="node17.html"> HREF="node17.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html266" <A NAME="tex2html265"
HREF="node15.html"> HREF="node15.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html260" <A NAME="tex2html259"
HREF="node15.html"> HREF="node15.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html268" <A NAME="tex2html267"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html271" <B> Next:</B> <A NAME="tex2html270"
HREF="node17.html">Arguments</A> HREF="node17.html">Arguments</A>
<B> Up:</B> <A NAME="tex2html267" <B> Up:</B> <A NAME="tex2html266"
HREF="node15.html">User Interface</A> HREF="node15.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html261" <B> Previous:</B> <A NAME="tex2html260"
HREF="node15.html">User Interface</A> HREF="node15.html">User Interface</A>
&nbsp; <B> <A NAME="tex2html269" &nbsp; <B> <A NAME="tex2html268"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR>
<BR> <BR>
<BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H2><A NAME="SECTION00081000000000000000"></A><A NAME="sec:precinit"></A> <H2><A NAME="SECTION00081000000000000000"></A><A NAME="sec:precinit"></A>
@ -76,15 +77,15 @@ according to the preconditioner type chosen by the user.
<!--Table of Child-Links--> <!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A> <A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL> <UL CLASS="ChildLinks">
<LI><A NAME="tex2html272" <LI><A NAME="tex2html271"
HREF="node17.html">Arguments</A> HREF="node17.html">Arguments</A>
</UL> </UL>
<!--End of Table of Child-Links--> <!--End of Table of Child-Links-->
<BR><HR> <BR><HR>
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -24,34 +24,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<A NAME="tex2html281" <DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html280"
HREF="node18.html"> HREF="node18.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html277" <A NAME="tex2html276"
HREF="node16.html"> HREF="node16.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html273" <A NAME="tex2html272"
HREF="node16.html"> HREF="node16.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html279" <A NAME="tex2html278"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html282" <B> Next:</B> <A NAME="tex2html281"
HREF="node18.html">Subroutine mld_precset</A> HREF="node18.html">Subroutine mld_precset</A>
<B> Up:</B> <A NAME="tex2html278" <B> Up:</B> <A NAME="tex2html277"
HREF="node16.html">Subroutine mld_precinit</A> HREF="node16.html">Subroutine mld_precinit</A>
<B> Previous:</B> <A NAME="tex2html274" <B> Previous:</B> <A NAME="tex2html273"
HREF="node16.html">Subroutine mld_precinit</A> HREF="node16.html">Subroutine mld_precinit</A>
&nbsp; <B> <A NAME="tex2html280" &nbsp; <B> <A NAME="tex2html279"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR>
<BR> <BR>
<BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H3><A NAME="SECTION00081100000000000000"> <H3><A NAME="SECTION00081100000000000000">
@ -61,46 +62,46 @@ Arguments</A>
<P> <P>
<TABLE CELLPADDING=3> <TABLE CELLPADDING=3>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298><code>type(mld_</code><I>x</I><code>prec_type), intent(inout)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(mld_</code><SPAN CLASS="textit">x</SPAN><code>prec_type), intent(inout)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>The preconditioner data structure. Note that <I>x</I> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The preconditioner data structure. Note that <SPAN CLASS="textit">x</SPAN>
must be chosen according to the real/complex, single/double must be chosen according to the real/complex, single/double
precision version of MLD2P4 under use.</TD> precision version of MLD2P4 under use.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>ptype</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>ptype</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298><code>character(len=*), intent(in)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>character(len=*), intent(in)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>The type of preconditioner. Its values are specified <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The type of preconditioner. Its values are specified
in Table&nbsp;<A HREF="#tab:precinit"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]" in Table&nbsp;<A HREF="node13.html#tab:precinit">1</A>.</TD>
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>Note that the strings are case insensitive.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>Note that the strings are case insensitive.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>info</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>info</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298><code>integer, intent(out)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer, intent(out)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>Error code. If no error, 0 is returned. See Section&nbsp;<A HREF="node28.html#sec:errors"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]" <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>Error code. If no error, 0 is returned. See Section&nbsp;<A HREF="node28.html#sec:errors">7</A> for details.</TD>
SRC="file:/usr/share/latex2html/icons/crossref.png"></A> for details.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>nlev</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>nlev</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298><code>integer, optional, intent(in)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer, optional, intent(in)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>The number of levels of the multilevel preconditioner. <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The number of levels of the multilevel preconditioner.
If <code>nlev</code> is not present and <code>ptype</code>=<code>'ML'</code>, <code>'ml'</code>, If <code>nlev</code> is not present and <code>ptype</code>=<code>'ML'</code>, <code>'ml'</code>,
then <code>nlev</code>=2 is assumed. Otherwise, <code>nlev</code> is ignored.</TD> then <code>nlev</code>=2 is assumed. Otherwise, <code>nlev</code> is ignored.</TD>
</TR> </TR>
</TABLE> </TABLE>
<P>
<P> <P>
<BR><HR> <BR><HR>
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,34 +25,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<A NAME="tex2html293" <DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html292"
HREF="node19.html"> HREF="node19.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html289" <A NAME="tex2html288"
HREF="node15.html"> HREF="node15.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html283" <A NAME="tex2html282"
HREF="node17.html"> HREF="node17.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html291" <A NAME="tex2html290"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html294" <B> Next:</B> <A NAME="tex2html293"
HREF="node19.html">Arguments</A> HREF="node19.html">Arguments</A>
<B> Up:</B> <A NAME="tex2html290" <B> Up:</B> <A NAME="tex2html289"
HREF="node15.html">User Interface</A> HREF="node15.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html284" <B> Previous:</B> <A NAME="tex2html283"
HREF="node17.html">Arguments</A> HREF="node17.html">Arguments</A>
&nbsp; <B> <A NAME="tex2html292" &nbsp; <B> <A NAME="tex2html291"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR>
<BR> <BR>
<BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H2><A NAME="SECTION00082000000000000000"></A><A NAME="sec:precset"></A> <H2><A NAME="SECTION00082000000000000000"></A><A NAME="sec:precset"></A>
@ -76,15 +77,15 @@ contained in <code>val</code>.
<!--Table of Child-Links--> <!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A> <A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL> <UL CLASS="ChildLinks">
<LI><A NAME="tex2html295" <LI><A NAME="tex2html294"
HREF="node19.html">Arguments</A> HREF="node19.html">Arguments</A>
</UL> </UL>
<!--End of Table of Child-Links--> <!--End of Table of Child-Links-->
<BR><HR> <BR><HR>
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -24,34 +24,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<A NAME="tex2html304" <DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html303"
HREF="node20.html"> HREF="node20.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html300" <A NAME="tex2html299"
HREF="node18.html"> HREF="node18.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html296" <A NAME="tex2html295"
HREF="node18.html"> HREF="node18.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html302" <A NAME="tex2html301"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html305" <B> Next:</B> <A NAME="tex2html304"
HREF="node20.html">Subroutine mld_precbld</A> HREF="node20.html">Subroutine mld_precbld</A>
<B> Up:</B> <A NAME="tex2html301" <B> Up:</B> <A NAME="tex2html300"
HREF="node18.html">Subroutine mld_precset</A> HREF="node18.html">Subroutine mld_precset</A>
<B> Previous:</B> <A NAME="tex2html297" <B> Previous:</B> <A NAME="tex2html296"
HREF="node18.html">Subroutine mld_precset</A> HREF="node18.html">Subroutine mld_precset</A>
&nbsp; <B> <A NAME="tex2html303" &nbsp; <B> <A NAME="tex2html302"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR>
<BR> <BR>
<BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H3><A NAME="SECTION00082100000000000000"> <H3><A NAME="SECTION00082100000000000000">
@ -61,43 +62,38 @@ Arguments</A>
<P> <P>
<TABLE CELLPADDING=3> <TABLE CELLPADDING=3>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298><code>type(mld_</code><I>x</I><code>prec_type), intent(inout)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(mld_</code><SPAN CLASS="textit">x</SPAN><code>prec_type), intent(inout)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>The preconditioner data structure. Note that <I>x</I> must <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The preconditioner data structure. Note that <SPAN CLASS="textit">x</SPAN> must
be chosen according to the real/complex, single/double precision be chosen according to the real/complex, single/double precision
version of MLD2P4 under use.</TD> version of MLD2P4 under use.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>what</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>what</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298><code>integer, intent(in)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer, intent(in)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>The number identifying the parameter to be set. <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The number identifying the parameter to be set.
A mnemonic constant has been associated to each of these A mnemonic constant has been associated to each of these
numbers, as reported in Tables&nbsp;<A HREF="#tab:p_type"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]" numbers, as reported in Tables&nbsp;<A HREF="#tab:p_type">2</A>-<A HREF="#tab:p_coarse">5</A>.</TD>
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>-<A HREF="#tab:p_coarse"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>val </code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>val </code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298><code>integer</code> <I>or</I> <code>character(len=*)</code> <I>or</I> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer</code> <SPAN CLASS="textit">or</SPAN> <code>character(len=*)</code> <SPAN CLASS="textit">or</SPAN>
<code>real(psb_spk_)</code> <I>or</I> <code>real(psb_dpk_)</code>, <code>real(psb_spk_)</code> <SPAN CLASS="textit">or</SPAN> <code>real(psb_dpk_)</code>,
<code>intent(in)</code>.</TD> <code>intent(in)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>The value of the parameter to be set. The list of allowed <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The value of the parameter to be set. The list of allowed
values and the corresponding data types is given in values and the corresponding data types is given in
Tables&nbsp;<A HREF="#tab:p_type"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]" Tables&nbsp;<A HREF="#tab:p_type">2</A>-<A HREF="#tab:p_coarse">5</A>.
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>-<A HREF="#tab:p_coarse"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>.
When the value is of type <code>character(len=*)</code>, When the value is of type <code>character(len=*)</code>,
it is also treated as case insensitive.</TD> it is also treated as case insensitive.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>info</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>info</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298><code>integer, intent(out)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer, intent(out)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>Error code. If no error, 0 is returned. See Section&nbsp;<A HREF="node28.html#sec:errors"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]" <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>Error code. If no error, 0 is returned. See Section&nbsp;<A HREF="node28.html#sec:errors">7</A>
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>
for details.</TD> for details.</TD>
</TR> </TR>
</TABLE> </TABLE>
@ -120,17 +116,20 @@ can be logically divided into four groups, i.e. parameters defining
</LI> </LI>
</OL> </OL>
A list of the parameters that can be set, along with their allowed and A list of the parameters that can be set, along with their allowed and
default values, is given in Tables&nbsp;<A HREF="#tab:p_type"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]" default values, is given in Tables&nbsp;<A HREF="#tab:p_type">2</A>-<A HREF="#tab:p_coarse">5</A>.
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>-<A HREF="#tab:p_coarse"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>.
For a detailed description of the meaning of the parameters, please For a detailed description of the meaning of the parameters, please
refer to Section&nbsp;<A HREF="node10.html#sec:background"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]" refer to Section&nbsp;<A HREF="node10.html#sec:background">4</A>.
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>.
<P> <P>
<BR><P></P>
<DIV ALIGN="CENTER"><A NAME="1245"></A>
<TABLE>
<CAPTION><STRONG>Table 2:</STRONG>
Parameters defining the type of multi-level preconditioner.
</CAPTION>
<TR><TD>
<DIV ALIGN="CENTER"> <DIV ALIGN="CENTER">
<TABLE CELLPADDING=3 BORDER="1"> <TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
<TR><TD ALIGN="LEFT"><code>what</code></TD> <TR><TD ALIGN="LEFT"><code>what</code></TD>
<TD ALIGN="LEFT"><SMALL>DATA TYPE</SMALL></TD> <TD ALIGN="LEFT"><SMALL>DATA TYPE</SMALL></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=57><code>val</code></TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=57><code>val</code></TD>
@ -149,7 +148,7 @@ refer to Section&nbsp;<A HREF="node10.html#sec:background"><IMG ALIGN="BOTTOM"
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=57><TT>'DIAG'</TT> <TT>'BJAC'</TT> <TT>'AS'</TT></TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=57><TT>'DIAG'</TT> <TT>'BJAC'</TT> <TT>'AS'</TT></TD>
<TD ALIGN="LEFT"><TT>'AS'</TT></TD> <TD ALIGN="LEFT"><TT>'AS'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Basic one-level preconditioner (i.e. smoother): diagonal, <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Basic one-level preconditioner (i.e. smoother): diagonal,
block Jacobi, AS</TD> block Jacobi, AS.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_smoother_pos_</code></TD> <TR><TD ALIGN="LEFT"><code>mld_smoother_pos_</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD> <TD ALIGN="LEFT"><code>character(len=*)</code></TD>
@ -160,11 +159,21 @@ refer to Section&nbsp;<A HREF="node10.html#sec:background"><IMG ALIGN="BOTTOM"
</TR> </TR>
</TABLE> </TABLE>
</DIV> </DIV>
</TD></TR>
</TABLE>
</DIV><P></P>
<BR>
<P> <P>
<BR><P></P>
<DIV ALIGN="CENTER"><A NAME="1247"></A>
<TABLE>
<CAPTION><STRONG>Table 3:</STRONG>
Parameters defining the one-level preconditioner used as smoother.
</CAPTION>
<TR><TD>
<DIV ALIGN="CENTER"> <DIV ALIGN="CENTER">
<TABLE CELLPADDING=3 BORDER="1"> <TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
<TR><TD ALIGN="LEFT"><code>what</code></TD> <TR><TD ALIGN="LEFT"><code>what</code></TD>
<TD ALIGN="LEFT"><SMALL>DATA TYPE</SMALL></TD> <TD ALIGN="LEFT"><SMALL>DATA TYPE</SMALL></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><code>val</code></TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><code>val</code></TD>
@ -173,10 +182,10 @@ refer to Section&nbsp;<A HREF="node10.html#sec:background"><IMG ALIGN="BOTTOM"
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_sub_ovr_</code></TD> <TR><TD ALIGN="LEFT"><code>mld_sub_ovr_</code></TD>
<TD ALIGN="LEFT"><code>integer</code></TD> <TD ALIGN="LEFT"><code>integer</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>any integer number <IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>any&nbsp;int.&nbsp;num.&nbsp;<SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img88.png" SRC="img88.png"
ALT="$\ge 0$"></TD> ALT="$\ge 0$"></SPAN></TD>
<TD ALIGN="LEFT">1</TD> <TD ALIGN="LEFT">1</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Number of overlap layers.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Number of overlap layers.</TD>
</TR> </TR>
@ -201,44 +210,44 @@ refer to Section&nbsp;<A HREF="node10.html#sec:background"><IMG ALIGN="BOTTOM"
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><TT>'ILU'</TT> <TT>'MILU'</TT> <TT>'ILUT'</TT> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><TT>'ILU'</TT> <TT>'MILU'</TT> <TT>'ILUT'</TT>
<TT>'UMF'</TT> <TT>'SLU'</TT></TD> <TT>'UMF'</TT> <TT>'SLU'</TT></TD>
<TD ALIGN="LEFT"><TT>'UMF'</TT></TD> <TD ALIGN="LEFT"><TT>'UMF'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Local solver: ILU(<IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Local solver: ILU(<SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img34.png" SRC="img34.png"
ALT="$p$">), MILU(<IMG ALT="$p$"></SPAN>), MILU(<SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img34.png" SRC="img34.png"
ALT="$p$">), ILU(<IMG ALT="$p$"></SPAN>), ILU(<SPAN CLASS="MATH"><IMG
WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img35.png" SRC="img35.png"
ALT="$p,t$">), LU from UMFPACK, LU from SuperLU ALT="$p,t$"></SPAN>), LU from UMFPACK, LU from SuperLU
(plus triangular solve).</TD> (plus triangular solve).</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_sub_fillin_</code></TD> <TR><TD ALIGN="LEFT"><code>mld_sub_fillin_</code></TD>
<TD ALIGN="LEFT"><code>integer</code></TD> <TD ALIGN="LEFT"><code>integer</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;int.&nbsp;num.&nbsp;<IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;int.&nbsp;num.&nbsp;<SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img88.png" SRC="img88.png"
ALT="$\ge 0$"></TD> ALT="$\ge 0$"></SPAN></TD>
<TD ALIGN="LEFT">0</TD> <TD ALIGN="LEFT">0</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Fill-in level <IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Fill-in level <SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img34.png" SRC="img34.png"
ALT="$p$"> of the incomplete LU factorizations.</TD> ALT="$p$"></SPAN> of the incomplete LU factorizations.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_sub_iluthrs_</code></TD> <TR><TD ALIGN="LEFT"><code>mld_sub_iluthrs_</code></TD>
<TD ALIGN="LEFT"><code>real(</code><I>kind_parameter</I><code>)</code></TD> <TD ALIGN="LEFT"><code>real(</code><SPAN CLASS="textit">kind_parameter</SPAN><code>)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;real&nbsp;num.&nbsp;<IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;real&nbsp;num.&nbsp;<SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img88.png" SRC="img88.png"
ALT="$\ge 0$"></TD> ALT="$\ge 0$"></SPAN></TD>
<TD ALIGN="LEFT"><TT>0.e0</TT> (or <TT>0.d0</TT>)</TD> <TD ALIGN="LEFT">0</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Drop tolerance <IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Drop tolerance <SPAN CLASS="MATH"><IMG
WIDTH="11" HEIGHT="14" ALIGN="BOTTOM" BORDER="0" WIDTH="11" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img89.png" SRC="img89.png"
ALT="$t$"> in the ILU(<IMG ALT="$t$"></SPAN> in the ILU(<SPAN CLASS="MATH"><IMG
WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img35.png" SRC="img35.png"
ALT="$p,t$">) factorization.</TD> ALT="$p,t$"></SPAN>) factorization.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_sub_ren_</code></TD> <TR><TD ALIGN="LEFT"><code>mld_sub_ren_</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD> <TD ALIGN="LEFT"><code>character(len=*)</code></TD>
@ -250,11 +259,21 @@ refer to Section&nbsp;<A HREF="node10.html#sec:background"><IMG ALIGN="BOTTOM"
</TR> </TR>
</TABLE> </TABLE>
</DIV> </DIV>
</TD></TR>
</TABLE>
</DIV><P></P>
<BR>
<P> <P>
<BR><P></P>
<DIV ALIGN="CENTER"><A NAME="1249"></A>
<TABLE>
<CAPTION><STRONG>Table 4:</STRONG>
Parameters defining the aggregation algorithm.
</CAPTION>
<TR><TD>
<DIV ALIGN="CENTER"> <DIV ALIGN="CENTER">
<TABLE CELLPADDING=3 BORDER="1"> <TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
<TR><TD ALIGN="LEFT"><code>what</code></TD> <TR><TD ALIGN="LEFT"><code>what</code></TD>
<TD ALIGN="LEFT"><SMALL>DATA TYPE</SMALL></TD> <TD ALIGN="LEFT"><SMALL>DATA TYPE</SMALL></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=65><code>val</code></TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=65><code>val</code></TD>
@ -271,62 +290,86 @@ refer to Section&nbsp;<A HREF="node10.html#sec:background"><IMG ALIGN="BOTTOM"
<TD ALIGN="LEFT"><code>character(len=*)</code></TD> <TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=65><TT>'SMOOTH'</TT> <TT>'RAW'</TT></TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=65><TT>'SMOOTH'</TT> <TT>'RAW'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=74><TT>'SMOOTH'</TT></TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=74><TT>'SMOOTH'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Type of aggregation: smoothed or raw, i.e. using the tentative prolongator.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Type of aggregation: smoothed, raw (i.e. using the tentative prolongator).</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_aggr_thresh_</code></TD> <TR><TD ALIGN="LEFT"><code>mld_aggr_thresh_</code></TD>
<TD ALIGN="LEFT"><code>real(</code><I>kind_parameter</I><code>)</code></TD> <TD ALIGN="LEFT"><code>real(</code><SPAN CLASS="textit">kind_parameter</SPAN><code>)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=65>Any&nbsp;real&nbsp;num. <IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=65>Any&nbsp;real&nbsp;num. <SPAN CLASS="MATH"><IMG
WIDTH="56" HEIGHT="36" ALIGN="MIDDLE" BORDER="0" WIDTH="56" HEIGHT="36" ALIGN="MIDDLE" BORDER="0"
SRC="img90.png" SRC="img90.png"
ALT="$\in [0, 1]$"></TD> ALT="$\in [0, 1]$"></SPAN></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=74><TT>0.e0</TT> (or <TT>0.d0</TT>)</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=74>0</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>The threshold <IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>The threshold <SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" WIDTH="13" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img91.png" SRC="img91.png"
ALT="$\theta$"> in the aggregation algorithm.</TD> ALT="$\theta$"></SPAN> in the aggregation algorithm.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_aggr_eig_</code></TD> <TR><TD ALIGN="LEFT"><code>mld_aggr_eig_</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD> <TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=65><TT>'A_NORMI'</TT></TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=65><TT>'A_NORMI'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=74><TT>'A_NORMI'</TT></TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=74><TT>'A_NORMI'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Estimate of the maximum eigenvalue of <IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Estimate of the eigenvalue <SPAN CLASS="MATH"><IMG
WIDTH="50" HEIGHT="21" ALIGN="BOTTOM" BORDER="0" WIDTH="50" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
SRC="img85.png" SRC="img85.png"
ALT="$D^{-1}A$"> ALT="$D^{-1}A$"></SPAN> with largest modulus,
for the smoothed aggregation. Currently, only the infinity norm of to build the damping parameter <SPAN CLASS="MATH"><IMG
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img84.png"
ALT="$\omega$"></SPAN> in the smoothed aggregation.
Currently, only the infinity norm of
the matrix is available.</TD> the matrix is available.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_aggr_damp_</code></TD> <TR><TD ALIGN="LEFT"><code>mld_aggr_damp_</code></TD>
<TD ALIGN="LEFT"><code>real(</code><I>kind_parameter</I><code>)</code></TD> <TD ALIGN="LEFT"><code>real(</code><SPAN CLASS="textit">kind_parameter</SPAN><code>)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=65>Any&nbsp;real&nbsp;num. <IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=65>Any&nbsp;real&nbsp;num.</TD>
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=74><!-- MATH
$4/(3||D^{-1}A||_\infty)$
-->
<SPAN CLASS="MATH"><IMG
WIDTH="124" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img92.png" SRC="img92.png"
ALT="$&gt;0$"></TD> ALT="$4/(3\vert\vert D^{-1}A\vert\vert _\infty)$"></SPAN></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=74><TT>4.e0/3.e0</TT> (or <TT>4.d0/3.d0</TT>)</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>The damping parameter <SPAN CLASS="MATH"><IMG
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>The damping parameter <IMG
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0" WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img84.png" SRC="img84.png"
ALT="$\omega$"> in the aggregation algorithm.</TD> ALT="$\omega$"></SPAN> in the smoothed aggregation algorithm.
If the user specifies a negative value, then <SPAN CLASS="MATH"><IMG
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img84.png"
ALT="$\omega$"></SPAN> is set to its default
value; otherwise, <SPAN CLASS="MATH"><IMG
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img84.png"
ALT="$\omega$"></SPAN> is set to the value provided by the
user. In the latter case no estimate of the eigenvalue <SPAN CLASS="MATH"><IMG
WIDTH="50" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
SRC="img85.png"
ALT="$D^{-1}A$"></SPAN> with
largest modulus is computed.</TD>
</TR> </TR>
</TABLE> </TABLE>
</DIV> </DIV>
</TD></TR>
</TABLE>
</DIV><P></P>
<BR>
<P> <P>
<BR><P></P>
<DIV ALIGN="CENTER"><A NAME="1251"></A>
<TABLE>
<CAPTION><STRONG>Table 5:</STRONG>
Parameters defining the coarse-space correction at the coarsest
level.</CAPTION>
<TR><TD>
<DIV ALIGN="CENTER"> <DIV ALIGN="CENTER">
<TABLE CELLPADDING=3 BORDER="1"> <TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
<TR><TD ALIGN="LEFT"><code>what</code></TD> <TR><TD ALIGN="LEFT"><code>what</code></TD>
<TD ALIGN="LEFT"><SMALL>DATA TYPE</SMALL></TD> <TD ALIGN="LEFT"><SMALL>DATA TYPE</SMALL></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><code>val</code></TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><code>val</code></TD>
<TD ALIGN="LEFT"><SMALL>DEFAULT</SMALL></TD> <TD ALIGN="LEFT"><SMALL>DEFAULT</SMALL></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198><SMALL>COMMENTS</SMALL></TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198><SMALL>COMMENTS</SMALL></TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_coarse_mat_</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><TT>'DISTR'</TT> <TT>'REPL'</TT></TD>
<TD ALIGN="LEFT"><TT>'DISTR'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Coarsest matrix: distributed among the processors or replicated on each of them.</TD>
</TR>
<TR><TD ALIGN="LEFT"><code>mld_coarse_solve_</code></TD> <TR><TD ALIGN="LEFT"><code>mld_coarse_solve_</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD> <TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><TT>'BJAC'</TT> <TT>'UMF'</TT> <TT>'SLU'</TT> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><TT>'BJAC'</TT> <TT>'UMF'</TT> <TT>'SLU'</TT>
@ -334,9 +377,15 @@ refer to Section&nbsp;<A HREF="node10.html#sec:background"><IMG ALIGN="BOTTOM"
<TD ALIGN="LEFT"><TT>'BJAC'</TT></TD> <TD ALIGN="LEFT"><TT>'BJAC'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Solver used at the coarsest level: block Jacobi, sequential LU from UMFPACK, <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Solver used at the coarsest level: block Jacobi, sequential LU from UMFPACK,
sequential LU from SuperLU, distributed LU from SuperLU_Dist. sequential LU from SuperLU, distributed LU from SuperLU_Dist.
If the coarsest matrix is distributed, only <TT>'BJAC'</TT> and <TT>'SLUDIST'</TT> With <TT>'SLUDIST'</TT> the coarsest matrix
can be chosen; if it is replicated, only <TT>'BJAC'</TT> or <TT>'SLUDIST'</TT> can must be distributed; with <TT>'UMF'</TT> or
be selected.</TD> <TT>'SLU'</TT> it must be replicated.</TD>
</TR>
<TR><TD ALIGN="LEFT"><code>mld_coarse_mat_</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><TT>'DISTR'</TT> <TT>'REPL'</TT></TD>
<TD ALIGN="LEFT"><TT>'DISTR'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Coarsest matrix: distributed among the processors or replicated on each of them.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_coarse_subsolve_</code></TD> <TR><TD ALIGN="LEFT"><code>mld_coarse_subsolve_</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD> <TD ALIGN="LEFT"><code>character(len=*)</code></TD>
@ -344,90 +393,96 @@ refer to Section&nbsp;<A HREF="node10.html#sec:background"><IMG ALIGN="BOTTOM"
<TT>'UMF'</TT> <TT>'SLU'</TT></TD> <TT>'UMF'</TT> <TT>'SLU'</TT></TD>
<TD ALIGN="LEFT"><TT>'UMF'</TT></TD> <TD ALIGN="LEFT"><TT>'UMF'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Solver for the diagonal blocks of the coarse matrix, in case the block Jacobi solver <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Solver for the diagonal blocks of the coarse matrix, in case the block Jacobi solver
is chosen as coarsest-level solver: ILU(<IMG is chosen as coarsest-level solver: ILU(<SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img34.png" SRC="img34.png"
ALT="$p$">), MILU(<IMG ALT="$p$"></SPAN>), MILU(<SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img34.png" SRC="img34.png"
ALT="$p$">), ILU(<IMG ALT="$p$"></SPAN>), ILU(<SPAN CLASS="MATH"><IMG
WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img35.png" SRC="img35.png"
ALT="$p,t$">), LU from UMFPACK, ALT="$p,t$"></SPAN>), LU from UMFPACK,
LU from SuperLU, plus triangular solve.</TD> LU from SuperLU, plus triangular solve.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_coarse_sweeps_</code></TD> <TR><TD ALIGN="LEFT"><code>mld_coarse_sweeps_</code></TD>
<TD ALIGN="LEFT"><code>integer</code></TD> <TD ALIGN="LEFT"><code>integer</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;int.&nbsp;num.&nbsp;<IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;int.&nbsp;num.&nbsp;<SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="31" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img92.png" SRC="img93.png"
ALT="$&gt;0$"></TD> ALT="$&gt; 0$"></SPAN></TD>
<TD ALIGN="LEFT"><TT>4</TT></TD> <TD ALIGN="LEFT">4</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Number of Block-Jacobi sweeps when 'BJAC' is used as coarsest-level solver.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Number of Block-Jacobi sweeps when 'BJAC' is used as coarsest-level solver.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_coarse_fillin_</code></TD> <TR><TD ALIGN="LEFT"><code>mld_coarse_fillin_</code></TD>
<TD ALIGN="LEFT"><code>integer</code></TD> <TD ALIGN="LEFT"><code>integer</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;int.&nbsp;num.&nbsp;<IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;int.&nbsp;num.&nbsp;<SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img88.png" SRC="img88.png"
ALT="$\ge 0$"></TD> ALT="$\ge 0$"></SPAN></TD>
<TD ALIGN="LEFT"><TT>0</TT></TD> <TD ALIGN="LEFT">0</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Fill-in level <IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Fill-in level <SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img34.png" SRC="img34.png"
ALT="$p$"> of the incomplete LU factorizations.</TD> ALT="$p$"></SPAN> of the incomplete LU factorizations.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT"><code>mld_coarse_iluthrs_</code></TD> <TR><TD ALIGN="LEFT"><code>mld_coarse_iluthrs_</code></TD>
<TD ALIGN="LEFT"><code>real(</code><I>kind_parameter</I><code>)</code></TD> <TD ALIGN="LEFT"><code>real(</code><SPAN CLASS="textit">kind_parameter</SPAN><code>)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;real.&nbsp;num.&nbsp;<IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;real.&nbsp;num.&nbsp;<SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img88.png" SRC="img88.png"
ALT="$\ge 0$"></TD> ALT="$\ge 0$"></SPAN></TD>
<TD ALIGN="LEFT"><TT>0.d0</TT> (or <TT>0.e0</TT>)</TD> <TD ALIGN="LEFT">0</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Drop tolerance <IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Drop tolerance <SPAN CLASS="MATH"><IMG
WIDTH="11" HEIGHT="14" ALIGN="BOTTOM" BORDER="0" WIDTH="11" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img89.png" SRC="img89.png"
ALT="$t$"> in the ILU(<IMG ALT="$t$"></SPAN> in the ILU(<SPAN CLASS="MATH"><IMG
WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img35.png" SRC="img35.png"
ALT="$p,t$">) factorization.</TD> ALT="$p,t$"></SPAN>) factorization.</TD>
</TR> </TR>
</TABLE> </TABLE>
</DIV> </DIV>
</TD></TR>
</TABLE>
</DIV><P></P>
<BR>
<P>
<P> <P>
<HR> <DIV CLASS="navigation"><HR>
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html304" <A NAME="tex2html303"
HREF="node20.html"> HREF="node20.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html300" <A NAME="tex2html299"
HREF="node18.html"> HREF="node18.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html296" <A NAME="tex2html295"
HREF="node18.html"> HREF="node18.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html302" <A NAME="tex2html301"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html305" <B> Next:</B> <A NAME="tex2html304"
HREF="node20.html">Subroutine mld_precbld</A> HREF="node20.html">Subroutine mld_precbld</A>
<B> Up:</B> <A NAME="tex2html301" <B> Up:</B> <A NAME="tex2html300"
HREF="node18.html">Subroutine mld_precset</A> HREF="node18.html">Subroutine mld_precset</A>
<B> Previous:</B> <A NAME="tex2html297" <B> Previous:</B> <A NAME="tex2html296"
HREF="node18.html">Subroutine mld_precset</A> HREF="node18.html">Subroutine mld_precset</A>
&nbsp; <B> <A NAME="tex2html303" &nbsp; <B> <A NAME="tex2html302"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
Jens Lippmann, Marek Rouchal, Martin Wilck and others --> Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML> <HTML>
<HEAD> <HEAD>
<TITLE>General Overview</TITLE> <TITLE>Contents</TITLE>
<META NAME="description" CONTENT="General Overview"> <META NAME="description" CONTENT="Contents">
<META NAME="keywords" CONTENT="userhtml"> <META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document"> <META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global"> <META NAME="distribution" CONTENT="global">
@ -25,189 +25,104 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<A NAME="tex2html89" <DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html66"
HREF="node3.html"> HREF="node3.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html85" <A NAME="tex2html64"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html79" <A NAME="tex2html58"
HREF="node1.html"> HREF="node1.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html87"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html90" <B> Next:</B> <A NAME="tex2html67"
HREF="node3.html">Notational Conventions</A> HREF="node3.html">General Overview</A>
<B> Up:</B> <A NAME="tex2html86" <B> Up:</B> <A NAME="tex2html65"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html80" <B> Previous:</B> <A NAME="tex2html59"
HREF="node1.html">Contents</A> HREF="node1.html">Abstract</A>
&nbsp; <B> <A NAME="tex2html88"
HREF="node1.html">Contents</A></B>
<BR>
<BR> <BR>
<BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H1><A NAME="SECTION00020000000000000000"></A><A NAME="sec:overview"></A>
<BR>
General Overview
</H1>
<P>
The M<SMALL>ULTI-</SMALL>L<SMALL>EVEL </SMALL>D<SMALL>OMAIN </SMALL>D<SMALL>ECOMPOSITION </SMALL>P<SMALL>ARALLEL </SMALL>P<SMALL>RECONDITIONERS </SMALL>P<SMALL>ACKAGE BASED ON
</SMALL>PSBLAS (MLD2P4) provides <I>multi-level Schwarz preconditioners</I>&nbsp;[<A
HREF="node30.html#dd2_96">15</A>],
to be used in the iterative solutions of sparse linear systems:
<BR> <BR>
<DIV ALIGN="RIGHT">
<!-- MATH <H2><A NAME="SECTION00020000000000000000">
\begin{equation} Contents</A>
Ax=b, </H2>
\end{equation} <!--Table of Contents-->
-->
<TABLE WIDTH="100%" ALIGN="CENTER">
<TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="system1"></A><IMG
WIDTH="57" HEIGHT="30" BORDER="0"
SRC="img1.png"
ALT="\begin{displaymath}
Ax=b,
\end{displaymath}"></TD>
<TD WIDTH=10 ALIGN="RIGHT">
(1)</TD></TR>
</TABLE>
<BR CLEAR="ALL"></DIV><P></P>
where <IMG
WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img2.png"
ALT="$A$"> is a square, real or complex, sparse matrix with a symmetric sparsity pattern.
These preconditioners have the following general features:
<UL CLASS="TofC">
<LI><A NAME="tex2html68"
HREF="node3.html">General Overview</A>
<LI><A NAME="tex2html69"
HREF="node4.html">Code Distribution</A>
<LI><A NAME="tex2html70"
HREF="node5.html">Configuring and Building MLD2P4</A>
<UL> <UL>
<LI>both <I>additive and hybrid multilevel</I> variants are implemented, <LI><A NAME="tex2html71"
i.e. variants that are additive among the levels and inside each level, and variants HREF="node6.html">Prerequisites</A>
that are multiplicative among the levels and additive inside each level; <LI><A NAME="tex2html72"
the basic Additive Schwarz (AS) preconditioners are obtained by considering only one level; HREF="node7.html">Optional third party libraries</A>
</LI> <LI><A NAME="tex2html73"
<LI>a <I>purely algebraic</I> approach is used to HREF="node8.html">Configuration options</A>
generate a sequence of coarse-level corrections to a basic AS preconditioner, without <LI><A NAME="tex2html74"
explicitly using any information on the geometry of the original problem (e.g. the HREF="node9.html">Example and test programs</A>
discretization of a PDE). The <I>smoothed aggregation</I> technique is applied
as algebraic coarsening strategy&nbsp;[<A
HREF="node30.html#BREZINA_VANEK">1</A>,<A
HREF="node30.html#VANEK_MANDEL_BREZINA">19</A>].
</LI>
</UL> </UL>
<BR>
<LI><A NAME="tex2html75"
HREF="node10.html">Multi-level Domain Decomposition Background</A>
<UL>
<LI><A NAME="tex2html76"
HREF="node11.html">Multi-level Schwarz Preconditioners</A>
<LI><A NAME="tex2html77"
HREF="node12.html">Smoothed Aggregation</A>
</UL>
<BR>
<LI><A NAME="tex2html78"
HREF="node13.html">Getting Started</A>
<UL>
<LI><A NAME="tex2html79"
HREF="node14.html">Examples</A>
</UL>
<BR>
<LI><A NAME="tex2html80"
HREF="node15.html">User Interface</A>
<UL>
<LI><A NAME="tex2html81"
HREF="node16.html">Subroutine mld_precinit</A>
<LI><A NAME="tex2html82"
HREF="node18.html">Subroutine mld_precset</A>
<LI><A NAME="tex2html83"
HREF="node20.html">Subroutine mld_precbld</A>
<LI><A NAME="tex2html84"
HREF="node22.html">Subroutine mld_precaply</A>
<LI><A NAME="tex2html85"
HREF="node24.html">Subroutine mld_precfree</A>
<LI><A NAME="tex2html86"
HREF="node26.html">Subroutine mld_precdescr</A>
</UL>
<BR>
<LI><A NAME="tex2html87"
HREF="node28.html">Error Handling</A>
<LI><A NAME="tex2html88"
HREF="node29.html">License</A>
<LI><A NAME="tex2html89"
HREF="node30.html">Bibliography</A>
</UL>
<!--End of Table of Contents-->
<P> <P>
The package is written in <I>Fortran&nbsp;95</I>, following an
<I>object-oriented approach</I> through the exploitation of features
such as abstract data type creation, functional
overloading and dynamic memory management.
The parallel implementation is based
on a Single Program Multiple Data (SPMD) paradigm for distributed-memory architectures.
Single and double precision implementations of MLD2P4 are available for both the
real and the complex case, that can be used through a single interface.
<P>
MLD2P4 has been designed to implement scalable and easy-to-use multilevel preconditioners
in the context of the <I>PSBLAS (Parallel Sparse BLAS)
computational framework</I>&nbsp;[<A
HREF="node30.html#psblas_00">12</A>].
PSBLAS is a library originally developed to address the parallel implementation of
iterative solvers for sparse linear system, by providing basic linear algebra
operators and data management facilities for distributed sparse matrices; it
also includes parallel Krylov solvers, built on the top of the basic PSBLAS kernels.
The preconditioners available in MLD2P4 can be used with these Krylov solvers.
The choice of PSBLAS has been mainly motivated by the need of having
a portable and efficient software infrastructure implementing ``de facto'' standard
parallel sparse linear algebra kernels, to pursue goals such as performance,
portability, modularity ed extensibility in the development of the preconditioner
package. On the other hand, the implementation of MLD2P4 has led to some
revisions and extentions of the PSBLAS kernels, leading to the
recent PSBLAS 2.0 version&nbsp;[<A
HREF="node30.html#PSBLASGUIDE">11</A>]. The inter-process comunication required
by MLD2P4 is encapsulated into the PSBLAS routines, except few cases where
MPI&nbsp;[<A
HREF="node30.html#MPI1">16</A>] is explicitly called. Therefore, MLD2P4 can be run on any parallel
machine where PSBLAS and MPI implementations are available.
<P>
MLD2P4 has a layered and modular software architecture where three main layers can be identified.
The lower layer consists of the PSBLAS kernels, the middle one implements
the construction and application phases of the preconditioners, and the upper one
provides a uniform and easy-to-use interface to all the preconditioners.
This architecture allows for different levels of use of the package:
few black-box routines at the upper layer allow non-expert users to easily
build any preconditioner available in MLD2P4 and to apply it within a PSBLAS Krylov solver.
On the other hand, the routines of the middle and lower layer can be used and extended
by expert users to build new versions of multi-level Schwarz preconditioners.
We provide here a description of the upper-layer routines, but not of the
medium-layer ones.
<P>
This guide is organized as follows. The notational conventions used in
the guide and in the naming of the MLD2P4 routines are reported in
Section&nbsp;<A HREF="node3.html#sec:conventions"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>. Information on the distribution of the source code and the
related license is given in Section&nbsp;<A HREF="node4.html#sec:distribution"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>, while details on the configuration
and installation of package are given in Section&nbsp;<A HREF="node5.html#sec:building"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>. A description of
multi-level Schwarz preconditioners based on smoothed aggregation is provided
in Section&nbsp;<A HREF="node10.html#sec:background"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>, to help the users in choosing among the different preconditioners
implemented in MLD2P4. The basics for building and applying the preconditioners
with the Krylov solvers implemented in PSBLAS are reported in Section&nbsp;<A HREF="node13.html#sec:started"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>, where the
Fortran 95 codes of a few sample programs are also shown. A reference guide for
the upper-layer routines of MLD2P4, that are the user interface, is provided
in Section&nbsp;<A HREF="node15.html#sec:userinterface"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>. The error handling mechanism used by the package is briefly described
in Section&nbsp;<A HREF="node28.html#sec:errors"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>. The copyright terms concerning the distribution and modification
of MLD2P4 are reported in Appendix&nbsp;<A HREF="node29.html#sec:license"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>.
<P> <P>
<HR> <BR><HR>
<!--Navigation Panel-->
<A NAME="tex2html89"
HREF="node3.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html85"
HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html79"
HREF="node1.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html87"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html90"
HREF="node3.html">Notational Conventions</A>
<B> Up:</B> <A NAME="tex2html86"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html80"
HREF="node1.html">Contents</A>
&nbsp; <B> <A NAME="tex2html88"
HREF="node1.html">Contents</A></B>
<!--End of Navigation Panel-->
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,34 +25,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<A NAME="tex2html316" <DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html315"
HREF="node21.html"> HREF="node21.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html312" <A NAME="tex2html311"
HREF="node15.html"> HREF="node15.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html306" <A NAME="tex2html305"
HREF="node19.html"> HREF="node19.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html314" <A NAME="tex2html313"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html317" <B> Next:</B> <A NAME="tex2html316"
HREF="node21.html">Arguments</A> HREF="node21.html">Arguments</A>
<B> Up:</B> <A NAME="tex2html313" <B> Up:</B> <A NAME="tex2html312"
HREF="node15.html">User Interface</A> HREF="node15.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html307" <B> Previous:</B> <A NAME="tex2html306"
HREF="node19.html">Arguments</A> HREF="node19.html">Arguments</A>
&nbsp; <B> <A NAME="tex2html315" &nbsp; <B> <A NAME="tex2html314"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR>
<BR> <BR>
<BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H2><A NAME="SECTION00083000000000000000"></A><A NAME="sec:precbld"></A> <H2><A NAME="SECTION00083000000000000000"></A><A NAME="sec:precbld"></A>
@ -75,15 +76,15 @@ the user through the routines <code>mld_precinit</code> and <code>mld_precset</c
<!--Table of Child-Links--> <!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A> <A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL> <UL CLASS="ChildLinks">
<LI><A NAME="tex2html318" <LI><A NAME="tex2html317"
HREF="node21.html">Arguments</A> HREF="node21.html">Arguments</A>
</UL> </UL>
<!--End of Table of Child-Links--> <!--End of Table of Child-Links-->
<BR><HR> <BR><HR>
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -24,34 +24,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<A NAME="tex2html327" <DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html326"
HREF="node22.html"> HREF="node22.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html323" <A NAME="tex2html322"
HREF="node20.html"> HREF="node20.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html319" <A NAME="tex2html318"
HREF="node20.html"> HREF="node20.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html325" <A NAME="tex2html324"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html328" <B> Next:</B> <A NAME="tex2html327"
HREF="node22.html">Subroutine mld_precaply</A> HREF="node22.html">Subroutine mld_precaply</A>
<B> Up:</B> <A NAME="tex2html324" <B> Up:</B> <A NAME="tex2html323"
HREF="node20.html">Subroutine mld_precbld</A> HREF="node20.html">Subroutine mld_precbld</A>
<B> Previous:</B> <A NAME="tex2html320" <B> Previous:</B> <A NAME="tex2html319"
HREF="node20.html">Subroutine mld_precbld</A> HREF="node20.html">Subroutine mld_precbld</A>
&nbsp; <B> <A NAME="tex2html326" &nbsp; <B> <A NAME="tex2html325"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR>
<BR> <BR>
<BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H3><A NAME="SECTION00083100000000000000"> <H3><A NAME="SECTION00083100000000000000">
@ -61,37 +62,36 @@ Arguments</A>
<P> <P>
<TABLE CELLPADDING=3> <TABLE CELLPADDING=3>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>a</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>a</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298><code>type(psb_</code><I>x</I><code>spmat_type), intent(in)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(psb_</code><SPAN CLASS="textit">x</SPAN><code>spmat_type), intent(in)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>The sparse matrix structure containing the local part of the <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The sparse matrix structure containing the local part of the
matrix to be preconditioned. Note that <I>x</I> must be chosen according matrix to be preconditioned. Note that <SPAN CLASS="textit">x</SPAN> must be chosen according
to the real/complex, to the real/complex,
single/double precision version of MLD2P4 under use. single/double precision version of MLD2P4 under use.
See the PSBLAS User's Guide for details [<A See the PSBLAS User's Guide for details [<A
HREF="node30.html#PSBLASGUIDE">11</A>].</TD> HREF="node30.html#PSBLASGUIDE">14</A>].</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>desc_a</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>desc_a</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298><code>type(psb_desc_type), intent(in)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(psb_desc_type), intent(in)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>The communication descriptor of <code>a</code>. See the PSBLAS User's Guide for <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The communication descriptor of <code>a</code>. See the PSBLAS User's Guide for
details [<A details [<A
HREF="node30.html#PSBLASGUIDE">11</A>].</TD> HREF="node30.html#PSBLASGUIDE">14</A>].</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298><code>type(mld_</code><I>x</I><code>prec_type), intent(inout)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(mld_</code><SPAN CLASS="textit">x</SPAN><code>prec_type), intent(inout)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>The preconditioner data structure. Note that <I>x</I> must be chosen according <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The preconditioner data structure. Note that <SPAN CLASS="textit">x</SPAN> must be chosen according
to the real/complex, single/double precision version of MLD2P4 under use.</TD> to the real/complex, single/double precision version of MLD2P4 under use.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>info</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>info</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298><code>integer, intent(out)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer, intent(out)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>Error code. If no error, 0 is returned. See Section&nbsp;<A HREF="node28.html#sec:errors"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]" <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>Error code. If no error, 0 is returned. See Section&nbsp;<A HREF="node28.html#sec:errors">7</A> for details.</TD>
SRC="file:/usr/share/latex2html/icons/crossref.png"></A> for details.</TD>
</TR> </TR>
</TABLE> </TABLE>
@ -100,7 +100,7 @@ single/double precision version of MLD2P4 under use.
<BR><HR> <BR><HR>
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,34 +25,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<A NAME="tex2html339" <DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html338"
HREF="node23.html"> HREF="node23.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html335" <A NAME="tex2html334"
HREF="node15.html"> HREF="node15.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html329" <A NAME="tex2html328"
HREF="node21.html"> HREF="node21.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html337" <A NAME="tex2html336"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html340" <B> Next:</B> <A NAME="tex2html339"
HREF="node23.html">Arguments</A> HREF="node23.html">Arguments</A>
<B> Up:</B> <A NAME="tex2html336" <B> Up:</B> <A NAME="tex2html335"
HREF="node15.html">User Interface</A> HREF="node15.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html330" <B> Previous:</B> <A NAME="tex2html329"
HREF="node21.html">Arguments</A> HREF="node21.html">Arguments</A>
&nbsp; <B> <A NAME="tex2html338" &nbsp; <B> <A NAME="tex2html337"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR>
<BR> <BR>
<BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H2><A NAME="SECTION00084000000000000000"></A><A NAME="sec:precaply"></A> <H2><A NAME="SECTION00084000000000000000"></A><A NAME="sec:precaply"></A>
@ -71,17 +72,17 @@ Subroutine mld_precaply
This routine computes <!-- MATH This routine computes <!-- MATH
$y = op(M^{-1})\, x$ $y = op(M^{-1})\, x$
--> -->
<IMG <SPAN CLASS="MATH"><IMG
WIDTH="117" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" WIDTH="118" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img93.png" SRC="img94.png"
ALT="$y = op(M^{-1}) x$">, where <IMG ALT="$y = op(M^{-1}) x$"></SPAN>, where <SPAN CLASS="MATH"><IMG
WIDTH="23" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" WIDTH="23" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img59.png" SRC="img59.png"
ALT="$M$"> is a previously built ALT="$M$"></SPAN> is a previously built
preconditioner, stored into <code>p</code>, and <IMG preconditioner, stored into <code>p</code>, and <SPAN CLASS="MATH"><IMG
WIDTH="22" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="21" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img94.png" SRC="img95.png"
ALT="$op$"> ALT="$op$"></SPAN>
denotes the preconditioner itself or its transpose, according to denotes the preconditioner itself or its transpose, according to
the value of <code>trans</code>. the value of <code>trans</code>.
Note that, when MLD2P4 is used with a Krylov solver from PSBLAS, Note that, when MLD2P4 is used with a Krylov solver from PSBLAS,
@ -93,15 +94,15 @@ and hence it is completely transparent to the user.
<!--Table of Child-Links--> <!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A> <A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL> <UL CLASS="ChildLinks">
<LI><A NAME="tex2html341" <LI><A NAME="tex2html340"
HREF="node23.html">Arguments</A> HREF="node23.html">Arguments</A>
</UL> </UL>
<!--End of Table of Child-Links--> <!--End of Table of Child-Links-->
<BR><HR> <BR><HR>
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -24,34 +24,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<A NAME="tex2html350" <DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html349"
HREF="node24.html"> HREF="node24.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html346" <A NAME="tex2html345"
HREF="node22.html"> HREF="node22.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html342" <A NAME="tex2html341"
HREF="node22.html"> HREF="node22.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html348" <A NAME="tex2html347"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html351" <B> Next:</B> <A NAME="tex2html350"
HREF="node24.html">Subroutine mld_precfree</A> HREF="node24.html">Subroutine mld_precfree</A>
<B> Up:</B> <A NAME="tex2html347" <B> Up:</B> <A NAME="tex2html346"
HREF="node22.html">Subroutine mld_precaply</A> HREF="node22.html">Subroutine mld_precaply</A>
<B> Previous:</B> <A NAME="tex2html343" <B> Previous:</B> <A NAME="tex2html342"
HREF="node22.html">Subroutine mld_precaply</A> HREF="node22.html">Subroutine mld_precaply</A>
&nbsp; <B> <A NAME="tex2html349" &nbsp; <B> <A NAME="tex2html348"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR>
<BR> <BR>
<BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H3><A NAME="SECTION00084100000000000000"> <H3><A NAME="SECTION00084100000000000000">
@ -61,128 +62,130 @@ Arguments</A>
<P> <P>
<TABLE CELLPADDING=3> <TABLE CELLPADDING=3>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298><code>type(mld_</code><I>x</I><code>prec_type), intent(inout)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(mld_</code><SPAN CLASS="textit">x</SPAN><code>prec_type), intent(inout)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>The preconditioner data structure, containing the local part of <IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The preconditioner data structure, containing the local part of <SPAN CLASS="MATH"><IMG
WIDTH="23" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" WIDTH="23" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img59.png" SRC="img59.png"
ALT="$M$">. ALT="$M$"></SPAN>.
Note that <I>x</I> must be chosen according Note that <SPAN CLASS="textit">x</SPAN> must be chosen according
to the real/complex, single/double precision version of MLD2P4 under use.</TD> to the real/complex, single/double precision version of MLD2P4 under use.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>x</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>x</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298><I>type</I><code>(</code><I>kind_parameter</I><code>), dimension(:), intent(in)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><SPAN CLASS="textit">type</SPAN><code>(</code><SPAN CLASS="textit">kind_parameter</SPAN><code>), dimension(:), intent(in)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>The local part of the vector <IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The local part of the vector <SPAN CLASS="MATH"><IMG
WIDTH="14" HEIGHT="14" ALIGN="BOTTOM" BORDER="0" WIDTH="15" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img95.png" SRC="img96.png"
ALT="$x$">. Note that <I>type</I> and ALT="$x$"></SPAN>. Note that <SPAN CLASS="textit">type</SPAN> and
<I>kind_parameter</I> must be chosen according <SPAN CLASS="textit">kind_parameter</SPAN> must be chosen according
to the real/complex, single/double precision version of MLD2P4 under use.</TD> to the real/complex, single/double precision version of MLD2P4 under use.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>y</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>y</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298><I>type</I><code>(</code><I>kind_parameter</I><code>), dimension(:), intent(out)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><SPAN CLASS="textit">type</SPAN><code>(</code><SPAN CLASS="textit">kind_parameter</SPAN><code>), dimension(:), intent(out)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>The local part of the vector <IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The local part of the vector <SPAN CLASS="MATH"><IMG
WIDTH="14" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img96.png" SRC="img97.png"
ALT="$y$">. Note that <I>type</I> and ALT="$y$"></SPAN>. Note that <SPAN CLASS="textit">type</SPAN> and
<I>kind_parameter</I> must be chosen according <SPAN CLASS="textit">kind_parameter</SPAN> must be chosen according
to the real/complex, single/double precision version of MLD2P4 under use.</TD> to the real/complex, single/double precision version of MLD2P4 under use.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>desc_a</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>desc_a</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298><code>type(psb_desc_type), intent(in)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(psb_desc_type), intent(in)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>The communication descriptor associated to the matrix to be <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The communication descriptor associated to the matrix to be
preconditioned.</TD> preconditioned.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>info</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>info</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298><code>integer, intent(out)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer, intent(out)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>Error code. If no error, 0 is returned. See Section&nbsp;<A HREF="node28.html#sec:errors"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]" <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>Error code. If no error, 0 is returned. See Section&nbsp;<A HREF="node28.html#sec:errors">7</A> for details.</TD>
SRC="file:/usr/share/latex2html/icons/crossref.png"></A> for details.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>trans</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>trans</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298><code>character(len=1), optional, intent(in).</code></TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>character(len=1), optional, intent(in).</code></TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>If <code>trans</code> = <code>'N','n'</code> then <!-- MATH <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>If <code>trans</code> = <code>'N','n'</code> then <!-- MATH
$op(M^{-1}) = M^{-1}$ $op(M^{-1}) = M^{-1}$
--> -->
<IMG <SPAN CLASS="MATH"><IMG
WIDTH="132" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" WIDTH="132" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img97.png" SRC="img98.png"
ALT="$op(M^{-1}) = M^{-1}$">; ALT="$op(M^{-1}) = M^{-1}$"></SPAN>;
if <code>trans</code> = <code>'T','t'</code> then <!-- MATH if <code>trans</code> = <code>'T','t'</code> then <!-- MATH
$op(M^{-1}) = M^{-T}$ $op(M^{-1}) = M^{-T}$
--> -->
<IMG <SPAN CLASS="MATH"><IMG
WIDTH="135" HEIGHT="40" ALIGN="MIDDLE" BORDER="0" WIDTH="135" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
SRC="img98.png"
ALT="$op(M^{-1}) = M^{-T}$">
(transpose of <IMG
WIDTH="48" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img99.png" SRC="img99.png"
ALT="$M^{-1})$">; if <code>trans</code> = <code>'C','c'</code> then <!-- MATH ALT="$op(M^{-1}) = M^{-T}$"></SPAN>
(transpose of <SPAN CLASS="MATH"><IMG
WIDTH="48" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img100.png"
ALT="$M^{-1})$"></SPAN>; if <code>trans</code> = <code>'C','c'</code> then <!-- MATH
$op(M^{-1}) = M^{-C}$ $op(M^{-1}) = M^{-C}$
--> -->
<IMG <SPAN CLASS="MATH"><IMG
WIDTH="136" HEIGHT="40" ALIGN="MIDDLE" BORDER="0" WIDTH="136" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
SRC="img100.png" SRC="img101.png"
ALT="$op(M^{-1}) = M^{-C}$"> ALT="$op(M^{-1}) = M^{-C}$"></SPAN>
(conjugate transpose of <IMG (conjugate transpose of <SPAN CLASS="MATH"><IMG
WIDTH="48" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" WIDTH="48" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img99.png" SRC="img100.png"
ALT="$M^{-1})$">.</TD> ALT="$M^{-1})$"></SPAN>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>work</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>work</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298><I>type</I><code>(</code><I>kind_parameter</I><code>), dimension(:), optional, target</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><SPAN CLASS="textit">type</SPAN><code>(</code><SPAN CLASS="textit">kind_parameter</SPAN><code>), dimension(:), optional, target</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>Workspace. Its size should be at <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>Workspace. Its size should be at
least <code>4 * psb_cd_get_local_cols(desc_a)</code> (see the PSBLAS User's Guide). least <code>4 * psb_cd_get_local_</code> <code>cols(desc_a)</code> (see the PSBLAS User's Guide).
Note that <I>type</I> and <I>kind_parameter</I> must be chosen according Note that <SPAN CLASS="textit">type</SPAN> and <SPAN CLASS="textit">kind_parameter</SPAN> must be chosen according
to the real/complex, single/double precision version of MLD2P4 under use.</TD> to the real/complex, single/double precision version of MLD2P4 under use.</TD>
</TR> </TR>
</TABLE> </TABLE>
<P> <P>
<HR>
<P>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html350" <A NAME="tex2html349"
HREF="node24.html"> HREF="node24.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html346" <A NAME="tex2html345"
HREF="node22.html"> HREF="node22.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html342" <A NAME="tex2html341"
HREF="node22.html"> HREF="node22.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html348" <A NAME="tex2html347"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html351" <B> Next:</B> <A NAME="tex2html350"
HREF="node24.html">Subroutine mld_precfree</A> HREF="node24.html">Subroutine mld_precfree</A>
<B> Up:</B> <A NAME="tex2html347" <B> Up:</B> <A NAME="tex2html346"
HREF="node22.html">Subroutine mld_precaply</A> HREF="node22.html">Subroutine mld_precaply</A>
<B> Previous:</B> <A NAME="tex2html343" <B> Previous:</B> <A NAME="tex2html342"
HREF="node22.html">Subroutine mld_precaply</A> HREF="node22.html">Subroutine mld_precaply</A>
&nbsp; <B> <A NAME="tex2html349" &nbsp; <B> <A NAME="tex2html348"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,34 +25,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<A NAME="tex2html362" <DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html361"
HREF="node25.html"> HREF="node25.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html358" <A NAME="tex2html357"
HREF="node15.html"> HREF="node15.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html352" <A NAME="tex2html351"
HREF="node23.html"> HREF="node23.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html360" <A NAME="tex2html359"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html363" <B> Next:</B> <A NAME="tex2html362"
HREF="node25.html">Arguments</A> HREF="node25.html">Arguments</A>
<B> Up:</B> <A NAME="tex2html359" <B> Up:</B> <A NAME="tex2html358"
HREF="node15.html">User Interface</A> HREF="node15.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html353" <B> Previous:</B> <A NAME="tex2html352"
HREF="node23.html">Arguments</A> HREF="node23.html">Arguments</A>
&nbsp; <B> <A NAME="tex2html361" &nbsp; <B> <A NAME="tex2html360"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR>
<BR> <BR>
<BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H2><A NAME="SECTION00085000000000000000"></A><A NAME="sec:precfree"></A> <H2><A NAME="SECTION00085000000000000000"></A><A NAME="sec:precfree"></A>
@ -74,15 +75,15 @@ This routine deallocates the preconditioner data structure.
<!--Table of Child-Links--> <!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A> <A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL> <UL CLASS="ChildLinks">
<LI><A NAME="tex2html364" <LI><A NAME="tex2html363"
HREF="node25.html">Arguments</A> HREF="node25.html">Arguments</A>
</UL> </UL>
<!--End of Table of Child-Links--> <!--End of Table of Child-Links-->
<BR><HR> <BR><HR>
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -24,34 +24,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<A NAME="tex2html373" <DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html372"
HREF="node26.html"> HREF="node26.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html369" <A NAME="tex2html368"
HREF="node24.html"> HREF="node24.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html365" <A NAME="tex2html364"
HREF="node24.html"> HREF="node24.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html371" <A NAME="tex2html370"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html374" <B> Next:</B> <A NAME="tex2html373"
HREF="node26.html">Subroutine mld_precdescr</A> HREF="node26.html">Subroutine mld_precdescr</A>
<B> Up:</B> <A NAME="tex2html370" <B> Up:</B> <A NAME="tex2html369"
HREF="node24.html">Subroutine mld_precfree</A> HREF="node24.html">Subroutine mld_precfree</A>
<B> Previous:</B> <A NAME="tex2html366" <B> Previous:</B> <A NAME="tex2html365"
HREF="node24.html">Subroutine mld_precfree</A> HREF="node24.html">Subroutine mld_precfree</A>
&nbsp; <B> <A NAME="tex2html372" &nbsp; <B> <A NAME="tex2html371"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR>
<BR> <BR>
<BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H3><A NAME="SECTION00085100000000000000"> <H3><A NAME="SECTION00085100000000000000">
@ -61,26 +62,27 @@ Arguments</A>
<P> <P>
<TABLE CELLPADDING=3> <TABLE CELLPADDING=3>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298><code>type(mld_</code><I>x</I><code>prec_type), intent(inout)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298><code>type(mld_</code><SPAN CLASS="textit">x</SPAN><code>prec_type), intent(inout)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>The preconditioner data structure. Note that <I>x</I> must be chosen according <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>The preconditioner data structure. Note that <SPAN CLASS="textit">x</SPAN> must be chosen according
to the real/complex, single/double precision version of MLD2P4 under use.</TD> to the real/complex, single/double precision version of MLD2P4 under use.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>info</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>info</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298><code>integer, intent(out)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298><code>integer, intent(out)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>Error code. If no error, 0 is returned. See Section&nbsp;<A HREF="node28.html#sec:errors"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]" <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>Error code. If no error, 0 is returned. See Section&nbsp;<A HREF="node28.html#sec:errors">7</A> for details.</TD>
SRC="file:/usr/share/latex2html/icons/crossref.png"></A> for details.</TD>
</TR> </TR>
</TABLE> </TABLE>
<P>
<P> <P>
<BR><HR> <BR><HR>
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -24,34 +24,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<A NAME="tex2html383" <DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html382"
HREF="node27.html"> HREF="node27.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html379" <A NAME="tex2html378"
HREF="node15.html"> HREF="node15.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html375" <A NAME="tex2html374"
HREF="node25.html"> HREF="node25.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html381" <A NAME="tex2html380"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html384" <B> Next:</B> <A NAME="tex2html383"
HREF="node27.html">Arguments</A> HREF="node27.html">Arguments</A>
<B> Up:</B> <A NAME="tex2html380" <B> Up:</B> <A NAME="tex2html379"
HREF="node15.html">User Interface</A> HREF="node15.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html376" <B> Previous:</B> <A NAME="tex2html375"
HREF="node25.html">Arguments</A> HREF="node25.html">Arguments</A>
&nbsp; <B> <A NAME="tex2html382" &nbsp; <B> <A NAME="tex2html381"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR>
<BR> <BR>
<BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H2><A NAME="SECTION00086000000000000000"></A><A NAME="sec:precdescr"></A> <H2><A NAME="SECTION00086000000000000000"></A><A NAME="sec:precdescr"></A>
@ -67,23 +68,23 @@ Subroutine mld_precdescr
</DIV> </DIV>
<P> <P>
This routine prints a description of the preconditioner This routine prints a description of the preconditioner to the standard output or
to the standard output or to a file. to a file. It must be called after <code>mld_precbld</code> has been called.
<P> <P>
<BR><HR> <BR><HR>
<!--Table of Child-Links--> <!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A> <A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL> <UL CLASS="ChildLinks">
<LI><A NAME="tex2html385" <LI><A NAME="tex2html384"
HREF="node27.html">Arguments</A> HREF="node27.html">Arguments</A>
</UL> </UL>
<!--End of Table of Child-Links--> <!--End of Table of Child-Links-->
<BR><HR> <BR><HR>
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -24,34 +24,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<A NAME="tex2html394" <DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html393"
HREF="node28.html"> HREF="node28.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html390" <A NAME="tex2html389"
HREF="node26.html"> HREF="node26.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html386" <A NAME="tex2html385"
HREF="node26.html"> HREF="node26.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html392" <A NAME="tex2html391"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html395" <B> Next:</B> <A NAME="tex2html394"
HREF="node28.html">Error Handling</A> HREF="node28.html">Error Handling</A>
<B> Up:</B> <A NAME="tex2html391" <B> Up:</B> <A NAME="tex2html390"
HREF="node26.html">Subroutine mld_precdescr</A> HREF="node26.html">Subroutine mld_precdescr</A>
<B> Previous:</B> <A NAME="tex2html387" <B> Previous:</B> <A NAME="tex2html386"
HREF="node26.html">Subroutine mld_precdescr</A> HREF="node26.html">Subroutine mld_precdescr</A>
&nbsp; <B> <A NAME="tex2html393" &nbsp; <B> <A NAME="tex2html392"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR>
<BR> <BR>
<BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H3><A NAME="SECTION00086100000000000000"> <H3><A NAME="SECTION00086100000000000000">
@ -61,24 +62,23 @@ Arguments</A>
<P> <P>
<TABLE CELLPADDING=3> <TABLE CELLPADDING=3>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=300><code>type(mld_</code><I>x</I><code>prec_type), intent(in)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(mld_</code><SPAN CLASS="textit">x</SPAN><code>prec_type), intent(in)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=300>The preconditioner data structure. Note that <I>x</I> must be chosen according <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The preconditioner data structure. Note that <SPAN CLASS="textit">x</SPAN> must be chosen according
to the real/complex, single/double precision version of MLD2P4 under use.</TD> to the real/complex, single/double precision version of MLD2P4 under use.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>info</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>info</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=300><code>integer, intent(out)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer, intent(out)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=300>Error code. If no error, 0 is returned. See Section&nbsp;<A HREF="node28.html#sec:errors"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]" <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>Error code. If no error, 0 is returned. See Section&nbsp;<A HREF="node28.html#sec:errors">7</A> for details.</TD>
SRC="file:/usr/share/latex2html/icons/crossref.png"></A> for details.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>iout</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>iout</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=300><code>integer, intent(in), optional</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer, intent(in), optional</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=300>The id of the file where the preconditioner description <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The id of the file where the preconditioner description
will be printed; the default is the standard output.</TD> will be printed; the default is the standard output.</TD>
</TR> </TR>
</TABLE> </TABLE>
@ -87,7 +87,7 @@ Arguments</A>
<BR><HR> <BR><HR>
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,34 +25,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<A NAME="tex2html406" <DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html405"
HREF="node29.html"> HREF="node29.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html402" <A NAME="tex2html401"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html396" <A NAME="tex2html395"
HREF="node27.html"> HREF="node27.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html404" <A NAME="tex2html403"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html407" <B> Next:</B> <A NAME="tex2html406"
HREF="node29.html">License</A> HREF="node29.html">License</A>
<B> Up:</B> <A NAME="tex2html403" <B> Up:</B> <A NAME="tex2html402"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html397" <B> Previous:</B> <A NAME="tex2html396"
HREF="node27.html">Arguments</A> HREF="node27.html">Arguments</A>
&nbsp; <B> <A NAME="tex2html405" &nbsp; <B> <A NAME="tex2html404"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR>
<BR> <BR>
<BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H1><A NAME="SECTION00090000000000000000"></A><A NAME="sec:errors"></A> <H1><A NAME="SECTION00090000000000000000"></A><A NAME="sec:errors"></A>
@ -61,7 +62,7 @@ Error Handling
</H1> </H1>
<P> <P>
The error handling in MLD2P4 is based on the PSBLAS version 2 error The error handling in MLD2P4 is based on the PSBLAS (version 2) error
handling. Error conditions are signaled via an integer argument handling. Error conditions are signaled via an integer argument
<code>info</code>; whenever an error condition is detected, an error trace <code>info</code>; whenever an error condition is detected, an error trace
stack is built by the library up to the top-level, user-callable stack is built by the library up to the top-level, user-callable
@ -71,14 +72,15 @@ program or by returning the error condition to the user code, which
will then take action, and whether will then take action, and whether
an error message should be printed. These options may be set by using an error message should be printed. These options may be set by using
the PSBLAS error handling routines; for further details see the PSBLAS the PSBLAS error handling routines; for further details see the PSBLAS
user's guide. User's Guide [<A
HREF="node30.html#PSBLASGUIDE">14</A>].
<P> <P>
<BR><HR> <BR><HR>
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,34 +25,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<A NAME="tex2html418" <DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html417"
HREF="node30.html"> HREF="node30.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html414" <A NAME="tex2html413"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html408" <A NAME="tex2html407"
HREF="node28.html"> HREF="node28.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html416" <A NAME="tex2html415"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html419" <B> Next:</B> <A NAME="tex2html418"
HREF="node30.html">Bibliography</A> HREF="node30.html">Bibliography</A>
<B> Up:</B> <A NAME="tex2html415" <B> Up:</B> <A NAME="tex2html414"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html409" <B> Previous:</B> <A NAME="tex2html408"
HREF="node28.html">Error Handling</A> HREF="node28.html">Error Handling</A>
&nbsp; <B> <A NAME="tex2html417" &nbsp; <B> <A NAME="tex2html416"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR>
<BR> <BR>
<BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H1><A NAME="SECTION000100000000000000000"></A><A NAME="sec:license"></A> <H1><A NAME="SECTION000100000000000000000"></A><A NAME="sec:license"></A>
@ -100,12 +101,10 @@ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE. POSSIBILITY OF SUCH DAMAGE.
</PRE> </PRE>
<P>
<BR><HR> <BR><HR>
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
Jens Lippmann, Marek Rouchal, Martin Wilck and others --> Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML> <HTML>
<HEAD> <HEAD>
<TITLE>Notational Conventions</TITLE> <TITLE>General Overview</TITLE>
<META NAME="description" CONTENT="Notational Conventions"> <META NAME="description" CONTENT="General Overview">
<META NAME="keywords" CONTENT="userhtml"> <META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document"> <META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global"> <META NAME="distribution" CONTENT="global">
@ -25,51 +25,182 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<A NAME="tex2html101" <DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html100"
HREF="node4.html"> HREF="node4.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html97" <A NAME="tex2html96"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html91" <A NAME="tex2html90"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html99" <A NAME="tex2html98"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html102" <B> Next:</B> <A NAME="tex2html101"
HREF="node4.html">Code Distribution</A> HREF="node4.html">Code Distribution</A>
<B> Up:</B> <A NAME="tex2html98" <B> Up:</B> <A NAME="tex2html97"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html92" <B> Previous:</B> <A NAME="tex2html91"
HREF="node2.html">General Overview</A> HREF="node2.html">Contents</A>
&nbsp; <B> <A NAME="tex2html100" &nbsp; <B> <A NAME="tex2html99"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR>
<BR> <BR>
<BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H1><A NAME="SECTION00030000000000000000"></A><A NAME="sec:conventions"></A> <H1><A NAME="SECTION00030000000000000000"></A><A NAME="sec:overview"></A>
<BR> <BR>
Notational Conventions General Overview
</H1> </H1>
<P> <P>
- caratteri tipografici usati nella guida (vedi guida ML recente e guida Aztec) The M<SMALL>ULTI-</SMALL>L<SMALL>EVEL </SMALL>D<SMALL>OMAIN </SMALL>D<SMALL>ECOMPOSITION </SMALL>P<SMALL>ARALLEL </SMALL>P<SMALL>RECONDITIONERS </SMALL>P<SMALL>ACKAGE BASED ON
<BR> - convenzioni sui nomi di routine (anche differenza nei nomi tra high-level e </SMALL>PSBLAS (MLD2P4) provides <SPAN CLASS="textit">multi-level Schwarz preconditioners</SPAN>&nbsp;[<A
medium-level?), strutture dati, moduli, costanti, etc. (vedi guida psblas) HREF="node30.html#dd2_96">20</A>],
<BR> - versione reale e complessa, singola e doppia precisione to be used in the iterative solutions of sparse linear systems:
<BR>
<DIV ALIGN="RIGHT" CLASS="mathdisplay">
<!-- MATH
\begin{equation}
Ax=b,
\end{equation}
-->
<A NAME="system1"></A>
<TABLE WIDTH="100%" ALIGN="CENTER">
<TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="system1"></A><IMG
WIDTH="57" HEIGHT="30" BORDER="0"
SRC="img1.png"
ALT="\begin{displaymath}
Ax=b,
\end{displaymath}"></TD>
<TD CLASS="eqno" WIDTH=10 ALIGN="RIGHT">
(<SPAN CLASS="arabic">1</SPAN>)</TD></TR>
</TABLE>
<BR CLEAR="ALL"></DIV><P></P>
where <SPAN CLASS="MATH"><IMG
WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img2.png"
ALT="$A$"></SPAN> is a square, real or complex, sparse matrix with a symmetric sparsity pattern.
These preconditioners have the following general features:
<UL>
<LI>both <SPAN CLASS="textit">additive and hybrid multilevel</SPAN> variants are implemented,
i.e. variants that are additive among the levels and inside each level, and variants
that are multiplicative among the levels and additive inside each level;
the basic Additive Schwarz (AS) preconditioners are obtained by considering only one level;
</LI>
<LI>a <SPAN CLASS="textit">purely algebraic</SPAN> approach is used to
generate a sequence of coarse-level corrections to a basic AS preconditioner, without
explicitly using any information on the geometry of the original problem (e.g. the
discretization of a PDE). The <SPAN CLASS="textit">smoothed aggregation</SPAN> technique is applied
as algebraic coarsening strategy&nbsp;[<A
HREF="node30.html#BREZINA_VANEK">1</A>,<A
HREF="node30.html#VANEK_MANDEL_BREZINA">24</A>].
</LI>
</UL>
<P>
The package is written in <SPAN CLASS="textit">Fortran&nbsp;95</SPAN>, following an
<SPAN CLASS="textit">object-oriented approach</SPAN> through the exploitation of features
such as abstract data type creation, functional
overloading and dynamic memory management.
The parallel implementation is based
on a Single Program Multiple Data (SPMD) paradigm for distributed-memory architectures.
Single and double precision implementations of MLD2P4 are available for both the
real and the complex case, that can be used through a single interface.
<P>
MLD2P4 has been designed to implement scalable and easy-to-use multilevel preconditioners
in the context of the <SPAN CLASS="textit">PSBLAS (Parallel Sparse BLAS)
computational framework</SPAN>&nbsp;[<A
HREF="node30.html#psblas_00">15</A>].
PSBLAS is a library originally developed to address the parallel implementation of
iterative solvers for sparse linear system, by providing basic linear algebra
operators and data management facilities for distributed sparse matrices; it
also includes parallel Krylov solvers, built on the top of the basic PSBLAS kernels.
The preconditioners available in MLD2P4 can be used with these Krylov solvers.
The choice of PSBLAS has been mainly motivated by the need of having
a portable and efficient software infrastructure implementing ``de facto'' standard
parallel sparse linear algebra kernels, to pursue goals such as performance,
portability, modularity ed extensibility in the development of the preconditioner
package. On the other hand, the implementation of MLD2P4 has led to some
revisions and extentions of the PSBLAS kernels, leading to the
recent PSBLAS 2.0 version&nbsp;[<A
HREF="node30.html#PSBLASGUIDE">14</A>]. The inter-process comunication required
by MLD2P4 is encapsulated into the PSBLAS routines, except few cases where
MPI&nbsp;[<A
HREF="node30.html#MPI1">21</A>] is explicitly called. Therefore, MLD2P4 can be run on any parallel
machine where PSBLAS and MPI implementations are available.
<P>
MLD2P4 has a layered and modular software architecture where three main layers can be identified.
The lower layer consists of the PSBLAS kernels, the middle one implements
the construction and application phases of the preconditioners, and the upper one
provides a uniform and easy-to-use interface to all the preconditioners.
This architecture allows for different levels of use of the package:
few black-box routines at the upper layer allow non-expert users to easily
build any preconditioner available in MLD2P4 and to apply it within a PSBLAS Krylov solver.
On the other hand, the routines of the middle and lower layer can be used and extended
by expert users to build new versions of multi-level Schwarz preconditioners.
We provide here a description of the upper-layer routines, but not of the
medium-layer ones.
<P>
This guide is organized as follows. General information on the distribution of the source code
is reported in Section&nbsp;<A HREF="node4.html#sec:distribution">2</A>, while details on the configuration
and installation of the package are given in Section&nbsp;<A HREF="node5.html#sec:building">3</A>. A description of
multi-level Schwarz preconditioners based on smoothed aggregation is provided
in Section&nbsp;<A HREF="node10.html#sec:background">4</A>, to help the users in choosing among the different preconditioners
implemented in MLD2P4. The basics for building and applying the preconditioners
with the Krylov solvers implemented in PSBLAS are reported in Section&nbsp;<A HREF="node13.html#sec:started">5</A>, where the
Fortran 95 codes of a few sample programs are also shown. A reference guide for
the upper-layer routines of MLD2P4, that are the user interface, is provided
in Section&nbsp;<A HREF="node15.html#sec:userinterface">6</A>. The error handling mechanism used by the package is briefly described
in Section&nbsp;<A HREF="node28.html#sec:errors">7</A>. The copyright terms concerning the distribution and modification
of MLD2P4 are reported in Appendix&nbsp;<A HREF="node29.html#sec:license">A</A>.
<P>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html100"
HREF="node4.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html96"
HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html90"
HREF="node2.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html98"
HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<BR><HR> <B> Next:</B> <A NAME="tex2html101"
HREF="node4.html">Code Distribution</A>
<B> Up:</B> <A NAME="tex2html97"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html91"
HREF="node2.html">Contents</A>
&nbsp; <B> <A NAME="tex2html99"
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,38 +25,42 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<A NAME="tex2html430" <DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html429"
HREF="node31.html"> HREF="node31.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html426" <A NAME="tex2html425"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html420" <A NAME="tex2html419"
HREF="node29.html"> HREF="node29.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html428" <A NAME="tex2html427"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html431" <B> Next:</B> <A NAME="tex2html430"
HREF="node31.html">About this document ...</A> HREF="node31.html">About this document ...</A>
<B> Up:</B> <A NAME="tex2html427" <B> Up:</B> <A NAME="tex2html426"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html421" <B> Previous:</B> <A NAME="tex2html420"
HREF="node29.html">License</A> HREF="node29.html">License</A>
&nbsp; <B> <A NAME="tex2html429" &nbsp; <B> <A NAME="tex2html428"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR><BR> <BR><BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H2><A NAME="SECTION000110000000000000000"> <H2><A NAME="SECTION000110000000000000000">
Bibliography</A> Bibliography</A>
</H2><DL COMPACT><DD><P></P><DT><A NAME="BREZINA_VANEK">1</A> </H2><DL COMPACT><DD>
<P>
<P></P><DT><A NAME="BREZINA_VANEK">1</A>
<DD> <DD>
M.&nbsp;Brezina, P.&nbsp;Vanek, M.&nbsp;Brezina, P.&nbsp;Vanek,
<EM>A Black-Box Iterative Solver Based on a Two-Level Schwarz Method</EM>, <EM>A Black-Box Iterative Solver Based on a Two-Level Schwarz Method</EM>,
@ -110,57 +114,83 @@ ACM Transactions on Mathematical Software, 30, 2004, 196-199.
J.W.&nbsp;Demmel, S.C.&nbsp;Eisenstat, J.R.&nbsp;Gilbert, X.S.&nbsp;Li and J.W.H.&nbsp;Liu, J.W.&nbsp;Demmel, S.C.&nbsp;Eisenstat, J.R.&nbsp;Gilbert, X.S.&nbsp;Li and J.W.H.&nbsp;Liu,
A supernodal approach to sparse partial pivoting, A supernodal approach to sparse partial pivoting,
SIAM Journal on Matrix Analysis and Applications, 20, 3, 1999, 720-755. SIAM Journal on Matrix Analysis and Applications, 20, 3, 1999, 720-755.
<P></P><DT><A NAME="EFSTATHIOU">10</A> <P></P><DT><A NAME="blas3">10</A>
<DD>
J.&nbsp;J.&nbsp;Dongarra, J.&nbsp;Du Croz, I.&nbsp;S.&nbsp;Duff, S.&nbsp;Hammarling,
<SPAN CLASS="textit">A set of Level 3 Basic Linear Algebra Subprograms</SPAN>,
ACM Transactions on Mathematical Software, 16, 1990, 1-17.
<P></P><DT><A NAME="blas2">11</A>
<DD>
J.&nbsp;J.&nbsp;Dongarra, J.&nbsp;Du Croz, S.&nbsp;Hammarling, R.&nbsp;J.&nbsp;Hanson,
<SPAN CLASS="textit">An extended set of FORTRAN Basic Linear Algebra Subprograms</SPAN>,
ACM Transactions on Mathematical Software, 14, 1988, 1-17.
<P></P><DT><A NAME="BLACS">12</A>
<DD>
J.&nbsp;J.&nbsp;Dongarra and R.&nbsp;C.&nbsp;Whaley,
<EM>A User's Guide to the BLACS v.&nbsp;1.1</EM>,
Lapack Working Note 94, Tech. Rep. UT-CS-95-281, University of
Tennessee, March 1995 (updated May 1997).
<P></P><DT><A NAME="EFSTATHIOU">13</A>
<DD> <DD>
E.&nbsp;Efstathiou, J.&nbsp;G.&nbsp;Gander, E.&nbsp;Efstathiou, J.&nbsp;G.&nbsp;Gander,
<EM>Why Restricted Additive Schwarz Converges Faster than Additive Schwarz</EM>, <EM>Why Restricted Additive Schwarz Converges Faster than Additive Schwarz</EM>,
BIT Numerical Mathematics, 43, 2003, 945-959. BIT Numerical Mathematics, 43, 2003, 945-959.
<P></P><DT><A NAME="PSBLASGUIDE">11</A> <P></P><DT><A NAME="PSBLASGUIDE">14</A>
<DD> <DD>
S.&nbsp;Filippone, A.&nbsp;Buttari, S.&nbsp;Filippone, A.&nbsp;Buttari,
<EM>PSBLAS-2.3 User's Guide. A Reference Guide for the Parallel Sparse BLAS Library</EM>, <EM>PSBLAS-2.3 User's Guide. A Reference Guide for the Parallel Sparse BLAS Library</EM>,
available from <TT>http://www.ce.uniroma2.it/psblas/</TT>. available from <TT>http://www.ce.uniroma2.it/psblas/</TT>.
<P></P><DT><A NAME="psblas_00">12</A> <P></P><DT><A NAME="psblas_00">15</A>
<DD> <DD>
S.&nbsp;Filippone, M.&nbsp;Colajanni, S.&nbsp;Filippone, M.&nbsp;Colajanni,
<EM>PSBLAS: A Library for Parallel Linear Algebra <EM>PSBLAS: A Library for Parallel Linear Algebra
Computation on Sparse Matrices</EM>, Computation on Sparse Matrices</EM>,
ACM Transactions on Mathematical Software, 26, 4, 2000, 527-550. ACM Transactions on Mathematical Software, 26, 4, 2000, 527-550.
<P></P><DT><A NAME="SUPERLUDIST">13</A> <P></P><DT><A NAME="MPI2">16</A>
<DD>
W.&nbsp;Gropp, S.&nbsp;Huss-Lederman, A.&nbsp;Lumsdaine, E.&nbsp;Lusk, B.&nbsp;Nitzberg, W.&nbsp;Saphir, M.&nbsp;Snir,
<EM>MPI: The Complete Reference. Volume 2 - The MPI-2 Extensions</EM>,
MIT Press, 1998.
<P></P><DT><A NAME="blas1">17</A>
<DD>
C.&nbsp;L.&nbsp;Lawson, R.&nbsp;J.&nbsp;Hanson, D.&nbsp;Kincaid, F.&nbsp;T.&nbsp;Krogh,
<SPAN CLASS="textit">Basic Linear Algebra Subprograms for FORTRAN usage</SPAN>,
ACM Transactions on Mathematical Software, 5, 1979, 308-323.
<P></P><DT><A NAME="SUPERLUDIST">18</A>
<DD> <DD>
X.&nbsp;S.&nbsp;Li, J.&nbsp;W.&nbsp;Demmel, <EM>SuperLU_DIST: A Scalable Distributed-memory X.&nbsp;S.&nbsp;Li, J.&nbsp;W.&nbsp;Demmel, <EM>SuperLU_DIST: A Scalable Distributed-memory
Sparse Direct Solver for Unsymmetric Linear Systems</EM>, Sparse Direct Solver for Unsymmetric Linear Systems</EM>,
ACM Transactions on Mathematical Software, 29, 2, 2003, 110-140. ACM Transactions on Mathematical Software, 29, 2, 2003, 110-140.
<P></P><DT><A NAME="Saad_book">14</A> <P></P><DT><A NAME="Saad_book">19</A>
<DD> <DD>
Y.&nbsp;Saad, Y.&nbsp;Saad,
<I>Iterative methods for sparse linear systems</I>, 2nd edition, <SPAN CLASS="textit">Iterative methods for sparse linear systems</SPAN>, 2nd edition,
SIAM, 2003 SIAM, 2003
<P> <P>
<P></P><DT><A NAME="dd2_96">15</A> <P></P><DT><A NAME="dd2_96">20</A>
<DD> <DD>
B.&nbsp;Smith, P.&nbsp;Bjorstad, W.&nbsp;Gropp, B.&nbsp;Smith, P.&nbsp;Bjorstad, W.&nbsp;Gropp,
<EM>Domain Decomposition: Parallel Multilevel Methods for Elliptic <EM>Domain Decomposition: Parallel Multilevel Methods for Elliptic
Partial Differential Equations</EM>, Partial Differential Equations</EM>,
Cambridge University Press, 1996. Cambridge University Press, 1996.
<P></P><DT><A NAME="MPI1">16</A> <P></P><DT><A NAME="MPI1">21</A>
<DD> <DD>
M.&nbsp;Snir, S.&nbsp;Otto, S.&nbsp;Huss-Lederman, D.&nbsp;Walker, J.&nbsp;Dongarra, M.&nbsp;Snir, S.&nbsp;Otto, S.&nbsp;Huss-Lederman, D.&nbsp;Walker, J.&nbsp;Dongarra,
<EM>MPI: The Complete Reference. Volume 1 - The MPI Core</EM>, second edition, <EM>MPI: The Complete Reference. Volume 1 - The MPI Core</EM>, second edition,
MIT Press, 1998. MIT Press, 1998.
<P></P><DT><A NAME="StubenGMD69_99">17</A> <P></P><DT><A NAME="StubenGMD69_99">22</A>
<DD> <DD>
K.&nbsp;St&#252;ben, K.&nbsp;St&#252;ben,
<EM>Algebraic Multigrid (AMG): an Introduction with Applications</EM>, <EM>Algebraic Multigrid (AMG): an Introduction with Applications</EM>,
in A.&nbsp;Sch&#252;ller, U.&nbsp;Trottenberg, C.&nbsp;Oosterlee, editors, Multigrid, in A.&nbsp;Sch&#252;ller, U.&nbsp;Trottenberg, C.&nbsp;Oosterlee, editors, Multigrid,
Academic Press, 2000. Academic Press, 2000.
<P></P><DT><A NAME="TUMINARO_TONG">18</A> <P></P><DT><A NAME="TUMINARO_TONG">23</A>
<DD> <DD>
R.&nbsp;S.&nbsp;Tuminaro, C.&nbsp;Tong, R.&nbsp;S.&nbsp;Tuminaro, C.&nbsp;Tong,
<EM>Parallel Smoothed Aggregation Multigrid: Aggregation Strategies on Massively Parallel Machines</EM>, <EM>Parallel Smoothed Aggregation Multigrid: Aggregation Strategies on Massively Parallel Machines</EM>,
in J. Donnelley, editor, Proceedings of SuperComputing 2000, Dallas, 2000. in J. Donnelley, editor, Proceedings of SuperComputing 2000, Dallas, 2000.
<P></P><DT><A NAME="VANEK_MANDEL_BREZINA">19</A> <P></P><DT><A NAME="VANEK_MANDEL_BREZINA">24</A>
<DD> <DD>
P.&nbsp;Vanek, J.&nbsp;Mandel and M.&nbsp;Brezina, P.&nbsp;Vanek, J.&nbsp;Mandel and M.&nbsp;Brezina,
<EM>Algebraic Multigrid by Smoothed Aggregation for Second and Fourth Order Elliptic Problems</EM>, <EM>Algebraic Multigrid by Smoothed Aggregation for Second and Fourth Order Elliptic Problems</EM>,
@ -173,7 +203,7 @@ Computing, 56, 1996, 179-196.
<BR><HR> <BR><HR>
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -23,30 +23,31 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<DIV CLASS="navigation"><!--Navigation Panel-->
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next_g.png"> SRC="file:/usr/share/latex2html/icons/next_g.png">
<A NAME="tex2html436" <A NAME="tex2html435"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html432" <A NAME="tex2html431"
HREF="node30.html"> HREF="node30.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html438" <A NAME="tex2html437"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Up:</B> <A NAME="tex2html437" <B> Up:</B> <A NAME="tex2html436"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html433" <B> Previous:</B> <A NAME="tex2html432"
HREF="node30.html">Bibliography</A> HREF="node30.html">Bibliography</A>
&nbsp; <B> <A NAME="tex2html439" &nbsp; <B> <A NAME="tex2html438"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR>
<BR> <BR>
<BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H1><A NAME="SECTION000120000000000000000"> <H1><A NAME="SECTION000120000000000000000">
@ -65,13 +66,13 @@ Copyright &#169; 1997, 1998, 1999,
Mathematics Department, Macquarie University, Sydney. Mathematics Department, Macquarie University, Sydney.
<P> <P>
The command line arguments were: <BR> The command line arguments were: <BR>
<STRONG>latex2html</STRONG> <TT>-dir ../html userhtml.tex</TT> <STRONG>latex2html</STRONG> <TT>-html_version 4.0 -dir ../../html -mkdir -debug userhtml.tex</TT>
<P> <P>
The translation was initiated by Salvatore Filippone on 2008-07-22 The translation was initiated by Salvatore Filippone on 2008-07-23
<BR><HR> <BR><HR>
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,34 +25,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<A NAME="tex2html113" <DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html112"
HREF="node5.html"> HREF="node5.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html109" <A NAME="tex2html108"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html103" <A NAME="tex2html102"
HREF="node3.html"> HREF="node3.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html111" <A NAME="tex2html110"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html114" <B> Next:</B> <A NAME="tex2html113"
HREF="node5.html">Configuring and Building MLD2P4</A> HREF="node5.html">Configuring and Building MLD2P4</A>
<B> Up:</B> <A NAME="tex2html110" <B> Up:</B> <A NAME="tex2html109"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html104" <B> Previous:</B> <A NAME="tex2html103"
HREF="node3.html">Notational Conventions</A> HREF="node3.html">General Overview</A>
&nbsp; <B> <A NAME="tex2html112" &nbsp; <B> <A NAME="tex2html111"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR>
<BR> <BR>
<BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H1><A NAME="SECTION00040000000000000000"></A><A NAME="sec:distribution"></A> <H1><A NAME="SECTION00040000000000000000"></A><A NAME="sec:distribution"></A>
@ -61,25 +62,25 @@ Code Distribution
</H1> </H1>
<P> <P>
MLD2P4 is available from our project web site MLD2P4 is available from the web site
<BLOCKQUOTE> <BLOCKQUOTE>
<TT>http://www.mld2p4.it <TT>http://www.mld2p4.it</TT>
</TT></BLOCKQUOTE> </BLOCKQUOTE>
where you will also find contact points for further information and where contact points for further information can be also found.
bug reports. To report bugs or ask general usage questions, please, send an email to
<TT>bugreport@mld2p4.it</TT>.
<P> <P>
The software is available under a modified BSD license, as specified The software is available under a modified BSD license, as specified
in appendix&nbsp;<A HREF="node29.html#sec:license"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]" in Appendix&nbsp;<A HREF="node29.html#sec:license">A</A>; please note that some of the optional
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>; please note that some of the optional
third party libraries may be licensed under a different and more third party libraries may be licensed under a different and more
stringent license, most notably the GPL, and this should be taken into stringent license, most notably the GPL, and this should be taken into
account when treating derived works. account when treating derived works.
<BR><HR> <BR><HR>
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,34 +25,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<A NAME="tex2html125" <DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html124"
HREF="node6.html"> HREF="node6.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html121" <A NAME="tex2html120"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html115" <A NAME="tex2html114"
HREF="node4.html"> HREF="node4.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html123" <A NAME="tex2html122"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html126" <B> Next:</B> <A NAME="tex2html125"
HREF="node6.html">Prerequisites</A> HREF="node6.html">Prerequisites</A>
<B> Up:</B> <A NAME="tex2html122" <B> Up:</B> <A NAME="tex2html121"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html116" <B> Previous:</B> <A NAME="tex2html115"
HREF="node4.html">Code Distribution</A> HREF="node4.html">Code Distribution</A>
&nbsp; <B> <A NAME="tex2html124" &nbsp; <B> <A NAME="tex2html123"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR>
<BR> <BR>
<BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H1><A NAME="SECTION00050000000000000000"></A><A NAME="sec:building"></A> <H1><A NAME="SECTION00050000000000000000"></A><A NAME="sec:building"></A>
@ -63,18 +64,18 @@ Configuring and Building MLD2P4
To build MLD2P4 it is necessary to set up a Makefile with appropriate To build MLD2P4 it is necessary to set up a Makefile with appropriate
values for your system; this is done by means of the <code>configure</code> values for your system; this is done by means of the <code>configure</code>
script. The distribution also includes the autoconf and automake script. The distribution also includes the autoconf and automake
sources employed to generate the script, but this should not normally sources employed to generate the script, but usually this is not needed
be needed to build the software. to build the software.
<P> <P>
MLD2P4 is implemented almost entirely in Fortran&nbsp;95, with some MLD2P4 is implemented almost entirely in Fortran&nbsp;95, with some
interfaces to external libraries in C; we require the Fortran compiler interfaces to external libraries in C; the Fortran compiler
to support the Fortran&nbsp;95 standard plus the extension TR15581, which must support the Fortran&nbsp;95 standard plus the extension TR15581, which
enhances the usability of <code>ALLOCATABLE</code> variables. Most modern enhances the usability of <code>ALLOCATABLE</code> variables. Most modern
Fortran compilers support this language level. In particular, this is Fortran compilers support this language level. In particular, this is
supported by the GNU Fortran compiler as of version 4.2.0; however we supported by the GNU Fortran compiler as of version 4.2.0; however we
recommend to use the latest available release (4.3.1 at the time of recommend to use the latest available release (4.3.1 at the time of
this writing§). this writing).
The software defines data types and interfaces for The software defines data types and interfaces for
real and complex data, in both single and double precision. real and complex data, in both single and double precision.
@ -83,21 +84,21 @@ real and complex data, in both single and double precision.
<!--Table of Child-Links--> <!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A> <A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL> <UL CLASS="ChildLinks">
<LI><A NAME="tex2html127" <LI><A NAME="tex2html126"
HREF="node6.html">Prerequisites</A> HREF="node6.html">Prerequisites</A>
<LI><A NAME="tex2html128" <LI><A NAME="tex2html127"
HREF="node7.html">Optional third party libraries</A> HREF="node7.html">Optional third party libraries</A>
<LI><A NAME="tex2html129" <LI><A NAME="tex2html128"
HREF="node8.html">Configuration options</A> HREF="node8.html">Configuration options</A>
<LI><A NAME="tex2html130" <LI><A NAME="tex2html129"
HREF="node9.html">Example and test programs</A> HREF="node9.html">Example and test programs</A>
</UL> </UL>
<!--End of Table of Child-Links--> <!--End of Table of Child-Links-->
<BR><HR> <BR><HR>
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,48 +25,55 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<A NAME="tex2html141" <DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html140"
HREF="node7.html"> HREF="node7.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html137" <A NAME="tex2html136"
HREF="node5.html"> HREF="node5.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html131" <A NAME="tex2html130"
HREF="node5.html"> HREF="node5.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html139" <A NAME="tex2html138"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html142" <B> Next:</B> <A NAME="tex2html141"
HREF="node7.html">Optional third party libraries</A> HREF="node7.html">Optional third party libraries</A>
<B> Up:</B> <A NAME="tex2html138" <B> Up:</B> <A NAME="tex2html137"
HREF="node5.html">Configuring and Building MLD2P4</A> HREF="node5.html">Configuring and Building MLD2P4</A>
<B> Previous:</B> <A NAME="tex2html132" <B> Previous:</B> <A NAME="tex2html131"
HREF="node5.html">Configuring and Building MLD2P4</A> HREF="node5.html">Configuring and Building MLD2P4</A>
&nbsp; <B> <A NAME="tex2html140" &nbsp; <B> <A NAME="tex2html139"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR>
<BR> <BR>
<BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H2><A NAME="SECTION00051000000000000000"> <H2><A NAME="SECTION00051000000000000000">
Prerequisites</A> Prerequisites</A>
</H2> </H2>
<P>
The following base libraries are needed: The following base libraries are needed:
<DL> <DL>
<DT><STRONG>BLAS</STRONG></DT> <DT><STRONG>BLAS</STRONG></DT>
<DD>The Basic Linear Algebra subprograms. Many vendors provide <DD>The Basic Linear Algebra subprograms [<A
optimized versions; if no vendor version is available for a given HREF="node30.html#blas3">10</A>,<A
platform, the ATLAS software <code>http://www.netlib.org/atlas</code> HREF="node30.html#blas3">10</A>,<A
HREF="node30.html#blas1">17</A>].
Many vendors provide optimized versions; if no vendor version is
available for a given platform, the ATLAS software
(<code>http://math-atlas.sourceforge.net/</code>)
may be employed. The reference BLAS from Netlib may be employed. The reference BLAS from Netlib
<code>http://www.netlib.org/blas</code> are meant to define the standard (<code>http://www.netlib.org/blas</code>) are meant to define the standard
behaviour of the BLAS interface, so they not optimized for any behaviour of the BLAS interface, so they are not optimized for any
particular plaftorm, and should only be used as a last particular plaftorm, and should only be used as a last
resort. Note that BLAS computation form a relatively small part of resort. Note that BLAS computation form a relatively small part of
the MLD2P4/PSBLAS computations; they are however critical when using the MLD2P4/PSBLAS computations; they are however critical when using
@ -74,64 +81,73 @@ The following base libraries are needed:
libraries. libraries.
</DD> </DD>
<DT><STRONG>MPI</STRONG></DT> <DT><STRONG>MPI</STRONG></DT>
<DD>A version of MPI is available on most high performance <DD>A version of MPI [<A
computing system; we only require version 1.1. HREF="node30.html#MPI2">16</A>,<A
HREF="node30.html#MPI1">21</A>] is available on most high performance
computing system; only version 1.1 is required.
</DD> </DD>
<DT><STRONG>BLACS</STRONG></DT> <DT><STRONG>BLACS</STRONG></DT>
<DD>The Basic Linear Algebra Communication Subroutines are <DD>The Basic Linear Algebra Communication Subroutines
available in source form from <code>http://www.netlib.org/blacs</code>; [<A
HREF="node30.html#BLACS">12</A>] are available in source form from <code>http://www.netlib.org/blacs</code>;
some vendors include them in their parallel computing some vendors include them in their parallel computing
support libraries. support libraries.
</DD>
<DT><STRONG>PSBLAS</STRONG></DT>
<DD>Parallel Sparse BLAS [<A
HREF="node30.html#PSBLASGUIDE">14</A>,<A
HREF="node30.html#psblas_00">15</A>] is
available from
<BR><code>http://www.ce.uniroma2.it/psblas</code>; indeed, all the
prerequisites listed so far are also prerequisites of PSBLAS.
Version 2.3 (or later) is required. To build the MLD2P4 library
it is necessary to get access to
the source PSBLAS directory employed to build the version under use; after
the build process completes, only the compiled form of the library is
necessary to build user applications.
</DD> </DD>
</DL> </DL>
<P> <P>
The MLD2P4 software requires PSBLAS version 2.3 (at least), available Please note that the four previous libraries must have Fortran
from <code>http://www.ce.uniroma2.it/psblas</code>; indeed, all the interfaces compatible with MLD2P4;
prerequisites listed so far are also prerequisites of PSBLAS. Please
note that to build the MLD2P4 library it is necessary to get access to
the source PSBLAS directory used to build the version under use; after
the build process completes, only the compiled form of the library is
necessary to build user applications.
<P>
Please note that all the libraries listed so fare (BLAS, MPI, BLACS,
PSBLAS) must have Fortran interfaces compatible with the MLD2P4;
usually this means that they should all be built with the same usually this means that they should all be built with the same
compiler. compiler as MLD2P4.
<P> <P>
<HR>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html141" <A NAME="tex2html140"
HREF="node7.html"> HREF="node7.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html137" <A NAME="tex2html136"
HREF="node5.html"> HREF="node5.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html131" <A NAME="tex2html130"
HREF="node5.html"> HREF="node5.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html139" <A NAME="tex2html138"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html142" <B> Next:</B> <A NAME="tex2html141"
HREF="node7.html">Optional third party libraries</A> HREF="node7.html">Optional third party libraries</A>
<B> Up:</B> <A NAME="tex2html138" <B> Up:</B> <A NAME="tex2html137"
HREF="node5.html">Configuring and Building MLD2P4</A> HREF="node5.html">Configuring and Building MLD2P4</A>
<B> Previous:</B> <A NAME="tex2html132" <B> Previous:</B> <A NAME="tex2html131"
HREF="node5.html">Configuring and Building MLD2P4</A> HREF="node5.html">Configuring and Building MLD2P4</A>
&nbsp; <B> <A NAME="tex2html140" &nbsp; <B> <A NAME="tex2html139"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,34 +25,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<A NAME="tex2html153" <DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html152"
HREF="node8.html"> HREF="node8.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html149" <A NAME="tex2html148"
HREF="node5.html"> HREF="node5.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html143" <A NAME="tex2html142"
HREF="node6.html"> HREF="node6.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html151" <A NAME="tex2html150"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html154" <B> Next:</B> <A NAME="tex2html153"
HREF="node8.html">Configuration options</A> HREF="node8.html">Configuration options</A>
<B> Up:</B> <A NAME="tex2html150" <B> Up:</B> <A NAME="tex2html149"
HREF="node5.html">Configuring and Building MLD2P4</A> HREF="node5.html">Configuring and Building MLD2P4</A>
<B> Previous:</B> <A NAME="tex2html144" <B> Previous:</B> <A NAME="tex2html143"
HREF="node6.html">Prerequisites</A> HREF="node6.html">Prerequisites</A>
&nbsp; <B> <A NAME="tex2html152" &nbsp; <B> <A NAME="tex2html151"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR>
<BR> <BR>
<BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H2><A NAME="SECTION00052000000000000000"> <H2><A NAME="SECTION00052000000000000000">
@ -67,23 +68,29 @@ for multilevel preconditioners may change to reflect their presence.
<P> <P>
<DL> <DL>
<DT><STRONG>UMFPACK</STRONG></DT> <DT><STRONG>UMFPACK</STRONG></DT>
<DD>A sparse direct factorization package available from <DD>[<A
HREF="node30.html#UMFPACK">8</A>]
A sparse direct factorization package available from
<BR> <code>http://www.cise.ufl.edu/research/sparse/umfpack/</code>; <BR> <code>http://www.cise.ufl.edu/research/sparse/umfpack/</code>;
provides serial factorization and solution for double provides serial factorization and triangular system solution for double
precision real and complex double precision data. We have tested precision real and complex data. We have tested
versions 4.4 and 5.1; versions 4.4 and 5.1;
</DD> </DD>
<DT><STRONG>SuperLU</STRONG></DT> <DT><STRONG>SuperLU</STRONG></DT>
<DD>A sparse direct factorization package available from <DD>[<A
HREF="node30.html#SUPERLU">9</A>]
A sparse direct factorization package available from
<BR> <code>http://crd.lbl.gov/~xiaoye/SuperLU/</code>; provides serial <BR> <code>http://crd.lbl.gov/~xiaoye/SuperLU/</code>; provides serial
factorization and solution for single and double precision real and factorization and triangular system solution for single and double precision,
complex data. We have tested versions 3.0 and 3.1. real and complex data. We have tested versions 3.0 and 3.1.
</DD> </DD>
<DT><STRONG>SuperLU_Dist</STRONG></DT> <DT><STRONG>SuperLU_Dist</STRONG></DT>
<DD>A sparse direct factorization package available <DD>[<A
HREF="node30.html#SUPERLUDIST">18</A>]
A sparse direct factorization package available
from the same site as SuperLU; provides parallel factorization and from the same site as SuperLU; provides parallel factorization and
solution for real and complex double precision data. We have tested triangular system solution for double precision real and complex data.
version 2.1. We have tested version 2.1.
</DD> </DD>
</DL> </DL>
@ -91,7 +98,7 @@ for multilevel preconditioners may change to reflect their presence.
<BR><HR> <BR><HR>
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,34 +25,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<A NAME="tex2html165" <DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html164"
HREF="node9.html"> HREF="node9.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html161" <A NAME="tex2html160"
HREF="node5.html"> HREF="node5.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html155" <A NAME="tex2html154"
HREF="node7.html"> HREF="node7.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html163" <A NAME="tex2html162"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html166" <B> Next:</B> <A NAME="tex2html165"
HREF="node9.html">Example and test programs</A> HREF="node9.html">Example and test programs</A>
<B> Up:</B> <A NAME="tex2html162" <B> Up:</B> <A NAME="tex2html161"
HREF="node5.html">Configuring and Building MLD2P4</A> HREF="node5.html">Configuring and Building MLD2P4</A>
<B> Previous:</B> <A NAME="tex2html156" <B> Previous:</B> <A NAME="tex2html155"
HREF="node7.html">Optional third party libraries</A> HREF="node7.html">Optional third party libraries</A>
&nbsp; <B> <A NAME="tex2html164" &nbsp; <B> <A NAME="tex2html163"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR>
<BR> <BR>
<BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H2><A NAME="SECTION00053000000000000000"> <H2><A NAME="SECTION00053000000000000000">
@ -68,9 +69,10 @@ As a minimal example consider the following:
<PRE> <PRE>
./configure --with-psblas=/home/user/PSBLAS/psblas-2.3 ./configure --with-psblas=/home/user/PSBLAS/psblas-2.3
</PRE> </PRE>
This assumes that the various MPI compilers and support libraries are which assumes that the various MPI compilers and support libraries are
available in the standard directories on the system. Note that the available in the standard directories on the system, and specifies
PSBLAS build directory must be specified with an <EM>absolute</EM> path. only the PSBLAS build directory (note that the latter directory must
be specified with an <EM>absolute</EM> path).
The full set of options may be looked at by issuing the command The full set of options may be looked at by issuing the command
<code>./configure --help</code>, which produces: <code>./configure --help</code>, which produces:
<PRE> <PRE>
@ -133,7 +135,7 @@ Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-psblas The source directory for PSBLAS, for example, --with-psblas The source directory for PSBLAS, for example,
--with-psblas=/opt/packages/psblas-2.2 --with-psblas=/opt/packages/psblas-2.3
--with-libs List additional link flags here. For example, --with-libs List additional link flags here. For example,
--with-libs=-lspecial_system_lib or --with-libs=-lspecial_system_lib or
--with-libs=-L/path/to/libs --with-libs=-L/path/to/libs
@ -206,7 +208,7 @@ make install
<BR><HR> <BR><HR>
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -24,38 +24,40 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<A NAME="tex2html175" <DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html174"
HREF="node10.html"> HREF="node10.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A> SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html171" <A NAME="tex2html170"
HREF="node5.html"> HREF="node5.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A> SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html167" <A NAME="tex2html166"
HREF="node8.html"> HREF="node8.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A> SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html173" <A NAME="tex2html172"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html176" <B> Next:</B> <A NAME="tex2html175"
HREF="node10.html">Multi-level Domain Decomposition Background</A> HREF="node10.html">Multi-level Domain Decomposition Background</A>
<B> Up:</B> <A NAME="tex2html172" <B> Up:</B> <A NAME="tex2html171"
HREF="node5.html">Configuring and Building MLD2P4</A> HREF="node5.html">Configuring and Building MLD2P4</A>
<B> Previous:</B> <A NAME="tex2html168" <B> Previous:</B> <A NAME="tex2html167"
HREF="node8.html">Configuration options</A> HREF="node8.html">Configuration options</A>
&nbsp; <B> <A NAME="tex2html174" &nbsp; <B> <A NAME="tex2html173"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR>
<BR> <BR>
<BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H2><A NAME="SECTION00054000000000000000"> <H2><A NAME="SECTION00054000000000000000"></A><A NAME="sec:ex_and_test"></A>
Example and test programs</A> <BR>
Example and test programs
</H2> </H2>
The package contains the <code>examples</code> and <code>tests</code> directories; The package contains the <code>examples</code> and <code>tests</code> directories;
both of them are further divided into <code>fileread</code> and both of them are further divided into <code>fileread</code> and
@ -75,13 +77,13 @@ both of them are further divided into <code>fileread</code> and
</DD> </DD>
</DL> </DL>
The <code>fileread</code> directories contain sample programs that read The <code>fileread</code> directories contain sample programs that read
sparse matrices from files, according to the Matrix Market storage sparse matrices from files, according to the Matrix Market or the
format; the <code>pargen</code> instead generate matrices in full parallel Harwell-Boeing storage format; the <code>pargen</code> instead generate
mode from the discretization of a sample PDE. matrices in full parallel mode from the discretization of a sample PDE.
<BR><HR> <BR><HR>
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
@ -22,7 +22,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html13" <A NAME="tex2html13"
HREF="node1.html"> HREF="node1.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
@ -32,130 +33,60 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev_g.png"> SRC="file:/usr/share/latex2html/icons/prev_g.png">
<A NAME="tex2html11" <A NAME="tex2html11"
HREF="node1.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A> SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html14" <B> Next:</B> <A NAME="tex2html14"
HREF="node1.html">Contents</A> HREF="node1.html">Abstract</A>
&nbsp; <B> <A NAME="tex2html12" &nbsp; <B> <A NAME="tex2html12"
HREF="node1.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR>
<BR> <BR>
<BR></DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<BIG CLASS="XLARGE"><B>MLD2P4
<P>
MLD2P4 User's and Reference Guidetitle
<BR>
<TABLE WIDTH="100%">
<TR><TD>
<DIV ALIGN="RIGHT">
<FONT SIZE="+4"><B>MLD2P4
<BR>
<BR> <BR>
User's and Reference Guide
</B></FONT>
<BR> <BR>
<BR> User's and Reference Guide</B></BIG>
<BR> <BR><SPAN CLASS="textit"><BIG CLASS="LARGE">A guide for the Multi-Level Domain Decomposition <BR>
<BR><I><FONT SIZE="+2">A guide for the Multi-Level Domain Decomposition <BR>
<BR> <BR>
Parallel Preconditioners Package Parallel Preconditioners Package
based on PSBLAS</FONT></I> based on PSBLAS</BIG></SPAN>
<B>Pasqua D'Ambra</B>
</DIV></TD></TR>
</TABLE>
<P>
<BR> <BR>
<TABLE WIDTH="100%"> ICAR-CNR, Naples, Italy
<TR><TD>
<DIV ALIGN="RIGHT">
<FONT SIZE="+1"><B>Pasqua D'Ambra</B></FONT>
<BR><FONT SIZE="+1">ICAR-CNR, Naples, Italy
<BR> <BR>
<BR> <BR>
<BR> <BR>
<BR><FONT SIZE="+1"><B>Daniela di Serafino</B></FONT> <BR><B>Daniela di Serafino</B>
<BR><FONT SIZE="+1">Second University of Naples, Italy
<BR> <BR>
Second University of Naples, Italy
<BR> <BR>
<BR> <BR>
<BR><FONT SIZE="+1"><B>Salvatore Filippone</B></FONT>
<BR><FONT SIZE="+1">University of Rome ``Tor Vergata'', Italy
</FONT></FONT></FONT></DIV></TD></TR>
</TABLE>
<P>
<BR> <BR>
<TABLE WIDTH="100%"> <BR><B>Salvatore Filippone</B>
<TR><TD>
<DIV ALIGN="RIGHT">
<FONT SIZE="+1">Software version: 1.0
<BR> <BR>
July 22, 2008 University of Rome ``Tor Vergata'', Italy
Software version: 1.0
</FONT></DIV></TD></TR>
</TABLE>
<P>
<BR> <BR>
July 24, 2008
<BR> <BR>
<P> <P>
<P> <P>
<BR><HR>
<H3>Abstract:</H3>
<DIV>
MLD2P4 (M<SMALL>ULTI-</SMALL>L<SMALL>EVEL </SMALL>D<SMALL>OMAIN </SMALL>D<SMALL>ECOMPOSITION </SMALL>P<SMALL>ARALLEL </SMALL>P<SMALL>RECONDITIONERS </SMALL>P<SMALL>ACKAGE BASED ON
</SMALL>PSBLAS) is a package of parallel algebraic multi-level preconditioners.
It implements various versions of one-level additive and of multi-level additive
and hybrid Schwarz algorithms. In the multi-level case, a purely algebraic approach
is applied to generate coarse-level corrections, so that no geometric background is needed
concerning the matrix to be preconditioned. The matrix is required to be square, real
or complex, with a symmetric sparsity pattern.
<P>
MLD2P4 has been designed to provide scalable and easy-to-use preconditioners in the
context of the PSBLAS (Parallel Sparse Basic Linear Algebra Subprograms)
computational framework and can be used in conjuction with the Krylov solvers
available in this framework. MLD2P4 enables the user to easily specify different aspects
of a generic algebraic multilevel Schwarz preconditioner, thus allowing to search
for the ``best'' preconditioner for the problem at hand.
<P>
The package has been designed employing object-oriented techniques,
using Fortran 95, with interfaces to additional third party libraries
such as UMFPACK, SuperLU and SuperLU_Dist, that
can be exploited in building multi-level preconditioners. The parallel
implementation is based on a Single Program Multiple Data (SPMD)
paradigm for distributed-memory architectures; the inter-process data
communication is based on MPI and is managed mainly through PSBLAS.
<P>
This guide provides a brief description of the functionalities and
the user interface of MLD2P4.
</DIV>
<P>
<P>
<BR><HR>
<!--Table of Child-Links--> <!--Table of Child-Links-->
<A NAME="CHILD_LINKS"></A> <A NAME="CHILD_LINKS"></A>
<UL> <UL CLASS="ChildLinks">
<LI><A NAME="tex2html15" <LI><A NAME="tex2html15"
HREF="node1.html">Contents</A> HREF="node1.html">Abstract</A>
<LI><A NAME="tex2html16" <LI><A NAME="tex2html16"
HREF="node2.html">General Overview</A> HREF="node2.html">Contents</A>
<LI><A NAME="tex2html17" <LI><A NAME="tex2html17"
HREF="node3.html">Notational Conventions</A> HREF="node3.html">General Overview</A>
<LI><A NAME="tex2html18" <LI><A NAME="tex2html18"
HREF="node4.html">Code Distribution</A> HREF="node4.html">Code Distribution</A>
<LI><A NAME="tex2html19" <LI><A NAME="tex2html19"
@ -238,29 +169,10 @@ the user interface of MLD2P4.
HREF="node31.html">About this document ...</A> HREF="node31.html">About this document ...</A>
</UL> </UL>
<!--End of Table of Child-Links--> <!--End of Table of Child-Links-->
<HR> <BR><HR>
<!--Navigation Panel-->
<A NAME="tex2html13"
HREF="node1.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up_g.png">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev_g.png">
<A NAME="tex2html11"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html14"
HREF="node1.html">Contents</A>
&nbsp; <B> <A NAME="tex2html12"
HREF="node1.html">Contents</A></B>
<!--End of Navigation Panel-->
<ADDRESS> <ADDRESS>
Salvatore Filippone Salvatore Filippone
2008-07-22 2008-07-23
</ADDRESS> </ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -84,9 +84,9 @@
# #
TOPFILE = userguide.tex TOPFILE = userguide.tex
SECFILE = title.tex abstract.tex overview.tex conventions.tex distribution.tex \ SECFILE = title.tex abstract.tex overview.tex distribution.tex \
building.tex background.tex gettingstarted.tex userinterface.tex \ building.tex background.tex gettingstarted.tex userinterface.tex \
errors.tex bibliography.tex license.tex errors.tex bibliography.tex license.tex userhtml.tex
FIGDIR = figures FIGDIR = figures
XPDFFLAGS = XPDFFLAGS =

@ -1,4 +1,5 @@
\begin{abstract} \section*{Abstract}
\addcontentsline{toc}{section}{Abstract}
\textsc{MLD2P4 (Multi-Level Domain Decomposition Parallel Preconditioners Package based on \textsc{MLD2P4 (Multi-Level Domain Decomposition Parallel Preconditioners Package based on
PSBLAS}) is a package of parallel algebraic multi-level preconditioners. PSBLAS}) is a package of parallel algebraic multi-level preconditioners.
It implements various versions of one-level additive and of multi-level additive It implements various versions of one-level additive and of multi-level additive
@ -24,4 +25,3 @@ communication is based on MPI and is managed mainly through PSBLAS.
This guide provides a brief description of the functionalities and This guide provides a brief description of the functionalities and
the user interface of MLD2P4. the user interface of MLD2P4.
\end{abstract}

@ -29,7 +29,7 @@ in a coarse space, which globally couples the information related to the single
submatrices. submatrices.
\emph{Two-level Schwarz} preconditioners are obtained \emph{Two-level Schwarz} preconditioners are obtained
by combining basic (one-level) Schwarz preconditioners with a coarse-level by combining basic (one-level) Sch\-warz preconditioners with a coarse-level
correction. In this context, the one-level preconditioner is often correction. In this context, the one-level preconditioner is often
called `smoother'. Different two-level preconditioners are obtained by varying the called `smoother'. Different two-level preconditioners are obtained by varying the
choice of the smoother and of the coarse-level correction, and the choice of the smoother and of the coarse-level correction, and the

@ -1,10 +1,11 @@
%\section{Bibliography\label{sec:bib}} %\section{Bibliography\label{sec:bib}}
\begin{thebibliography}{99}
\addcontentsline{toc}{section}{\refname}
\markboth{\textsc{MLD2P4 User's and Reference Guide}} \markboth{\textsc{MLD2P4 User's and Reference Guide}}
{\textsc{References}} {\textsc{References}}
%\let\refname\relax %\let\refname\relax
\begin{thebibliography}{99}
% %
%\bibitem{PARA04FOREST} %\bibitem{PARA04FOREST}
%G.~Bella, S.~Filippone, A.~De Maio, A., Testa, M.: %G.~Bella, S.~Filippone, A.~De Maio, A., Testa, M.:
@ -81,11 +82,21 @@ J.W.~Demmel, S.C.~Eisenstat, J.R.~Gilbert, X.S.~Li and J.W.H.~Liu,
A supernodal approach to sparse partial pivoting, A supernodal approach to sparse partial pivoting,
SIAM Journal on Matrix Analysis and Applications, 20, 3, 1999, 720--755. SIAM Journal on Matrix Analysis and Applications, 20, 3, 1999, 720--755.
% %
%\bibitem{BLACS} \bibitem{blas3}
%J.~J.~Dongarra and R.~C.~Whaley, J.~J.~Dongarra, J.~Du Croz, I.~S.~Duff, S.~Hammarling,
%{\em A User's Guide to the BLACS v.~1.1}, \emph{A set of Level 3 Basic Linear Algebra Subprograms},
%Lapack Working Note 94, Tech.\ Rep.\ UT-CS-95-281, University of ACM Transactions on Mathematical Software, 16, 1990, 1--17.
%Tennessee, March 1995 (updated May 1997). %
\bibitem{blas2}
J.~J.~Dongarra, J.~Du Croz, S.~Hammarling, R.~J.~Hanson,
\emph{An extended set of FORTRAN Basic Linear Algebra Subprograms},
ACM Transactions on Mathematical Software, 14, 1988, 1--17.
%
\bibitem{BLACS}
J.~J.~Dongarra and R.~C.~Whaley,
{\em A User's Guide to the BLACS v.~1.1},
Lapack Working Note 94, Tech.\ Rep.\ UT-CS-95-281, University of
Tennessee, March 1995 (updated May 1997).
% %
%\bibitem{sblas_97} %\bibitem{sblas_97}
%I.~Duff, M.~Marrone, G.~Radicati and C.~Vittoli, %I.~Duff, M.~Marrone, G.~Radicati and C.~Vittoli,
@ -114,6 +125,17 @@ S.~Filippone, M.~Colajanni,
{\em PSBLAS: A Library for Parallel Linear Algebra {\em PSBLAS: A Library for Parallel Linear Algebra
Computation on Sparse Matrices}, Computation on Sparse Matrices},
ACM Transactions on Mathematical Software, 26, 4, 2000, 527--550. ACM Transactions on Mathematical Software, 26, 4, 2000, 527--550.
%
\bibitem{MPI2}
W.~Gropp, S.~Huss-Lederman, A.~Lumsdaine, E.~Lusk, B.~Nitzberg, W.~Saphir, M.~Snir,
{\em MPI: The Complete Reference. Volume 2 - The MPI-2 Extensions},
MIT Press, 1998.
%
\bibitem{blas1}
C.~L.~Lawson, R.~J.~Hanson, D.~Kincaid, F.~T.~Krogh,
\emph{Basic Linear Algebra Subprograms for FORTRAN usage},
ACM Transactions on Mathematical Software, 5, 1979, 308--323.
%
\bibitem{SUPERLUDIST} \bibitem{SUPERLUDIST}
X.~S.~Li, J.~W.~Demmel, {\em SuperLU\_DIST: A Scalable Distributed-memory X.~S.~Li, J.~W.~Demmel, {\em SuperLU\_DIST: A Scalable Distributed-memory
Sparse Direct Solver for Unsymmetric Linear Systems}, Sparse Direct Solver for Unsymmetric Linear Systems},
@ -164,7 +186,7 @@ Cambridge University Press, 1996.
M.~Snir, S.~Otto, S.~Huss-Lederman, D.~Walker, J.~Dongarra, M.~Snir, S.~Otto, S.~Huss-Lederman, D.~Walker, J.~Dongarra,
{\em MPI: The Complete Reference. Volume 1 - The MPI Core}, second edition, {\em MPI: The Complete Reference. Volume 1 - The MPI Core}, second edition,
MIT Press, 1998. MIT Press, 1998.
% %%
\bibitem{StubenGMD69_99} \bibitem{StubenGMD69_99}
K.~St\"{u}ben, K.~St\"{u}ben,
{\em Algebraic Multigrid (AMG): an Introduction with Applications}, {\em Algebraic Multigrid (AMG): an Introduction with Applications},

@ -4,55 +4,56 @@
To build MLD2P4 it is necessary to set up a Makefile with appropriate To build MLD2P4 it is necessary to set up a Makefile with appropriate
values for your system; this is done by means of the \verb|configure| values for your system; this is done by means of the \verb|configure|
script. The distribution also includes the autoconf and automake script. The distribution also includes the autoconf and automake
sources employed to generate the script, but this should not normally sources employed to generate the script, but usually this is not needed
be needed to build the software. to build the software.
MLD2P4 is implemented almost entirely in Fortran~95, with some MLD2P4 is implemented almost entirely in Fortran~95, with some
interfaces to external libraries in C; we require the Fortran compiler interfaces to external libraries in C; the Fortran compiler
to support the Fortran~95 standard plus the extension TR15581, which must support the Fortran~95 standard plus the extension TR15581, which
enhances the usability of \verb|ALLOCATABLE| variables. Most modern enhances the usability of \verb|ALLOCATABLE| variables. Most modern
Fortran compilers support this language level. In particular, this is Fortran compilers support this language level. In particular, this is
supported by the GNU Fortran compiler as of version 4.2.0; however we supported by the GNU Fortran compiler as of version 4.2.0; however we
recommend to use the latest available release (4.3.1 at the time of recommend to use the latest available release (4.3.1 at the time of
this writing§). this writing).
The software defines data types and interfaces for The software defines data types and interfaces for
real and complex data, in both single and double precision. real and complex data, in both single and double precision.
\subsection{Prerequisites} \subsection{Prerequisites}
The following base libraries are needed: The following base libraries are needed:
\begin{description} \begin{description}
\item[BLAS] The Basic Linear Algebra subprograms. Many vendors provide \item[BLAS] The Basic Linear Algebra subprograms \cite{blas3,blas3,blas1}.
optimized versions; if no vendor version is available for a given Many vendors provide optimized versions; if no vendor version is
platform, the ATLAS software \verb!http://www.netlib.org/atlas! available for a given platform, the ATLAS software
(\verb!http://math-atlas.sourceforge.net/!)
may be employed. The reference BLAS from Netlib may be employed. The reference BLAS from Netlib
\verb|http://www.netlib.org/blas| are meant to define the standard (\verb|http://www.netlib.org/blas|) are meant to define the standard
behaviour of the BLAS interface, so they not optimized for any behaviour of the BLAS interface, so they are not optimized for any
particular plaftorm, and should only be used as a last particular plaftorm, and should only be used as a last
resort. Note that BLAS computation form a relatively small part of resort. Note that BLAS computation form a relatively small part of
the MLD2P4/PSBLAS computations; they are however critical when using the MLD2P4/PSBLAS computations; they are however critical when using
preconditioners based on the UMFPACK or SuperLU third party preconditioners based on the UMFPACK or SuperLU third party
libraries. libraries.
\item[MPI] A version of MPI is available on most high performance \item[MPI] A version of MPI \cite{MPI2,MPI1} is available on most high performance
computing system; we only require version 1.1. computing system; only version 1.1 is required.
\item[BLACS] The Basic Linear Algebra Communication Subroutines are \item[BLACS] The Basic Linear Algebra Communication Subroutines
available in source form from \verb|http://www.netlib.org/blacs|; \cite{BLACS} are available in source form from \verb|http://www.netlib.org/blacs|;
some vendors include them in their parallel computing some vendors include them in their parallel computing
support libraries. support libraries.
\item[PSBLAS] Parallel Sparse BLAS \cite{PSBLASGUIDE,psblas_00} is
available from \\ \verb|http://www.ce.uniroma2.it/psblas|; indeed, all the
prerequisites listed so far are also prerequisites of PSBLAS.
Version 2.3 (or later) is required. To build the MLD2P4 library
it is necessary to get access to
the source PSBLAS directory employed to build the version under use; after
the build process completes, only the compiled form of the library is
necessary to build user applications.
\end{description} \end{description}
The MLD2P4 software requires PSBLAS version 2.3 (at least), available Please note that the four previous libraries must have Fortran
from \verb|http://www.ce.uniroma2.it/psblas|; indeed, all the interfaces compatible with MLD2P4;
prerequisites listed so far are also prerequisites of PSBLAS. Please
note that to build the MLD2P4 library it is necessary to get access to
the source PSBLAS directory used to build the version under use; after
the build process completes, only the compiled form of the library is
necessary to build user applications.
Please note that all the libraries listed so fare (BLAS, MPI, BLACS,
PSBLAS) must have Fortran interfaces compatible with the MLD2P4;
usually this means that they should all be built with the same usually this means that they should all be built with the same
compiler. compiler as MLD2P4.
\subsection{Optional third party libraries} \subsection{Optional third party libraries}
@ -61,19 +62,22 @@ note that these are optional, but if you enable them some defaults
for multilevel preconditioners may change to reflect their presence. for multilevel preconditioners may change to reflect their presence.
\begin{description} \begin{description}
\item[UMFPACK] A sparse direct factorization package available from\\ \item[UMFPACK] \cite{UMFPACK}
A sparse direct factorization package available from \\
\verb|http://www.cise.ufl.edu/research/sparse/umfpack/|; \verb|http://www.cise.ufl.edu/research/sparse/umfpack/|;
provides serial factorization and solution for double provides serial factorization and triangular system solution for double
precision real and complex double precision data. We have tested precision real and complex data. We have tested
versions 4.4 and 5.1; versions 4.4 and 5.1;
\item[SuperLU] A sparse direct factorization package available from \\ \item[SuperLU] \cite{SUPERLU}
A sparse direct factorization package available from \\
\verb|http://crd.lbl.gov/~xiaoye/SuperLU/|; provides serial \verb|http://crd.lbl.gov/~xiaoye/SuperLU/|; provides serial
factorization and solution for single and double precision real and factorization and triangular system solution for single and double precision,
complex data. We have tested versions 3.0 and 3.1. real and complex data. We have tested versions 3.0 and 3.1.
\item[SuperLU\_Dist] A sparse direct factorization package available \item[SuperLU\_Dist] \cite{SUPERLUDIST}
A sparse direct factorization package available
from the same site as SuperLU; provides parallel factorization and from the same site as SuperLU; provides parallel factorization and
solution for real and complex double precision data. We have tested triangular system solution for double precision real and complex data.
version 2.1. We have tested version 2.1.
\end{description} \end{description}
\subsection{Configuration options} \subsection{Configuration options}
@ -85,9 +89,10 @@ As a minimal example consider the following:
\begin{verbatim} \begin{verbatim}
./configure --with-psblas=/home/user/PSBLAS/psblas-2.3 ./configure --with-psblas=/home/user/PSBLAS/psblas-2.3
\end{verbatim} \end{verbatim}
This assumes that the various MPI compilers and support libraries are which assumes that the various MPI compilers and support libraries are
available in the standard directories on the system. Note that the available in the standard directories on the system, and specifies
PSBLAS build directory must be specified with an {\em absolute} path. only the PSBLAS build directory (note that the latter directory must
be specified with an {\em absolute} path).
The full set of options may be looked at by issuing the command The full set of options may be looked at by issuing the command
\verb|./configure --help|, which produces: \verb|./configure --help|, which produces:
\begin{verbatim} \begin{verbatim}
@ -150,7 +155,7 @@ Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-psblas The source directory for PSBLAS, for example, --with-psblas The source directory for PSBLAS, for example,
--with-psblas=/opt/packages/psblas-2.2 --with-psblas=/opt/packages/psblas-2.3
--with-libs List additional link flags here. For example, --with-libs List additional link flags here. For example,
--with-libs=-lspecial_system_lib or --with-libs=-lspecial_system_lib or
--with-libs=-L/path/to/libs --with-libs=-L/path/to/libs
@ -218,7 +223,7 @@ followed (optionally) by
make install make install
\end{verbatim} \end{verbatim}
\subsection{Example and test programs} \subsection{Example and test programs\label{sec:ex_and_test}}
The package contains the \verb|examples| and \verb|tests| directories; The package contains the \verb|examples| and \verb|tests| directories;
both of them are further divided into \verb|fileread| and both of them are further divided into \verb|fileread| and
\verb|pargen| subdirectories. Their purpose is as follows: \verb|pargen| subdirectories. Their purpose is as follows:
@ -233,6 +238,6 @@ both of them are further divided into \verb|fileread| and
implemented in the library. implemented in the library.
\end{description} \end{description}
The \verb|fileread| directories contain sample programs that read The \verb|fileread| directories contain sample programs that read
sparse matrices from files, according to the Matrix Market storage sparse matrices from files, according to the Matrix Market or the
format; the \verb|pargen| instead generate matrices in full parallel Harwell-Boeing storage format; the \verb|pargen| instead generate
mode from the discretization of a sample PDE. matrices in full parallel mode from the discretization of a sample PDE.

@ -1,8 +0,0 @@
\section{Notational Conventions\label{sec:conventions}}
\markboth{\textsc{MLD2P4 User's and Reference Guide}}
{\textsc{\ref{sec:conventions} Notational Conventions}}
- caratteri tipografici usati nella guida (vedi guida ML recente e guida Aztec) \\
- convenzioni sui nomi di routine (anche differenza nei nomi tra high-level e
medium-level?), strutture dati, moduli, costanti, etc. (vedi guida psblas) \\
- versione reale e complessa, singola e doppia precisione\\

@ -3,15 +3,17 @@
{\textsc{\ref{sec:distribution} Code Distribution}} {\textsc{\ref{sec:distribution} Code Distribution}}
\noindent \noindent
MLD2P4 is available from our project web site MLD2P4 is available from the web site
\begin{quotation} \begin{quotation}
\tt http://www.mld2p4.it \texttt{http://www.mld2p4.it}
\end{quotation} \end{quotation}
where you will also find contact points for further information and where contact points for further information can be also found.
bug reports. To report bugs or ask general usage questions, please, send an email to
\texttt{bugreport@mld2p4.it}.
The software is available under a modified BSD license, as specified The software is available under a modified BSD license, as specified
in appendix~\ref{sec:license}; please note that some of the optional in Appendix~\ref{sec:license}; please note that some of the optional
third party libraries may be licensed under a different and more third party libraries may be licensed under a different and more
stringent license, most notably the GPL, and this should be taken into stringent license, most notably the GPL, and this should be taken into
account when treating derived works. account when treating derived works.

@ -1,8 +1,8 @@
\section{Error Handling}\label{sec:errors} \section{Error Handling\label{sec:errors}}
\markboth{\textsc{MLD2P4 User's and Reference Guide}} \markboth{\textsc{MLD2P4 User's and Reference Guide}}
{\textsc{\ref{sec:errors} Error handling}} {\textsc{\ref{sec:errors} Error handling}}
The error handling in MLD2P4 is based on the PSBLAS version 2 error The error handling in MLD2P4 is based on the PSBLAS (version 2) error
handling. Error conditions are signaled via an integer argument handling. Error conditions are signaled via an integer argument
\verb|info|; whenever an error condition is detected, an error trace \verb|info|; whenever an error condition is detected, an error trace
stack is built by the library up to the top-level, user-callable stack is built by the library up to the top-level, user-callable
@ -12,7 +12,7 @@ program or by returning the error condition to the user code, which
will then take action, and whether will then take action, and whether
an error message should be printed. These options may be set by using an error message should be printed. These options may be set by using
the PSBLAS error handling routines; for further details see the PSBLAS the PSBLAS error handling routines; for further details see the PSBLAS
user's guide. User's Guide \cite{PSBLASGUIDE}.
%%% Local Variables: %%% Local Variables:
%%% mode: latex %%% mode: latex

@ -7,7 +7,7 @@ Schwarz preconditioners with the Krylov solvers included in PSBLAS \cite{PSBLASG
The following steps are required: The following steps are required:
\begin{enumerate} \begin{enumerate}
\item \emph{Declare the preconditioner data structure}. It is a derived data type, \item \emph{Declare the preconditioner data structure}. It is a derived data type,
\verb|mld_|\-\emph{x}\verb|prec_type|, where \emph{x} may be \verb|s|, \verb|d|, \verb|c| \verb|mld_|\-\emph{x}\verb|prec_| \verb|type|, where \emph{x} may be \verb|s|, \verb|d|, \verb|c|
or \verb|z|, according to the basic data type of the sparse matrix or \verb|z|, according to the basic data type of the sparse matrix
(\verb|s| = real single precision; \verb|d| = real double precision; (\verb|s| = real single precision; \verb|d| = real double precision;
\verb|c| = complex single precision; \verb|z| = complex double precision). \verb|c| = complex single precision; \verb|z| = complex double precision).
@ -36,7 +36,7 @@ The following steps are required:
this step is completely transparent to the user, since \verb|mld_precaply| is called this step is completely transparent to the user, since \verb|mld_precaply| is called
by the PSBLAS routine implementing the Krylov solver (\verb|psb_krylov|). by the PSBLAS routine implementing the Krylov solver (\verb|psb_krylov|).
\item \emph{Free the preconditioner data structure}. This is performed by \item \emph{Free the preconditioner data structure}. This is performed by
the routine \verb|mld_precfree|. This step is complementary to step 1 and should the routine \verb|mld_| \verb|precfree|. This step is complementary to step 1 and should
be performed when the preconditioner is no more used. be performed when the preconditioner is no more used.
\end{enumerate} \end{enumerate}
A detailed description of the above routines is given in Section~\ref{sec:userinterface}. A detailed description of the above routines is given in Section~\ref{sec:userinterface}.
@ -94,9 +94,10 @@ Multilevel &\verb|'ML'| & Multi-level hybrid preconditioner (additive
Coarsest matrix: distributed among the processors. Coarsest matrix: distributed among the processors.
Coarsest-level solver: Coarsest-level solver:
4 sweeps of the block-Jacobi solver, 4 sweeps of the block-Jacobi solver,
with LU factorization of the blocks with LU (or ILU) factorization of the blocks
(UMFPACK for the double precision versions and (UMFPACK for the double precision versions and
SuperLU for the single precision ones) \\ SuperLU for the single precision ones, if they have been
installed; ILU(0), otherwise). \\
\hline \hline
\end{tabular} \end{tabular}
%} %}
@ -123,7 +124,7 @@ here for brevity; the statements concerning the deallocation of the PSBLAS
data structure are neglected too. data structure are neglected too.
The complete code can be found in the example program file \verb|mld_dexample_ml.f90|, The complete code can be found in the example program file \verb|mld_dexample_ml.f90|,
in the directory \verb|examples/fileread| of the MLD2P4 tree (see in the directory \verb|examples/fileread| of the MLD2P4 tree (see
Section~\ref{sec:building}). Section~\ref{sec:ex_and_test}).
For details on the use of the PSBLAS routines, see the PSBLAS User's For details on the use of the PSBLAS routines, see the PSBLAS User's
Guide \cite{PSBLASGUIDE}. Guide \cite{PSBLASGUIDE}.
@ -221,12 +222,21 @@ included in the example program file \verb|mld_dexample_ml.f90| too.
Finally, Figure~\ref{fig:ex_1l} shows the setup of a one-level Finally, Figure~\ref{fig:ex_1l} shows the setup of a one-level
additive Schwarz preconditioner, i.e.\ RAS with overlap 2. The corresponding additive Schwarz preconditioner, i.e.\ RAS with overlap 2. The corresponding
example program is available in \verb|mld_dexample_1lev.f90|. example program is available in \verb|mld_dexample_| \verb|1lev.f90|.
For all the previous preconditioners, example programs where the sparse matrix and For all the previous preconditioners, example programs where the sparse matrix and
the right-hand side are generated by discretizing a PDE with Dirichlet the right-hand side are generated by discretizing a PDE with Dirichlet
boundary conditions are also available in the directory \verb|examples/pdegen|. boundary conditions are also available in the directory \verb|examples/pdegen|.
\ \\
\textbf{Remark 3.} Any PSBLAS-based program using the basic preconditioners
implemented in PSBLAS 2.0, i.e.\ the diagonal and block-Jacobi ones,
can use the diagonal and block-Jacobi preconditioners
implemented in MLD2P4 without any change in the code.
The PSBLAS-based program must be only recompiled
and linked to the MLD2P4 library.
\\
\begin{figure}[tbh] \begin{figure}[tbh]
\begin{center} \begin{center}
@ -291,13 +301,6 @@ boundary conditions are also available in the directory \verb|examples/pdegen|.
\end{center} \end{center}
\end{figure} \end{figure}
\ \\
\textbf{Remark 3.} Any PSBLAS-based program using the basic preconditioners
implemented in PSBLAS 2.0, i.e.\ the diagonal and block-Jacobi ones,
can use the diagonal and block-Jacobi preconditioners
implemented in MLD2P4 without any change in the code.
The PSBLAS-based program must be only recompiled
and linked to the MLD2P4 library.
%%% Local Variables: %%% Local Variables:
%%% mode: latex %%% mode: latex

@ -71,11 +71,9 @@ by expert users to build new versions of multi-level Schwarz preconditioners.
We provide here a description of the upper-layer routines, but not of the We provide here a description of the upper-layer routines, but not of the
medium-layer ones. medium-layer ones.
This guide is organized as follows. The notational conventions used in This guide is organized as follows. General information on the distribution of the source code
the guide and in the naming of the MLD2P4 routines are reported in is reported in Section~\ref{sec:distribution}, while details on the configuration
Section~\ref{sec:conventions}. Information on the distribution of the source code and the and installation of the package are given in Section~\ref{sec:building}. A description of
related license is given in Section~\ref{sec:distribution}, while details on the configuration
and installation of package are given in Section~\ref{sec:building}. A description of
multi-level Schwarz preconditioners based on smoothed aggregation is provided multi-level Schwarz preconditioners based on smoothed aggregation is provided
in Section~\ref{sec:background}, to help the users in choosing among the different preconditioners in Section~\ref{sec:background}, to help the users in choosing among the different preconditioners
implemented in MLD2P4. The basics for building and applying the preconditioners implemented in MLD2P4. The basics for building and applying the preconditioners

@ -3,10 +3,24 @@
% $Id: title.tex 1999 2007-10-29 15:25:27Z sfilippo $ % $Id: title.tex 1999 2007-10-29 15:25:27Z sfilippo $
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifx\pdfoutput\undefined % We're not running pdftex \ifcase\pdfoutput % We're not running pdftex
\else {\Large\bfseries MLD2P4\\[.8ex] User's and Reference Guide}\\
\emph{\large A guide for the Multi-Level Domain Decomposition \\[.6ex]
Parallel Preconditioners Package
based on PSBLAS}
{\bfseries Pasqua D'Ambra}\\
ICAR-CNR, Naples, Italy\\[3ex]
{\bfseries Daniela di Serafino}\\
Second University of Naples, Italy\\[3ex]
{\bfseries Salvatore Filippone} \\
University of Rome ``Tor Vergata'', Italy
%\\[10ex]
%\today
Software version: 1.0\\
%\today
July 24, 2008
\or
\pdfbookmark{MLD2P4 User's and Reference Guide}{title} \pdfbookmark{MLD2P4 User's and Reference Guide}{title}
\fi
\newlength{\centeroffset} \newlength{\centeroffset}
%\setlength{\centeroffset}{-0.5\oddsidemargin} %\setlength{\centeroffset}{-0.5\oddsidemargin}
%\addtolength{\centeroffset}{0.5\evensidemargin} %\addtolength{\centeroffset}{0.5\evensidemargin}
@ -23,7 +37,6 @@ Parallel Preconditioners Package
based on PSBLAS} based on PSBLAS}
\end{minipage}} \end{minipage}}
\vspace{\stretch{1}} \vspace{\stretch{1}}
\noindent\hspace*{\centeroffset}\makebox[0pt][l]{\begin{minipage}{\textwidth} \noindent\hspace*{\centeroffset}\makebox[0pt][l]{\begin{minipage}{\textwidth}
\flushright \flushright
@ -41,12 +54,12 @@ based on PSBLAS}
\noindent\hspace*{\centeroffset}\makebox[0pt][l]{\begin{minipage}{\textwidth} \noindent\hspace*{\centeroffset}\makebox[0pt][l]{\begin{minipage}{\textwidth}
\flushright \flushright
\large Software version: 1.0\\ \large Software version: 1.0\\
\today %\today
\large July 24, 2008
\end{minipage}} \end{minipage}}
%\addtolength{\textwidth}{\centeroffset} %\addtolength{\textwidth}{\centeroffset}
\vspace{\stretch{2}} \vspace{\stretch{2}}
\fi
\endinput \endinput

@ -37,7 +37,8 @@
} }
\setlength\textwidth{1.15\textwidth} \setlength\textwidth{1.15\textwidth}
% \setlength\evensidemargin{.7in} \setlength\oddsidemargin{0.3in}
\setlength\evensidemargin{0.2in}
% \newlength{\centeroffset} % \newlength{\centeroffset}
% \setlength{\centeroffset}{0.5\oddsidemargin} % \setlength{\centeroffset}{0.5\oddsidemargin}
% \addtolength{\centeroffset}{0.5\evensidemargin} % \addtolength{\centeroffset}{0.5\evensidemargin}
@ -80,6 +81,8 @@
\makeatother \makeatother
\newcommand{\example}{\stepcounter{example}% \newcommand{\example}{\stepcounter{example}%
\section*{\examplename~\theexample}} \section*{\examplename~\theexample}}
\def\bsideways{\sidewaystable}
\def\esideways{\endsidewaystable}
\newcommand{\precdata}{\hyperlink{precdata}{{\tt mld\_prec\_type}}} \newcommand{\precdata}{\hyperlink{precdata}{{\tt mld\_prec\_type}}}
\newcommand{\descdata}{\hyperlink{descdata}{{\tt psb\_desc\_type}}} \newcommand{\descdata}{\hyperlink{descdata}{{\tt psb\_desc\_type}}}
@ -87,8 +90,45 @@
\newcommand{\Ref}[1]{\mbox{(\ref{#1})}} \newcommand{\Ref}[1]{\mbox{(\ref{#1})}}
\begin{document} \begin{document}
\include{title} \pdfbookmark{MLD2P4 User's and Reference Guide}{title}
%\cleardoublepage \newlength{\centeroffset}
%\setlength{\centeroffset}{-0.5\oddsidemargin}
%\addtolength{\centeroffset}{0.5\evensidemargin}
%\addtolength{\textwidth}{-\centeroffset}
\thispagestyle{empty}
\vspace*{\stretch{1}}
\noindent\hspace*{\centeroffset}\makebox[0pt][l]{\begin{minipage}{\textwidth}
\flushright
{\Huge\bfseries MLD2P4\\[.8ex] User's and Reference Guide
}
\noindent\rule[-1ex]{\textwidth}{5pt}\\[2.5ex]
\hfill\emph{\Large A guide for the Multi-Level Domain Decomposition \\[.6ex]
Parallel Preconditioners Package
based on PSBLAS}
\end{minipage}}
\vspace{\stretch{1}}
\noindent\hspace*{\centeroffset}\makebox[0pt][l]{\begin{minipage}{\textwidth}
\flushright
{\large\bfseries Pasqua D'Ambra}\\
\large ICAR-CNR, Naples, Italy\\[3ex]
{\large\bfseries Daniela di Serafino}\\
\large Second University of Naples, Italy\\[3ex]
{\large\bfseries Salvatore Filippone} \\
\large University of Rome ``Tor Vergata'', Italy
%\\[10ex]
%\today
\end{minipage}}
\vspace{\stretch{1}}
\noindent\hspace*{\centeroffset}\makebox[0pt][l]{\begin{minipage}{\textwidth}
\flushright
\large Software version: 1.0\\
%\today
\large July 24, 2008
\end{minipage}}
%\addtolength{\textwidth}{\centeroffset}
\vspace{\stretch{2}}
\clearpage \clearpage
\ \\ \ \\
\thispagestyle{empty} \thispagestyle{empty}
@ -112,16 +152,13 @@
\setcounter{page}{1} % Chapters start on page 1 \setcounter{page}{1} % Chapters start on page 1
\include{overview} \include{overview}
\include{conventions}
\include{distribution} \include{distribution}
\include{building} \include{building}
\include{background} \include{background}
\include{gettingstarted} \include{gettingstarted}
\include{userinterface} \include{userinterface}
%\include{advanced}
\include{errors} \include{errors}
%\include{listofroutines} \clearpage
\cleardoublepage
\appendix \appendix
\include{license} \include{license}
\cleardoublepage \cleardoublepage

@ -80,6 +80,8 @@
\makeatother \makeatother
\newcommand{\example}{\stepcounter{example}% \newcommand{\example}{\stepcounter{example}%
\section*{\examplename~\theexample}} \section*{\examplename~\theexample}}
\def\bsideways{\begin{table}}
\def\esideways{\end{table}}
\newcommand{\precdata}{\hyperlink{precdata}{{\tt mld\_prec\_type}}} \newcommand{\precdata}{\hyperlink{precdata}{{\tt mld\_prec\_type}}}
\newcommand{\descdata}{\hyperlink{descdata}{{\tt psb\_desc\_type}}} \newcommand{\descdata}{\hyperlink{descdata}{{\tt psb\_desc\_type}}}
@ -87,8 +89,21 @@
\newcommand{\Ref}[1]{\mbox{(\ref{#1})}} \newcommand{\Ref}[1]{\mbox{(\ref{#1})}}
\begin{document} \begin{document}
\include{title} {\Large\bfseries MLD2P4\\[.8ex] User's and Reference Guide}\\
%\cleardoublepage \emph{\large A guide for the Multi-Level Domain Decomposition \\[.6ex]
Parallel Preconditioners Package
based on PSBLAS}
{\bfseries Pasqua D'Ambra}\\
ICAR-CNR, Naples, Italy\\[3ex]
{\bfseries Daniela di Serafino}\\
Second University of Naples, Italy\\[3ex]
{\bfseries Salvatore Filippone} \\
University of Rome ``Tor Vergata'', Italy
%\\[10ex]
%\today
Software version: 1.0\\
%\today
July 24, 2008
\clearpage \clearpage
\ \\ \ \\
\thispagestyle{empty} \thispagestyle{empty}
@ -112,7 +127,6 @@
\setcounter{page}{1} % Chapters start on page 1 \setcounter{page}{1} % Chapters start on page 1
\include{overview} \include{overview}
\include{conventions}
\include{distribution} \include{distribution}
\include{building} \include{building}
\include{background} \include{background}

@ -1,11 +1,9 @@
\section{User Interface\label{sec:userinterface}} \section{User Interface\label{sec:userinterface}}
\markboth{\textsc{MLD2P4 User's and Reference Guide}} \markboth{\textsc{MLD2P4 User's and Reference Guide}}
{\textsc{\ref{sec:userinterface} User Interface}} {\textsc{\ref{sec:userinterface} User Interface}}
\def\bsideways{\sidewaystable}
\def\esideways{\endsidewaystable}
The basic user interface of MLD2P4 consists of six routines. The four routines \verb|mld_precinit|, The basic user interface of MLD2P4 consists of six routines. The four routines \verb|mld_| \verb|precinit|,
\verb|mld_precset|, \verb|mld_precbld| and \verb|mld_precaply| encapsulate all the functionalities \verb|mld_precset|, \verb|mld_precbld| and \verb|mld_precaply| encapsulate all the functionalities
for the setup and the application of any one-level and multi-level for the setup and the application of any one-level and multi-level
preconditioner implemented in the package. preconditioner implemented in the package.
@ -40,6 +38,7 @@ i.e.
\end{itemize} \end{itemize}
A description of each routine is given in the remainder of this section. A description of each routine is given in the remainder of this section.
\clearpage
\subsection{Subroutine mld\_precinit\label{sec:precinit}} \subsection{Subroutine mld\_precinit\label{sec:precinit}}
@ -54,7 +53,7 @@ according to the preconditioner type chosen by the user.
\subsubsection*{Arguments} \subsubsection*{Arguments}
\begin{tabular}{p{1.2cm}p{10.5cm}} \begin{tabular}{p{1.2cm}p{12cm}}
\verb|p| & \verb|type(mld_|\emph{x}\verb|prec_type), intent(inout)|.\\ \verb|p| & \verb|type(mld_|\emph{x}\verb|prec_type), intent(inout)|.\\
& The preconditioner data structure. Note that \emph{x} & The preconditioner data structure. Note that \emph{x}
must be chosen according to the real/complex, single/double must be chosen according to the real/complex, single/double
@ -71,6 +70,7 @@ according to the preconditioner type chosen by the user.
then \verb|nlev|=2 is assumed. Otherwise, \verb|nlev| is ignored.\\ then \verb|nlev|=2 is assumed. Otherwise, \verb|nlev| is ignored.\\
\end{tabular} \end{tabular}
\clearpage
\subsection{Subroutine mld\_precset\label{sec:precset}} \subsection{Subroutine mld\_precset\label{sec:precset}}
@ -85,7 +85,7 @@ contained in \verb|val|.
\subsubsection*{Arguments} \subsubsection*{Arguments}
\begin{tabular}{p{1.2cm}p{10.5cm}} \begin{tabular}{p{1.2cm}p{12cm}}
\verb|p| & \verb|type(mld_|\emph{x}\verb|prec_type), intent(inout)|.\\ \verb|p| & \verb|type(mld_|\emph{x}\verb|prec_type), intent(inout)|.\\
& The preconditioner data structure. Note that \emph{x} must & The preconditioner data structure. Note that \emph{x} must
be chosen according to the real/complex, single/double precision be chosen according to the real/complex, single/double precision
@ -136,7 +136,7 @@ refer to Section~\ref{sec:background}.
%multi-level preconditioners. Non-expert users are recommended %multi-level preconditioners. Non-expert users are recommended
%to call \verb| mld_precset| without specifying \verb|ilev|. %to call \verb| mld_precset| without specifying \verb|ilev|.
\ifcase\pdfoutput\else\bsideways\fi \bsideways
\begin{center} \begin{center}
\begin{tabular}{|l|l|p{2cm}|l|p{7cm}|} \begin{tabular}{|l|l|p{2cm}|l|p{7cm}|}
\hline \hline
@ -152,7 +152,7 @@ refer to Section~\ref{sec:background}.
& \texttt{'DIAG'} \ \ \ \texttt{'BJAC'} \ \ \ \texttt{'AS'} & \texttt{'DIAG'} \ \ \ \texttt{'BJAC'} \ \ \ \texttt{'AS'}
& \texttt{'AS'} & \texttt{'AS'}
& Basic one-level preconditioner (i.e.\ smoother): diagonal, & Basic one-level preconditioner (i.e.\ smoother): diagonal,
block Jacobi, AS \\ \hline block Jacobi, AS. \\ \hline
\verb|mld_smoother_pos_| & \verb|character(len=*)| \verb|mld_smoother_pos_| & \verb|character(len=*)|
& \texttt{'PRE'} \ \ \ \texttt{'POST'} \ \ \ \texttt{'TWOSIDE'} & \texttt{'PRE'} \ \ \ \texttt{'POST'} \ \ \ \texttt{'TWOSIDE'}
& \texttt{'POST'} & \texttt{'POST'}
@ -163,9 +163,9 @@ refer to Section~\ref{sec:background}.
\end{center} \end{center}
\caption{Parameters defining the type of multi-level preconditioner. \caption{Parameters defining the type of multi-level preconditioner.
\label{tab:p_type}} \label{tab:p_type}}
\ifcase\pdfoutput\else\esideways\fi \esideways
\ifcase\pdfoutput\else\bsideways\fi \bsideways
\begin{center} \begin{center}
\begin{tabular}{|l|l|p{3.2cm}|l|p{7cm}|} \begin{tabular}{|l|l|p{3.2cm}|l|p{7cm}|}
\hline \hline
@ -173,7 +173,7 @@ refer to Section~\ref{sec:background}.
\textsc{comments} \\ \hline \textsc{comments} \\ \hline
%\multicolumn{5}{|c|}{\emph{basic one-level preconditioner (smoother)}} \\ \hline %\multicolumn{5}{|c|}{\emph{basic one-level preconditioner (smoother)}} \\ \hline
\verb|mld_sub_ovr_| & \verb|integer| \verb|mld_sub_ovr_| & \verb|integer|
& any integer number $\ge 0$ & any~int.~num.~$\ge 0$
& 1 & 1
& Number of overlap layers. \\ \hline & Number of overlap layers. \\ \hline
\verb|mld_sub_restr_| & \verb|character(len=*)| \verb|mld_sub_restr_| & \verb|character(len=*)|
@ -200,7 +200,7 @@ refer to Section~\ref{sec:background}.
& Fill-in level $p$ of the incomplete LU factorizations. \\ \hline & Fill-in level $p$ of the incomplete LU factorizations. \\ \hline
\verb|mld_sub_iluthrs_| & \verb|real(|\emph{kind\_parameter}\verb|)| \verb|mld_sub_iluthrs_| & \verb|real(|\emph{kind\_parameter}\verb|)|
& Any~real~num.~$\ge 0$ & Any~real~num.~$\ge 0$
& \texttt{0.e0} (or \texttt{0.d0}) & 0
& Drop tolerance $t$ in the ILU($p,t$) factorization. \\ \hline & Drop tolerance $t$ in the ILU($p,t$) factorization. \\ \hline
\verb|mld_sub_ren_| & \verb|character(len=*)| \verb|mld_sub_ren_| & \verb|character(len=*)|
& \texttt{'RENUM\_NONE'} \texttt{'RENUM\_GLOBAL'} %, \texttt{'RENUM_GPS'} & \texttt{'RENUM\_NONE'} \texttt{'RENUM\_GLOBAL'} %, \texttt{'RENUM_GPS'}
@ -213,9 +213,9 @@ refer to Section~\ref{sec:background}.
\end{center} \end{center}
\caption{Parameters defining the one-level preconditioner used as smoother. \caption{Parameters defining the one-level preconditioner used as smoother.
\label{tab:p_smoother}} \label{tab:p_smoother}}
\ifcase\pdfoutput\else\esideways\fi \esideways
\ifcase\pdfoutput\else\bsideways\fi \bsideways
\begin{center} \begin{center}
\begin{tabular}{|l|l|p{2.3cm}|p{2.6cm}|p{7cm}|} \begin{tabular}{|l|l|p{2.3cm}|p{2.6cm}|p{7cm}|}
\hline \hline
@ -229,48 +229,53 @@ refer to Section~\ref{sec:background}.
\verb|mld_aggr_kind_| & \verb|character(len=*)| \verb|mld_aggr_kind_| & \verb|character(len=*)|
& \texttt{'SMOOTH'} \hspace{2.5cm} \texttt{'RAW'} & \texttt{'SMOOTH'} \hspace{2.5cm} \texttt{'RAW'}
& \texttt{'SMOOTH'} & \texttt{'SMOOTH'}
& Type of aggregation: smoothed or raw, i.e.\ using the tentative prolongator. \\ \hline & Type of aggregation: smoothed, raw (i.e.\ using the tentative prolongator). \\ \hline
\verb|mld_aggr_thresh_| & \verb|real(|\emph{kind\_parameter}\verb|)| \verb|mld_aggr_thresh_| & \verb|real(|\emph{kind\_parameter}\verb|)|
& Any~real~num. $\in [0, 1]$ & Any~real~num. $\in [0, 1]$
& \texttt{0.e0} (or \texttt{0.d0}) & 0
& The threshold $\theta$ in the aggregation algorithm. \\ \hline & The threshold $\theta$ in the aggregation algorithm. \\ \hline
\verb|mld_aggr_eig_| & \verb|character(len=*)| \verb|mld_aggr_eig_| & \verb|character(len=*)|
& \texttt{'A\_NORMI'} & \texttt{'A\_NORMI'}
& \texttt{'A\_NORMI'} & \texttt{'A\_NORMI'}
& Estimate of the maximum eigenvalue of $D^{-1}A$ & Estimate of the eigenvalue $D^{-1}A$ with largest modulus,
for the smoothed aggregation. Currently, only the infinity norm of to build the damping parameter $\omega$ in the smoothed aggregation.
Currently, only the infinity norm of
the matrix is available. \\ \hline the matrix is available. \\ \hline
\verb|mld_aggr_damp_| & \verb|real(|\emph{kind\_parameter}\verb|)| \verb|mld_aggr_damp_| & \verb|real(|\emph{kind\_parameter}\verb|)|
& Any~real~num. $>0$ & Any~real~num.
& \texttt{4.e0/3.e0} \hspace{1cm} (or \texttt{4.d0/3.d0}) & $4/(3||D^{-1}A||_\infty)$
& The damping parameter $\omega$ in the aggregation algorithm. \\ & The damping parameter $\omega$ in the smoothed aggregation algorithm.
If the user specifies a negative value, then $\omega$ is set to its default
value; otherwise, $\omega$ is set to the value provided by the
user. In the latter case no estimate of the eigenvalue $D^{-1}A$ with
largest modulus is computed.\\
\hline \hline
\end{tabular} \end{tabular}
\end{center} \end{center}
\caption{Parameters defining the aggregation algorithm. \caption{Parameters defining the aggregation algorithm.
\label{tab:p_aggregation}} \label{tab:p_aggregation}}
\ifcase\pdfoutput\else\esideways\fi \esideways
\ifcase\pdfoutput\else\bsideways\fi \bsideways
\begin{center} \begin{center}
\begin{tabular}{|l|l|p{3.2cm}|l|p{7cm}|} \begin{tabular}{|l|l|p{3.2cm}|l|p{7cm}|}
\hline \hline
\verb|what| & \textsc{data type} & \verb|val| & \textsc{default} & \verb|what| & \textsc{data type} & \verb|val| & \textsc{default} &
\textsc{comments} \\ \hline \textsc{comments} \\ \hline
%\multicolumn{5}{|c|}{\emph{coarse-space correction at the coarsest level}}\\ \hline %\multicolumn{5}{|c|}{\emph{coarse-space correction at the coarsest level}}\\ \hline
\verb|mld_coarse_mat_| & \verb|character(len=*)|
& \texttt{'DISTR'} \hspace{2.5cm} \texttt{'REPL'}
& \texttt{'DISTR'}
& Coarsest matrix: distributed among the processors or replicated on each of them. \\ \hline
\verb|mld_coarse_solve_| & \verb|character(len=*)| \verb|mld_coarse_solve_| & \verb|character(len=*)|
& \texttt{'BJAC'} \hspace{2.5cm} \texttt{'UMF'} \hspace{2.5cm} \texttt{'SLU'} & \texttt{'BJAC'} \hspace{2.5cm} \texttt{'UMF'} \hspace{2.5cm} \texttt{'SLU'}
\hspace{2.5cm} \texttt{'SLUDIST'} \hspace{2.5cm} \texttt{'SLUDIST'}
& \texttt{'BJAC'} & \texttt{'BJAC'}
& Solver used at the coarsest level: block Jacobi, sequential LU from UMFPACK, & Solver used at the coarsest level: block Jacobi, sequential LU from UMFPACK,
sequential LU from SuperLU, distributed LU from SuperLU\_Dist. sequential LU from SuperLU, distributed LU from SuperLU\_Dist.
If the coarsest matrix is distributed, only \texttt{'BJAC'} and \texttt{'SLUDIST'} With \texttt{'SLUDIST'} the coarsest matrix
can be chosen; if it is replicated, only \texttt{'BJAC'} or \texttt{'SLUDIST'} can must be distributed; with \texttt{'UMF'} or
be selected. \\ \hline \texttt{'SLU'} it must be replicated. \\ \hline
\verb|mld_coarse_mat_| & \verb|character(len=*)|
& \texttt{'DISTR'} \hspace{2.5cm} \texttt{'REPL'}
& \texttt{'DISTR'}
& Coarsest matrix: distributed among the processors or replicated on each of them. \\ \hline
\verb|mld_coarse_subsolve_| & \verb|character(len=*)| \verb|mld_coarse_subsolve_| & \verb|character(len=*)|
& \texttt{'ILU'} \hspace{2.5cm} \texttt{'MILU'} \hspace{2.5cm} \texttt{'ILUT'} & \texttt{'ILU'} \hspace{2.5cm} \texttt{'MILU'} \hspace{2.5cm} \texttt{'ILUT'}
\hspace{2.5cm} \texttt{'UMF'} \hspace{2.5cm} \texttt{'SLU'} \hspace{2.5cm} \texttt{'UMF'} \hspace{2.5cm} \texttt{'SLU'}
@ -280,25 +285,26 @@ refer to Section~\ref{sec:background}.
LU from SuperLU, plus triangular solve. \\ \hline LU from SuperLU, plus triangular solve. \\ \hline
\verb|mld_coarse_sweeps_|& \verb|integer| \verb|mld_coarse_sweeps_|& \verb|integer|
& Any~int.~num.~$> 0$ & Any~int.~num.~$> 0$
& \texttt{4} & 4
& Number of Block-Jacobi sweeps when 'BJAC' is used as coarsest-level solver. \\ & Number of Block-Jacobi sweeps when 'BJAC' is used as coarsest-level solver. \\ \hline
\verb|mld_coarse_fillin_| & \verb|integer| \verb|mld_coarse_fillin_| & \verb|integer|
& Any~int.~num.~$\ge 0$ & Any~int.~num.~$\ge 0$
& \texttt{0} & 0
& Fill-in level $p$ of the incomplete LU factorizations. \\ \hline & Fill-in level $p$ of the incomplete LU factorizations. \\ \hline
\verb|mld_coarse_iluthrs_| & \verb|real(|\emph{kind\_parameter}\verb|)| \verb|mld_coarse_iluthrs_| & \verb|real(|\emph{kind\_parameter}\verb|)|
& Any~real.~num.~$\ge 0$ & Any~real.~num.~$\ge 0$
& \texttt{0.d0} (or \texttt{0.e0}) & 0
& Drop tolerance $t$ in the ILU($p,t$) factorization. \\ & Drop tolerance $t$ in the ILU($p,t$) factorization. \\
\hline \hline
\end{tabular} \end{tabular}
\end{center} \end{center}
\caption{Parameters defining the coarse-space correction at the coarsest \caption{Parameters defining the coarse-space correction at the coarsest
level.\label{tab:p_coarse}} level.\label{tab:p_coarse}}
\ifcase\pdfoutput\else\esideways\fi \esideways
\clearpage \clearpage
\subsection{Subroutine mld\_precbld\label{sec:precbld}} \subsection{Subroutine mld\_precbld\label{sec:precbld}}
\begin{center} \begin{center}
@ -311,7 +317,7 @@ the user through the routines \verb|mld_precinit| and \verb|mld_precset|.
\subsubsection*{Arguments} \subsubsection*{Arguments}
\begin{tabular}{p{1.2cm}p{10.5cm}} \begin{tabular}{p{1.2cm}p{12cm}}
\verb|a| & \verb|type(psb_|\emph{x}\verb|spmat_type), intent(in)|. \\ \verb|a| & \verb|type(psb_|\emph{x}\verb|spmat_type), intent(in)|. \\
& The sparse matrix structure containing the local part of the & The sparse matrix structure containing the local part of the
matrix to be preconditioned. Note that \emph{x} must be chosen according matrix to be preconditioned. Note that \emph{x} must be chosen according
@ -347,7 +353,7 @@ and hence it is completely transparent to the user.
\subsubsection*{Arguments} \subsubsection*{Arguments}
\begin{tabular}{p{1.2cm}p{10.5cm}} \begin{tabular}{p{1.2cm}p{12cm}}
\verb|p| & \verb|type(mld_|\emph{x}\verb|prec_type), intent(inout)|.\\ \verb|p| & \verb|type(mld_|\emph{x}\verb|prec_type), intent(inout)|.\\
& The preconditioner data structure, containing the local part of $M$. & The preconditioner data structure, containing the local part of $M$.
Note that \emph{x} must be chosen according Note that \emph{x} must be chosen according
@ -372,11 +378,12 @@ and hence it is completely transparent to the user.
(conjugate transpose of $M^{-1})$.\\ (conjugate transpose of $M^{-1})$.\\
\verb|work| & \emph{type}\verb|(|\emph{kind\_parameter}\verb|), dimension(:), optional, target|.\\ \verb|work| & \emph{type}\verb|(|\emph{kind\_parameter}\verb|), dimension(:), optional, target|.\\
& Workspace. Its size should be at & Workspace. Its size should be at
least \verb|4 * psb_cd_get_local_cols(desc_a)| (see the PSBLAS User's Guide). least \verb|4 * psb_cd_get_local_| \verb|cols(desc_a)| (see the PSBLAS User's Guide).
Note that \emph{type} and \emph{kind\_parameter} must be chosen according Note that \emph{type} and \emph{kind\_parameter} must be chosen according
to the real/complex, single/double precision version of MLD2P4 under use.\\ to the real/complex, single/double precision version of MLD2P4 under use.\\
\end{tabular} \end{tabular}
\clearpage
\subsection{Subroutine mld\_precfree\label{sec:precfree}} \subsection{Subroutine mld\_precfree\label{sec:precfree}}
@ -397,6 +404,7 @@ This routine deallocates the preconditioner data structure.
& Error code. If no error, 0 is returned. See Section~\ref{sec:errors} for details.\\ & Error code. If no error, 0 is returned. See Section~\ref{sec:errors} for details.\\
\end{tabular} \end{tabular}
\clearpage
\subsection{Subroutine mld\_precdescr\label{sec:precdescr}} \subsection{Subroutine mld\_precdescr\label{sec:precdescr}}
@ -406,12 +414,12 @@ This routine deallocates the preconditioner data structure.
\end{center} \end{center}
\noindent \noindent
This routine prints a description of the preconditioner This routine prints a description of the preconditioner to the standard output or
to the standard output or to a file. to a file. It must be called after \verb|mld_precbld| has been called.
\subsubsection*{Arguments} \subsubsection*{Arguments}
\begin{tabular}{p{1.2cm}p{10.6cm}} \begin{tabular}{p{1.2cm}p{12cm}}
\verb|p| & \verb|type(mld_|\emph{x}\verb|prec_type), intent(in)|.\\ \verb|p| & \verb|type(mld_|\emph{x}\verb|prec_type), intent(in)|.\\
& The preconditioner data structure. Note that \emph{x} must be chosen according & The preconditioner data structure. Note that \emph{x} must be chosen according
to the real/complex, single/double precision version of MLD2P4 under use.\\ to the real/complex, single/double precision version of MLD2P4 under use.\\

Loading…
Cancel
Save