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_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=''])
]

2
configure vendored

@ -1268,7 +1268,7 @@ Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--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=-lspecial_system_lib or
--with-libs=-L/path/to/libs

@ -8,30 +8,11 @@ No implementation found for style `rotating'
redefining command \thepage
The userhtml.aux file was not found, so sections will not be numbered
and cross-references will be shown as icons.
? brace missing for \
? brace missing for \setlength
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."
Substitution of arg to newlabelxx delayed.
No number for "Setupofaone-levelSchwarzpreconditioner."
No number for "Parametersdefiningthetypeofmulti-levelpreconditioner."
No number for "Parametersdefiningtheone-levelpreconditionerusedassmoother."
No number for "Parametersdefiningtheaggregationalgorithm."
No number for "Parametersdefiningthecoarse-spacecorrectionatthecoarsestlevel."
? brace missing for \setlength
couldn't convert character ecaron into available encodings
...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
%&-line parsing enabled.
**./images.tex
@ -28,8 +28,10 @@ File: size11.clo 2005/09/16 v1.4f Standard LaTeX file (size option)
\abovecaptionskip=\skip41
\belowcaptionskip=\skip42
\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)
(/usr/share/texmf/tex/generic/pstricks/pstricks.tex
`PSTricks' v1.15 <2006/12/22> (tvz)
\pst@dima=\dimen103
@ -62,13 +64,16 @@ Package: pstricks 2006/08/10 v0.32 LaTeX wrapper for `PSTricks' (RN,HV)
\theoverlaybox=\box28
)
File: pstricks.tex 2006/12/22 v1.15 `PSTricks' (tvz)
(/usr/share/texmf/tex/latex/xcolor/xcolor.sty
Package: xcolor 2007/01/21 v2.11 LaTeX color extensions (UK)
(/usr/share/texmf/tex/latex/config/color.cfg
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: Driver file: dvips.def on input line 225.
(/usr/share/texmf/tex/latex/graphics/dvips.def
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 `Gray' substituted by `gray' on input line 1359.
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
Style option: `fancybox' v1.3 <2000/09/19> (tvz)
\@fancybox=\box29
\shadowsize=\dimen118
@ -99,11 +106,14 @@ Package: amsfonts 2001/10/25 v2.2f
\symAMSb=\mathgroup5
LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold'
(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 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
(/usr/share/texmf/tex/latex/graphics/keyval.sty
Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
\KV@toks@=\toks22
@ -111,11 +121,14 @@ Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
\@linkdim=\dimen119
\Hy@linkcounter=\count93
\Hy@pagecounter=\count94
(/usr/share/texmf/tex/latex/hyperref/pd1enc.def
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
) (/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 (
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: Plain pages OFF on input line 2303.
Package hyperref Info: Backreferencing OFF on input line 2308.
Implicit mode ON; LaTeX internals redefined
Package hyperref Info: Bookmarks ON on input line 2444.
(/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*
(/usr/share/texmf/tex/latex/hyperref/hdvips.def
File: hdvips.def 2007/02/07 v6.75r Hyperref driver for dvips
(/usr/share/texmf/tex/latex/hyperref/pdfmark.def
File: pdfmark.def 2007/02/07 v6.75r Hyperref definitions for pdfmark specials
\pdf@docset=\toks25
@ -162,15 +177,20 @@ File: pdfmark.def 2007/02/07 v6.75r Hyperref definitions for pdfmark specials
\pdf@toks=\toks26
\pdf@defaulttoks=\toks27
\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)
) (/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)
(/usr/share/texmf/tex/latex/graphics/graphics.sty
Package: graphics 2006/02/20 v1.0o Standard LaTeX Graphics (DPC,SPQR)
(/usr/share/texmf/tex/latex/graphics/trig.sty
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
)
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@corollary=\count101
(/usr/share/texmf/tex/latex/rotating/rotating.sty
Package: rotating 1997/09/26, v2.13 Rotation package
\c@r@tfl@t=\count102
@ -187,9 +208,11 @@ Package: rotating 1997/09/26, v2.13 Rotation package
)
\c@subroutine=\count103
\c@example=\count104
(/usr/share/texmf/tex/latex/pstricks/pstcol.sty
Package: pstcol 2005/11/16 v1.2 LaTeX wrapper for `PSTricks' (RN,HV)
Package pstcol Warning: ************************************
(pstcol) The package `pstcol' is obsolet!
(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
\inpenc@prehook=\toks28
\inpenc@posthook=\toks29
(/usr/share/texmf/tex/latex/base/latin1.def
File: latin1.def 2006/05/05 v1.1b Input encoding file
))
\sizebox=\box33
\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'.
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: ... okay on input line 152.
Package hyperref Info: Link coloring ON on input line 152.
(/usr/share/texmf/tex/latex/hyperref/nameref.sty
Package: nameref 2006/12/27 v2.28 Cross-referencing by name of section
(/usr/share/texmf/tex/latex/oberdiek/refcount.sty
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 \pageref on input line 152.
(./images.out)
(./images.out)
\@outlinefile=\write5
\openout5 = `images.out'.
Package hyperref Warning: Rerun to get /PageLabels entry.
latex2htmlLength hsize=349.0pt
@ -280,522 +317,528 @@ latex2htmlLength oddsidemargin=22.0pt
latex2htmlLength evensidemargin=70.0pt
\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
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
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
]
l2hSize :tex2html_wrap_inline265:7.48248pt::0.0pt::8.76004pt.
l2hSize :tex2html_wrap_inline268:7.48248pt::0.0pt::8.76004pt.
[2
]
l2hSize :tex2html_wrap_inline586:9.30704pt::9.30704pt::83.67497pt.
l2hSize :tex2html_wrap_inline588:9.30704pt::9.30704pt::83.67497pt.
[3
]
l2hSize :tex2html_wrap_inline588:8.7125pt::8.7125pt::55.89207pt.
l2hSize :tex2html_wrap_inline590:8.7125pt::8.7125pt::55.89207pt.
[4
]
l2hSize :tex2html_wrap_inline592:8.7125pt::8.7125pt::84.68239pt.
l2hSize :tex2html_wrap_inline594:8.7125pt::8.7125pt::84.68239pt.
[5
]
l2hSize :tex2html_wrap_inline594:8.7125pt::8.7125pt::99.38406pt.
l2hSize :tex2html_wrap_inline596:8.7125pt::8.7125pt::99.38406pt.
[6
]
l2hSize :tex2html_wrap_inline596:7.48248pt::0.0pt::9.15695pt.
l2hSize :tex2html_wrap_inline598:7.48248pt::0.0pt::9.15695pt.
[7
]
l2hSize :tex2html_wrap_inline598:8.10416pt::8.10416pt::25.90352pt.
l2hSize :tex2html_wrap_inline600:8.10416pt::8.10416pt::25.90352pt.
[8
]
l2hSize :tex2html_wrap_inline600:7.60416pt::0.0pt::5.8286pt.
l2hSize :tex2html_wrap_inline602:7.60416pt::0.0pt::5.8286pt.
[9
]
l2hSize :tex2html_wrap_inline602:7.48248pt::0.0pt::12.41005pt.
l2hSize :tex2html_wrap_inline604:7.48248pt::0.0pt::12.41005pt.
[10
]
l2hSize :tex2html_wrap_inline606:7.07185pt::0.0pt::10.16177pt.
l2hSize :tex2html_wrap_inline608:7.07185pt::0.0pt::10.16177pt.
[11
]
l2hSize :tex2html_wrap_inline608:9.62923pt::9.62923pt::43.62254pt.
l2hSize :tex2html_wrap_inline610:9.62923pt::9.62923pt::43.62254pt.
[12
]
l2hSize :tex2html_wrap_inline610:9.62923pt::9.62923pt::65.17778pt.
l2hSize :tex2html_wrap_inline612:9.62923pt::9.62923pt::65.17778pt.
[13
]
l2hSize :tex2html_wrap_inline616:10.66058pt::10.66058pt::58.85606pt.
l2hSize :tex2html_wrap_inline618:10.66058pt::10.66058pt::58.85606pt.
[14
]
l2hSize :tex2html_wrap_inline618:10.66058pt::10.66058pt::27.83247pt.
l2hSize :tex2html_wrap_inline620:10.66058pt::10.66058pt::27.83247pt.
[15
]
l2hSize :tex2html_wrap_inline620:10.02922pt::10.02922pt::11.68126pt.
l2hSize :tex2html_wrap_inline622:10.02922pt::10.02922pt::11.68126pt.
[16
]
l2hSize :tex2html_wrap_inline622:10.02922pt::10.02922pt::16.9712pt.
l2hSize :tex2html_wrap_inline624:10.02922pt::10.02922pt::16.9712pt.
[17
]
l2hSize :tex2html_wrap_inline624:11.46367pt::11.46367pt::56.33008pt.
l2hSize :tex2html_wrap_inline626:11.46367pt::11.46367pt::56.33008pt.
[18
]
l2hSize :tex2html_wrap_inline626:8.10416pt::8.10416pt::33.19717pt.
l2hSize :tex2html_wrap_inline628:8.10416pt::8.10416pt::33.19717pt.
[19
]
l2hSize :tex2html_wrap_inline628:11.46367pt::11.46367pt::41.86319pt.
l2hSize :tex2html_wrap_inline630:11.46367pt::11.46367pt::41.86319pt.
[20
]
l2hSize :tex2html_wrap_inline630:7.07185pt::0.0pt::6.24812pt.
l2hSize :tex2html_wrap_inline632:7.07185pt::0.0pt::6.24812pt.
[21
]
l2hSize :tex2html_wrap_inline634:10.02922pt::10.02922pt::13.50749pt.
l2hSize :tex2html_wrap_inline636:10.02922pt::10.02922pt::13.50749pt.
[22
]
l2hSize :tex2html_wrap_inline636:10.96367pt::0.0pt::18.2182pt.
l2hSize :tex2html_wrap_inline638:10.96367pt::0.0pt::18.2182pt.
[23
]
l2hSize :tex2html_wrap_inline638:7.60416pt::0.0pt::14.11334pt.
l2hSize :tex2html_wrap_inline640:7.60416pt::0.0pt::14.11334pt.
[24
]
l2hSize :tex2html_wrap_inline640:11.46367pt::11.46367pt::124.12694pt.
l2hSize :tex2html_wrap_inline642:11.46367pt::11.46367pt::124.12694pt.
[25
]
l2hSize :tex2html_wrap_inline644:10.02922pt::10.02922pt::16.9712pt.
l2hSize :tex2html_wrap_inline646:10.02922pt::10.02922pt::16.9712pt.
[26
]
l2hSize :displaymath564:33.45825pt::0.0pt::349.0pt.
l2hSize :displaymath566:33.45825pt::0.0pt::349.0pt.
[27
]
l2hSize :tex2html_wrap_inline646:10.02922pt::10.02922pt::13.3212pt.
l2hSize :tex2html_wrap_inline648:10.02922pt::10.02922pt::13.3212pt.
[28
]
l2hSize :tex2html_wrap_inline652:10.02922pt::10.02922pt::42.50967pt.
l2hSize :tex2html_wrap_inline654:10.02922pt::10.02922pt::42.50967pt.
[29
]
l2hSize :tex2html_wrap_inline654:7.72179pt::7.72179pt::58.3423pt.
l2hSize :tex2html_wrap_inline656:7.72179pt::7.72179pt::58.3423pt.
[30
]
l2hSize :tex2html_wrap_inline656:10.02922pt::10.02922pt::47.85603pt.
l2hSize :tex2html_wrap_inline658:10.02922pt::10.02922pt::47.85603pt.
[31
]
l2hSize :tex2html_wrap_inline660:7.57185pt::7.57185pt::11.78078pt.
l2hSize :tex2html_wrap_inline662:7.57185pt::7.57185pt::11.78078pt.
[32
]
l2hSize :tex2html_wrap_inline662:10.02922pt::10.02922pt::88.43413pt.
l2hSize :tex2html_wrap_inline664:10.02922pt::10.02922pt::88.43413pt.
[33
]
l2hSize :tex2html_wrap_inline664:7.57185pt::7.57185pt::6.05675pt.
l2hSize :tex2html_wrap_inline666:7.57185pt::7.57185pt::6.05675pt.
[34
]
l2hSize :tex2html_wrap_inline668:7.57185pt::7.57185pt::14.87756pt.
l2hSize :tex2html_wrap_inline670:7.57185pt::7.57185pt::14.87756pt.
[35
]
l2hSize :tex2html_wrap_inline672:11.46367pt::11.46367pt::71.66493pt.
l2hSize :tex2html_wrap_inline674:11.46367pt::11.46367pt::71.66493pt.
[36
]
l2hSize :tex2html_wrap_inline674:10.58096pt::10.58096pt::13.6964pt.
l2hSize :tex2html_wrap_inline676:10.58096pt::10.58096pt::13.6964pt.
[37
]
l2hSize :tex2html_wrap_inline676:10.02922pt::10.02922pt::13.50749pt.
l2hSize :tex2html_wrap_inline678:10.02922pt::10.02922pt::13.50749pt.
[38
]
l2hSize :tex2html_wrap_inline678:10.02922pt::10.02922pt::39.05879pt.
l2hSize :tex2html_wrap_inline680:10.02922pt::10.02922pt::39.05879pt.
[39
]
l2hSize :displaymath565:33.45825pt::0.0pt::349.0pt.
l2hSize :displaymath567:33.45825pt::0.0pt::349.0pt.
[40
]
l2hSize :displaymath566:33.45825pt::0.0pt::349.0pt.
l2hSize :displaymath568:33.45825pt::0.0pt::349.0pt.
[41
]
l2hSize :tex2html_wrap_inline680:7.60416pt::0.0pt::25.90352pt.
l2hSize :tex2html_wrap_inline682:7.60416pt::0.0pt::25.90352pt.
[42
]
l2hSize :tex2html_wrap_inline686:7.98248pt::7.98248pt::15.88345pt.
l2hSize :tex2html_wrap_inline688:7.98248pt::7.98248pt::15.88345pt.
[43
]
l2hSize :tex2html_wrap_inline692:7.98248pt::7.98248pt::18.01262pt.
l2hSize :tex2html_wrap_inline694:7.98248pt::7.98248pt::18.01262pt.
[44
]
l2hSize :tex2html_wrap_inline694:7.57185pt::7.57185pt::14.24352pt.
l2hSize :tex2html_wrap_inline696:7.57185pt::7.57185pt::14.24352pt.
[45
]
l2hSize :tex2html_wrap_inline696:9.30704pt::9.30704pt::60.92035pt.
l2hSize :tex2html_wrap_inline698:9.30704pt::9.30704pt::60.92035pt.
[46
]
l2hSize :displaymath567:16.30702pt::0.0pt::349.0pt.
l2hSize :displaymath569:16.30702pt::0.0pt::349.0pt.
[47
]
l2hSize :tex2html_wrap_inline700:7.98248pt::7.98248pt::21.70126pt.
l2hSize :tex2html_wrap_inline702:7.98248pt::7.98248pt::21.70126pt.
[48
]
l2hSize :displaymath568:17.04697pt::0.0pt::349.0pt.
l2hSize :displaymath570:17.04697pt::0.0pt::349.0pt.
[49
]
l2hSize :tex2html_wrap_inline704:10.26059pt::10.26059pt::23.72566pt.
l2hSize :tex2html_wrap_inline706:10.26059pt::10.26059pt::23.72566pt.
[50
]
l2hSize :tex2html_wrap_inline710:7.98248pt::7.98248pt::18.29398pt.
l2hSize :tex2html_wrap_inline712:7.98248pt::7.98248pt::18.29398pt.
[51
]
l2hSize :displaymath569:17.04697pt::0.0pt::349.0pt.
l2hSize :displaymath571:17.04697pt::0.0pt::349.0pt.
[52
]
l2hSize :tex2html_wrap_inline714:10.26059pt::10.26059pt::34.67923pt.
l2hSize :tex2html_wrap_inline716:10.26059pt::10.26059pt::34.67923pt.
[53
]
l2hSize :tex2html_wrap_inline720:10.26059pt::10.26059pt::23.72566pt.
l2hSize :tex2html_wrap_inline722:10.26059pt::10.26059pt::23.72566pt.
[54
]
l2hSize :displaymath570:28.68124pt::0.0pt::349.0pt.
l2hSize :displaymath572:28.68124pt::0.0pt::349.0pt.
[55
]
l2hSize :displaymath571:17.88034pt::0.0pt::349.0pt.
l2hSize :displaymath573:17.88034pt::0.0pt::349.0pt.
[56
]
l2hSize :displaymath572:28.68124pt::0.0pt::349.0pt.
l2hSize :displaymath574:28.68124pt::0.0pt::349.0pt.
[57
]
l2hSize :displaymath573:17.88034pt::0.0pt::349.0pt.
l2hSize :displaymath575:17.88034pt::0.0pt::349.0pt.
[58
]
l2hSize :tex2html_wrap_inline734:7.48248pt::0.0pt::12.3644pt.
l2hSize :tex2html_wrap_inline736:7.48248pt::0.0pt::12.3644pt.
[59
]
l2hSize :tex2html_wrap_inline738:9.12923pt::0.0pt::52.16011pt.
l2hSize :tex2html_wrap_inline740:9.12923pt::0.0pt::52.16011pt.
[60
]
l2hSize :tex2html_wrap_inline740:7.60416pt::0.0pt::21.40202pt.
l2hSize :tex2html_wrap_inline742:7.60416pt::0.0pt::21.40202pt.
[61
]
l2hSize :tex2html_wrap_inline742:7.60416pt::0.0pt::4.03026pt.
l2hSize :tex2html_wrap_inline744:7.60416pt::0.0pt::4.03026pt.
[62
]
l2hSize :tex2html_wrap_inline744:7.98248pt::7.98248pt::11.892pt.
l2hSize :tex2html_wrap_inline746:7.98248pt::7.98248pt::11.892pt.
[63
]
l2hSize :tex2html_wrap_inline746:7.98248pt::7.98248pt::14.30252pt.
l2hSize :tex2html_wrap_inline748:7.98248pt::7.98248pt::14.30252pt.
[64
]
l2hSize :tex2html_wrap_inline748:7.98248pt::7.98248pt::36.32253pt.
l2hSize :tex2html_wrap_inline750:7.98248pt::7.98248pt::36.32253pt.
[65
]
l2hSize :tex2html_wrap860:139.25392pt::133.77895pt::349.0pt.
l2hSize :tex2html_wrap862:139.25392pt::133.77895pt::349.0pt.
[66
]
l2hSize :tex2html_wrap_inline776:7.98248pt::7.98248pt::15.98515pt.
l2hSize :tex2html_wrap_inline778:7.98248pt::7.98248pt::15.98515pt.
[67
]
l2hSize :tex2html_wrap_inline784:9.94032pt::9.94032pt::15.98515pt.
l2hSize :tex2html_wrap_inline786:9.94032pt::9.94032pt::15.98515pt.
[68
]
l2hSize :tex2html_wrap_inline798:7.98248pt::7.98248pt::13.91736pt.
l2hSize :tex2html_wrap_inline800:7.98248pt::7.98248pt::13.91736pt.
[69
]
l2hSize :tex2html_wrap_inline802:7.98248pt::7.98248pt::31.03764pt.
l2hSize :tex2html_wrap_inline804:7.98248pt::7.98248pt::31.03764pt.
[70
]
l2hSize :displaymath574:20.71762pt::0.0pt::349.0pt.
l2hSize :displaymath576:20.71762pt::0.0pt::349.0pt.
[71
]
l2hSize :tex2html_wrap_inline804:8.7125pt::8.7125pt::41.27534pt.
l2hSize :tex2html_wrap_inline806:8.7125pt::8.7125pt::41.27534pt.
[72
]
l2hSize :tex2html_wrap_inline806:7.22179pt::0.0pt::4.31995pt.
l2hSize :tex2html_wrap_inline808:7.22179pt::0.0pt::4.31995pt.
[73
]
l2hSize :tex2html_wrap_inline808:9.62923pt::9.62923pt::17.16011pt.
l2hSize :tex2html_wrap_inline810:9.62923pt::9.62923pt::17.16011pt.
[74
]
l2hSize :tex2html_wrap_inline812:9.94032pt::9.94032pt::44.73853pt.
l2hSize :tex2html_wrap_inline814:9.94032pt::9.94032pt::44.73853pt.
[75
]
l2hSize :tex2html_wrap_inline814:9.30704pt::9.30704pt::54.03362pt.
l2hSize :tex2html_wrap_inline816:9.30704pt::9.30704pt::54.03362pt.
[76
]
l2hSize :displaymath531:29.29593pt::0.0pt::349.0pt.
l2hSize :displaymath533:29.29593pt::0.0pt::349.0pt.
[77
]
l2hSize :tex2html_wrap_inline816:7.98248pt::7.98248pt::14.70099pt.
l2hSize :tex2html_wrap_inline818:7.98248pt::7.98248pt::14.70099pt.
[78
]
l2hSize :tex2html_wrap_inline818:7.48248pt::0.0pt::9.09842pt.
l2hSize :tex2html_wrap_inline820:7.48248pt::0.0pt::9.09842pt.
[79
]
l2hSize :tex2html_wrap_inline820:9.30704pt::9.30704pt::46.61087pt.
l2hSize :tex2html_wrap_inline822:9.30704pt::9.30704pt::46.61087pt.
[80
]
l2hSize :displaymath542:15.72917pt::0.0pt::349.0pt.
l2hSize :displaymath544:15.72917pt::0.0pt::349.0pt.
[81
]
l2hSize :tex2html_wrap_inline822:7.48248pt::0.0pt::7.89314pt.
l2hSize :tex2html_wrap_inline824:7.48248pt::0.0pt::7.89314pt.
[82
]
l2hSize :displaymath546:15.72917pt::0.0pt::349.0pt.
l2hSize :displaymath548:15.72917pt::0.0pt::349.0pt.
[83
]
l2hSize :tex2html_wrap_inline824:7.07185pt::0.0pt::7.75627pt.
l2hSize :tex2html_wrap_inline826:7.07185pt::0.0pt::7.75627pt.
[84
]
l2hSize :tex2html_wrap_inline826:9.12923pt::0.0pt::29.49117pt.
l2hSize :tex2html_wrap_inline828:9.12923pt::0.0pt::29.49117pt.
[85
]
l2hSize :tex2html_wrap_inline983:7.60416pt::0.0pt::26.06703pt.
l2hSize :tex2html_wrap_inline985:7.60416pt::0.0pt::26.06703pt.
[86
]
l2hSize :tex2html_wrap_inline1324:7.07185pt::0.0pt::8.68147pt.
l2hSize :tex2html_wrap_inline1316:7.07185pt::0.0pt::8.68147pt.
[87
]
l2hSize :tex2html_wrap_inline1328:7.57185pt::7.57185pt::17.58084pt.
l2hSize :tex2html_wrap_inline1320:7.57185pt::7.57185pt::17.58084pt.
[88
]
l2hSize :tex2html_wrap_inline1342:7.07185pt::0.0pt::4.50171pt.
l2hSize :tex2html_wrap_inline1334:7.07185pt::0.0pt::4.50171pt.
[89
]
l2hSize :tex2html_wrap_inline1346:8.7125pt::8.7125pt::32.78915pt.
l2hSize :tex2html_wrap_inline1338:8.7125pt::8.7125pt::32.78915pt.
[90
]
l2hSize :tex2html_wrap_inline1348:7.60416pt::0.0pt::5.99211pt.
l2hSize :tex2html_wrap_inline1340:7.60416pt::0.0pt::5.99211pt.
[91
]
l2hSize :tex2html_wrap_inline1352:7.57185pt::7.57185pt::17.58084pt.
l2hSize :tex2html_wrap_inline1346:9.62923pt::9.62923pt::75.59969pt.
[92
]
l2hSize :tex2html_wrap_inline1374:9.62923pt::9.62923pt::71.50383pt.
l2hSize :tex2html_wrap_inline1362:7.57185pt::7.57185pt::17.58084pt.
[93
]
l2hSize :tex2html_wrap_inline1378:7.57185pt::7.57185pt::11.36446pt.
l2hSize :tex2html_wrap_inline1374:9.62923pt::9.62923pt::71.50383pt.
[94
]
l2hSize :tex2html_wrap_inline1382:7.07185pt::0.0pt::6.80576pt.
l2hSize :tex2html_wrap_inline1378:7.57185pt::7.57185pt::11.36446pt.
[95
]
l2hSize :tex2html_wrap_inline1384:7.57185pt::7.57185pt::6.30898pt.
l2hSize :tex2html_wrap_inline1382:7.07185pt::0.0pt::6.80576pt.
[96
]
l2hSize :tex2html_wrap_inline1386:9.62923pt::9.62923pt::80.83733pt.
l2hSize :tex2html_wrap_inline1384:7.57185pt::7.57185pt::6.30898pt.
[97
]
l2hSize :tex2html_wrap_inline1388:9.94032pt::9.94032pt::82.71652pt.
l2hSize :tex2html_wrap_inline1386:9.62923pt::9.62923pt::80.83733pt.
[98
]
l2hSize :tex2html_wrap_inline1390:9.62923pt::9.62923pt::27.98401pt.
l2hSize :tex2html_wrap_inline1388:9.94032pt::9.94032pt::82.71652pt.
[99
]
l2hSize :tex2html_wrap_inline1392:9.94032pt::9.94032pt::83.21068pt.
l2hSize :tex2html_wrap_inline1390:9.62923pt::9.62923pt::27.98401pt.
[100
]
l2hSize :tex2html_wrap_inline1392:9.94032pt::9.94032pt::83.21068pt.
[101
] (./images.aux) )
Here is how much of TeX's memory you used:
4265 strings out of 94074
55276 string characters out of 1167173
134209 words of memory out of 1500000
7519 multiletter control sequences out of 10000+50000
4373 strings out of 94074
57907 string characters out of 1167173
141384 words of memory out of 1500000
7590 multiletter control sequences out of 10000+50000
10304 words of font info for 41 fonts, out of 1200000 for 2000
645 hyphenation exceptions out of 8191
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/;
$cached_env_img{$key} = q|<IMG
WIDTH="135" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img98.png"
SRC="|."$dir".q|img99.png"
ALT="$op(M^{-1}) = M^{-T}$">|;
$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/;
$cached_env_img{$key} = q|<IMG
WIDTH="14" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img96.png"
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img97.png"
ALT="$y$">|;
$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"
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/;
$cached_env_img{$key} = q|<IMG
WIDTH="26" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
@ -217,12 +223,6 @@ $cached_env_img{$key} = q|<IMG
SRC="|."$dir".q|img17.png"
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/;
$cached_env_img{$key} = q|<IMG
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/;
$cached_env_img{$key} = q|<IMG
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img92.png"
ALT="$&gt;0$">|;
WIDTH="31" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img93.png"
ALT="$&gt; 0$">|;
$key = q/(tilde{R}_i^0)^TinRe^{n_i^deltatimesn};MSF=1.6;LFS=11;AAT/;
$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/;
$cached_env_img{$key} = q|<IMG
WIDTH="14" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img95.png"
WIDTH="15" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img96.png"
ALT="$x$">|;
$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/;
$cached_env_img{$key} = q|<IMG
WIDTH="48" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img99.png"
SRC="|."$dir".q|img100.png"
ALT="$M^{-1})$">|;
$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"
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/;
$cached_env_img{$key} = q|<IMG
WIDTH="177" HEIGHT="51" BORDER="0"
@ -434,12 +440,6 @@ $cached_env_img{$key} = q|<IMG
SRC="|."$dir".q|img35.png"
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/;
$cached_env_img{$key} = q|<IMG
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/;
$cached_env_img{$key} = q|<IMG
WIDTH="22" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img94.png"
WIDTH="21" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img95.png"
ALT="$op$">|;
$key = q/G;MSF=1.6;LFS=11;AAT/;
@ -520,6 +520,12 @@ $cached_env_img{$key} = q|<IMG
SRC="|."$dir".q|img84.png"
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/;
$cached_env_img{$key} = q|<IMG
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/;
$cached_env_img{$key} = q|<IMG
WIDTH="132" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img97.png"
SRC="|."$dir".q|img98.png"
ALT="$op(M^{-1}) = M^{-1}$">|;
$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/;
$cached_env_img{$key} = q|<IMG
WIDTH="117" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img93.png"
WIDTH="118" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img94.png"
ALT="$y = op(M^{-1}) x$">|;
$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/;
$cached_env_img{$key} = q|<IMG
WIDTH="136" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img100.png"
SRC="|."$dir".q|img101.png"
ALT="$op(M^{-1}) = M^{-C}$">|;
$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}
\usepackage{pstricks}
@ -180,7 +180,8 @@
\endgroup
\stepcounter{section}
{\newpage\clearpage
\lthtmldisplayA{displaymath238}%
% contents=begin{displaymath} Ax=b, end{displaymath}
\lthtmldisplayA{displaymath242}%
\begin{displaymath}
Ax=b,
\end{displaymath}%
@ -188,12 +189,12 @@ Ax=b,
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline265}%
% contents=$A$
\lthtmlinlinemathA{tex2html_wrap_inline268}%
$A$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
\stepcounter{section}
\stepcounter{section}
\stepcounter{section}
\stepcounter{subsection}
@ -203,153 +204,178 @@ $A$%
\stepcounter{section}
\stepcounter{subsection}
{\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}$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline588}%
% contents=$G=(W,E)$
\lthtmlinlinemathA{tex2html_wrap_inline590}%
$G=(W,E)$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline592}%
% contents=$W=\{1, 2, \ldots, n\}$
\lthtmlinlinemathA{tex2html_wrap_inline594}%
$W=\{1, 2, \ldots, n\}$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\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\}$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline596}%
% contents=$G$
\lthtmlinlinemathA{tex2html_wrap_inline598}%
$G$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline598}%
% contents=$\delta > 0$
\lthtmlinlinemathA{tex2html_wrap_inline600}%
$\delta > 0$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline600}%
% contents=$\delta$
\lthtmlinlinemathA{tex2html_wrap_inline602}%
$\delta$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline602}%
% contents=$W$
\lthtmlinlinemathA{tex2html_wrap_inline604}%
$W$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline606}%
% contents=$m$
\lthtmlinlinemathA{tex2html_wrap_inline608}%
$m$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline608}%
% contents=$W_i^0 \subset W$
\lthtmlinlinemathA{tex2html_wrap_inline610}%
$W_i^0 \subset W$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\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$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\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}$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline618}%
% contents=$W_i^{\delta-1}$
\lthtmlinlinemathA{tex2html_wrap_inline620}%
$W_i^{\delta-1}$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline620}%
% contents=$n_i^\delta$
\lthtmlinlinemathA{tex2html_wrap_inline622}%
$n_i^\delta$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline622}%
% contents=$W_i^\delta$
\lthtmlinlinemathA{tex2html_wrap_inline624}%
$W_i^\delta$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\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
\Re^{n_i^\delta \times n}$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline626}%
% contents=$v \in \Re^n$
\lthtmlinlinemathA{tex2html_wrap_inline628}%
$v \in \Re^n$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\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}$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline630}%
% contents=$v$
\lthtmlinlinemathA{tex2html_wrap_inline632}%
$v$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline634}%
% contents=$R_i^{\delta}$
\lthtmlinlinemathA{tex2html_wrap_inline636}%
$R_i^{\delta}$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline636}%
% contents=$\Re^{n_i^\delta}$
\lthtmlinlinemathA{tex2html_wrap_inline638}%
$\Re^{n_i^\delta}$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline638}%
% contents=$\Re^n$
\lthtmlinlinemathA{tex2html_wrap_inline640}%
$\Re^n$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\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
\Re^{n_i^\delta \times n_i^\delta}$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline644}%
% contents=$W_i^{\delta}$
\lthtmlinlinemathA{tex2html_wrap_inline646}%
$W_i^{\delta}$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\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}
M_{AS}^{-1}= \sum_{i=1}^m (R_i^{\delta})^T
(A_i^\delta)^{-1} R_i^{\delta},
@ -358,79 +384,92 @@ M_{AS}^{-1}= \sum_{i=1}^m (R_i^{\delta})^T
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline646}%
% contents=$A_i^\delta$
\lthtmlinlinemathA{tex2html_wrap_inline648}%
$A_i^\delta$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline652}%
% contents=$v_i = R_i^{\delta} v$
\lthtmlinlinemathA{tex2html_wrap_inline654}%
$v_i = R_i^{\delta} v$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline654}%
% contents=$i=1,\ldots,m$
\lthtmlinlinemathA{tex2html_wrap_inline656}%
$i=1,\ldots,m$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\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$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline660}%
% contents=$w_i$
\lthtmlinlinemathA{tex2html_wrap_inline662}%
$w_i$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\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$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline664}%
% contents=$p$
\lthtmlinlinemathA{tex2html_wrap_inline666}%
$p$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline668}%
% contents=$p,t$
\lthtmlinlinemathA{tex2html_wrap_inline670}%
$p,t$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\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}$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline674}%
% contents=$\tilde{R}_i^0$
\lthtmlinlinemathA{tex2html_wrap_inline676}%
$\tilde{R}_i^0$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline676}%
% contents=$R_i^\delta$
\lthtmlinlinemathA{tex2html_wrap_inline678}%
$R_i^\delta$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\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$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\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}
M_{RAS}^{-1}= \sum_{i=1}^m (\tilde{R}_i^0)^T
(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}
{\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
(A_i^\delta)^{-1} \tilde{R}_i^0.
\end{displaymath}%
@ -447,37 +487,43 @@ M_{RAS}^{-1}= \sum_{i=1}^m (\tilde{R}_i^0)^T
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline680}%
% contents=$\delta=0$
\lthtmlinlinemathA{tex2html_wrap_inline682}%
$\delta=0$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline686}%
% contents=$A_C$
\lthtmlinlinemathA{tex2html_wrap_inline688}%
$A_C$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline692}%
% contents=$W_C$
\lthtmlinlinemathA{tex2html_wrap_inline694}%
$W_C$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline694}%
% contents=$n_C$
\lthtmlinlinemathA{tex2html_wrap_inline696}%
$n_C$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\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}$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmldisplayA{displaymath567}%
% contents=begin{displaymath} A_C=R_C A R_C^T end{displaymath}
\lthtmldisplayA{displaymath569}%
\begin{displaymath}
A_C=R_C A R_C^T
\end{displaymath}%
@ -485,13 +531,15 @@ A_C=R_C A R_C^T
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline700}%
% contents=$M_{1L}$
\lthtmlinlinemathA{tex2html_wrap_inline702}%
$M_{1L}$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\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}
M_{C}^{-1}= R_C^T A_C^{-1} R_C,
\end{displaymath}%
@ -499,19 +547,22 @@ M_{C}^{-1}= R_C^T A_C^{-1} R_C,
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline704}%
% contents=$M_{C}^{-1}$
\lthtmlinlinemathA{tex2html_wrap_inline706}%
$M_{C}^{-1}$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline710}%
% contents=$M_{C}$
\lthtmlinlinemathA{tex2html_wrap_inline712}%
$M_{C}$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmldisplayA{displaymath569}%
% contents=begin{displaymath} M_{2LA}^{-1} = M_{C}^{-1} + M_{1L}^{-1}. end{displaymath}
\lthtmldisplayA{displaymath571}%
\begin{displaymath}
M_{2LA}^{-1} = M_{C}^{-1} + M_{1L}^{-1}.
\end{displaymath}%
@ -519,19 +570,22 @@ M_{2LA}^{-1} = M_{C}^{-1} + M_{1L}^{-1}.
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline714}%
% contents=$M_{2L-A}^{-1}$
\lthtmlinlinemathA{tex2html_wrap_inline716}%
$M_{2L-A}^{-1}$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline720}%
% contents=$M_{1L}^{-1}$
\lthtmlinlinemathA{tex2html_wrap_inline722}%
$M_{1L}^{-1}$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\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{array}{l}
w = M_{1L}^{-1} v, \\
@ -542,7 +596,8 @@ z = w + M_{C}^{-1} (v-Aw);
\lthtmlcheckvsize\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}
M_{2LH-PRE}^{-1} = M_{C}^{-1} + \left( I - M_{C}^{-1}A \right) M_{1L}^{-1}.
\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}
{\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{array}{l}
w = M_{C}^{-1} v , \\
@ -561,7 +617,8 @@ z = w + M_{1L}^{-1} (v-Aw) ,
\lthtmlcheckvsize\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}
M_{2LH-POST}^{-1} = M_{1L}^{-1} + \left( I - M_{1L}^{-1}A \right) M_{C}^{-1}.
\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}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline734}%
% contents=$M$
\lthtmlinlinemathA{tex2html_wrap_inline736}%
$M$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline738}%
% contents=$w=M^{-1}v$
\lthtmlinlinemathA{tex2html_wrap_inline740}%
$w=M^{-1}v$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline740}%
% contents=$nlev$
\lthtmlinlinemathA{tex2html_wrap_inline742}%
$nlev$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline742}%
% contents=$l$
\lthtmlinlinemathA{tex2html_wrap_inline744}%
$l$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline744}%
% contents=$A_l$
\lthtmlinlinemathA{tex2html_wrap_inline746}%
$A_l$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline746}%
% contents=$M_l$
\lthtmlinlinemathA{tex2html_wrap_inline748}%
$M_l$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline748}%
% contents=$A_1=A$
\lthtmlinlinemathA{tex2html_wrap_inline750}%
$A_1=A$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\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{
\begin{minipage}{.85\textwidth} {\small
\begin{tabbing}
@ -643,31 +708,36 @@ $w = y_1$;
\stepcounter{subsection}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline776}%
% contents=$R_C$
\lthtmlinlinemathA{tex2html_wrap_inline778}%
$R_C$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline784}%
% contents=$R_C^T$
\lthtmlinlinemathA{tex2html_wrap_inline786}%
$R_C^T$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline798}%
% contents=$N_r$
\lthtmlinlinemathA{tex2html_wrap_inline800}%
$N_r$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline802}%
% contents=$r \in W$
\lthtmlinlinemathA{tex2html_wrap_inline804}%
$r \in W$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\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\}
\cup \left\{ r \right\} ,
\end{displaymath}%
@ -675,37 +745,43 @@ $r \in W$%
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline804}%
% contents=$\theta \in [0,1]$
\lthtmlinlinemathA{tex2html_wrap_inline806}%
$\theta \in [0,1]$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline806}%
% contents=$i$
\lthtmlinlinemathA{tex2html_wrap_inline808}%
$i$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline808}%
% contents=$W_i^0$
\lthtmlinlinemathA{tex2html_wrap_inline810}%
$W_i^0$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline812}%
% contents=$P_C=R_C^T$
\lthtmlinlinemathA{tex2html_wrap_inline814}%
$P_C=R_C^T$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\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}$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\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}
P=(p_{ij}), \quad p_{ij}=
\left\{ \begin{array}{ll}
@ -717,25 +793,29 @@ P=(p_{ij}), \quad p_{ij}=
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline816}%
% contents=$P_C$
\lthtmlinlinemathA{tex2html_wrap_inline818}%
$P_C$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline818}%
% contents=$P$
\lthtmlinlinemathA{tex2html_wrap_inline820}%
$P$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline820}%
% contents=$S \in \Re^{n \times n}$
\lthtmlinlinemathA{tex2html_wrap_inline822}%
$S \in \Re^{n \times n}$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmldisplayA{displaymath542}%
% contents=begin{displaymath} P_C = S P, end{displaymath}
\lthtmldisplayA{displaymath544}%
\begin{displaymath}
P_C = S P,
\end{displaymath}%
@ -743,13 +823,15 @@ P_C = S P,
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline822}%
% contents=$S$
\lthtmlinlinemathA{tex2html_wrap_inline824}%
$S$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmldisplayA{displaymath546}%
% contents=begin{displaymath} S = I - \omega D^{-1} A , end{displaymath}
\lthtmldisplayA{displaymath548}%
\begin{displaymath}
S = I - \omega D^{-1} A ,
\end{displaymath}%
@ -757,20 +839,23 @@ S = I - \omega D^{-1} A ,
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline824}%
% contents=$\omega$
\lthtmlinlinemathA{tex2html_wrap_inline826}%
$\omega$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline826}%
% contents=$D^{-1}A$
\lthtmlinlinemathA{tex2html_wrap_inline828}%
$D^{-1}A$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
\stepcounter{section}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline983}%
% contents=$\theta = 0$
\lthtmlinlinemathA{tex2html_wrap_inline985}%
$\theta = 0$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
@ -778,7 +863,8 @@ $\theta = 0$%
\stepcounter{subsection}
\stepcounter{section}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline1324}%
% contents=$w$
\lthtmlinlinemathA{tex2html_wrap_inline1316}%
$w$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
@ -786,80 +872,100 @@ $w$%
\stepcounter{subsection}
\stepcounter{subsection}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline1328}%
% contents=$\ge 0$
\lthtmlinlinemathA{tex2html_wrap_inline1320}%
$\ge 0$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline1342}%
% contents=$t$
\lthtmlinlinemathA{tex2html_wrap_inline1334}%
$t$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline1346}%
% contents=$\in [0, 1]$
\lthtmlinlinemathA{tex2html_wrap_inline1338}%
$\in [0, 1]$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline1348}%
% contents=$\theta$
\lthtmlinlinemathA{tex2html_wrap_inline1340}%
$\theta$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline1352}%
$>0$%
% contents=$4/(3||D^{-1}A||_\infty)$
\lthtmlinlinemathA{tex2html_wrap_inline1346}%
$4/(3||D^{-1}A||_\infty)$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
% contents=$> 0$
\lthtmlinlinemathA{tex2html_wrap_inline1362}%
$> 0$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
\stepcounter{subsection}
\stepcounter{subsection}
{\newpage\clearpage
% contents=$y = op(M^{-1})\, x$
\lthtmlinlinemathA{tex2html_wrap_inline1374}%
$y = op(M^{-1})\, x$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
% contents=$op$
\lthtmlinlinemathA{tex2html_wrap_inline1378}%
$op$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
% contents=$x$
\lthtmlinlinemathA{tex2html_wrap_inline1382}%
$x$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
% contents=$y$
\lthtmlinlinemathA{tex2html_wrap_inline1384}%
$y$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
% contents=$op(M^{-1}) = M^{-1}$
\lthtmlinlinemathA{tex2html_wrap_inline1386}%
$op(M^{-1}) = M^{-1}$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
% contents=$op(M^{-1}) = M^{-T}$
\lthtmlinlinemathA{tex2html_wrap_inline1388}%
$op(M^{-1}) = M^{-T}$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
% contents=$M^{-1})$
\lthtmlinlinemathA{tex2html_wrap_inline1390}%
$M^{-1})$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
% contents=$op(M^{-1}) = M^{-C}$
\lthtmlinlinemathA{tex2html_wrap_inline1392}%
$op(M^{-1}) = M^{-C}$%
\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)
original version by: Nikos Drakos, CBLU, University of Leeds
@ -22,7 +22,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html13"
HREF="node1.html">
<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"
SRC="file:/usr/share/latex2html/icons/prev_g.png">
<A NAME="tex2html11"
HREF="node1.html">
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="tex2html14"
HREF="node1.html">Contents</A>
HREF="node1.html">Abstract</A>
&nbsp; <B> <A NAME="tex2html12"
HREF="node1.html">Contents</A></B>
<BR>
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<P>
MLD2P4 User's and Reference Guidetitle
<BR>
<TABLE WIDTH="100%">
<TR><TD>
<DIV ALIGN="RIGHT">
<FONT SIZE="+4"><B>MLD2P4
<BR>
<BIG CLASS="XLARGE"><B>MLD2P4
<BR>
User's and Reference Guide
</B></FONT>
<BR>
<BR>
<BR>
<BR><I><FONT SIZE="+2">A guide for the Multi-Level Domain Decomposition <BR>
User's and Reference Guide</B></BIG>
<BR><SPAN CLASS="textit"><BIG CLASS="LARGE">A guide for the Multi-Level Domain Decomposition <BR>
<BR>
Parallel Preconditioners Package
based on PSBLAS</FONT></I>
</DIV></TD></TR>
</TABLE>
<P>
based on PSBLAS</BIG></SPAN>
<B>Pasqua D'Ambra</B>
<BR>
<TABLE WIDTH="100%">
<TR><TD>
<DIV ALIGN="RIGHT">
<FONT SIZE="+1"><B>Pasqua D'Ambra</B></FONT>
<BR><FONT SIZE="+1">ICAR-CNR, Naples, Italy
ICAR-CNR, Naples, Italy
<BR>
<BR>
<BR>
<BR><FONT SIZE="+1"><B>Daniela di Serafino</B></FONT>
<BR><FONT SIZE="+1">Second University of Naples, Italy
<BR><B>Daniela di Serafino</B>
<BR>
Second University of Naples, Italy
<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>
<TABLE WIDTH="100%">
<TR><TD>
<DIV ALIGN="RIGHT">
<FONT SIZE="+1">Software version: 1.0
<BR><B>Salvatore Filippone</B>
<BR>
July 22, 2008
</FONT></DIV></TD></TR>
</TABLE>
<P>
University of Rome ``Tor Vergata'', Italy
Software version: 1.0
<BR>
July 24, 2008
<BR>
<P>
<P>
<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>
<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"></A>
<UL>
<UL CLASS="ChildLinks">
<LI><A NAME="tex2html15"
HREF="node1.html">Contents</A>
HREF="node1.html">Abstract</A>
<LI><A NAME="tex2html16"
HREF="node2.html">General Overview</A>
HREF="node2.html">Contents</A>
<LI><A NAME="tex2html17"
HREF="node3.html">Notational Conventions</A>
HREF="node3.html">General Overview</A>
<LI><A NAME="tex2html18"
HREF="node4.html">Code Distribution</A>
<LI><A NAME="tex2html19"
@ -238,29 +169,10 @@ the user interface of MLD2P4.
HREF="node31.html">About this document ...</A>
</UL>
<!--End of Table of Child-Links-->
<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-->
<BR><HR>
<ADDRESS>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</HTML>

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

@ -18,6 +18,10 @@ $key = q/cite_dd2_96/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$noresave{$key} = "$nosave";
$key = q/sec:ex_and_test/;
$external_labels{$key} = "$URL/" . q|node9.html|;
$noresave{$key} = "$nosave";
$key = q/cite_Saad_book/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$noresave{$key} = "$nosave";
@ -30,7 +34,7 @@ $key = q/sec:conventions/;
$external_labels{$key} = "$URL/" . q|node3.html|;
$noresave{$key} = "$nosave";
$key = q/cite_SUPERLUDIST/;
$key = q/cite_blas2/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$noresave{$key} = "$nosave";
@ -38,6 +42,10 @@ $key = q/cite_dd1_94/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$noresave{$key} = "$nosave";
$key = q/cite_SUPERLUDIST/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$noresave{$key} = "$nosave";
$key = q/cite_TUMINARO_TONG/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$noresave{$key} = "$nosave";
@ -55,7 +63,7 @@ $external_labels{$key} = "$URL/" . q|node12.html|;
$noresave{$key} = "$nosave";
$key = q/sec:overview/;
$external_labels{$key} = "$URL/" . q|node2.html|;
$external_labels{$key} = "$URL/" . q|node3.html|;
$noresave{$key} = "$nosave";
$key = q/sec:multilevel/;
@ -87,7 +95,11 @@ $external_labels{$key} = "$URL/" . q|node30.html|;
$noresave{$key} = "$nosave";
$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";
$key = q/fig:ex_3la/;
@ -102,6 +114,10 @@ $key = q/sec:errors/;
$external_labels{$key} = "$URL/" . q|node28.html|;
$noresave{$key} = "$nosave";
$key = q/tab:precinit/;
$external_labels{$key} = "$URL/" . q|node13.html|;
$noresave{$key} = "$nosave";
$key = q/fig:ex_default/;
$external_labels{$key} = "$URL/" . q|node14.html|;
$noresave{$key} = "$nosave";
@ -122,14 +138,14 @@ $key = q/eq:jac_smoother/;
$external_labels{$key} = "$URL/" . q|node12.html|;
$noresave{$key} = "$nosave";
$key = q/fig:ex_3lh/;
$external_labels{$key} = "$URL/" . q|node14.html|;
$noresave{$key} = "$nosave";
$key = q/sec:precaply/;
$external_labels{$key} = "$URL/" . q|node22.html|;
$noresave{$key} = "$nosave";
$key = q/fig:ex_3lh/;
$external_labels{$key} = "$URL/" . q|node14.html|;
$noresave{$key} = "$nosave";
$key = q/cite_BREZINA_VANEK/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$noresave{$key} = "$nosave";
@ -142,6 +158,10 @@ $key = q/cite_para_04/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$noresave{$key} = "$nosave";
$key = q/cite_BLACS/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$noresave{$key} = "$nosave";
$key = q/cite_EFSTATHIOU/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$noresave{$key} = "$nosave";
@ -174,6 +194,10 @@ $key = q/eq:smoothed_prol/;
$external_labels{$key} = "$URL/" . q|node12.html|;
$noresave{$key} = "$nosave";
$key = q/cite_blas1/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$noresave{$key} = "$nosave";
$key = q/fig:ex_1l/;
$external_labels{$key} = "$URL/" . q|node14.html|;
$noresave{$key} = "$nosave";
@ -186,6 +210,10 @@ $key = q/sec:precfree/;
$external_labels{$key} = "$URL/" . q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/cite_blas3/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$noresave{$key} = "$nosave";
1;
@ -193,5 +221,133 @@ $noresave{$key} = "$nosave";
# 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,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)
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 -->
<HTML>
<HEAD>
<TITLE>Contents</TITLE>
<META NAME="description" CONTENT="Contents">
<TITLE>Abstract</TITLE>
<META NAME="description" CONTENT="Abstract">
<META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
@ -25,8 +25,9 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html54"
<DIV CLASS="navigation"><!--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>
@ -37,93 +38,91 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<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>
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="tex2html55"
HREF="node2.html">General Overview</A>
<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>
<BR>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<BR>
<H2><A NAME="SECTION00010000000000000000">
Contents</A>
</H2>
<!--Table of Contents-->
<H1><A NAME="SECTION00010000000000000000">
Abstract</A>
</H1>
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.
<UL>
<LI><A NAME="tex2html56"
HREF="node2.html">General Overview</A>
<LI><A NAME="tex2html57"
HREF="node3.html">Notational Conventions</A>
<LI><A NAME="tex2html58"
HREF="node4.html">Code Distribution</A>
<LI><A NAME="tex2html59"
HREF="node5.html">Configuring and Building MLD2P4</A>
<UL>
<LI><A NAME="tex2html60"
HREF="node6.html">Prerequisites</A>
<LI><A NAME="tex2html61"
HREF="node7.html">Optional third party libraries</A>
<LI><A NAME="tex2html62"
HREF="node8.html">Configuration options</A>
<LI><A NAME="tex2html63"
HREF="node9.html">Example and test programs</A>
</UL>
<BR>
<LI><A NAME="tex2html64"
HREF="node10.html">Multi-level Domain Decomposition Background</A>
<UL>
<LI><A NAME="tex2html65"
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>
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>
<BR><HR>
This guide provides a brief description of the functionalities and
the user interface of MLD2P4.
<P>
<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>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</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)
original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,34 +25,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html187"
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html186"
HREF="node11.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html183"
<A NAME="tex2html182"
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="tex2html177"
<A NAME="tex2html176"
HREF="node9.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html185"
HREF="node1.html">
<A NAME="tex2html184"
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="tex2html188"
<B> Next:</B> <A NAME="tex2html187"
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>
<B> Previous:</B> <A NAME="tex2html178"
<B> Previous:</B> <A NAME="tex2html177"
HREF="node9.html">Example and test programs</A>
&nbsp; <B> <A NAME="tex2html186"
HREF="node1.html">Contents</A></B>
<BR>
&nbsp; <B> <A NAME="tex2html185"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION00060000000000000000"></A><A NAME="sec:background"></A>
@ -61,7 +62,7 @@ Multi-level Domain Decomposition Background
</H1>
<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.
These preconditioners are based on the divide and conquer technique: the matrix
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
HREF="node30.html#Cai_Widlund_92">6</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>
<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
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
intrinsic parallelism. A drawback of these
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.
<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
correction. In this context, the one-level preconditioner is often
called `smoother'. Different two-level preconditioners are obtained by varying the
choice of the smoother and of the coarse-level correction, and the
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 this system, thus obtaining <I>multi-level</I> preconditioners.
from this system, thus obtaining <SPAN CLASS="textit">multi-level</SPAN> preconditioners.
<P>
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
the fine and coarse levels by suitably choosing the coarse space and the coarse-to-fine
interpolation [<A
HREF="node30.html#StubenGMD69_99">17</A>].
HREF="node30.html#StubenGMD69_99">22</A>].
<P>
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
aggregation</I> algorithm [<A
starting from the original matrix. The algebraic approach is based on the <SPAN CLASS="textit">smoothed
aggregation</SPAN> algorithm [<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
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
aggregation technique as implemented in MLD2P4. For further details the user
is referred to [<A
HREF="node30.html#para_04">2</A>,<A
HREF="node30.html#aaecc_07">3</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>
<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL>
<LI><A NAME="tex2html189"
<UL CLASS="ChildLinks">
<LI><A NAME="tex2html188"
HREF="node11.html">Multi-level Schwarz Preconditioners</A>
<LI><A NAME="tex2html190"
<LI><A NAME="tex2html189"
HREF="node12.html">Smoothed Aggregation</A>
</UL>
<!--End of Table of Child-Links-->
<HR>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html187"
<A NAME="tex2html186"
HREF="node11.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html183"
<A NAME="tex2html182"
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="tex2html177"
<A NAME="tex2html176"
HREF="node9.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html185"
HREF="node1.html">
<A NAME="tex2html184"
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="tex2html188"
<B> Next:</B> <A NAME="tex2html187"
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>
<B> Previous:</B> <A NAME="tex2html178"
<B> Previous:</B> <A NAME="tex2html177"
HREF="node9.html">Example and test programs</A>
&nbsp; <B> <A NAME="tex2html186"
HREF="node1.html">Contents</A></B>
&nbsp; <B> <A NAME="tex2html185"
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</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)
original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,34 +25,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html201"
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html200"
HREF="node12.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html197"
<A NAME="tex2html196"
HREF="node10.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html191"
<A NAME="tex2html190"
HREF="node10.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html199"
HREF="node1.html">
<A NAME="tex2html198"
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="tex2html202"
<B> Next:</B> <A NAME="tex2html201"
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>
<B> Previous:</B> <A NAME="tex2html192"
<B> Previous:</B> <A NAME="tex2html191"
HREF="node10.html">Multi-level Domain Decomposition Background</A>
&nbsp; <B> <A NAME="tex2html200"
HREF="node1.html">Contents</A></B>
<BR>
&nbsp; <B> <A NAME="tex2html199"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00061000000000000000"></A><A NAME="sec:multilevel"></A>
@ -70,157 +71,157 @@ Given the linear system ,
where <!-- MATH
$A=(a_{ij}) \in \Re^{n \times n}$
-->
<IMG
<SPAN CLASS="MATH"><IMG
WIDTH="137" HEIGHT="38" ALIGN="MIDDLE" BORDER="0"
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,
let <IMG
let <SPAN CLASS="MATH"><IMG
WIDTH="93" HEIGHT="36" ALIGN="MIDDLE" BORDER="0"
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"
SRC="img2.png"
ALT="$A$">, where <!-- MATH
ALT="$A$"></SPAN>, where <!-- MATH
$W=\{1, 2, \ldots, n\}$
-->
<IMG
<SPAN CLASS="MATH"><IMG
WIDTH="138" HEIGHT="36" ALIGN="MIDDLE" BORDER="0"
SRC="img5.png"
ALT="$W=\{1, 2, \ldots, n\}$">
ALT="$W=\{1, 2, \ldots, n\}$"></SPAN>
and <!-- MATH
$E=\{(i,j) : a_{ij} \neq 0\}$
-->
<IMG
<SPAN CLASS="MATH"><IMG
WIDTH="162" HEIGHT="36" ALIGN="MIDDLE" BORDER="0"
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"
SRC="img7.png"
ALT="$G$">,
ALT="$G$"></SPAN>,
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"
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"
SRC="img9.png"
ALT="$\delta$">-overlap
partition of <IMG
ALT="$\delta$"></SPAN>-overlap
partition of <SPAN CLASS="MATH"><IMG
WIDTH="24" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img10.png"
ALT="$W$"> can be defined recursively as follows.
Given a 0-overlap (or non-overlapping) partition of <IMG
ALT="$W$"></SPAN> can be defined recursively as follows.
Given a 0-overlap (or non-overlapping) partition of <SPAN CLASS="MATH"><IMG
WIDTH="24" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img10.png"
ALT="$W$">,
i.e. a set of <IMG
ALT="$W$"></SPAN>,
i.e. a set of <SPAN CLASS="MATH"><IMG
WIDTH="20" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img11.png"
ALT="$m$"> disjoint nonempty sets <!-- MATH
ALT="$m$"></SPAN> disjoint nonempty sets <!-- MATH
$W_i^0 \subset W$
-->
<IMG
<SPAN CLASS="MATH"><IMG
WIDTH="73" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img12.png"
ALT="$W_i^0 \subset W$"> such that
ALT="$W_i^0 \subset W$"></SPAN> such that
<!-- MATH
$\cup_{i=1}^m W_i^0 = W$
-->
<IMG
<SPAN CLASS="MATH"><IMG
WIDTH="107" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
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"
SRC="img9.png"
ALT="$\delta$">-overlap
partition of <IMG
ALT="$\delta$"></SPAN>-overlap
partition of <SPAN CLASS="MATH"><IMG
WIDTH="24" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img10.png"
ALT="$W$"> is obtained by considering the sets
ALT="$W$"></SPAN> is obtained by considering the sets
<!-- MATH
$W_i^\delta \supset W_i^{\delta-1}$
-->
<IMG
<SPAN CLASS="MATH"><IMG
WIDTH="97" HEIGHT="41" ALIGN="MIDDLE" BORDER="0"
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
$W_i^{\delta-1}$
-->
<IMG
<SPAN CLASS="MATH"><IMG
WIDTH="48" HEIGHT="41" ALIGN="MIDDLE" BORDER="0"
SRC="img15.png"
ALT="$W_i^{\delta-1}$">.
ALT="$W_i^{\delta-1}$"></SPAN>.
<P>
Let <IMG
Let <SPAN CLASS="MATH"><IMG
WIDTH="22" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
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"
SRC="img17.png"
ALT="$W_i^\delta$"> and <!-- MATH
ALT="$W_i^\delta$"></SPAN> and <!-- MATH
$R_i^{\delta} \in
\Re^{n_i^\delta \times n}$
-->
<IMG
<SPAN CLASS="MATH"><IMG
WIDTH="93" HEIGHT="43" ALIGN="MIDDLE" BORDER="0"
SRC="img18.png"
ALT="$R_i^{\delta} \in
\Re^{n_i^\delta \times n}$"> the restriction operator that maps
a vector <IMG
\Re^{n_i^\delta \times n}$"></SPAN> the restriction operator that maps
a vector <SPAN CLASS="MATH"><IMG
WIDTH="56" HEIGHT="34" ALIGN="MIDDLE" BORDER="0"
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}$
-->
<IMG
<SPAN CLASS="MATH"><IMG
WIDTH="70" HEIGHT="43" ALIGN="MIDDLE" BORDER="0"
SRC="img20.png"
ALT="$v_i^{\delta} \in \Re^{n_i^\delta}$">
containing the components of <IMG
ALT="$v_i^{\delta} \in \Re^{n_i^\delta}$"></SPAN>
containing the components of <SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img21.png"
ALT="$v$"> corresponding to the vertices in
<IMG
ALT="$v$"></SPAN> corresponding to the vertices in
<SPAN CLASS="MATH"><IMG
WIDTH="30" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
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"
SRC="img22.png"
ALT="$R_i^{\delta}$"> is a
ALT="$R_i^{\delta}$"></SPAN> is a
prolongation operator from <!-- MATH
$\Re^{n_i^\delta}$
-->
<IMG
<SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="24" ALIGN="BOTTOM" BORDER="0"
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"
SRC="img24.png"
ALT="$\Re^n$">.
ALT="$\Re^n$"></SPAN>.
The matrix <!-- MATH
$A_i^\delta=R_i^\delta A (R_i^\delta)^T \in
\Re^{n_i^\delta \times n_i^\delta}$
-->
<IMG
<SPAN CLASS="MATH"><IMG
WIDTH="201" HEIGHT="43" ALIGN="MIDDLE" BORDER="0"
SRC="img25.png"
ALT="$A_i^\delta=R_i^\delta A (R_i^\delta)^T \in
\Re^{n_i^\delta \times n_i^\delta}$"> can be considered
as a restriction of <IMG
\Re^{n_i^\delta \times n_i^\delta}$"></SPAN> can be considered
as a restriction of <SPAN CLASS="MATH"><IMG
WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
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"
SRC="img26.png"
ALT="$W_i^{\delta}$">.
ALT="$W_i^{\delta}$"></SPAN>.
<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>
<DIV ALIGN="CENTER">
<DIV ALIGN="CENTER" CLASS="mathdisplay">
<!-- MATH
\begin{displaymath}
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>
<BR CLEAR="ALL">
<P></P>
where <IMG
where <SPAN CLASS="MATH"><IMG
WIDTH="25" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img28.png"
ALT="$A_i^\delta$"> is assumed to be nonsingular. Its application
to a vector <IMG
ALT="$A_i^\delta$"></SPAN> is assumed to be nonsingular. Its application
to a vector <SPAN CLASS="MATH"><IMG
WIDTH="56" HEIGHT="34" ALIGN="MIDDLE" BORDER="0"
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:
<OL>
<LI>restriction of <IMG
<LI>restriction of <SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img21.png"
ALT="$v$"> as <!-- MATH
ALT="$v$"></SPAN> as <!-- MATH
$v_i = R_i^{\delta} v$
-->
<IMG
<SPAN CLASS="MATH"><IMG
WIDTH="71" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
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"
SRC="img30.png"
ALT="$i=1,\ldots,m$">;
ALT="$i=1,\ldots,m$"></SPAN>;
</LI>
<LI>solution of the linear systems <!-- MATH
$A_i^\delta w_i = v_i$
-->
<IMG
<SPAN CLASS="MATH"><IMG
WIDTH="80" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img31.png"
ALT="$A_i^\delta w_i = v_i$">,
<IMG
ALT="$A_i^\delta w_i = v_i$"></SPAN>,
<SPAN CLASS="MATH"><IMG
WIDTH="97" HEIGHT="33" ALIGN="MIDDLE" BORDER="0"
SRC="img30.png"
ALT="$i=1,\ldots,m$">;
ALT="$i=1,\ldots,m$"></SPAN>;
</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"
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$
-->
<IMG
<SPAN CLASS="MATH"><IMG
WIDTH="144" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
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>
</OL>
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"
SRC="img34.png"
ALT="$p$">), MILU(<IMG
ALT="$p$"></SPAN>), MILU(<SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img34.png"
ALT="$p$">) and
ILU(<IMG
ALT="$p$"></SPAN>) and
ILU(<SPAN CLASS="MATH"><IMG
WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img35.png"
ALT="$p,t$">) [<A
HREF="node30.html#Saad_book">14</A>, Chapter 10].
ALT="$p,t$"></SPAN>) [<A
HREF="node30.html#Saad_book">19</A>, Chapter 10].
<P>
A variant of the classical AS preconditioner that outperforms it
in terms of convergence rate and of computation and communication
time on parallel distributed-memory computers is the so-called <I>Restricted AS
(RAS)</I> preconditioner&nbsp;[<A
time on parallel distributed-memory computers is the so-called <SPAN CLASS="textit">Restricted AS
(RAS)</SPAN> preconditioner&nbsp;[<A
HREF="node30.html#CAI_SARKIS">5</A>,<A
HREF="node30.html#EFSTATHIOU">10</A>]. It
is obtained by zeroing the components of <IMG
HREF="node30.html#EFSTATHIOU">13</A>]. It
is obtained by zeroing the components of <SPAN CLASS="MATH"><IMG
WIDTH="23" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img32.png"
ALT="$w_i$"> corresponding to the
ALT="$w_i$"></SPAN> corresponding to the
overlapping vertices when applying the prolongation. Therefore,
RAS differs from classical AS by the prolongation operators,
which are substituted by <!-- MATH
$(\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"
SRC="img36.png"
ALT="$(\tilde{R}_i^0)^T \in \Re^{n_i^\delta \times n}$">,
where <IMG
ALT="$(\tilde{R}_i^0)^T \in \Re^{n_i^\delta \times n}$"></SPAN>,
where <SPAN CLASS="MATH"><IMG
WIDTH="25" HEIGHT="42" ALIGN="MIDDLE" BORDER="0"
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"
SRC="img38.png"
ALT="$R_i^\delta$">
ALT="$R_i^\delta$"></SPAN>
corresponding to the vertices in <!-- MATH
$W_i^\delta \backslash W_i^0$
-->
<IMG
<SPAN CLASS="MATH"><IMG
WIDTH="66" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img39.png"
ALT="$W_i^\delta \backslash W_i^0$">:
ALT="$W_i^\delta \backslash W_i^0$"></SPAN>:
<BR><P></P>
<DIV ALIGN="CENTER">
<DIV ALIGN="CENTER" CLASS="mathdisplay">
<!-- MATH
\begin{displaymath}
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>
<BR CLEAR="ALL">
<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
<BR><P></P>
<DIV ALIGN="CENTER">
<DIV ALIGN="CENTER" CLASS="mathdisplay">
<!-- MATH
\begin{displaymath}
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>
<BR CLEAR="ALL">
<P></P>
We note that for <IMG
We note that for <SPAN CLASS="MATH"><IMG
WIDTH="45" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
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.
<P>
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"
SRC="img11.png"
ALT="$m$"> of partitions
of <IMG
ALT="$m$"></SPAN> of partitions
of <SPAN CLASS="MATH"><IMG
WIDTH="24" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img10.png"
ALT="$W$"> increases [<A
ALT="$W$"></SPAN> increases [<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
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"
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"
SRC="img2.png"
ALT="$A$">.
In a pure algebraic setting, <IMG
ALT="$A$"></SPAN>.
In a pure algebraic setting, <SPAN CLASS="MATH"><IMG
WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img43.png"
ALT="$A_C$"> is usually built with
a Galerkin approach. Given a set <IMG
ALT="$A_C$"></SPAN> is usually built with
a Galerkin approach. Given a set <SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img44.png"
ALT="$W_C$"> of <I>coarse vertices</I>,
with size <IMG
ALT="$W_C$"></SPAN> of <SPAN CLASS="textit">coarse vertices</SPAN>,
with size <SPAN CLASS="MATH"><IMG
WIDTH="26" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img45.png"
ALT="$n_C$">, and a suitable restriction operator
ALT="$n_C$"></SPAN>, and a suitable restriction operator
<!-- MATH
$R_C \in \Re^{n_C \times n}$
-->
<IMG
<SPAN CLASS="MATH"><IMG
WIDTH="101" HEIGHT="38" ALIGN="MIDDLE" BORDER="0"
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"
SRC="img43.png"
ALT="$A_C$"> is defined as
ALT="$A_C$"></SPAN> is defined as
<BR><P></P>
<DIV ALIGN="CENTER">
<DIV ALIGN="CENTER" CLASS="mathdisplay">
<!-- MATH
\begin{displaymath}
A_C=R_C A R_C^T
@ -441,12 +442,12 @@ A_C=R_C A R_C^T
<BR CLEAR="ALL">
<P></P>
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"
SRC="img48.png"
ALT="$M_{1L}$"> is obtained as
ALT="$M_{1L}$"></SPAN> is obtained as
<BR><P></P>
<DIV ALIGN="CENTER">
<DIV ALIGN="CENTER" CLASS="mathdisplay">
<!-- MATH
\begin{displaymath}
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>
<BR CLEAR="ALL">
<P></P>
where <IMG
where <SPAN CLASS="MATH"><IMG
WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
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"
SRC="img50.png"
ALT="$M_{C}^{-1}$">
to a vector <IMG
ALT="$M_{C}^{-1}$"></SPAN>
to a vector <SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img21.png"
ALT="$v$"> corresponds to a restriction, a solution and
a prolongation step; the solution step, involving the matrix <IMG
ALT="$v$"></SPAN> corresponds to a restriction, a solution and
a prolongation step; the solution step, involving the matrix <SPAN CLASS="MATH"><IMG
WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img43.png"
ALT="$A_C$">,
ALT="$A_C$"></SPAN>,
may be carried out also approximately.
<P>
The combination of <IMG
The combination of <SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
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"
SRC="img48.png"
ALT="$M_{1L}$"> may be
ALT="$M_{1L}$"></SPAN> may be
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:
<BR><P></P>
<DIV ALIGN="CENTER">
<DIV ALIGN="CENTER" CLASS="mathdisplay">
<!-- MATH
\begin{displaymath}
M_{2LA}^{-1} = M_{C}^{-1} + M_{1L}^{-1}.
@ -507,38 +508,38 @@ M_{2LA}^{-1} = M_{C}^{-1} + M_{1L}^{-1}.
</DIV>
<BR CLEAR="ALL">
<P></P>
Applying <IMG
Applying <SPAN CLASS="MATH"><IMG
WIDTH="59" HEIGHT="41" ALIGN="MIDDLE" BORDER="0"
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"
SRC="img21.png"
ALT="$v$"> within a Krylov solver
corresponds to applying <IMG
ALT="$v$"></SPAN> within a Krylov solver
corresponds to applying <SPAN CLASS="MATH"><IMG
WIDTH="42" HEIGHT="41" ALIGN="MIDDLE" BORDER="0"
SRC="img50.png"
ALT="$M_{C}^{-1}$">
and <IMG
ALT="$M_{C}^{-1}$"></SPAN>
and <SPAN CLASS="MATH"><IMG
WIDTH="42" HEIGHT="41" ALIGN="MIDDLE" BORDER="0"
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"
SRC="img21.png"
ALT="$v$"> independently and then summing up
ALT="$v$"></SPAN> independently and then summing up
the results.
<P>
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"
SRC="img54.png"
ALT="$M_{1L}^{-1}$"> and then
the coarse-level correction operator <IMG
ALT="$M_{1L}^{-1}$"></SPAN> and then
the coarse-level correction operator <SPAN CLASS="MATH"><IMG
WIDTH="42" HEIGHT="41" ALIGN="MIDDLE" BORDER="0"
SRC="img50.png"
ALT="$M_{C}^{-1}$">:
ALT="$M_{C}^{-1}$"></SPAN>:
<BR><P></P>
<DIV ALIGN="CENTER">
<DIV ALIGN="CENTER" CLASS="mathdisplay">
<!-- MATH
\begin{displaymath}
\begin{array}{l}
@ -559,10 +560,10 @@ z = w + M_{C}^{-1} (v-Aw);
</DIV>
<BR CLEAR="ALL">
<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:
<BR><P></P>
<DIV ALIGN="CENTER">
<DIV ALIGN="CENTER" CLASS="mathdisplay">
<!-- MATH
\begin{displaymath}
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,
i.e. by computing
<BR><P></P>
<DIV ALIGN="CENTER">
<DIV ALIGN="CENTER" CLASS="mathdisplay">
<!-- MATH
\begin{displaymath}
\begin{array}{l}
@ -602,10 +603,10 @@ z = w + M_{1L}^{-1} (v-Aw) ,
</DIV>
<BR CLEAR="ALL">
<P></P>
the <I>two-level hybrid post-smoothed</I>
the <SPAN CLASS="textit">two-level hybrid post-smoothed</SPAN>
Schwarz preconditioner is obtained:
<BR><P></P>
<DIV ALIGN="CENTER">
<DIV ALIGN="CENTER" CLASS="mathdisplay">
<!-- MATH
\begin{displaymath}
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>
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
preconditioner is symmetric if <IMG
preconditioner is symmetric if <SPAN CLASS="MATH"><IMG
WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img2.png"
ALT="$A$">, <IMG
ALT="$A$"></SPAN>, <SPAN CLASS="MATH"><IMG
WIDTH="38" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
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"
SRC="img51.png"
ALT="$M_{C}$"> are symmetric.
ALT="$M_{C}$"></SPAN> are symmetric.
<P>
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
computing requirements. Therefore, it seems natural to use a recursive approach,
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
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
are obtained as direct extensions of the two-level counterparts.
For a detailed descrition of them, the reader is
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
post-smoothed preconditioner <IMG
post-smoothed preconditioner <SPAN CLASS="MATH"><IMG
WIDTH="23" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
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"
SRC="img21.png"
ALT="$v$">, i.e. for the
computation of <IMG
ALT="$v$"></SPAN>, i.e. for the
computation of <SPAN CLASS="MATH"><IMG
WIDTH="87" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
SRC="img60.png"
ALT="$w=M^{-1}v$">, is reported, for
example, in Figure&nbsp;<A HREF="#fig:mlhpost_alg"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>. Here the number of levels
is denoted by <IMG
ALT="$w=M^{-1}v$"></SPAN>, is reported, for
example, in Figure&nbsp;<A HREF="#fig:mlhpost_alg">1</A>. Here the number of levels
is denoted by <SPAN CLASS="MATH"><IMG
WIDTH="37" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
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
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"
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"
SRC="img63.png"
ALT="$A_l$"> and
<IMG
ALT="$A_l$"></SPAN> and
<SPAN CLASS="MATH"><IMG
WIDTH="27" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
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"
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>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure:</STRONG>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 1:</STRONG>
Application of the multi-level hybrid post-smoothed preconditioner.</CAPTION>
<TR><TD>
<DIV ALIGN="CENTER">
@ -728,7 +728,7 @@ $w = y_1$;
\begin{tabbing}
\quad \=\quad...
...= y_l+r_l$\\
\textbf{endfor} \ [1mm]
\textbf{endfor} [1mm]
$w = y_1$;
\end{tabbing}}
\end{minipage}}">
@ -738,37 +738,38 @@ $w = y_1$;
</DIV>
<P>
<HR>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html201"
<A NAME="tex2html200"
HREF="node12.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html197"
<A NAME="tex2html196"
HREF="node10.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html191"
<A NAME="tex2html190"
HREF="node10.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html199"
HREF="node1.html">
<A NAME="tex2html198"
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="tex2html202"
<B> Next:</B> <A NAME="tex2html201"
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>
<B> Previous:</B> <A NAME="tex2html192"
<B> Previous:</B> <A NAME="tex2html191"
HREF="node10.html">Multi-level Domain Decomposition Background</A>
&nbsp; <B> <A NAME="tex2html200"
HREF="node1.html">Contents</A></B>
&nbsp; <B> <A NAME="tex2html199"
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</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)
original version by: Nikos Drakos, CBLU, University of Leeds
@ -24,34 +24,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html211"
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html210"
HREF="node13.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html207"
<A NAME="tex2html206"
HREF="node10.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html203"
<A NAME="tex2html202"
HREF="node11.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html209"
HREF="node1.html">
<A NAME="tex2html208"
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="tex2html212"
<B> Next:</B> <A NAME="tex2html211"
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>
<B> Previous:</B> <A NAME="tex2html204"
<B> Previous:</B> <A NAME="tex2html203"
HREF="node11.html">Multi-level Schwarz Preconditioners</A>
&nbsp; <B> <A NAME="tex2html210"
HREF="node1.html">Contents</A></B>
<BR>
&nbsp; <B> <A NAME="tex2html209"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00062000000000000000"></A><A NAME="sec:aggregation"></A>
@ -60,29 +61,29 @@ Smoothed Aggregation
</H2>
<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"
SRC="img67.png"
ALT="$R_C$">, which is used to compute
the coarse-level matrix <IMG
ALT="$R_C$"></SPAN>, which is used to compute
the coarse-level matrix <SPAN CLASS="MATH"><IMG
WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
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
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
<IMG
<SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
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"
SRC="img10.png"
ALT="$W$"> into disjoint subsets
(aggregates), and to define the coarse-to-fine space transfer operator <IMG
ALT="$W$"></SPAN> into disjoint subsets
(aggregates), and to define the coarse-to-fine space transfer operator <SPAN CLASS="MATH"><IMG
WIDTH="29" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
SRC="img68.png"
ALT="$R_C^T$"> by
ALT="$R_C^T$"></SPAN> by
applying a suitable smoother to a simple piecewise constant
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:
<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"
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"
SRC="img44.png"
ALT="$W_C$">;
ALT="$W_C$"></SPAN>;
</LI>
<LI>construction of the prolongator <IMG
<LI>construction of the prolongator <SPAN CLASS="MATH"><IMG
WIDTH="29" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
SRC="img68.png"
ALT="$R_C^T$">;
ALT="$R_C^T$"></SPAN>;
</LI>
<LI>application of <IMG
<LI>application of <SPAN CLASS="MATH"><IMG
WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
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"
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"
SRC="img43.png"
ALT="$A_C$">.
ALT="$A_C$"></SPAN>.
</LI>
</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
in [<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,
in which each aggregate <IMG
in which each aggregate <SPAN CLASS="MATH"><IMG
WIDTH="26" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
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"
SRC="img10.png"
ALT="$W$"> that are <I>strongly coupled</I>
to a certain root vertex <IMG
ALT="$W$"></SPAN> that are <SPAN CLASS="textit">strongly coupled</SPAN>
to a certain root vertex <SPAN CLASS="MATH"><IMG
WIDTH="53" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img70.png"
ALT="$r \in W$">, i.e. <BR><P></P>
<DIV ALIGN="CENTER">
ALT="$r \in W$"></SPAN>, i.e. <BR><P></P>
<DIV ALIGN="CENTER" CLASS="mathdisplay">
<!-- MATH
\begin{displaymath}
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
$\theta \in [0,1]$
-->
<IMG
<SPAN CLASS="MATH"><IMG
WIDTH="69" HEIGHT="36" ALIGN="MIDDLE" BORDER="0"
SRC="img72.png"
ALT="$\theta \in [0,1]$">.
Since this algorithm has a sequential nature, a <I>decoupled</I> version of
it has been chosen, where each processor <IMG
ALT="$\theta \in [0,1]$"></SPAN>.
Since this algorithm has a sequential nature, a <SPAN CLASS="textit">decoupled</SPAN> version of
it has been chosen, where each processor <SPAN CLASS="MATH"><IMG
WIDTH="10" HEIGHT="18" ALIGN="BOTTOM" BORDER="0"
SRC="img73.png"
ALT="$i$"> independently applies the algorithm to
the set of vertices <IMG
ALT="$i$"></SPAN> independently applies the algorithm to
the set of vertices <SPAN CLASS="MATH"><IMG
WIDTH="31" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
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.
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
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"
SRC="img2.png"
ALT="$A$">.
ALT="$A$"></SPAN>.
Nevertheless, this algorithm has been chosen for the implementation in MLD2P4,
since it has been shown to produce good results in practice
[<A
HREF="node30.html#aaecc_07">3</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>
The prolongator <IMG
The prolongator <SPAN CLASS="MATH"><IMG
WIDTH="75" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
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
$P \in \Re^{n \times n_C}$
-->
<IMG
<SPAN CLASS="MATH"><IMG
WIDTH="90" HEIGHT="38" ALIGN="MIDDLE" BORDER="0"
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>
<DIV ALIGN="RIGHT">
<DIV ALIGN="RIGHT" CLASS="mathdisplay">
<!-- MATH
\begin{equation}
@ -204,6 +205,7 @@ P=(p_{ij}), \quad p_{ij}=
\end{array} \right. .
\end{equation}
-->
<A NAME="eq:tent_prol"></A>
<TABLE WIDTH="100%" ALIGN="CENTER">
<TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="eq:tent_prol"></A><IMG
WIDTH="290" HEIGHT="52" BORDER="0"
@ -216,32 +218,33 @@ P=(p_{ij}), \quad p_{ij}=
0 &amp; \quad \mbox{otherwise}
\end{array} \right. .
\end{displaymath}"></TD>
<TD WIDTH=10 ALIGN="RIGHT">
(2)</TD></TR>
<TD CLASS="eqno" WIDTH=10 ALIGN="RIGHT">
(<SPAN CLASS="arabic">2</SPAN>)</TD></TR>
</TABLE>
<BR CLEAR="ALL"></DIV><P></P>
<IMG
<SPAN CLASS="MATH"><IMG
WIDTH="27" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img78.png"
ALT="$P_C$"> is obtained by
applying to <IMG
ALT="$P_C$"></SPAN> is obtained by
applying to <SPAN CLASS="MATH"><IMG
WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img79.png"
ALT="$P$"> a smoother <!-- MATH
ALT="$P$"></SPAN> a smoother <!-- MATH
$S \in \Re^{n \times n}$
-->
<IMG
<SPAN CLASS="MATH"><IMG
WIDTH="78" HEIGHT="38" ALIGN="MIDDLE" BORDER="0"
SRC="img80.png"
ALT="$S \in \Re^{n \times n}$">:
ALT="$S \in \Re^{n \times n}$"></SPAN>:
<BR>
<DIV ALIGN="RIGHT">
<DIV ALIGN="RIGHT" CLASS="mathdisplay">
<!-- MATH
\begin{equation}
P_C = S P,
\end{equation}
-->
<A NAME="eq:smoothed_prol"></A>
<TABLE WIDTH="100%" ALIGN="CENTER">
<TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="eq:smoothed_prol"></A><IMG
WIDTH="73" HEIGHT="30" BORDER="0"
@ -249,27 +252,28 @@ P_C = S P,
ALT="\begin{displaymath}
P_C = S P,
\end{displaymath}"></TD>
<TD WIDTH=10 ALIGN="RIGHT">
(3)</TD></TR>
<TD CLASS="eqno" WIDTH=10 ALIGN="RIGHT">
(<SPAN CLASS="arabic">3</SPAN>)</TD></TR>
</TABLE>
<BR CLEAR="ALL"></DIV><P></P>
in order to remove oscillatory components from the range of the prolongator
and hence to improve the convergence properties of the multi-level
Schwarz method [<A
HREF="node30.html#BREZINA_VANEK">1</A>,<A
HREF="node30.html#StubenGMD69_99">17</A>].
A simple choice for <IMG
HREF="node30.html#StubenGMD69_99">22</A>].
A simple choice for <SPAN CLASS="MATH"><IMG
WIDTH="16" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img82.png"
ALT="$S$"> is the damped Jacobi smoother:
ALT="$S$"></SPAN> is the damped Jacobi smoother:
<BR>
<DIV ALIGN="RIGHT">
<DIV ALIGN="RIGHT" CLASS="mathdisplay">
<!-- MATH
\begin{equation}
S = I - \omega D^{-1} A ,
\end{equation}
-->
<A NAME="eq:jac_smoother"></A>
<TABLE WIDTH="100%" ALIGN="CENTER">
<TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="eq:jac_smoother"></A><IMG
WIDTH="126" HEIGHT="30" BORDER="0"
@ -277,52 +281,53 @@ S = I - \omega D^{-1} A ,
ALT="\begin{displaymath}
S = I - \omega D^{-1} A ,
\end{displaymath}"></TD>
<TD WIDTH=10 ALIGN="RIGHT">
(4)</TD></TR>
<TD CLASS="eqno" WIDTH=10 ALIGN="RIGHT">
(<SPAN CLASS="arabic">4</SPAN>)</TD></TR>
</TABLE>
<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"
SRC="img84.png"
ALT="$\omega$"> can be chosen
using some estimate of the spectral radius of <IMG
ALT="$\omega$"></SPAN> can be chosen
using some estimate of the spectral radius of <SPAN CLASS="MATH"><IMG
WIDTH="50" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
SRC="img85.png"
ALT="$D^{-1}A$"> [<A
ALT="$D^{-1}A$"></SPAN> [<A
HREF="node30.html#BREZINA_VANEK">1</A>].
<P>
<HR>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html211"
<A NAME="tex2html210"
HREF="node13.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html207"
<A NAME="tex2html206"
HREF="node10.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html203"
<A NAME="tex2html202"
HREF="node11.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html209"
HREF="node1.html">
<A NAME="tex2html208"
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="tex2html212"
<B> Next:</B> <A NAME="tex2html211"
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>
<B> Previous:</B> <A NAME="tex2html204"
<B> Previous:</B> <A NAME="tex2html203"
HREF="node11.html">Multi-level Schwarz Preconditioners</A>
&nbsp; <B> <A NAME="tex2html210"
HREF="node1.html">Contents</A></B>
&nbsp; <B> <A NAME="tex2html209"
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</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)
original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,34 +25,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html223"
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html222"
HREF="node14.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html219"
<A NAME="tex2html218"
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="tex2html213"
<A NAME="tex2html212"
HREF="node12.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html221"
HREF="node1.html">
<A NAME="tex2html220"
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="tex2html224"
<B> Next:</B> <A NAME="tex2html223"
HREF="node14.html">Examples</A>
<B> Up:</B> <A NAME="tex2html220"
<B> Up:</B> <A NAME="tex2html219"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html214"
<B> Previous:</B> <A NAME="tex2html213"
HREF="node12.html">Smoothed Aggregation</A>
&nbsp; <B> <A NAME="tex2html222"
HREF="node1.html">Contents</A></B>
<BR>
&nbsp; <B> <A NAME="tex2html221"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION00070000000000000000"></A><A NAME="sec:started"></A>
@ -63,58 +64,51 @@ Getting Started
<P>
We describe the basics for building and applying MLD2P4 one-level and multi-level
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:
<OL>
<LI><I>Declare the preconditioner data structure</I>. 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>
<LI><SPAN CLASS="textit">Declare the preconditioner data structure</SPAN>. It is a derived data type,
<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
(<code>s</code> = real single precision; <code>d</code> = real 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,
following an object-oriented approach.
</LI>
<LI><I>Allocate and initialize the preconditioner data structure, according to
a preconditioner type chosen by the user</I>. This is performed by the routine
<LI><SPAN CLASS="textit">Allocate and initialize the preconditioner data structure, according to
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
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="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>, where the strings used by
type are given in Table&nbsp;<A HREF="#tab:precinit">1</A>, where the strings used by
<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
corresponding lowercase ones.
</LI>
<LI><I>Modify the selected preconditioner type, by properly setting
preconditioner parameters.</I> This is performed by the routine <code>mld_precset</code>.
<LI><SPAN CLASS="textit">Modify the selected preconditioner type, by properly setting
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
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
Section&nbsp;<A HREF="node14.html#sec:examples"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>; a complete list of all the
Section&nbsp;<A HREF="node14.html#sec:examples">5.1</A>; a complete list of all the
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="[*]"
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>.
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>.
</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>.
</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 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>).
</LI>
<LI><I>Free the preconditioner data structure</I>. This is performed by
the routine <code>mld_precfree</code>. This step is complementary to step 1 and should
<LI><SPAN CLASS="textit">Free the preconditioner data structure</SPAN>. This is performed by
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.
</LI>
</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="[*]"
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"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>.
A detailed description of the above routines is given in Section&nbsp;<A HREF="node15.html#sec:userinterface">6</A>.
Examples showing the basic use of MLD2P4 are reported in Section&nbsp;<A HREF="node14.html#sec:examples">5.1</A>.
<P>
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.
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
Krylov solvers, must be also used (see Section&nbsp;<A HREF="node14.html#sec:examples"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>).
Krylov solvers, must be also used (see Section&nbsp;<A HREF="node14.html#sec:examples">5.1</A>).
<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
machines, it often leads to the smallest execution time when applied to
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
preconditioned Krylov method, which is usually obtained by applying
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="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>
factorization (see Section&nbsp;<A HREF="node15.html#sec:userinterface">6</A>
for the coarsest-level solvers available in MLD2P4).
<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
passed to the compiler, as the MLD2P4 version of the Krylov solver
interfaces must override that of PSBLAS. This will change in the future
@ -153,9 +145,9 @@ compilers.
<P>
<BR><P></P>
<DIV ALIGN="CENTER"><A NAME="972"></A>
<DIV ALIGN="CENTER"><A NAME="923"></A>
<TABLE>
<CAPTION><STRONG>Table:</STRONG>
<CAPTION><STRONG>Table 1:</STRONG>
Preconditioner types, corresponding strings and default choices.
</CAPTION>
<TR><TD>
@ -192,16 +184,17 @@ Preconditioner types, corresponding strings and default choices.
Post-smoother: RAS with overlap 1 and ILU(0)
on the local blocks.
Aggregation: smoothed aggregation with
threshold <IMG
threshold <SPAN CLASS="MATH"><IMG
WIDTH="45" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img86.png"
ALT="$\theta = 0$">.
ALT="$\theta = 0$"></SPAN>.
Coarsest matrix: distributed among the processors.
Coarsest-level 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
SuperLU for the single precision ones)</TD>
SuperLU for the single precision ones, if they have been
installed; ILU(0), otherwise).</TD>
</TR>
</TABLE>
</DIV>
@ -217,42 +210,43 @@ Preconditioner types, corresponding strings and default choices.
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL>
<LI><A NAME="tex2html225"
<UL CLASS="ChildLinks">
<LI><A NAME="tex2html224"
HREF="node14.html">Examples</A>
</UL>
<!--End of Table of Child-Links-->
<HR>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html223"
<A NAME="tex2html222"
HREF="node14.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html219"
<A NAME="tex2html218"
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="tex2html213"
<A NAME="tex2html212"
HREF="node12.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html221"
HREF="node1.html">
<A NAME="tex2html220"
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="tex2html224"
<B> Next:</B> <A NAME="tex2html223"
HREF="node14.html">Examples</A>
<B> Up:</B> <A NAME="tex2html220"
<B> Up:</B> <A NAME="tex2html219"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html214"
<B> Previous:</B> <A NAME="tex2html213"
HREF="node12.html">Smoothed Aggregation</A>
&nbsp; <B> <A NAME="tex2html222"
HREF="node1.html">Contents</A></B>
&nbsp; <B> <A NAME="tex2html221"
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</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)
original version by: Nikos Drakos, CBLU, University of Leeds
@ -24,34 +24,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html234"
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html233"
HREF="node15.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html230"
<A NAME="tex2html229"
HREF="node13.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html226"
<A NAME="tex2html225"
HREF="node13.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html232"
HREF="node1.html">
<A NAME="tex2html231"
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="tex2html235"
<B> Next:</B> <A NAME="tex2html234"
HREF="node15.html">User Interface</A>
<B> Up:</B> <A NAME="tex2html231"
<B> Up:</B> <A NAME="tex2html230"
HREF="node13.html">Getting Started</A>
<B> Previous:</B> <A NAME="tex2html227"
<B> Previous:</B> <A NAME="tex2html226"
HREF="node13.html">Getting Started</A>
&nbsp; <B> <A NAME="tex2html233"
HREF="node1.html">Contents</A></B>
<BR>
&nbsp; <B> <A NAME="tex2html232"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00071000000000000000"></A><A NAME="sec:examples"></A>
@ -60,11 +61,9 @@ Examples
</H2>
<P>
The code reported in Figure&nbsp;<A HREF="#fig:ex_default"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A> shows how to set and apply the default
The code reported in Figure&nbsp;<A HREF="#fig:ex_default">2</A> shows how to set and apply the default
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="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>). This preconditioner is chosen
of MLD2P4 (see Table&nbsp;<A HREF="node13.html#tab:precinit">1</A>). This preconditioner is chosen
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
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.
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
Section&nbsp;<A HREF="node5.html#sec:building"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>).
Section&nbsp;<A HREF="node9.html#sec:ex_and_test">3.4</A>).
For details on the use of the PSBLAS routines, see the PSBLAS User's
Guide [<A
HREF="node30.html#PSBLASGUIDE">11</A>].
HREF="node30.html#PSBLASGUIDE">14</A>].
<P>
The setup and application of the default multi-level
preconditioners for the real single precision and the complex, single and double
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="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A> for details). If these versions are installed,
example (see Section&nbsp;<A HREF="node15.html#sec:userinterface">6</A> for details). If these versions are installed,
the corresponding Fortran 95 codes are available in <code>examples/fileread/</code>.
<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>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure:</STRONG>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 2:</STRONG>
Setup and application of the default multi-level Schwarz preconditioner.
</CAPTION>
<TR><TD>
@ -165,8 +162,7 @@ Setup and application of the default multi-level Schwarz preconditioner.
<P>
Different versions of multi-level preconditioners can be obtained by changing
the default values of the preconditioner parameters. The code reported in
Figure&nbsp;<A HREF="#fig:ex_3lh"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A> shows how to set a three-level hybrid Schwarz
Figure&nbsp;<A HREF="#fig:ex_3lh">3</A> shows how to set a three-level hybrid Schwarz
preconditioner, which uses block Jacobi with ILU(0) on the
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
@ -178,28 +174,22 @@ with post-smoothing only) is not specified since it is the default
set by <code>mld_precinit</code>.
<P>
Figure&nbsp;<A HREF="#fig:ex_3la"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A> shows how to
Figure&nbsp;<A HREF="#fig:ex_3la">4</A> shows how to
set a three-level additive Schwarz preconditioner,
which uses RAS, with overlap 1 and ILU(0) on the blocks,
as pre- and post-smoother, and applies five block-Jacobi sweeps, with
the UMFPACK LU factorization on the blocks, as distributed coarsest-level
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="[*]"
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>).
non-default values of the parameters (see Tables&nbsp;<A HREF="#tab:p_type">2</A>-<A HREF="#tab:p_coarse">5</A>).
In both cases, the construction and the application of the 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="[*]"
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
The code fragments shown in in Figures&nbsp;<A HREF="#fig:ex_3lh">3</A>-<A HREF="#fig:ex_3la">4</A> are
included in the example program file <code>mld_dexample_ml.f90</code> too.
<P>
Finally, Figure&nbsp;<A HREF="#fig:ex_1l"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A> shows the setup of a one-level
Finally, Figure&nbsp;<A HREF="#fig:ex_1l">5</A> shows the setup of a one-level
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>
For all the previous preconditioners, example programs where the sparse matrix and
@ -207,10 +197,20 @@ the right-hand side are generated by discretizing a PDE with Dirichlet
boundary conditions are also available in the directory <code>examples/pdegen</code>.
<P>
<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.
<DIV ALIGN="CENTER"><A NAME="fig:ex_3lh"></A><A NAME="977"></A>
<BR>
<P>
<DIV ALIGN="CENTER"><A NAME="fig:ex_3lh"></A><A NAME="928"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure:</STRONG>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 3:</STRONG>
Setup of a hybrid three-level Schwarz preconditioner.</CAPTION>
<TR><TD>
<DIV ALIGN="CENTER">
@ -240,9 +240,9 @@ Setup of a hybrid three-level Schwarz preconditioner.</CAPTION>
<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>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure:</STRONG>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 4:</STRONG>
Setup of an additive three-level Schwarz preconditioner.</CAPTION>
<TR><TD>
<DIV ALIGN="CENTER">
@ -272,9 +272,9 @@ Setup of an additive three-level Schwarz preconditioner.</CAPTION>
<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>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure:</STRONG>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 5:</STRONG>
Setup of a one-level Schwarz preconditioner.</CAPTION>
<TR><TD>
<DIV ALIGN="CENTER">
@ -296,46 +296,38 @@ Setup of a one-level Schwarz preconditioner.</CAPTION>
</DIV>
<P>
<BR><B>Remark 3.</B> 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.
<P>
<HR>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html234"
<A NAME="tex2html233"
HREF="node15.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html230"
<A NAME="tex2html229"
HREF="node13.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html226"
<A NAME="tex2html225"
HREF="node13.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html232"
HREF="node1.html">
<A NAME="tex2html231"
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="tex2html235"
<B> Next:</B> <A NAME="tex2html234"
HREF="node15.html">User Interface</A>
<B> Up:</B> <A NAME="tex2html231"
<B> Up:</B> <A NAME="tex2html230"
HREF="node13.html">Getting Started</A>
<B> Previous:</B> <A NAME="tex2html227"
<B> Previous:</B> <A NAME="tex2html226"
HREF="node13.html">Getting Started</A>
&nbsp; <B> <A NAME="tex2html233"
HREF="node1.html">Contents</A></B>
&nbsp; <B> <A NAME="tex2html232"
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</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)
original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,34 +25,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html246"
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html245"
HREF="node16.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html242"
<A NAME="tex2html241"
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="tex2html236"
<A NAME="tex2html235"
HREF="node14.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html244"
HREF="node1.html">
<A NAME="tex2html243"
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="tex2html247"
<B> Next:</B> <A NAME="tex2html246"
HREF="node16.html">Subroutine mld_precinit</A>
<B> Up:</B> <A NAME="tex2html243"
<B> Up:</B> <A NAME="tex2html242"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html237"
<B> Previous:</B> <A NAME="tex2html236"
HREF="node14.html">Examples</A>
&nbsp; <B> <A NAME="tex2html245"
HREF="node1.html">Contents</A></B>
<BR>
&nbsp; <B> <A NAME="tex2html244"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION00080000000000000000"></A><A NAME="sec:userinterface"></A>
@ -61,7 +62,7 @@ User Interface
</H1>
<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
for the setup and the application of any one-level and multi-level
preconditioner implemented in the package.
@ -76,29 +77,29 @@ i.e.
<UL>
<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>
with <I>x</I> = <code>s</code> for real single precision, <I>x</I> = <code>d</code>
for real double precision, <I>x</I> = <code>c</code> for complex single precision,
<I>x</I> = <code>z</code> for complex double precision;
preconditioned, must be of type <code>mld_</code><SPAN CLASS="textit">x</SPAN><code>spmat_type</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, <SPAN CLASS="textit">x</SPAN> = <code>c</code> for complex single precision,
<SPAN CLASS="textit">x</SPAN> = <code>z</code> for complex double precision;
</LI>
<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
matrix data structure;
</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"
SRC="img21.png"
ALT="$v$"> and <IMG
ALT="$v$"></SPAN> and <SPAN CLASS="MATH"><IMG
WIDTH="17" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img87.png"
ALT="$w$"> involved in
the preconditioner application <IMG
ALT="$w$"></SPAN> involved in
the preconditioner application <SPAN CLASS="MATH"><IMG
WIDTH="87" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
SRC="img60.png"
ALT="$w=M^{-1}v$"> must be of type
<I>type</I><code>(</code><I>kind_parameter</I><code>)</code>, with <I>type</I> =
<code>real</code>, <code>complex</code> and <I>kind_parameter</I> = <code>kind(1.e0)</code>,
ALT="$w=M^{-1}v$"></SPAN> must be of type
<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 <SPAN CLASS="textit">kind_parameter</SPAN> = <code>kind(1.e0)</code>,
<code>kind(1.d0)</code>, according to the sparse matrix and preconditioner
data structure; note that the PSBLAS module <code>psb_base_mod</code>
provides the constants <code>psb_spk_</code>
@ -106,91 +107,93 @@ i.e.
</LI>
<LI>real parameters defining the preconditioner must be declared
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="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>).
data structures (see Section&nbsp;<A HREF="node18.html#sec:precset">6.2</A>).
</LI>
</UL>
A description of each routine is given in the remainder of this section.
<P>
<P>
<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL>
<LI><A NAME="tex2html248"
<UL CLASS="ChildLinks">
<LI><A NAME="tex2html247"
HREF="node16.html">Subroutine mld_precinit</A>
<UL>
<LI><A NAME="tex2html249"
<LI><A NAME="tex2html248"
HREF="node17.html">Arguments</A>
</UL>
<BR>
<LI><A NAME="tex2html250"
<LI><A NAME="tex2html249"
HREF="node18.html">Subroutine mld_precset</A>
<UL>
<LI><A NAME="tex2html251"
<LI><A NAME="tex2html250"
HREF="node19.html">Arguments</A>
</UL>
<BR>
<LI><A NAME="tex2html252"
<LI><A NAME="tex2html251"
HREF="node20.html">Subroutine mld_precbld</A>
<UL>
<LI><A NAME="tex2html253"
<LI><A NAME="tex2html252"
HREF="node21.html">Arguments</A>
</UL>
<BR>
<LI><A NAME="tex2html254"
<LI><A NAME="tex2html253"
HREF="node22.html">Subroutine mld_precaply</A>
<UL>
<LI><A NAME="tex2html255"
<LI><A NAME="tex2html254"
HREF="node23.html">Arguments</A>
</UL>
<BR>
<LI><A NAME="tex2html256"
<LI><A NAME="tex2html255"
HREF="node24.html">Subroutine mld_precfree</A>
<UL>
<LI><A NAME="tex2html257"
<LI><A NAME="tex2html256"
HREF="node25.html">Arguments</A>
</UL>
<BR>
<LI><A NAME="tex2html258"
<LI><A NAME="tex2html257"
HREF="node26.html">Subroutine mld_precdescr</A>
<UL>
<LI><A NAME="tex2html259"
<LI><A NAME="tex2html258"
HREF="node27.html">Arguments</A>
</UL></UL>
<!--End of Table of Child-Links-->
<HR>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html246"
<A NAME="tex2html245"
HREF="node16.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html242"
<A NAME="tex2html241"
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="tex2html236"
<A NAME="tex2html235"
HREF="node14.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html244"
HREF="node1.html">
<A NAME="tex2html243"
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="tex2html247"
<B> Next:</B> <A NAME="tex2html246"
HREF="node16.html">Subroutine mld_precinit</A>
<B> Up:</B> <A NAME="tex2html243"
<B> Up:</B> <A NAME="tex2html242"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html237"
<B> Previous:</B> <A NAME="tex2html236"
HREF="node14.html">Examples</A>
&nbsp; <B> <A NAME="tex2html245"
HREF="node1.html">Contents</A></B>
&nbsp; <B> <A NAME="tex2html244"
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</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)
original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,34 +25,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html270"
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html269"
HREF="node17.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html266"
<A NAME="tex2html265"
HREF="node15.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html260"
<A NAME="tex2html259"
HREF="node15.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html268"
HREF="node1.html">
<A NAME="tex2html267"
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="tex2html271"
<B> Next:</B> <A NAME="tex2html270"
HREF="node17.html">Arguments</A>
<B> Up:</B> <A NAME="tex2html267"
<B> Up:</B> <A NAME="tex2html266"
HREF="node15.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html261"
<B> Previous:</B> <A NAME="tex2html260"
HREF="node15.html">User Interface</A>
&nbsp; <B> <A NAME="tex2html269"
HREF="node1.html">Contents</A></B>
<BR>
&nbsp; <B> <A NAME="tex2html268"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<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-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL>
<LI><A NAME="tex2html272"
<UL CLASS="ChildLinks">
<LI><A NAME="tex2html271"
HREF="node17.html">Arguments</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>
<ADDRESS>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</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)
original version by: Nikos Drakos, CBLU, University of Leeds
@ -24,34 +24,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html281"
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html280"
HREF="node18.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html277"
<A NAME="tex2html276"
HREF="node16.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html273"
<A NAME="tex2html272"
HREF="node16.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html279"
HREF="node1.html">
<A NAME="tex2html278"
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="tex2html282"
<B> Next:</B> <A NAME="tex2html281"
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>
<B> Previous:</B> <A NAME="tex2html274"
<B> Previous:</B> <A NAME="tex2html273"
HREF="node16.html">Subroutine mld_precinit</A>
&nbsp; <B> <A NAME="tex2html280"
HREF="node1.html">Contents</A></B>
<BR>
&nbsp; <B> <A NAME="tex2html279"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H3><A NAME="SECTION00081100000000000000">
@ -61,46 +62,46 @@ Arguments</A>
<P>
<TABLE CELLPADDING=3>
<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><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
precision version of MLD2P4 under use.</TD>
</TR>
<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><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>The type of preconditioner. Its values are specified
in Table&nbsp;<A HREF="#tab:precinit"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>.</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The type of preconditioner. Its values are specified
in Table&nbsp;<A HREF="node13.html#tab:precinit">1</A>.</TD>
</TR>
<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><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><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="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A> for details.</TD>
<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>
</TR>
<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><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>,
then <code>nlev</code>=2 is assumed. Otherwise, <code>nlev</code> is ignored.</TD>
</TR>
</TABLE>
<P>
<P>
<BR><HR>
<ADDRESS>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</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)
original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,34 +25,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html293"
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html292"
HREF="node19.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html289"
<A NAME="tex2html288"
HREF="node15.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html283"
<A NAME="tex2html282"
HREF="node17.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html291"
HREF="node1.html">
<A NAME="tex2html290"
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="tex2html294"
<B> Next:</B> <A NAME="tex2html293"
HREF="node19.html">Arguments</A>
<B> Up:</B> <A NAME="tex2html290"
<B> Up:</B> <A NAME="tex2html289"
HREF="node15.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html284"
<B> Previous:</B> <A NAME="tex2html283"
HREF="node17.html">Arguments</A>
&nbsp; <B> <A NAME="tex2html292"
HREF="node1.html">Contents</A></B>
<BR>
&nbsp; <B> <A NAME="tex2html291"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00082000000000000000"></A><A NAME="sec:precset"></A>
@ -76,15 +77,15 @@ contained in <code>val</code>.
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL>
<LI><A NAME="tex2html295"
<UL CLASS="ChildLinks">
<LI><A NAME="tex2html294"
HREF="node19.html">Arguments</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>
<ADDRESS>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</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)
original version by: Nikos Drakos, CBLU, University of Leeds
@ -24,34 +24,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html304"
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html303"
HREF="node20.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html300"
<A NAME="tex2html299"
HREF="node18.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html296"
<A NAME="tex2html295"
HREF="node18.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html302"
HREF="node1.html">
<A NAME="tex2html301"
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="tex2html305"
<B> Next:</B> <A NAME="tex2html304"
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>
<B> Previous:</B> <A NAME="tex2html297"
<B> Previous:</B> <A NAME="tex2html296"
HREF="node18.html">Subroutine mld_precset</A>
&nbsp; <B> <A NAME="tex2html303"
HREF="node1.html">Contents</A></B>
<BR>
&nbsp; <B> <A NAME="tex2html302"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H3><A NAME="SECTION00082100000000000000">
@ -61,43 +62,38 @@ Arguments</A>
<P>
<TABLE CELLPADDING=3>
<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><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
version of MLD2P4 under use.</TD>
</TR>
<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><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
numbers, as reported in 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>.</TD>
numbers, as reported in Tables&nbsp;<A HREF="#tab:p_type">2</A>-<A HREF="#tab:p_coarse">5</A>.</TD>
</TR>
<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>
<code>real(psb_spk_)</code> <I>or</I> <code>real(psb_dpk_)</code>,
<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> <SPAN CLASS="textit">or</SPAN> <code>real(psb_dpk_)</code>,
<code>intent(in)</code>.</TD>
</TR>
<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
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>.
Tables&nbsp;<A HREF="#tab:p_type">2</A>-<A HREF="#tab:p_coarse">5</A>.
When the value is of type <code>character(len=*)</code>,
it is also treated as case insensitive.</TD>
</TR>
<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><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="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>
<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>
</TR>
</TABLE>
@ -120,17 +116,20 @@ can be logically divided into four groups, i.e. parameters defining
</LI>
</OL>
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="[*]"
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>.
default values, is given in Tables&nbsp;<A HREF="#tab:p_type">2</A>-<A HREF="#tab:p_coarse">5</A>.
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="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>.
refer to Section&nbsp;<A HREF="node10.html#sec:background">4</A>.
<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">
<TABLE CELLPADDING=3 BORDER="1">
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
<TR><TD ALIGN="LEFT"><code>what</code></TD>
<TD ALIGN="LEFT"><SMALL>DATA TYPE</SMALL></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"><TT>'AS'</TT></TD>
<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><TD ALIGN="LEFT"><code>mld_smoother_pos_</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>
</TABLE>
</DIV>
</TD></TR>
</TABLE>
</DIV><P></P>
<BR>
<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">
<TABLE CELLPADDING=3 BORDER="1">
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
<TR><TD ALIGN="LEFT"><code>what</code></TD>
<TD ALIGN="LEFT"><SMALL>DATA TYPE</SMALL></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><TD ALIGN="LEFT"><code>mld_sub_ovr_</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"
SRC="img88.png"
ALT="$\ge 0$"></TD>
ALT="$\ge 0$"></SPAN></TD>
<TD ALIGN="LEFT">1</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Number of overlap layers.</TD>
</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>
<TT>'UMF'</TT> <TT>'SLU'</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"
SRC="img34.png"
ALT="$p$">), MILU(<IMG
ALT="$p$"></SPAN>), MILU(<SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img34.png"
ALT="$p$">), ILU(<IMG
ALT="$p$"></SPAN>), ILU(<SPAN CLASS="MATH"><IMG
WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
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>
</TR>
<TR><TD ALIGN="LEFT"><code>mld_sub_fillin_</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"
SRC="img88.png"
ALT="$\ge 0$"></TD>
ALT="$\ge 0$"></SPAN></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"
SRC="img34.png"
ALT="$p$"> of the incomplete LU factorizations.</TD>
ALT="$p$"></SPAN> of the incomplete LU factorizations.</TD>
</TR>
<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" VALIGN="TOP" WIDTH=91>Any&nbsp;real&nbsp;num.&nbsp;<IMG
<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;<SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img88.png"
ALT="$\ge 0$"></TD>
<TD ALIGN="LEFT"><TT>0.e0</TT> (or <TT>0.d0</TT>)</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Drop tolerance <IMG
ALT="$\ge 0$"></SPAN></TD>
<TD ALIGN="LEFT">0</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Drop tolerance <SPAN CLASS="MATH"><IMG
WIDTH="11" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
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"
SRC="img35.png"
ALT="$p,t$">) factorization.</TD>
ALT="$p,t$"></SPAN>) factorization.</TD>
</TR>
<TR><TD ALIGN="LEFT"><code>mld_sub_ren_</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>
</TABLE>
</DIV>
</TD></TR>
</TABLE>
</DIV><P></P>
<BR>
<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">
<TABLE CELLPADDING=3 BORDER="1">
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
<TR><TD ALIGN="LEFT"><code>what</code></TD>
<TD ALIGN="LEFT"><SMALL>DATA TYPE</SMALL></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" 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=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><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" VALIGN="TOP" WIDTH=65>Any&nbsp;real&nbsp;num. <IMG
<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. <SPAN CLASS="MATH"><IMG
WIDTH="56" HEIGHT="36" ALIGN="MIDDLE" BORDER="0"
SRC="img90.png"
ALT="$\in [0, 1]$"></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=74><TT>0.e0</TT> (or <TT>0.d0</TT>)</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>The threshold <IMG
ALT="$\in [0, 1]$"></SPAN></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=74>0</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>The threshold <SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img91.png"
ALT="$\theta$"> in the aggregation algorithm.</TD>
ALT="$\theta$"></SPAN> in the aggregation algorithm.</TD>
</TR>
<TR><TD ALIGN="LEFT"><code>mld_aggr_eig_</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=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"
SRC="img85.png"
ALT="$D^{-1}A$">
for the smoothed aggregation. Currently, only the infinity norm of
ALT="$D^{-1}A$"></SPAN> with largest modulus,
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>
</TR>
<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" VALIGN="TOP" WIDTH=65>Any&nbsp;real&nbsp;num. <IMG
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
<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.</TD>
<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"
ALT="$&gt;0$"></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 <IMG
ALT="$4/(3\vert\vert D^{-1}A\vert\vert _\infty)$"></SPAN></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>The damping parameter <SPAN CLASS="MATH"><IMG
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
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>
</TABLE>
</DIV>
</TD></TR>
</TABLE>
</DIV><P></P>
<BR>
<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">
<TABLE CELLPADDING=3 BORDER="1">
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
<TR><TD ALIGN="LEFT"><code>what</code></TD>
<TD ALIGN="LEFT"><SMALL>DATA TYPE</SMALL></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><code>val</code></TD>
<TD ALIGN="LEFT"><SMALL>DEFAULT</SMALL></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198><SMALL>COMMENTS</SMALL></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><TD ALIGN="LEFT"><code>mld_coarse_solve_</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>
@ -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" 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.
If the coarsest matrix is distributed, only <TT>'BJAC'</TT> and <TT>'SLUDIST'</TT>
can be chosen; if it is replicated, only <TT>'BJAC'</TT> or <TT>'SLUDIST'</TT> can
be selected.</TD>
With <TT>'SLUDIST'</TT> the coarsest matrix
must be distributed; with <TT>'UMF'</TT> or
<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><TD ALIGN="LEFT"><code>mld_coarse_subsolve_</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>
<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
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"
SRC="img34.png"
ALT="$p$">), MILU(<IMG
ALT="$p$"></SPAN>), MILU(<SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img34.png"
ALT="$p$">), ILU(<IMG
ALT="$p$"></SPAN>), ILU(<SPAN CLASS="MATH"><IMG
WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img35.png"
ALT="$p,t$">), LU from UMFPACK,
ALT="$p,t$"></SPAN>), LU from UMFPACK,
LU from SuperLU, plus triangular solve.</TD>
</TR>
<TR><TD ALIGN="LEFT"><code>mld_coarse_sweeps_</code></TD>
<TD ALIGN="LEFT"><code>integer</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;int.&nbsp;num.&nbsp;<IMG
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img92.png"
ALT="$&gt;0$"></TD>
<TD ALIGN="LEFT"><TT>4</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;int.&nbsp;num.&nbsp;<SPAN CLASS="MATH"><IMG
WIDTH="31" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img93.png"
ALT="$&gt; 0$"></SPAN></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>
</TR>
<TR><TD ALIGN="LEFT"><code>mld_coarse_fillin_</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"
SRC="img88.png"
ALT="$\ge 0$"></TD>
<TD ALIGN="LEFT"><TT>0</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Fill-in level <IMG
ALT="$\ge 0$"></SPAN></TD>
<TD ALIGN="LEFT">0</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Fill-in level <SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img34.png"
ALT="$p$"> of the incomplete LU factorizations.</TD>
ALT="$p$"></SPAN> of the incomplete LU factorizations.</TD>
</TR>
<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" VALIGN="TOP" WIDTH=91>Any&nbsp;real.&nbsp;num.&nbsp;<IMG
<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;<SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img88.png"
ALT="$\ge 0$"></TD>
<TD ALIGN="LEFT"><TT>0.d0</TT> (or <TT>0.e0</TT>)</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Drop tolerance <IMG
ALT="$\ge 0$"></SPAN></TD>
<TD ALIGN="LEFT">0</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Drop tolerance <SPAN CLASS="MATH"><IMG
WIDTH="11" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
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"
SRC="img35.png"
ALT="$p,t$">) factorization.</TD>
ALT="$p,t$"></SPAN>) factorization.</TD>
</TR>
</TABLE>
</DIV>
</TD></TR>
</TABLE>
</DIV><P></P>
<BR>
<P>
<P>
<HR>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html304"
<A NAME="tex2html303"
HREF="node20.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html300"
<A NAME="tex2html299"
HREF="node18.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html296"
<A NAME="tex2html295"
HREF="node18.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html302"
HREF="node1.html">
<A NAME="tex2html301"
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="tex2html305"
<B> Next:</B> <A NAME="tex2html304"
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>
<B> Previous:</B> <A NAME="tex2html297"
<B> Previous:</B> <A NAME="tex2html296"
HREF="node18.html">Subroutine mld_precset</A>
&nbsp; <B> <A NAME="tex2html303"
HREF="node1.html">Contents</A></B>
&nbsp; <B> <A NAME="tex2html302"
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</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)
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 -->
<HTML>
<HEAD>
<TITLE>General Overview</TITLE>
<META NAME="description" CONTENT="General Overview">
<TITLE>Contents</TITLE>
<META NAME="description" CONTENT="Contents">
<META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
@ -25,189 +25,104 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html89"
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html66"
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"
<A NAME="tex2html64"
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"
<A NAME="tex2html58"
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>
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html90"
HREF="node3.html">Notational Conventions</A>
<B> Up:</B> <A NAME="tex2html86"
<B> Next:</B> <A NAME="tex2html67"
HREF="node3.html">General Overview</A>
<B> Up:</B> <A NAME="tex2html65"
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>
<BR>
<B> Previous:</B> <A NAME="tex2html59"
HREF="node1.html">Abstract</A>
<BR>
<BR></DIV>
<!--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>
<DIV ALIGN="RIGHT">
<!-- MATH
\begin{equation}
Ax=b,
\end{equation}
-->
<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:
<H2><A NAME="SECTION00020000000000000000">
Contents</A>
</H2>
<!--Table of Contents-->
<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>
<LI>both <I>additive and hybrid multilevel</I> 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 <I>purely algebraic</I> 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 <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>
<LI><A NAME="tex2html71"
HREF="node6.html">Prerequisites</A>
<LI><A NAME="tex2html72"
HREF="node7.html">Optional third party libraries</A>
<LI><A NAME="tex2html73"
HREF="node8.html">Configuration options</A>
<LI><A NAME="tex2html74"
HREF="node9.html">Example and test programs</A>
</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>
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>
<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-->
<BR><HR>
<ADDRESS>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</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)
original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,34 +25,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html316"
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html315"
HREF="node21.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html312"
<A NAME="tex2html311"
HREF="node15.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html306"
<A NAME="tex2html305"
HREF="node19.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html314"
HREF="node1.html">
<A NAME="tex2html313"
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="tex2html317"
<B> Next:</B> <A NAME="tex2html316"
HREF="node21.html">Arguments</A>
<B> Up:</B> <A NAME="tex2html313"
<B> Up:</B> <A NAME="tex2html312"
HREF="node15.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html307"
<B> Previous:</B> <A NAME="tex2html306"
HREF="node19.html">Arguments</A>
&nbsp; <B> <A NAME="tex2html315"
HREF="node1.html">Contents</A></B>
<BR>
&nbsp; <B> <A NAME="tex2html314"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<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-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL>
<LI><A NAME="tex2html318"
<UL CLASS="ChildLinks">
<LI><A NAME="tex2html317"
HREF="node21.html">Arguments</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>
<ADDRESS>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</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)
original version by: Nikos Drakos, CBLU, University of Leeds
@ -24,34 +24,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html327"
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html326"
HREF="node22.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html323"
<A NAME="tex2html322"
HREF="node20.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html319"
<A NAME="tex2html318"
HREF="node20.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html325"
HREF="node1.html">
<A NAME="tex2html324"
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="tex2html328"
<B> Next:</B> <A NAME="tex2html327"
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>
<B> Previous:</B> <A NAME="tex2html320"
<B> Previous:</B> <A NAME="tex2html319"
HREF="node20.html">Subroutine mld_precbld</A>
&nbsp; <B> <A NAME="tex2html326"
HREF="node1.html">Contents</A></B>
<BR>
&nbsp; <B> <A NAME="tex2html325"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H3><A NAME="SECTION00083100000000000000">
@ -61,37 +62,36 @@ Arguments</A>
<P>
<TABLE CELLPADDING=3>
<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><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
matrix to be preconditioned. Note that <I>x</I> must be chosen according
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The sparse matrix structure containing the local part of the
matrix to be preconditioned. Note that <SPAN CLASS="textit">x</SPAN> must be chosen according
to the real/complex,
single/double precision version of MLD2P4 under use.
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><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><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
HREF="node30.html#PSBLASGUIDE">11</A>].</TD>
HREF="node30.html#PSBLASGUIDE">14</A>].</TD>
</TR>
<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><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>
</TR>
<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><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="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A> for details.</TD>
<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>
</TR>
</TABLE>
@ -100,7 +100,7 @@ single/double precision version of MLD2P4 under use.
<BR><HR>
<ADDRESS>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</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)
original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,34 +25,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html339"
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html338"
HREF="node23.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html335"
<A NAME="tex2html334"
HREF="node15.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html329"
<A NAME="tex2html328"
HREF="node21.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html337"
HREF="node1.html">
<A NAME="tex2html336"
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="tex2html340"
<B> Next:</B> <A NAME="tex2html339"
HREF="node23.html">Arguments</A>
<B> Up:</B> <A NAME="tex2html336"
<B> Up:</B> <A NAME="tex2html335"
HREF="node15.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html330"
<B> Previous:</B> <A NAME="tex2html329"
HREF="node21.html">Arguments</A>
&nbsp; <B> <A NAME="tex2html338"
HREF="node1.html">Contents</A></B>
<BR>
&nbsp; <B> <A NAME="tex2html337"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00084000000000000000"></A><A NAME="sec:precaply"></A>
@ -71,17 +72,17 @@ Subroutine mld_precaply
This routine computes <!-- MATH
$y = op(M^{-1})\, x$
-->
<IMG
WIDTH="117" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img93.png"
ALT="$y = op(M^{-1}) x$">, where <IMG
<SPAN CLASS="MATH"><IMG
WIDTH="118" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img94.png"
ALT="$y = op(M^{-1}) x$"></SPAN>, where <SPAN CLASS="MATH"><IMG
WIDTH="23" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img59.png"
ALT="$M$"> is a previously built
preconditioner, stored into <code>p</code>, and <IMG
WIDTH="22" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img94.png"
ALT="$op$">
ALT="$M$"></SPAN> is a previously built
preconditioner, stored into <code>p</code>, and <SPAN CLASS="MATH"><IMG
WIDTH="21" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img95.png"
ALT="$op$"></SPAN>
denotes the preconditioner itself or its transpose, according to
the value of <code>trans</code>.
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-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL>
<LI><A NAME="tex2html341"
<UL CLASS="ChildLinks">
<LI><A NAME="tex2html340"
HREF="node23.html">Arguments</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>
<ADDRESS>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</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)
original version by: Nikos Drakos, CBLU, University of Leeds
@ -24,34 +24,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html350"
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html349"
HREF="node24.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html346"
<A NAME="tex2html345"
HREF="node22.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html342"
<A NAME="tex2html341"
HREF="node22.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html348"
HREF="node1.html">
<A NAME="tex2html347"
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="tex2html351"
<B> Next:</B> <A NAME="tex2html350"
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>
<B> Previous:</B> <A NAME="tex2html343"
<B> Previous:</B> <A NAME="tex2html342"
HREF="node22.html">Subroutine mld_precaply</A>
&nbsp; <B> <A NAME="tex2html349"
HREF="node1.html">Contents</A></B>
<BR>
&nbsp; <B> <A NAME="tex2html348"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H3><A NAME="SECTION00084100000000000000">
@ -61,128 +62,130 @@ Arguments</A>
<P>
<TABLE CELLPADDING=3>
<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><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"
SRC="img59.png"
ALT="$M$">.
Note that <I>x</I> must be chosen according
ALT="$M$"></SPAN>.
Note that <SPAN CLASS="textit">x</SPAN> must be chosen according
to the real/complex, single/double precision version of MLD2P4 under use.</TD>
</TR>
<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><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>The local part of the vector <IMG
WIDTH="14" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img95.png"
ALT="$x$">. Note that <I>type</I> and
<I>kind_parameter</I> must be chosen according
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The local part of the vector <SPAN CLASS="MATH"><IMG
WIDTH="15" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img96.png"
ALT="$x$"></SPAN>. 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>
</TR>
<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><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>The local part of the vector <IMG
WIDTH="14" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img96.png"
ALT="$y$">. Note that <I>type</I> and
<I>kind_parameter</I> must be chosen according
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The local part of the vector <SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img97.png"
ALT="$y$"></SPAN>. 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>
</TR>
<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><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>
</TR>
<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><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="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A> for details.</TD>
<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>
</TR>
<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><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}$
-->
<IMG
<SPAN CLASS="MATH"><IMG
WIDTH="132" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img97.png"
ALT="$op(M^{-1}) = M^{-1}$">;
SRC="img98.png"
ALT="$op(M^{-1}) = M^{-1}$"></SPAN>;
if <code>trans</code> = <code>'T','t'</code> then <!-- MATH
$op(M^{-1}) = M^{-T}$
-->
<IMG
<SPAN CLASS="MATH"><IMG
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"
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}$
-->
<IMG
<SPAN CLASS="MATH"><IMG
WIDTH="136" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
SRC="img100.png"
ALT="$op(M^{-1}) = M^{-C}$">
(conjugate transpose of <IMG
SRC="img101.png"
ALT="$op(M^{-1}) = M^{-C}$"></SPAN>
(conjugate transpose of <SPAN CLASS="MATH"><IMG
WIDTH="48" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img99.png"
ALT="$M^{-1})$">.</TD>
SRC="img100.png"
ALT="$M^{-1})$"></SPAN>.</TD>
</TR>
<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><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>Workspace. Its size should be at
least <code>4 * psb_cd_get_local_cols(desc_a)</code> (see the PSBLAS User's Guide).
Note that <I>type</I> and <I>kind_parameter</I> must be chosen according
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>Workspace. Its size should be at
least <code>4 * psb_cd_get_local_</code> <code>cols(desc_a)</code> (see the PSBLAS User's Guide).
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>
</TR>
</TABLE>
<P>
<HR>
<P>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html350"
<A NAME="tex2html349"
HREF="node24.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html346"
<A NAME="tex2html345"
HREF="node22.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html342"
<A NAME="tex2html341"
HREF="node22.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html348"
HREF="node1.html">
<A NAME="tex2html347"
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="tex2html351"
<B> Next:</B> <A NAME="tex2html350"
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>
<B> Previous:</B> <A NAME="tex2html343"
<B> Previous:</B> <A NAME="tex2html342"
HREF="node22.html">Subroutine mld_precaply</A>
&nbsp; <B> <A NAME="tex2html349"
HREF="node1.html">Contents</A></B>
&nbsp; <B> <A NAME="tex2html348"
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</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)
original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,34 +25,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html362"
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html361"
HREF="node25.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html358"
<A NAME="tex2html357"
HREF="node15.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html352"
<A NAME="tex2html351"
HREF="node23.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html360"
HREF="node1.html">
<A NAME="tex2html359"
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="tex2html363"
<B> Next:</B> <A NAME="tex2html362"
HREF="node25.html">Arguments</A>
<B> Up:</B> <A NAME="tex2html359"
<B> Up:</B> <A NAME="tex2html358"
HREF="node15.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html353"
<B> Previous:</B> <A NAME="tex2html352"
HREF="node23.html">Arguments</A>
&nbsp; <B> <A NAME="tex2html361"
HREF="node1.html">Contents</A></B>
<BR>
&nbsp; <B> <A NAME="tex2html360"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<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-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL>
<LI><A NAME="tex2html364"
<UL CLASS="ChildLinks">
<LI><A NAME="tex2html363"
HREF="node25.html">Arguments</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>
<ADDRESS>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</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)
original version by: Nikos Drakos, CBLU, University of Leeds
@ -24,34 +24,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html373"
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html372"
HREF="node26.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html369"
<A NAME="tex2html368"
HREF="node24.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html365"
<A NAME="tex2html364"
HREF="node24.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html371"
HREF="node1.html">
<A NAME="tex2html370"
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="tex2html374"
<B> Next:</B> <A NAME="tex2html373"
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>
<B> Previous:</B> <A NAME="tex2html366"
<B> Previous:</B> <A NAME="tex2html365"
HREF="node24.html">Subroutine mld_precfree</A>
&nbsp; <B> <A NAME="tex2html372"
HREF="node1.html">Contents</A></B>
<BR>
&nbsp; <B> <A NAME="tex2html371"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H3><A NAME="SECTION00085100000000000000">
@ -61,26 +62,27 @@ Arguments</A>
<P>
<TABLE CELLPADDING=3>
<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><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>
</TR>
<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>
</TR>
<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="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A> for details.</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">7</A> for details.</TD>
</TR>
</TABLE>
<P>
<P>
<BR><HR>
<ADDRESS>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</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)
original version by: Nikos Drakos, CBLU, University of Leeds
@ -24,34 +24,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html383"
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html382"
HREF="node27.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html379"
<A NAME="tex2html378"
HREF="node15.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html375"
<A NAME="tex2html374"
HREF="node25.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html381"
HREF="node1.html">
<A NAME="tex2html380"
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="tex2html384"
<B> Next:</B> <A NAME="tex2html383"
HREF="node27.html">Arguments</A>
<B> Up:</B> <A NAME="tex2html380"
<B> Up:</B> <A NAME="tex2html379"
HREF="node15.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html376"
<B> Previous:</B> <A NAME="tex2html375"
HREF="node25.html">Arguments</A>
&nbsp; <B> <A NAME="tex2html382"
HREF="node1.html">Contents</A></B>
<BR>
&nbsp; <B> <A NAME="tex2html381"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00086000000000000000"></A><A NAME="sec:precdescr"></A>
@ -67,23 +68,23 @@ Subroutine mld_precdescr
</DIV>
<P>
This routine prints a description of the preconditioner
to the standard output or to a file.
This routine prints a description of the preconditioner to the standard output or
to a file. It must be called after <code>mld_precbld</code> has been called.
<P>
<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL>
<LI><A NAME="tex2html385"
<UL CLASS="ChildLinks">
<LI><A NAME="tex2html384"
HREF="node27.html">Arguments</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>
<ADDRESS>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</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)
original version by: Nikos Drakos, CBLU, University of Leeds
@ -24,34 +24,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html394"
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html393"
HREF="node28.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html390"
<A NAME="tex2html389"
HREF="node26.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html386"
<A NAME="tex2html385"
HREF="node26.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html392"
HREF="node1.html">
<A NAME="tex2html391"
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="tex2html395"
<B> Next:</B> <A NAME="tex2html394"
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>
<B> Previous:</B> <A NAME="tex2html387"
<B> Previous:</B> <A NAME="tex2html386"
HREF="node26.html">Subroutine mld_precdescr</A>
&nbsp; <B> <A NAME="tex2html393"
HREF="node1.html">Contents</A></B>
<BR>
&nbsp; <B> <A NAME="tex2html392"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H3><A NAME="SECTION00086100000000000000">
@ -61,24 +62,23 @@ Arguments</A>
<P>
<TABLE CELLPADDING=3>
<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><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>
</TR>
<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><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="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A> for details.</TD>
<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>
</TR>
<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><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>
</TR>
</TABLE>
@ -87,7 +87,7 @@ Arguments</A>
<BR><HR>
<ADDRESS>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</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)
original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,34 +25,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html406"
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html405"
HREF="node29.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html402"
<A NAME="tex2html401"
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="tex2html396"
<A NAME="tex2html395"
HREF="node27.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html404"
HREF="node1.html">
<A NAME="tex2html403"
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="tex2html407"
<B> Next:</B> <A NAME="tex2html406"
HREF="node29.html">License</A>
<B> Up:</B> <A NAME="tex2html403"
<B> Up:</B> <A NAME="tex2html402"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html397"
<B> Previous:</B> <A NAME="tex2html396"
HREF="node27.html">Arguments</A>
&nbsp; <B> <A NAME="tex2html405"
HREF="node1.html">Contents</A></B>
<BR>
&nbsp; <B> <A NAME="tex2html404"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION00090000000000000000"></A><A NAME="sec:errors"></A>
@ -61,7 +62,7 @@ Error Handling
</H1>
<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
<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
@ -69,16 +70,17 @@ routine. This routine will then decide, according to the user
preferences, whether the error should be handled by terminating the
program or by returning the error condition to the user code, which
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
user's guide.
User's Guide [<A
HREF="node30.html#PSBLASGUIDE">14</A>].
<P>
<BR><HR>
<ADDRESS>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</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)
original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,34 +25,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html418"
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html417"
HREF="node30.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html414"
<A NAME="tex2html413"
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="tex2html408"
<A NAME="tex2html407"
HREF="node28.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html416"
HREF="node1.html">
<A NAME="tex2html415"
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="tex2html419"
<B> Next:</B> <A NAME="tex2html418"
HREF="node30.html">Bibliography</A>
<B> Up:</B> <A NAME="tex2html415"
<B> Up:</B> <A NAME="tex2html414"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html409"
<B> Previous:</B> <A NAME="tex2html408"
HREF="node28.html">Error Handling</A>
&nbsp; <B> <A NAME="tex2html417"
HREF="node1.html">Contents</A></B>
<BR>
&nbsp; <B> <A NAME="tex2html416"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<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.
</PRE>
<P>
<BR><HR>
<ADDRESS>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</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)
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 -->
<HTML>
<HEAD>
<TITLE>Notational Conventions</TITLE>
<META NAME="description" CONTENT="Notational Conventions">
<TITLE>General Overview</TITLE>
<META NAME="description" CONTENT="General Overview">
<META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
@ -25,51 +25,182 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html101"
<DIV CLASS="navigation"><!--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="tex2html97"
<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="tex2html91"
<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="tex2html99"
HREF="node1.html">
<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>
<B> Next:</B> <A NAME="tex2html102"
<B> Next:</B> <A NAME="tex2html101"
HREF="node4.html">Code Distribution</A>
<B> Up:</B> <A NAME="tex2html98"
<B> Up:</B> <A NAME="tex2html97"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html92"
HREF="node2.html">General Overview</A>
&nbsp; <B> <A NAME="tex2html100"
HREF="node1.html">Contents</A></B>
<BR>
<B> Previous:</B> <A NAME="tex2html91"
HREF="node2.html">Contents</A>
&nbsp; <B> <A NAME="tex2html99"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--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>
Notational Conventions
General Overview
</H1>
<P>
- caratteri tipografici usati nella guida (vedi guida ML recente e guida Aztec)
<BR> - convenzioni sui nomi di routine (anche differenza nei nomi tra high-level e
medium-level?), strutture dati, moduli, costanti, etc. (vedi guida psblas)
<BR> - versione reale e complessa, singola e doppia precisione
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 <SPAN CLASS="textit">multi-level Schwarz preconditioners</SPAN>&nbsp;[<A
HREF="node30.html#dd2_96">20</A>],
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><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>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</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)
original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,38 +25,42 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html430"
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html429"
HREF="node31.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html426"
<A NAME="tex2html425"
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="tex2html420"
<A NAME="tex2html419"
HREF="node29.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html428"
HREF="node1.html">
<A NAME="tex2html427"
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="tex2html431"
<B> Next:</B> <A NAME="tex2html430"
HREF="node31.html">About this document ...</A>
<B> Up:</B> <A NAME="tex2html427"
<B> Up:</B> <A NAME="tex2html426"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html421"
<B> Previous:</B> <A NAME="tex2html420"
HREF="node29.html">License</A>
&nbsp; <B> <A NAME="tex2html429"
HREF="node1.html">Contents</A></B>
<BR><BR>
&nbsp; <B> <A NAME="tex2html428"
HREF="node2.html">Contents</A></B>
<BR><BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION000110000000000000000">
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>
M.&nbsp;Brezina, P.&nbsp;Vanek,
<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,
A supernodal approach to sparse partial pivoting,
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>
E.&nbsp;Efstathiou, J.&nbsp;G.&nbsp;Gander,
<EM>Why Restricted Additive Schwarz Converges Faster than Additive Schwarz</EM>,
BIT Numerical Mathematics, 43, 2003, 945-959.
<P></P><DT><A NAME="PSBLASGUIDE">11</A>
<P></P><DT><A NAME="PSBLASGUIDE">14</A>
<DD>
S.&nbsp;Filippone, A.&nbsp;Buttari,
<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>.
<P></P><DT><A NAME="psblas_00">12</A>
<P></P><DT><A NAME="psblas_00">15</A>
<DD>
S.&nbsp;Filippone, M.&nbsp;Colajanni,
<EM>PSBLAS: A Library for Parallel Linear Algebra
Computation on Sparse Matrices</EM>,
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>
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>,
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>
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
<P>
<P></P><DT><A NAME="dd2_96">15</A>
<P></P><DT><A NAME="dd2_96">20</A>
<DD>
B.&nbsp;Smith, P.&nbsp;Bjorstad, W.&nbsp;Gropp,
<EM>Domain Decomposition: Parallel Multilevel Methods for Elliptic
Partial Differential Equations</EM>,
Cambridge University Press, 1996.
<P></P><DT><A NAME="MPI1">16</A>
<P></P><DT><A NAME="MPI1">21</A>
<DD>
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,
MIT Press, 1998.
<P></P><DT><A NAME="StubenGMD69_99">17</A>
<P></P><DT><A NAME="StubenGMD69_99">22</A>
<DD>
K.&nbsp;St&#252;ben,
<EM>Algebraic Multigrid (AMG): an Introduction with Applications</EM>,
in A.&nbsp;Sch&#252;ller, U.&nbsp;Trottenberg, C.&nbsp;Oosterlee, editors, Multigrid,
Academic Press, 2000.
<P></P><DT><A NAME="TUMINARO_TONG">18</A>
<P></P><DT><A NAME="TUMINARO_TONG">23</A>
<DD>
R.&nbsp;S.&nbsp;Tuminaro, C.&nbsp;Tong,
<EM>Parallel Smoothed Aggregation Multigrid: Aggregation Strategies on Massively Parallel Machines</EM>,
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>
P.&nbsp;Vanek, J.&nbsp;Mandel and M.&nbsp;Brezina,
<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>
<ADDRESS>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</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)
original version by: Nikos Drakos, CBLU, University of Leeds
@ -23,30 +23,31 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<DIV CLASS="navigation"><!--Navigation Panel-->
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next_g.png">
<A NAME="tex2html436"
<A NAME="tex2html435"
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="tex2html432"
<A NAME="tex2html431"
HREF="node30.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html438"
HREF="node1.html">
<A NAME="tex2html437"
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> Up:</B> <A NAME="tex2html437"
<B> Up:</B> <A NAME="tex2html436"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html433"
<B> Previous:</B> <A NAME="tex2html432"
HREF="node30.html">Bibliography</A>
&nbsp; <B> <A NAME="tex2html439"
HREF="node1.html">Contents</A></B>
<BR>
&nbsp; <B> <A NAME="tex2html438"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION000120000000000000000">
@ -65,13 +66,13 @@ Copyright &#169; 1997, 1998, 1999,
Mathematics Department, Macquarie University, Sydney.
<P>
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>
The translation was initiated by Salvatore Filippone on 2008-07-22
The translation was initiated by Salvatore Filippone on 2008-07-23
<BR><HR>
<ADDRESS>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</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)
original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,34 +25,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html113"
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html112"
HREF="node5.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html109"
<A NAME="tex2html108"
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="tex2html103"
<A NAME="tex2html102"
HREF="node3.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html111"
HREF="node1.html">
<A NAME="tex2html110"
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="tex2html114"
<B> Next:</B> <A NAME="tex2html113"
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>
<B> Previous:</B> <A NAME="tex2html104"
HREF="node3.html">Notational Conventions</A>
&nbsp; <B> <A NAME="tex2html112"
HREF="node1.html">Contents</A></B>
<BR>
<B> Previous:</B> <A NAME="tex2html103"
HREF="node3.html">General Overview</A>
&nbsp; <B> <A NAME="tex2html111"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION00040000000000000000"></A><A NAME="sec:distribution"></A>
@ -61,25 +62,25 @@ Code Distribution
</H1>
<P>
MLD2P4 is available from our project web site
MLD2P4 is available from the web site
<BLOCKQUOTE>
<TT>http://www.mld2p4.it
<TT>http://www.mld2p4.it</TT>
</TT></BLOCKQUOTE>
where you will also find contact points for further information and
bug reports.
</BLOCKQUOTE>
where contact points for further information can be also found.
To report bugs or ask general usage questions, please, send an email to
<TT>bugreport@mld2p4.it</TT>.
<P>
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="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>; please note that some of the optional
in Appendix&nbsp;<A HREF="node29.html#sec:license">A</A>; please note that some of the optional
third party libraries may be licensed under a different and more
stringent license, most notably the GPL, and this should be taken into
account when treating derived works.
<BR><HR>
<ADDRESS>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</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)
original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,34 +25,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html125"
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html124"
HREF="node6.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html121"
<A NAME="tex2html120"
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="tex2html115"
<A NAME="tex2html114"
HREF="node4.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html123"
HREF="node1.html">
<A NAME="tex2html122"
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="tex2html126"
<B> Next:</B> <A NAME="tex2html125"
HREF="node6.html">Prerequisites</A>
<B> Up:</B> <A NAME="tex2html122"
<B> Up:</B> <A NAME="tex2html121"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html116"
<B> Previous:</B> <A NAME="tex2html115"
HREF="node4.html">Code Distribution</A>
&nbsp; <B> <A NAME="tex2html124"
HREF="node1.html">Contents</A></B>
<BR>
&nbsp; <B> <A NAME="tex2html123"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<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
values for your system; this is done by means of the <code>configure</code>
script. The distribution also includes the autoconf and automake
sources employed to generate the script, but this should not normally
be needed to build the software.
sources employed to generate the script, but usually this is not needed
to build the software.
<P>
MLD2P4 is implemented almost entirely in Fortran&nbsp;95, with some
interfaces to external libraries in C; we require the Fortran compiler
to support the Fortran&nbsp;95 standard plus the extension TR15581, which
interfaces to external libraries in C; the Fortran compiler
must support the Fortran&nbsp;95 standard plus the extension TR15581, which
enhances the usability of <code>ALLOCATABLE</code> variables. Most modern
Fortran compilers support this language level. In particular, this is
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
this writing§).
this writing).
The software defines data types and interfaces for
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-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL>
<LI><A NAME="tex2html127"
<UL CLASS="ChildLinks">
<LI><A NAME="tex2html126"
HREF="node6.html">Prerequisites</A>
<LI><A NAME="tex2html128"
<LI><A NAME="tex2html127"
HREF="node7.html">Optional third party libraries</A>
<LI><A NAME="tex2html129"
<LI><A NAME="tex2html128"
HREF="node8.html">Configuration options</A>
<LI><A NAME="tex2html130"
<LI><A NAME="tex2html129"
HREF="node9.html">Example and test programs</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>
<ADDRESS>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</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)
original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,113 +25,129 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html141"
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html140"
HREF="node7.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html137"
<A NAME="tex2html136"
HREF="node5.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html131"
<A NAME="tex2html130"
HREF="node5.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html139"
HREF="node1.html">
<A NAME="tex2html138"
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="tex2html142"
<B> Next:</B> <A NAME="tex2html141"
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>
<B> Previous:</B> <A NAME="tex2html132"
<B> Previous:</B> <A NAME="tex2html131"
HREF="node5.html">Configuring and Building MLD2P4</A>
&nbsp; <B> <A NAME="tex2html140"
HREF="node1.html">Contents</A></B>
<BR>
&nbsp; <B> <A NAME="tex2html139"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00051000000000000000">
Prerequisites</A>
</H2>
<P>
The following base libraries are needed:
<DL>
<DT><STRONG>BLAS</STRONG></DT>
<DD>The Basic Linear Algebra subprograms. Many vendors provide
optimized versions; if no vendor version is available for a given
platform, the ATLAS software <code>http://www.netlib.org/atlas</code>
<DD>The Basic Linear Algebra subprograms [<A
HREF="node30.html#blas3">10</A>,<A
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
<code>http://www.netlib.org/blas</code> are meant to define the standard
behaviour of the BLAS interface, so they not optimized for any
particular plaftorm, and should only be used as a last
resort. Note that BLAS computation form a relatively small part of
(<code>http://www.netlib.org/blas</code>) are meant to define the standard
behaviour of the BLAS interface, so they are not optimized for any
particular plaftorm, and should only be used as a last
resort. Note that BLAS computation form a relatively small part of
the MLD2P4/PSBLAS computations; they are however critical when using
preconditioners based on the UMFPACK or SuperLU third party
libraries.
</DD>
<DT><STRONG>MPI</STRONG></DT>
<DD>A version of MPI is available on most high performance
computing system; we only require version 1.1.
<DD>A version of MPI [<A
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>
<DT><STRONG>BLACS</STRONG></DT>
<DD>The Basic Linear Algebra Communication Subroutines are
available in source form from <code>http://www.netlib.org/blacs</code>;
<DD>The Basic Linear Algebra Communication Subroutines
[<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
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>
</DL>
<P>
The MLD2P4 software requires PSBLAS version 2.3 (at least), available
from <code>http://www.ce.uniroma2.it/psblas</code>; indeed, all the
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;
Please note that the four previous libraries must have Fortran
interfaces compatible with MLD2P4;
usually this means that they should all be built with the same
compiler.
compiler as MLD2P4.
<P>
<HR>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html141"
<A NAME="tex2html140"
HREF="node7.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html137"
<A NAME="tex2html136"
HREF="node5.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html131"
<A NAME="tex2html130"
HREF="node5.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html139"
HREF="node1.html">
<A NAME="tex2html138"
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="tex2html142"
<B> Next:</B> <A NAME="tex2html141"
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>
<B> Previous:</B> <A NAME="tex2html132"
<B> Previous:</B> <A NAME="tex2html131"
HREF="node5.html">Configuring and Building MLD2P4</A>
&nbsp; <B> <A NAME="tex2html140"
HREF="node1.html">Contents</A></B>
&nbsp; <B> <A NAME="tex2html139"
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</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)
original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,34 +25,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html153"
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html152"
HREF="node8.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html149"
<A NAME="tex2html148"
HREF="node5.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html143"
<A NAME="tex2html142"
HREF="node6.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html151"
HREF="node1.html">
<A NAME="tex2html150"
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="tex2html154"
<B> Next:</B> <A NAME="tex2html153"
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>
<B> Previous:</B> <A NAME="tex2html144"
<B> Previous:</B> <A NAME="tex2html143"
HREF="node6.html">Prerequisites</A>
&nbsp; <B> <A NAME="tex2html152"
HREF="node1.html">Contents</A></B>
<BR>
&nbsp; <B> <A NAME="tex2html151"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00052000000000000000">
@ -67,23 +68,29 @@ for multilevel preconditioners may change to reflect their presence.
<P>
<DL>
<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>;
provides serial factorization and solution for double
precision real and complex double precision data. We have tested
provides serial factorization and triangular system solution for double
precision real and complex data. We have tested
versions 4.4 and 5.1;
</DD>
<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
factorization and solution for single and double precision real and
complex data. We have tested versions 3.0 and 3.1.
factorization and triangular system solution for single and double precision,
real and complex data. We have tested versions 3.0 and 3.1.
</DD>
<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
solution for real and complex double precision data. We have tested
version 2.1.
triangular system solution for double precision real and complex data.
We have tested version 2.1.
</DD>
</DL>
@ -91,7 +98,7 @@ for multilevel preconditioners may change to reflect their presence.
<BR><HR>
<ADDRESS>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</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)
original version by: Nikos Drakos, CBLU, University of Leeds
@ -25,34 +25,35 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html165"
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html164"
HREF="node9.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html161"
<A NAME="tex2html160"
HREF="node5.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html155"
<A NAME="tex2html154"
HREF="node7.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html163"
HREF="node1.html">
<A NAME="tex2html162"
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="tex2html166"
<B> Next:</B> <A NAME="tex2html165"
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>
<B> Previous:</B> <A NAME="tex2html156"
<B> Previous:</B> <A NAME="tex2html155"
HREF="node7.html">Optional third party libraries</A>
&nbsp; <B> <A NAME="tex2html164"
HREF="node1.html">Contents</A></B>
<BR>
&nbsp; <B> <A NAME="tex2html163"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00053000000000000000">
@ -68,9 +69,10 @@ As a minimal example consider the following:
<PRE>
./configure --with-psblas=/home/user/PSBLAS/psblas-2.3
</PRE>
This assumes that the various MPI compilers and support libraries are
available in the standard directories on the system. Note that the
PSBLAS build directory must be specified with an <EM>absolute</EM> path.
which assumes that the various MPI compilers and support libraries are
available in the standard directories on the system, and specifies
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
<code>./configure --help</code>, which produces:
<PRE>
@ -133,7 +135,7 @@ Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--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=-lspecial_system_lib or
--with-libs=-L/path/to/libs
@ -206,7 +208,7 @@ make install
<BR><HR>
<ADDRESS>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</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)
original version by: Nikos Drakos, CBLU, University of Leeds
@ -24,38 +24,40 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html175"
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html174"
HREF="node10.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html171"
<A NAME="tex2html170"
HREF="node5.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html167"
<A NAME="tex2html166"
HREF="node8.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html173"
HREF="node1.html">
<A NAME="tex2html172"
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="tex2html176"
<B> Next:</B> <A NAME="tex2html175"
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>
<B> Previous:</B> <A NAME="tex2html168"
<B> Previous:</B> <A NAME="tex2html167"
HREF="node8.html">Configuration options</A>
&nbsp; <B> <A NAME="tex2html174"
HREF="node1.html">Contents</A></B>
<BR>
&nbsp; <B> <A NAME="tex2html173"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00054000000000000000">
Example and test programs</A>
<H2><A NAME="SECTION00054000000000000000"></A><A NAME="sec:ex_and_test"></A>
<BR>
Example and test programs
</H2>
The package contains the <code>examples</code> and <code>tests</code> directories;
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>
</DL>
The <code>fileread</code> directories contain sample programs that read
sparse matrices from files, according to the Matrix Market storage
format; the <code>pargen</code> instead generate matrices in full parallel
mode from the discretization of a sample PDE.
sparse matrices from files, according to the Matrix Market or the
Harwell-Boeing storage format; the <code>pargen</code> instead generate
matrices in full parallel mode from the discretization of a sample PDE.
<BR><HR>
<ADDRESS>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</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)
original version by: Nikos Drakos, CBLU, University of Leeds
@ -22,7 +22,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
</HEAD>
<BODY >
<!--Navigation Panel-->
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html13"
HREF="node1.html">
<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"
SRC="file:/usr/share/latex2html/icons/prev_g.png">
<A NAME="tex2html11"
HREF="node1.html">
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="tex2html14"
HREF="node1.html">Contents</A>
HREF="node1.html">Abstract</A>
&nbsp; <B> <A NAME="tex2html12"
HREF="node1.html">Contents</A></B>
<BR>
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<P>
MLD2P4 User's and Reference Guidetitle
<BR>
<TABLE WIDTH="100%">
<TR><TD>
<DIV ALIGN="RIGHT">
<FONT SIZE="+4"><B>MLD2P4
<BR>
<BIG CLASS="XLARGE"><B>MLD2P4
<BR>
User's and Reference Guide
</B></FONT>
<BR>
<BR>
<BR>
<BR><I><FONT SIZE="+2">A guide for the Multi-Level Domain Decomposition <BR>
User's and Reference Guide</B></BIG>
<BR><SPAN CLASS="textit"><BIG CLASS="LARGE">A guide for the Multi-Level Domain Decomposition <BR>
<BR>
Parallel Preconditioners Package
based on PSBLAS</FONT></I>
</DIV></TD></TR>
</TABLE>
<P>
based on PSBLAS</BIG></SPAN>
<B>Pasqua D'Ambra</B>
<BR>
<TABLE WIDTH="100%">
<TR><TD>
<DIV ALIGN="RIGHT">
<FONT SIZE="+1"><B>Pasqua D'Ambra</B></FONT>
<BR><FONT SIZE="+1">ICAR-CNR, Naples, Italy
ICAR-CNR, Naples, Italy
<BR>
<BR>
<BR>
<BR><FONT SIZE="+1"><B>Daniela di Serafino</B></FONT>
<BR><FONT SIZE="+1">Second University of Naples, Italy
<BR><B>Daniela di Serafino</B>
<BR>
Second University of Naples, Italy
<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>
<TABLE WIDTH="100%">
<TR><TD>
<DIV ALIGN="RIGHT">
<FONT SIZE="+1">Software version: 1.0
<BR><B>Salvatore Filippone</B>
<BR>
July 22, 2008
</FONT></DIV></TD></TR>
</TABLE>
<P>
University of Rome ``Tor Vergata'', Italy
Software version: 1.0
<BR>
July 24, 2008
<BR>
<P>
<P>
<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>
<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"></A>
<UL>
<UL CLASS="ChildLinks">
<LI><A NAME="tex2html15"
HREF="node1.html">Contents</A>
HREF="node1.html">Abstract</A>
<LI><A NAME="tex2html16"
HREF="node2.html">General Overview</A>
HREF="node2.html">Contents</A>
<LI><A NAME="tex2html17"
HREF="node3.html">Notational Conventions</A>
HREF="node3.html">General Overview</A>
<LI><A NAME="tex2html18"
HREF="node4.html">Code Distribution</A>
<LI><A NAME="tex2html19"
@ -238,29 +169,10 @@ the user interface of MLD2P4.
HREF="node31.html">About this document ...</A>
</UL>
<!--End of Table of Child-Links-->
<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-->
<BR><HR>
<ADDRESS>
Salvatore Filippone
2008-07-22
2008-07-23
</ADDRESS>
</BODY>
</HTML>

@ -84,9 +84,9 @@
#
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 \
errors.tex bibliography.tex license.tex
errors.tex bibliography.tex license.tex userhtml.tex
FIGDIR = figures
XPDFFLAGS =

@ -1,4 +1,5 @@
\begin{abstract}
\section*{Abstract}
\addcontentsline{toc}{section}{Abstract}
\textsc{MLD2P4 (Multi-Level Domain Decomposition Parallel Preconditioners Package based on
PSBLAS}) is a package of parallel algebraic multi-level preconditioners.
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
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.
\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
called `smoother'. Different two-level preconditioners are obtained by varying the
choice of the smoother and of the coarse-level correction, and the

@ -1,10 +1,11 @@
%\section{Bibliography\label{sec:bib}}
\begin{thebibliography}{99}
\addcontentsline{toc}{section}{\refname}
\markboth{\textsc{MLD2P4 User's and Reference Guide}}
{\textsc{References}}
%\let\refname\relax
\begin{thebibliography}{99}
%
%\bibitem{PARA04FOREST}
%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,
SIAM Journal on Matrix Analysis and Applications, 20, 3, 1999, 720--755.
%
%\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{blas3}
J.~J.~Dongarra, J.~Du Croz, I.~S.~Duff, S.~Hammarling,
\emph{A set of Level 3 Basic Linear Algebra Subprograms},
ACM Transactions on Mathematical Software, 16, 1990, 1--17.
%
\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}
%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
Computation on Sparse Matrices},
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}
X.~S.~Li, J.~W.~Demmel, {\em SuperLU\_DIST: A Scalable Distributed-memory
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,
{\em MPI: The Complete Reference. Volume 1 - The MPI Core}, second edition,
MIT Press, 1998.
%
%%
\bibitem{StubenGMD69_99}
K.~St\"{u}ben,
{\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
values for your system; this is done by means of the \verb|configure|
script. The distribution also includes the autoconf and automake
sources employed to generate the script, but this should not normally
be needed to build the software.
sources employed to generate the script, but usually this is not needed
to build the software.
MLD2P4 is implemented almost entirely in Fortran~95, with some
interfaces to external libraries in C; we require the Fortran compiler
to support the Fortran~95 standard plus the extension TR15581, which
interfaces to external libraries in C; the Fortran compiler
must support the Fortran~95 standard plus the extension TR15581, which
enhances the usability of \verb|ALLOCATABLE| variables. Most modern
Fortran compilers support this language level. In particular, this is
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
this writing§).
this writing).
The software defines data types and interfaces for
real and complex data, in both single and double precision.
\subsection{Prerequisites}
The following base libraries are needed:
\begin{description}
\item[BLAS] The Basic Linear Algebra subprograms. Many vendors provide
optimized versions; if no vendor version is available for a given
platform, the ATLAS software \verb!http://www.netlib.org/atlas!
\item[BLAS] The Basic Linear Algebra subprograms \cite{blas3,blas3,blas1}.
Many vendors provide optimized versions; if no vendor version is
available for a given platform, the ATLAS software
(\verb!http://math-atlas.sourceforge.net/!)
may be employed. The reference BLAS from Netlib
\verb|http://www.netlib.org/blas| are meant to define the standard
behaviour of the BLAS interface, so they not optimized for any
particular plaftorm, and should only be used as a last
resort. Note that BLAS computation form a relatively small part of
(\verb|http://www.netlib.org/blas|) are meant to define the standard
behaviour of the BLAS interface, so they are not optimized for any
particular plaftorm, and should only be used as a last
resort. Note that BLAS computation form a relatively small part of
the MLD2P4/PSBLAS computations; they are however critical when using
preconditioners based on the UMFPACK or SuperLU third party
libraries.
\item[MPI] A version of MPI is available on most high performance
computing system; we only require version 1.1.
\item[BLACS] The Basic Linear Algebra Communication Subroutines are
available in source form from \verb|http://www.netlib.org/blacs|;
\item[MPI] A version of MPI \cite{MPI2,MPI1} is available on most high performance
computing system; only version 1.1 is required.
\item[BLACS] The Basic Linear Algebra Communication Subroutines
\cite{BLACS} are available in source form from \verb|http://www.netlib.org/blacs|;
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}
The MLD2P4 software requires PSBLAS version 2.3 (at least), available
from \verb|http://www.ce.uniroma2.it/psblas|; indeed, all the
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;
Please note that the four previous libraries must have Fortran
interfaces compatible with MLD2P4;
usually this means that they should all be built with the same
compiler.
compiler as MLD2P4.
\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.
\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/|;
provides serial factorization and solution for double
precision real and complex double precision data. We have tested
provides serial factorization and triangular system solution for double
precision real and complex data. We have tested
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
factorization and solution for single and double precision real and
complex data. We have tested versions 3.0 and 3.1.
\item[SuperLU\_Dist] A sparse direct factorization package available
factorization and triangular system solution for single and double precision,
real and complex data. We have tested versions 3.0 and 3.1.
\item[SuperLU\_Dist] \cite{SUPERLUDIST}
A sparse direct factorization package available
from the same site as SuperLU; provides parallel factorization and
solution for real and complex double precision data. We have tested
version 2.1.
triangular system solution for double precision real and complex data.
We have tested version 2.1.
\end{description}
\subsection{Configuration options}
@ -85,9 +89,10 @@ As a minimal example consider the following:
\begin{verbatim}
./configure --with-psblas=/home/user/PSBLAS/psblas-2.3
\end{verbatim}
This assumes that the various MPI compilers and support libraries are
available in the standard directories on the system. Note that the
PSBLAS build directory must be specified with an {\em absolute} path.
which assumes that the various MPI compilers and support libraries are
available in the standard directories on the system, and specifies
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
\verb|./configure --help|, which produces:
\begin{verbatim}
@ -150,7 +155,7 @@ Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--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=-lspecial_system_lib or
--with-libs=-L/path/to/libs
@ -218,7 +223,7 @@ followed (optionally) by
make install
\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;
both of them are further divided into \verb|fileread| and
\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.
\end{description}
The \verb|fileread| directories contain sample programs that read
sparse matrices from files, according to the Matrix Market storage
format; the \verb|pargen| instead generate matrices in full parallel
mode from the discretization of a sample PDE.
sparse matrices from files, according to the Matrix Market or the
Harwell-Boeing storage format; the \verb|pargen| instead generate
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}}
\noindent
MLD2P4 is available from our project web site
MLD2P4 is available from the web site
\begin{quotation}
\tt http://www.mld2p4.it
\texttt{http://www.mld2p4.it}
\end{quotation}
where you will also find contact points for further information and
bug reports.
where contact points for further information can be also found.
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
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
stringent license, most notably the GPL, and this should be taken into
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}}
{\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
\verb|info|; whenever an error condition is detected, an error trace
stack is built by the library up to the top-level, user-callable
@ -10,9 +10,9 @@ routine. This routine will then decide, according to the user
preferences, whether the error should be handled by terminating the
program or by returning the error condition to the user code, which
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
user's guide.
User's Guide \cite{PSBLASGUIDE}.
%%% Local Variables:
%%% mode: latex

@ -7,7 +7,7 @@ Schwarz preconditioners with the Krylov solvers included in PSBLAS \cite{PSBLASG
The following steps are required:
\begin{enumerate}
\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
(\verb|s| = real single precision; \verb|d| = real 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
by the PSBLAS routine implementing the Krylov solver (\verb|psb_krylov|).
\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.
\end{enumerate}
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-level 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
SuperLU for the single precision ones) \\
SuperLU for the single precision ones, if they have been
installed; ILU(0), otherwise). \\
\hline
\end{tabular}
%}
@ -123,7 +124,7 @@ here for brevity; the statements concerning the deallocation of the PSBLAS
data structure are neglected too.
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
Section~\ref{sec:building}).
Section~\ref{sec:ex_and_test}).
For details on the use of the PSBLAS routines, see the PSBLAS User's
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
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
the right-hand side are generated by discretizing a PDE with Dirichlet
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{center}
@ -291,13 +301,6 @@ boundary conditions are also available in the directory \verb|examples/pdegen|.
\end{center}
\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:
%%% 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
medium-layer ones.
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~\ref{sec:conventions}. Information on the distribution of the source code and the
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
This guide is organized as follows. General information on the distribution of the source code
is reported in Section~\ref{sec:distribution}, while details on the configuration
and installation of the package are given in Section~\ref{sec:building}. A description of
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
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 $
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifx\pdfoutput\undefined % We're not running pdftex
\else
\ifcase\pdfoutput % We're not running pdftex
{\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}
\fi
\newlength{\centeroffset}
%\setlength{\centeroffset}{-0.5\oddsidemargin}
%\addtolength{\centeroffset}{0.5\evensidemargin}
@ -23,7 +37,6 @@ Parallel Preconditioners Package
based on PSBLAS}
\end{minipage}}
\vspace{\stretch{1}}
\noindent\hspace*{\centeroffset}\makebox[0pt][l]{\begin{minipage}{\textwidth}
\flushright
@ -41,12 +54,12 @@ based on PSBLAS}
\noindent\hspace*{\centeroffset}\makebox[0pt][l]{\begin{minipage}{\textwidth}
\flushright
\large Software version: 1.0\\
\today
%\today
\large July 24, 2008
\end{minipage}}
%\addtolength{\textwidth}{\centeroffset}
\vspace{\stretch{2}}
\fi
\endinput

@ -37,7 +37,8 @@
}
\setlength\textwidth{1.15\textwidth}
% \setlength\evensidemargin{.7in}
\setlength\oddsidemargin{0.3in}
\setlength\evensidemargin{0.2in}
% \newlength{\centeroffset}
% \setlength{\centeroffset}{0.5\oddsidemargin}
% \addtolength{\centeroffset}{0.5\evensidemargin}
@ -80,6 +81,8 @@
\makeatother
\newcommand{\example}{\stepcounter{example}%
\section*{\examplename~\theexample}}
\def\bsideways{\sidewaystable}
\def\esideways{\endsidewaystable}
\newcommand{\precdata}{\hyperlink{precdata}{{\tt mld\_prec\_type}}}
\newcommand{\descdata}{\hyperlink{descdata}{{\tt psb\_desc\_type}}}
@ -87,8 +90,45 @@
\newcommand{\Ref}[1]{\mbox{(\ref{#1})}}
\begin{document}
\include{title}
%\cleardoublepage
\pdfbookmark{MLD2P4 User's and Reference Guide}{title}
\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
\ \\
\thispagestyle{empty}
@ -112,16 +152,13 @@
\setcounter{page}{1} % Chapters start on page 1
\include{overview}
\include{conventions}
\include{distribution}
\include{building}
\include{background}
\include{gettingstarted}
\include{userinterface}
%\include{advanced}
\include{errors}
%\include{listofroutines}
\cleardoublepage
\clearpage
\appendix
\include{license}
\cleardoublepage

@ -80,6 +80,8 @@
\makeatother
\newcommand{\example}{\stepcounter{example}%
\section*{\examplename~\theexample}}
\def\bsideways{\begin{table}}
\def\esideways{\end{table}}
\newcommand{\precdata}{\hyperlink{precdata}{{\tt mld\_prec\_type}}}
\newcommand{\descdata}{\hyperlink{descdata}{{\tt psb\_desc\_type}}}
@ -87,8 +89,21 @@
\newcommand{\Ref}[1]{\mbox{(\ref{#1})}}
\begin{document}
\include{title}
%\cleardoublepage
{\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
\clearpage
\ \\
\thispagestyle{empty}
@ -112,7 +127,6 @@
\setcounter{page}{1} % Chapters start on page 1
\include{overview}
\include{conventions}
\include{distribution}
\include{building}
\include{background}

@ -1,11 +1,9 @@
\section{User Interface\label{sec:userinterface}}
\markboth{\textsc{MLD2P4 User's and Reference Guide}}
{\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
for the setup and the application of any one-level and multi-level
preconditioner implemented in the package.
@ -40,6 +38,7 @@ i.e.
\end{itemize}
A description of each routine is given in the remainder of this section.
\clearpage
\subsection{Subroutine mld\_precinit\label{sec:precinit}}
@ -54,7 +53,7 @@ according to the preconditioner type chosen by the user.
\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)|.\\
& The preconditioner data structure. Note that \emph{x}
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.\\
\end{tabular}
\clearpage
\subsection{Subroutine mld\_precset\label{sec:precset}}
@ -85,7 +85,7 @@ contained in \verb|val|.
\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)|.\\
& The preconditioner data structure. Note that \emph{x} must
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
%to call \verb| mld_precset| without specifying \verb|ilev|.
\ifcase\pdfoutput\else\bsideways\fi
\bsideways
\begin{center}
\begin{tabular}{|l|l|p{2cm}|l|p{7cm}|}
\hline
@ -152,7 +152,7 @@ refer to Section~\ref{sec:background}.
& \texttt{'DIAG'} \ \ \ \texttt{'BJAC'} \ \ \ \texttt{'AS'}
& \texttt{'AS'}
& Basic one-level preconditioner (i.e.\ smoother): diagonal,
block Jacobi, AS \\ \hline
block Jacobi, AS. \\ \hline
\verb|mld_smoother_pos_| & \verb|character(len=*)|
& \texttt{'PRE'} \ \ \ \texttt{'POST'} \ \ \ \texttt{'TWOSIDE'}
& \texttt{'POST'}
@ -163,9 +163,9 @@ refer to Section~\ref{sec:background}.
\end{center}
\caption{Parameters defining the type of multi-level preconditioner.
\label{tab:p_type}}
\ifcase\pdfoutput\else\esideways\fi
\esideways
\ifcase\pdfoutput\else\bsideways\fi
\bsideways
\begin{center}
\begin{tabular}{|l|l|p{3.2cm}|l|p{7cm}|}
\hline
@ -173,7 +173,7 @@ refer to Section~\ref{sec:background}.
\textsc{comments} \\ \hline
%\multicolumn{5}{|c|}{\emph{basic one-level preconditioner (smoother)}} \\ \hline
\verb|mld_sub_ovr_| & \verb|integer|
& any integer number $\ge 0$
& any~int.~num.~$\ge 0$
& 1
& Number of overlap layers. \\ \hline
\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
\verb|mld_sub_iluthrs_| & \verb|real(|\emph{kind\_parameter}\verb|)|
& Any~real~num.~$\ge 0$
& \texttt{0.e0} (or \texttt{0.d0})
& 0
& Drop tolerance $t$ in the ILU($p,t$) factorization. \\ \hline
\verb|mld_sub_ren_| & \verb|character(len=*)|
& \texttt{'RENUM\_NONE'} \texttt{'RENUM\_GLOBAL'} %, \texttt{'RENUM_GPS'}
@ -213,9 +213,9 @@ refer to Section~\ref{sec:background}.
\end{center}
\caption{Parameters defining the one-level preconditioner used as smoother.
\label{tab:p_smoother}}
\ifcase\pdfoutput\else\esideways\fi
\esideways
\ifcase\pdfoutput\else\bsideways\fi
\bsideways
\begin{center}
\begin{tabular}{|l|l|p{2.3cm}|p{2.6cm}|p{7cm}|}
\hline
@ -229,48 +229,53 @@ refer to Section~\ref{sec:background}.
\verb|mld_aggr_kind_| & \verb|character(len=*)|
& \texttt{'SMOOTH'} \hspace{2.5cm} \texttt{'RAW'}
& \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|)|
& Any~real~num. $\in [0, 1]$
& \texttt{0.e0} (or \texttt{0.d0})
& 0
& The threshold $\theta$ in the aggregation algorithm. \\ \hline
\verb|mld_aggr_eig_| & \verb|character(len=*)|
& \texttt{'A\_NORMI'}
& \texttt{'A\_NORMI'}
& Estimate of the maximum eigenvalue of $D^{-1}A$
for the smoothed aggregation. Currently, only the infinity norm of
& Estimate of the eigenvalue $D^{-1}A$ with largest modulus,
to build the damping parameter $\omega$ in the smoothed aggregation.
Currently, only the infinity norm of
the matrix is available. \\ \hline
\verb|mld_aggr_damp_| & \verb|real(|\emph{kind\_parameter}\verb|)|
& Any~real~num. $>0$
& \texttt{4.e0/3.e0} \hspace{1cm} (or \texttt{4.d0/3.d0})
& The damping parameter $\omega$ in the aggregation algorithm. \\
& Any~real~num.
& $4/(3||D^{-1}A||_\infty)$
& 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
\end{tabular}
\end{center}
\caption{Parameters defining the aggregation algorithm.
\label{tab:p_aggregation}}
\ifcase\pdfoutput\else\esideways\fi
\esideways
\ifcase\pdfoutput\else\bsideways\fi
\bsideways
\begin{center}
\begin{tabular}{|l|l|p{3.2cm}|l|p{7cm}|}
\hline
\verb|what| & \textsc{data type} & \verb|val| & \textsc{default} &
\textsc{comments} \\ \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=*)|
& \texttt{'BJAC'} \hspace{2.5cm} \texttt{'UMF'} \hspace{2.5cm} \texttt{'SLU'}
\hspace{2.5cm} \texttt{'SLUDIST'}
& \texttt{'BJAC'}
& Solver used at the coarsest level: block Jacobi, sequential LU from UMFPACK,
sequential LU from SuperLU, distributed LU from SuperLU\_Dist.
If the coarsest matrix is distributed, only \texttt{'BJAC'} and \texttt{'SLUDIST'}
can be chosen; if it is replicated, only \texttt{'BJAC'} or \texttt{'SLUDIST'} can
be selected. \\ \hline
With \texttt{'SLUDIST'} the coarsest matrix
must be distributed; with \texttt{'UMF'} or
\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=*)|
& \texttt{'ILU'} \hspace{2.5cm} \texttt{'MILU'} \hspace{2.5cm} \texttt{'ILUT'}
\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
\verb|mld_coarse_sweeps_|& \verb|integer|
& Any~int.~num.~$> 0$
& \texttt{4}
& Number of Block-Jacobi sweeps when 'BJAC' is used as coarsest-level solver. \\
& 4
& Number of Block-Jacobi sweeps when 'BJAC' is used as coarsest-level solver. \\ \hline
\verb|mld_coarse_fillin_| & \verb|integer|
& Any~int.~num.~$\ge 0$
& \texttt{0}
& 0
& Fill-in level $p$ of the incomplete LU factorizations. \\ \hline
\verb|mld_coarse_iluthrs_| & \verb|real(|\emph{kind\_parameter}\verb|)|
& Any~real.~num.~$\ge 0$
& \texttt{0.d0} (or \texttt{0.e0})
& 0
& Drop tolerance $t$ in the ILU($p,t$) factorization. \\
\hline
\end{tabular}
\end{center}
\caption{Parameters defining the coarse-space correction at the coarsest
level.\label{tab:p_coarse}}
\ifcase\pdfoutput\else\esideways\fi
\esideways
\clearpage
\subsection{Subroutine mld\_precbld\label{sec:precbld}}
\begin{center}
@ -311,7 +317,7 @@ the user through the routines \verb|mld_precinit| and \verb|mld_precset|.
\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)|. \\
& The sparse matrix structure containing the local part of the
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}
\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)|.\\
& The preconditioner data structure, containing the local part of $M$.
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})$.\\
\verb|work| & \emph{type}\verb|(|\emph{kind\_parameter}\verb|), dimension(:), optional, target|.\\
& 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
to the real/complex, single/double precision version of MLD2P4 under use.\\
\end{tabular}
\clearpage
\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.\\
\end{tabular}
\clearpage
\subsection{Subroutine mld\_precdescr\label{sec:precdescr}}
@ -406,12 +414,12 @@ This routine deallocates the preconditioner data structure.
\end{center}
\noindent
This routine prints a description of the preconditioner
to the standard output or to a file.
This routine prints a description of the preconditioner to the standard output or
to a file. It must be called after \verb|mld_precbld| has been called.
\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)|.\\
& The preconditioner data structure. Note that \emph{x} must be chosen according
to the real/complex, single/double precision version of MLD2P4 under use.\\

Loading…
Cancel
Save