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/node3.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/building.tex
 docs/pdf/userhtml.tex
 docs/pdf/userinterface.tex
 docs/userguide.pdf

Further docs fixes.
stopcriterion
Salvatore Filippone 17 years ago
parent cf4061d09e
commit 5a8ed47797

@ -48,25 +48,24 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BR>
<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>
<BR><SPAN CLASS="textit"><BIG CLASS="LARGE">A guide for the Multi-Level Domain Decomposition
Parallel Preconditioners Package
based on PSBLAS</BIG></SPAN>
<B>Pasqua D'Ambra</B>
<BR>
ICAR-CNR, Naples, Italy
<BR>
<BR>
<BR><B>Pasqua D'Ambra</B>
<BR>
ICAR-CNR, Naples, Italy
<BR><B>Daniela di Serafino</B>
<BR>
Second University of Naples, Italy
<BR><B>Salvatore Filippone</B>
<BR>
University of Rome ``Tor Vergata'', Italy
<BR>
<BR>
<BR><B>Salvatore Filippone</B>
<BR>
University of Rome ``Tor Vergata'', Italy
Software version: 1.0
<BR>
July 24, 2008
@ -123,50 +122,26 @@ July 24, 2008
<UL>
<LI><A NAME="tex2html30"
HREF="node16.html">Subroutine mld_precinit</A>
<UL>
<LI><A NAME="tex2html31"
HREF="node17.html">Arguments</A>
</UL>
HREF="node17.html">Subroutine mld_precset</A>
<LI><A NAME="tex2html32"
HREF="node18.html">Subroutine mld_precset</A>
<UL>
HREF="node18.html">Subroutine mld_precbld</A>
<LI><A NAME="tex2html33"
HREF="node19.html">Arguments</A>
</UL>
HREF="node19.html">Subroutine mld_precaply</A>
<LI><A NAME="tex2html34"
HREF="node20.html">Subroutine mld_precbld</A>
<UL>
HREF="node20.html">Subroutine mld_precfree</A>
<LI><A NAME="tex2html35"
HREF="node21.html">Arguments</A>
HREF="node21.html">Subroutine mld_precdescr</A>
</UL>
<BR>
<LI><A NAME="tex2html36"
HREF="node22.html">Subroutine mld_precaply</A>
<UL>
HREF="node22.html">Error Handling</A>
<LI><A NAME="tex2html37"
HREF="node23.html">Arguments</A>
</UL>
HREF="node23.html">License</A>
<LI><A NAME="tex2html38"
HREF="node24.html">Subroutine mld_precfree</A>
<UL>
HREF="node24.html">Bibliography</A>
<LI><A NAME="tex2html39"
HREF="node25.html">Arguments</A>
</UL>
<LI><A NAME="tex2html40"
HREF="node26.html">Subroutine mld_precdescr</A>
<UL>
<LI><A NAME="tex2html41"
HREF="node27.html">Arguments</A>
</UL>
</UL>
<BR>
<LI><A NAME="tex2html42"
HREF="node28.html">Error Handling</A>
<LI><A NAME="tex2html43"
HREF="node29.html">License</A>
<LI><A NAME="tex2html44"
HREF="node30.html">Bibliography</A>
<LI><A NAME="tex2html45"
HREF="node31.html">About this document ...</A>
HREF="node25.html">About this document ...</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>

@ -3,7 +3,7 @@
$key = q/cite_PSBLASGUIDE/;
$ref_files{$key} = "$dir".q|node30.html|;
$ref_files{$key} = "$dir".q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/sec:precinit/;
@ -11,11 +11,11 @@ $ref_files{$key} = "$dir".q|node16.html|;
$noresave{$key} = "$nosave";
$key = q/sec:precset/;
$ref_files{$key} = "$dir".q|node18.html|;
$ref_files{$key} = "$dir".q|node17.html|;
$noresave{$key} = "$nosave";
$key = q/cite_dd2_96/;
$ref_files{$key} = "$dir".q|node30.html|;
$ref_files{$key} = "$dir".q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/sec:ex_and_test/;
@ -23,11 +23,11 @@ $ref_files{$key} = "$dir".q|node9.html|;
$noresave{$key} = "$nosave";
$key = q/cite_Saad_book/;
$ref_files{$key} = "$dir".q|node30.html|;
$ref_files{$key} = "$dir".q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/cite_CAI_SARKIS/;
$ref_files{$key} = "$dir".q|node30.html|;
$ref_files{$key} = "$dir".q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/sec:conventions/;
@ -35,27 +35,27 @@ $ref_files{$key} = "$dir".q|node3.html|;
$noresave{$key} = "$nosave";
$key = q/cite_blas2/;
$ref_files{$key} = "$dir".q|node30.html|;
$ref_files{$key} = "$dir".q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/cite_dd1_94/;
$ref_files{$key} = "$dir".q|node30.html|;
$ref_files{$key} = "$dir".q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/cite_SUPERLUDIST/;
$ref_files{$key} = "$dir".q|node30.html|;
$ref_files{$key} = "$dir".q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/cite_TUMINARO_TONG/;
$ref_files{$key} = "$dir".q|node30.html|;
$ref_files{$key} = "$dir".q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/sec:precdescr/;
$ref_files{$key} = "$dir".q|node26.html|;
$ref_files{$key} = "$dir".q|node21.html|;
$noresave{$key} = "$nosave";
$key = q/cite_psblas_00/;
$ref_files{$key} = "$dir".q|node30.html|;
$ref_files{$key} = "$dir".q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/eq:tent_prol/;
@ -71,11 +71,11 @@ $ref_files{$key} = "$dir".q|node11.html|;
$noresave{$key} = "$nosave";
$key = q/cite_SUPERLU/;
$ref_files{$key} = "$dir".q|node30.html|;
$ref_files{$key} = "$dir".q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/cite_StubenGMD69_99/;
$ref_files{$key} = "$dir".q|node30.html|;
$ref_files{$key} = "$dir".q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/fig:mlhpost_alg/;
@ -91,7 +91,7 @@ $ref_files{$key} = "$dir".q|node10.html|;
$noresave{$key} = "$nosave";
$key = q/cite_VANEK_MANDEL_BREZINA/;
$ref_files{$key} = "$dir".q|node30.html|;
$ref_files{$key} = "$dir".q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/system1/;
@ -99,7 +99,7 @@ $ref_files{$key} = "$dir".q|node3.html|;
$noresave{$key} = "$nosave";
$key = q/cite_MPI2/;
$ref_files{$key} = "$dir".q|node30.html|;
$ref_files{$key} = "$dir".q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/fig:ex_3la/;
@ -107,11 +107,11 @@ $ref_files{$key} = "$dir".q|node14.html|;
$noresave{$key} = "$nosave";
$key = q/sec:license/;
$ref_files{$key} = "$dir".q|node29.html|;
$ref_files{$key} = "$dir".q|node23.html|;
$noresave{$key} = "$nosave";
$key = q/sec:errors/;
$ref_files{$key} = "$dir".q|node28.html|;
$ref_files{$key} = "$dir".q|node22.html|;
$noresave{$key} = "$nosave";
$key = q/tab:precinit/;
@ -123,11 +123,11 @@ $ref_files{$key} = "$dir".q|node14.html|;
$noresave{$key} = "$nosave";
$key = q/cite_UMFPACK/;
$ref_files{$key} = "$dir".q|node30.html|;
$ref_files{$key} = "$dir".q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/cite_apnum_07/;
$ref_files{$key} = "$dir".q|node30.html|;
$ref_files{$key} = "$dir".q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/sec:started/;
@ -139,7 +139,7 @@ $ref_files{$key} = "$dir".q|node12.html|;
$noresave{$key} = "$nosave";
$key = q/sec:precaply/;
$ref_files{$key} = "$dir".q|node22.html|;
$ref_files{$key} = "$dir".q|node19.html|;
$noresave{$key} = "$nosave";
$key = q/fig:ex_3lh/;
@ -147,23 +147,23 @@ $ref_files{$key} = "$dir".q|node14.html|;
$noresave{$key} = "$nosave";
$key = q/cite_BREZINA_VANEK/;
$ref_files{$key} = "$dir".q|node30.html|;
$ref_files{$key} = "$dir".q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/cite_Cai_Widlund_92/;
$ref_files{$key} = "$dir".q|node30.html|;
$ref_files{$key} = "$dir".q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/cite_para_04/;
$ref_files{$key} = "$dir".q|node30.html|;
$ref_files{$key} = "$dir".q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/cite_BLACS/;
$ref_files{$key} = "$dir".q|node30.html|;
$ref_files{$key} = "$dir".q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/cite_EFSTATHIOU/;
$ref_files{$key} = "$dir".q|node30.html|;
$ref_files{$key} = "$dir".q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/sec:aggregation/;
@ -175,11 +175,11 @@ $ref_files{$key} = "$dir".q|node14.html|;
$noresave{$key} = "$nosave";
$key = q/cite_MPI1/;
$ref_files{$key} = "$dir".q|node30.html|;
$ref_files{$key} = "$dir".q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/cite_aaecc_07/;
$ref_files{$key} = "$dir".q|node30.html|;
$ref_files{$key} = "$dir".q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/sec:building/;
@ -195,7 +195,7 @@ $ref_files{$key} = "$dir".q|node12.html|;
$noresave{$key} = "$nosave";
$key = q/cite_blas1/;
$ref_files{$key} = "$dir".q|node30.html|;
$ref_files{$key} = "$dir".q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/fig:ex_1l/;
@ -203,15 +203,15 @@ $ref_files{$key} = "$dir".q|node14.html|;
$noresave{$key} = "$nosave";
$key = q/sec:precbld/;
$ref_files{$key} = "$dir".q|node20.html|;
$ref_files{$key} = "$dir".q|node18.html|;
$noresave{$key} = "$nosave";
$key = q/sec:precfree/;
$ref_files{$key} = "$dir".q|node24.html|;
$ref_files{$key} = "$dir".q|node20.html|;
$noresave{$key} = "$nosave";
$key = q/cite_blas3/;
$ref_files{$key} = "$dir".q|node30.html|;
$ref_files{$key} = "$dir".q|node24.html|;
$noresave{$key} = "$nosave";
1;

@ -3,7 +3,7 @@
$key = q/cite_PSBLASGUIDE/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$external_labels{$key} = "$URL/" . q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/sec:precinit/;
@ -11,11 +11,11 @@ $external_labels{$key} = "$URL/" . q|node16.html|;
$noresave{$key} = "$nosave";
$key = q/sec:precset/;
$external_labels{$key} = "$URL/" . q|node18.html|;
$external_labels{$key} = "$URL/" . q|node17.html|;
$noresave{$key} = "$nosave";
$key = q/cite_dd2_96/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$external_labels{$key} = "$URL/" . q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/sec:ex_and_test/;
@ -23,11 +23,11 @@ $external_labels{$key} = "$URL/" . q|node9.html|;
$noresave{$key} = "$nosave";
$key = q/cite_Saad_book/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$external_labels{$key} = "$URL/" . q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/cite_CAI_SARKIS/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$external_labels{$key} = "$URL/" . q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/sec:conventions/;
@ -35,27 +35,27 @@ $external_labels{$key} = "$URL/" . q|node3.html|;
$noresave{$key} = "$nosave";
$key = q/cite_blas2/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$external_labels{$key} = "$URL/" . q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/cite_dd1_94/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$external_labels{$key} = "$URL/" . q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/cite_SUPERLUDIST/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$external_labels{$key} = "$URL/" . q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/cite_TUMINARO_TONG/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$external_labels{$key} = "$URL/" . q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/sec:precdescr/;
$external_labels{$key} = "$URL/" . q|node26.html|;
$external_labels{$key} = "$URL/" . q|node21.html|;
$noresave{$key} = "$nosave";
$key = q/cite_psblas_00/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$external_labels{$key} = "$URL/" . q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/eq:tent_prol/;
@ -71,11 +71,11 @@ $external_labels{$key} = "$URL/" . q|node11.html|;
$noresave{$key} = "$nosave";
$key = q/cite_SUPERLU/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$external_labels{$key} = "$URL/" . q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/cite_StubenGMD69_99/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$external_labels{$key} = "$URL/" . q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/fig:mlhpost_alg/;
@ -91,7 +91,7 @@ $external_labels{$key} = "$URL/" . q|node10.html|;
$noresave{$key} = "$nosave";
$key = q/cite_VANEK_MANDEL_BREZINA/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$external_labels{$key} = "$URL/" . q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/system1/;
@ -99,7 +99,7 @@ $external_labels{$key} = "$URL/" . q|node3.html|;
$noresave{$key} = "$nosave";
$key = q/cite_MPI2/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$external_labels{$key} = "$URL/" . q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/fig:ex_3la/;
@ -107,11 +107,11 @@ $external_labels{$key} = "$URL/" . q|node14.html|;
$noresave{$key} = "$nosave";
$key = q/sec:license/;
$external_labels{$key} = "$URL/" . q|node29.html|;
$external_labels{$key} = "$URL/" . q|node23.html|;
$noresave{$key} = "$nosave";
$key = q/sec:errors/;
$external_labels{$key} = "$URL/" . q|node28.html|;
$external_labels{$key} = "$URL/" . q|node22.html|;
$noresave{$key} = "$nosave";
$key = q/tab:precinit/;
@ -123,11 +123,11 @@ $external_labels{$key} = "$URL/" . q|node14.html|;
$noresave{$key} = "$nosave";
$key = q/cite_UMFPACK/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$external_labels{$key} = "$URL/" . q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/cite_apnum_07/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$external_labels{$key} = "$URL/" . q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/sec:started/;
@ -139,7 +139,7 @@ $external_labels{$key} = "$URL/" . q|node12.html|;
$noresave{$key} = "$nosave";
$key = q/sec:precaply/;
$external_labels{$key} = "$URL/" . q|node22.html|;
$external_labels{$key} = "$URL/" . q|node19.html|;
$noresave{$key} = "$nosave";
$key = q/fig:ex_3lh/;
@ -147,23 +147,23 @@ $external_labels{$key} = "$URL/" . q|node14.html|;
$noresave{$key} = "$nosave";
$key = q/cite_BREZINA_VANEK/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$external_labels{$key} = "$URL/" . q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/cite_Cai_Widlund_92/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$external_labels{$key} = "$URL/" . q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/cite_para_04/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$external_labels{$key} = "$URL/" . q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/cite_BLACS/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$external_labels{$key} = "$URL/" . q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/cite_EFSTATHIOU/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$external_labels{$key} = "$URL/" . q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/sec:aggregation/;
@ -175,11 +175,11 @@ $external_labels{$key} = "$URL/" . q|node14.html|;
$noresave{$key} = "$nosave";
$key = q/cite_MPI1/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$external_labels{$key} = "$URL/" . q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/cite_aaecc_07/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$external_labels{$key} = "$URL/" . q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/sec:building/;
@ -195,7 +195,7 @@ $external_labels{$key} = "$URL/" . q|node12.html|;
$noresave{$key} = "$nosave";
$key = q/cite_blas1/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$external_labels{$key} = "$URL/" . q|node24.html|;
$noresave{$key} = "$nosave";
$key = q/fig:ex_1l/;
@ -203,15 +203,15 @@ $external_labels{$key} = "$URL/" . q|node14.html|;
$noresave{$key} = "$nosave";
$key = q/sec:precbld/;
$external_labels{$key} = "$URL/" . q|node20.html|;
$external_labels{$key} = "$URL/" . q|node18.html|;
$noresave{$key} = "$nosave";
$key = q/sec:precfree/;
$external_labels{$key} = "$URL/" . q|node24.html|;
$external_labels{$key} = "$URL/" . q|node20.html|;
$noresave{$key} = "$nosave";
$key = q/cite_blas3/;
$external_labels{$key} = "$URL/" . q|node30.html|;
$external_labels{$key} = "$URL/" . q|node24.html|;
$noresave{$key} = "$nosave";
1;

@ -27,30 +27,30 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html56"
<A NAME="tex2html50"
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"
<A NAME="tex2html46"
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"
<A NAME="tex2html40"
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"
<A NAME="tex2html48"
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"
<B> Next:</B> <A NAME="tex2html51"
HREF="node2.html">Contents</A>
<B> Up:</B> <A NAME="tex2html53"
<B> Up:</B> <A NAME="tex2html47"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html47"
<B> Previous:</B> <A NAME="tex2html41"
HREF="userhtml.html">userhtml</A>
&nbsp; <B> <A NAME="tex2html55"
&nbsp; <B> <A NAME="tex2html49"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
@ -94,30 +94,30 @@ the user interface of MLD2P4.
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html56"
<A NAME="tex2html50"
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"
<A NAME="tex2html46"
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"
<A NAME="tex2html40"
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"
<A NAME="tex2html48"
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"
<B> Next:</B> <A NAME="tex2html51"
HREF="node2.html">Contents</A>
<B> Up:</B> <A NAME="tex2html53"
<B> Up:</B> <A NAME="tex2html47"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html47"
<B> Previous:</B> <A NAME="tex2html41"
HREF="userhtml.html">userhtml</A>
&nbsp; <B> <A NAME="tex2html55"
&nbsp; <B> <A NAME="tex2html49"
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>

@ -27,30 +27,30 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html186"
<A NAME="tex2html180"
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="tex2html182"
<A NAME="tex2html176"
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="tex2html176"
<A NAME="tex2html170"
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="tex2html184"
<A NAME="tex2html178"
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="tex2html187"
<B> Next:</B> <A NAME="tex2html181"
HREF="node11.html">Multi-level Schwarz Preconditioners</A>
<B> Up:</B> <A NAME="tex2html183"
<B> Up:</B> <A NAME="tex2html177"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html177"
<B> Previous:</B> <A NAME="tex2html171"
HREF="node9.html">Example and test programs</A>
&nbsp; <B> <A NAME="tex2html185"
&nbsp; <B> <A NAME="tex2html179"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
@ -73,15 +73,15 @@ into subdomains, e.g. in a PDE discretization, to (approximately) solving the
subproblems corresponding to the subdomains and to building an approximate
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">20</A>].
HREF="node24.html#Cai_Widlund_92">6</A>,<A
HREF="node24.html#dd1_94">7</A>,<A
HREF="node24.html#dd2_96">20</A>].
<P>
<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">20</A>]).
HREF="node24.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
@ -100,7 +100,7 @@ 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">20</A>]. The same reasoning can be applied starting
HREF="node24.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 <SPAN CLASS="textit">multi-level</SPAN> preconditioners.
@ -124,24 +124,24 @@ 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">22</A>].
HREF="node24.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 <SPAN CLASS="textit">smoothed
aggregation</SPAN> algorithm [<A
HREF="node30.html#BREZINA_VANEK">1</A>,<A
HREF="node30.html#VANEK_MANDEL_BREZINA">24</A>]. A decoupled version
HREF="node24.html#BREZINA_VANEK">1</A>,<A
HREF="node24.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">23</A>]. In the next two subsections we provide
HREF="node24.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">20</A>].
HREF="node24.html#para_04">2</A>,<A
HREF="node24.html#aaecc_07">3</A>,<A
HREF="node24.html#apnum_07">4</A>,<A
HREF="node24.html#dd2_96">20</A>].
<P>
<BR><HR>
@ -149,39 +149,39 @@ is referred to [<A
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL CLASS="ChildLinks">
<LI><A NAME="tex2html188"
<LI><A NAME="tex2html182"
HREF="node11.html">Multi-level Schwarz Preconditioners</A>
<LI><A NAME="tex2html189"
<LI><A NAME="tex2html183"
HREF="node12.html">Smoothed Aggregation</A>
</UL>
<!--End of Table of Child-Links-->
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html186"
<A NAME="tex2html180"
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="tex2html182"
<A NAME="tex2html176"
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="tex2html176"
<A NAME="tex2html170"
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="tex2html184"
<A NAME="tex2html178"
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="tex2html187"
<B> Next:</B> <A NAME="tex2html181"
HREF="node11.html">Multi-level Schwarz Preconditioners</A>
<B> Up:</B> <A NAME="tex2html183"
<B> Up:</B> <A NAME="tex2html177"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html177"
<B> Previous:</B> <A NAME="tex2html171"
HREF="node9.html">Example and test programs</A>
&nbsp; <B> <A NAME="tex2html185"
&nbsp; <B> <A NAME="tex2html179"
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>

@ -27,30 +27,30 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html200"
<A NAME="tex2html194"
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="tex2html196"
<A NAME="tex2html190"
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="tex2html190"
<A NAME="tex2html184"
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="tex2html198"
<A NAME="tex2html192"
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="tex2html201"
<B> Next:</B> <A NAME="tex2html195"
HREF="node12.html">Smoothed Aggregation</A>
<B> Up:</B> <A NAME="tex2html197"
<B> Up:</B> <A NAME="tex2html191"
HREF="node10.html">Multi-level Domain Decomposition Background</A>
<B> Previous:</B> <A NAME="tex2html191"
<B> Previous:</B> <A NAME="tex2html185"
HREF="node10.html">Multi-level Domain Decomposition Background</A>
&nbsp; <B> <A NAME="tex2html199"
&nbsp; <B> <A NAME="tex2html193"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
@ -300,15 +300,15 @@ ILU(<SPAN CLASS="MATH"><IMG
WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img35.png"
ALT="$p,t$"></SPAN>) [<A
HREF="node30.html#Saad_book">19</A>, Chapter 10].
HREF="node24.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 <SPAN CLASS="textit">Restricted AS
(RAS)</SPAN> preconditioner&nbsp;[<A
HREF="node30.html#CAI_SARKIS">5</A>,<A
HREF="node30.html#EFSTATHIOU">13</A>]. It
HREF="node24.html#CAI_SARKIS">5</A>,<A
HREF="node24.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"
@ -391,8 +391,8 @@ of <SPAN CLASS="MATH"><IMG
WIDTH="24" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img10.png"
ALT="$W$"></SPAN> increases [<A
HREF="node30.html#dd1_94">7</A>,<A
HREF="node30.html#dd2_96">20</A>]. To reduce the dependency
HREF="node24.html#dd1_94">7</A>,<A
HREF="node24.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 <SPAN CLASS="MATH"><IMG
@ -647,12 +647,12 @@ in which the coarse-level correction is re-applied starting from the current
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">20</A>, Chapter 3]).
HREF="node24.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">20</A>, Chapter 3].
HREF="node24.html#dd2_96">20</A>, Chapter 3].
The algorithm for the application of a multi-level hybrid
post-smoothed preconditioner <SPAN CLASS="MATH"><IMG
WIDTH="23" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
@ -741,30 +741,30 @@ $w = y_1$;
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html200"
<A NAME="tex2html194"
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="tex2html196"
<A NAME="tex2html190"
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="tex2html190"
<A NAME="tex2html184"
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="tex2html198"
<A NAME="tex2html192"
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="tex2html201"
<B> Next:</B> <A NAME="tex2html195"
HREF="node12.html">Smoothed Aggregation</A>
<B> Up:</B> <A NAME="tex2html197"
<B> Up:</B> <A NAME="tex2html191"
HREF="node10.html">Multi-level Domain Decomposition Background</A>
<B> Previous:</B> <A NAME="tex2html191"
<B> Previous:</B> <A NAME="tex2html185"
HREF="node10.html">Multi-level Domain Decomposition Background</A>
&nbsp; <B> <A NAME="tex2html199"
&nbsp; <B> <A NAME="tex2html193"
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>

@ -26,30 +26,30 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html210"
<A NAME="tex2html204"
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="tex2html206"
<A NAME="tex2html200"
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="tex2html202"
<A NAME="tex2html196"
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="tex2html208"
<A NAME="tex2html202"
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="tex2html211"
<B> Next:</B> <A NAME="tex2html205"
HREF="node13.html">Getting Started</A>
<B> Up:</B> <A NAME="tex2html207"
<B> Up:</B> <A NAME="tex2html201"
HREF="node10.html">Multi-level Domain Decomposition Background</A>
<B> Previous:</B> <A NAME="tex2html203"
<B> Previous:</B> <A NAME="tex2html197"
HREF="node11.html">Multi-level Schwarz Preconditioners</A>
&nbsp; <B> <A NAME="tex2html209"
&nbsp; <B> <A NAME="tex2html203"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
@ -70,8 +70,8 @@ the coarse-level matrix <SPAN CLASS="MATH"><IMG
SRC="img43.png"
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">24</A>].
HREF="node24.html#BREZINA_VANEK">1</A>,<A
HREF="node24.html#VANEK_MANDEL_BREZINA">24</A>].
The basic idea of this algorithm is to build a coarse set of vertices
<SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
@ -120,8 +120,8 @@ Three main steps can be identified in the smoothed aggregation procedure:
<P>
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">24</A>], a modification of
HREF="node24.html#apnum_07">4</A>]. According to [<A
HREF="node24.html#VANEK_MANDEL_BREZINA">24</A>], a modification of
this algorithm has been actually considered,
in which each aggregate <SPAN CLASS="MATH"><IMG
WIDTH="26" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
@ -177,9 +177,9 @@ dependent on the number of processors and on the initial partitioning of the mat
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">23</A>].
HREF="node24.html#aaecc_07">3</A>,<A
HREF="node24.html#apnum_07">4</A>,<A
HREF="node24.html#TUMINARO_TONG">23</A>].
<P>
The prolongator <SPAN CLASS="MATH"><IMG
@ -259,8 +259,8 @@ P_C = S 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">22</A>].
HREF="node24.html#BREZINA_VANEK">1</A>,<A
HREF="node24.html#StubenGMD69_99">22</A>].
A simple choice for <SPAN CLASS="MATH"><IMG
WIDTH="16" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img82.png"
@ -293,36 +293,36 @@ 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$"></SPAN> [<A
HREF="node30.html#BREZINA_VANEK">1</A>].
HREF="node24.html#BREZINA_VANEK">1</A>].
<P>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html210"
<A NAME="tex2html204"
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="tex2html206"
<A NAME="tex2html200"
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="tex2html202"
<A NAME="tex2html196"
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="tex2html208"
<A NAME="tex2html202"
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="tex2html211"
<B> Next:</B> <A NAME="tex2html205"
HREF="node13.html">Getting Started</A>
<B> Up:</B> <A NAME="tex2html207"
<B> Up:</B> <A NAME="tex2html201"
HREF="node10.html">Multi-level Domain Decomposition Background</A>
<B> Previous:</B> <A NAME="tex2html203"
<B> Previous:</B> <A NAME="tex2html197"
HREF="node11.html">Multi-level Schwarz Preconditioners</A>
&nbsp; <B> <A NAME="tex2html209"
&nbsp; <B> <A NAME="tex2html203"
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>

@ -27,30 +27,30 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html222"
<A NAME="tex2html216"
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="tex2html218"
<A NAME="tex2html212"
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="tex2html212"
<A NAME="tex2html206"
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="tex2html220"
<A NAME="tex2html214"
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="tex2html223"
<B> Next:</B> <A NAME="tex2html217"
HREF="node14.html">Examples</A>
<B> Up:</B> <A NAME="tex2html219"
<B> Up:</B> <A NAME="tex2html213"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html213"
<B> Previous:</B> <A NAME="tex2html207"
HREF="node12.html">Smoothed Aggregation</A>
&nbsp; <B> <A NAME="tex2html221"
&nbsp; <B> <A NAME="tex2html215"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
@ -64,7 +64,7 @@ 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">14</A>].
HREF="node24.html#PSBLASGUIDE">14</A>].
The following steps are required:
<OL>
@ -126,8 +126,8 @@ machines, it often leads to the smallest execution time when applied to
linear systems coming from finite-difference discretizations of basic
elliptic PDE problems, considered as standard tests for multi-level Schwarz
preconditioners [<A
HREF="node30.html#aaecc_07">3</A>,<A
HREF="node30.html#apnum_07">4</A>]. However, this solver does
HREF="node24.html#aaecc_07">3</A>,<A
HREF="node24.html#apnum_07">4</A>]. However, this solver does
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
@ -211,37 +211,37 @@ Preconditioner types, corresponding strings and default choices.
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL CLASS="ChildLinks">
<LI><A NAME="tex2html224"
<LI><A NAME="tex2html218"
HREF="node14.html">Examples</A>
</UL>
<!--End of Table of Child-Links-->
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html222"
<A NAME="tex2html216"
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="tex2html218"
<A NAME="tex2html212"
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="tex2html212"
<A NAME="tex2html206"
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="tex2html220"
<A NAME="tex2html214"
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="tex2html223"
<B> Next:</B> <A NAME="tex2html217"
HREF="node14.html">Examples</A>
<B> Up:</B> <A NAME="tex2html219"
<B> Up:</B> <A NAME="tex2html213"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html213"
<B> Previous:</B> <A NAME="tex2html207"
HREF="node12.html">Smoothed Aggregation</A>
&nbsp; <B> <A NAME="tex2html221"
&nbsp; <B> <A NAME="tex2html215"
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>

@ -26,30 +26,30 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html233"
<A NAME="tex2html227"
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="tex2html229"
<A NAME="tex2html223"
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="tex2html225"
<A NAME="tex2html219"
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="tex2html231"
<A NAME="tex2html225"
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="tex2html234"
<B> Next:</B> <A NAME="tex2html228"
HREF="node15.html">User Interface</A>
<B> Up:</B> <A NAME="tex2html230"
<B> Up:</B> <A NAME="tex2html224"
HREF="node13.html">Getting Started</A>
<B> Previous:</B> <A NAME="tex2html226"
<B> Previous:</B> <A NAME="tex2html220"
HREF="node13.html">Getting Started</A>
&nbsp; <B> <A NAME="tex2html232"
&nbsp; <B> <A NAME="tex2html226"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
@ -80,7 +80,7 @@ in the directory <code>examples/fileread</code> of the MLD2P4 tree (see
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">14</A>].
HREF="node24.html#PSBLASGUIDE">14</A>].
<P>
The setup and application of the default multi-level
@ -166,7 +166,7 @@ Figure&nbsp;<A HREF="#fig:ex_3lh">3</A> shows how to set a three-level hybrid Sc
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
HREF="node30.html#UMFPACK">8</A>].
HREF="node24.html#UMFPACK">8</A>].
The number of levels is specified by using <code>mld_precinit</code>; the other
preconditioner parameters are set by calling <code>mld_precset</code>. Note that
the type of multilevel framework (i.e. multiplicative among the levels
@ -299,30 +299,30 @@ Setup of a one-level Schwarz preconditioner.</CAPTION>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html233"
<A NAME="tex2html227"
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="tex2html229"
<A NAME="tex2html223"
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="tex2html225"
<A NAME="tex2html219"
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="tex2html231"
<A NAME="tex2html225"
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="tex2html234"
<B> Next:</B> <A NAME="tex2html228"
HREF="node15.html">User Interface</A>
<B> Up:</B> <A NAME="tex2html230"
<B> Up:</B> <A NAME="tex2html224"
HREF="node13.html">Getting Started</A>
<B> Previous:</B> <A NAME="tex2html226"
<B> Previous:</B> <A NAME="tex2html220"
HREF="node13.html">Getting Started</A>
&nbsp; <B> <A NAME="tex2html232"
&nbsp; <B> <A NAME="tex2html226"
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>

@ -18,7 +18,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<LINK REL="STYLESHEET" HREF="userhtml.css">
<LINK REL="next" HREF="node28.html">
<LINK REL="next" HREF="node22.html">
<LINK REL="previous" HREF="node13.html">
<LINK REL="up" HREF="userhtml.html">
<LINK REL="next" HREF="node16.html">
@ -27,30 +27,30 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html245"
<A NAME="tex2html239"
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="tex2html241"
<A NAME="tex2html235"
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="tex2html235"
<A NAME="tex2html229"
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="tex2html243"
<A NAME="tex2html237"
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="tex2html246"
<B> Next:</B> <A NAME="tex2html240"
HREF="node16.html">Subroutine mld_precinit</A>
<B> Up:</B> <A NAME="tex2html242"
<B> Up:</B> <A NAME="tex2html236"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html236"
<B> Previous:</B> <A NAME="tex2html230"
HREF="node14.html">Examples</A>
&nbsp; <B> <A NAME="tex2html244"
&nbsp; <B> <A NAME="tex2html238"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
@ -107,7 +107,7 @@ 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">6.2</A>).
data structures (see Section&nbsp;<A HREF="node17.html#sec:precset">6.2</A>).
</LI>
</UL>
A description of each routine is given in the remainder of this section.
@ -120,75 +120,47 @@ A description of each routine is given in the remainder of this section.
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL CLASS="ChildLinks">
<LI><A NAME="tex2html247"
<LI><A NAME="tex2html241"
HREF="node16.html">Subroutine mld_precinit</A>
<UL>
<LI><A NAME="tex2html248"
HREF="node17.html">Arguments</A>
</UL>
<BR>
<LI><A NAME="tex2html249"
HREF="node18.html">Subroutine mld_precset</A>
<UL>
<LI><A NAME="tex2html250"
HREF="node19.html">Arguments</A>
<LI><A NAME="tex2html242"
HREF="node17.html">Subroutine mld_precset</A>
<LI><A NAME="tex2html243"
HREF="node18.html">Subroutine mld_precbld</A>
<LI><A NAME="tex2html244"
HREF="node19.html">Subroutine mld_precaply</A>
<LI><A NAME="tex2html245"
HREF="node20.html">Subroutine mld_precfree</A>
<LI><A NAME="tex2html246"
HREF="node21.html">Subroutine mld_precdescr</A>
</UL>
<BR>
<LI><A NAME="tex2html251"
HREF="node20.html">Subroutine mld_precbld</A>
<UL>
<LI><A NAME="tex2html252"
HREF="node21.html">Arguments</A>
</UL>
<BR>
<LI><A NAME="tex2html253"
HREF="node22.html">Subroutine mld_precaply</A>
<UL>
<LI><A NAME="tex2html254"
HREF="node23.html">Arguments</A>
</UL>
<BR>
<LI><A NAME="tex2html255"
HREF="node24.html">Subroutine mld_precfree</A>
<UL>
<LI><A NAME="tex2html256"
HREF="node25.html">Arguments</A>
</UL>
<BR>
<LI><A NAME="tex2html257"
HREF="node26.html">Subroutine mld_precdescr</A>
<UL>
<LI><A NAME="tex2html258"
HREF="node27.html">Arguments</A>
</UL></UL>
<!--End of Table of Child-Links-->
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html245"
<A NAME="tex2html239"
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="tex2html241"
<A NAME="tex2html235"
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="tex2html235"
<A NAME="tex2html229"
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="tex2html243"
<A NAME="tex2html237"
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="tex2html246"
<B> Next:</B> <A NAME="tex2html240"
HREF="node16.html">Subroutine mld_precinit</A>
<B> Up:</B> <A NAME="tex2html242"
<B> Up:</B> <A NAME="tex2html236"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html236"
<B> Previous:</B> <A NAME="tex2html230"
HREF="node14.html">Examples</A>
&nbsp; <B> <A NAME="tex2html244"
&nbsp; <B> <A NAME="tex2html238"
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>

@ -18,7 +18,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<LINK REL="STYLESHEET" HREF="userhtml.css">
<LINK REL="next" HREF="node18.html">
<LINK REL="next" HREF="node17.html">
<LINK REL="previous" HREF="node15.html">
<LINK REL="up" HREF="node15.html">
<LINK REL="next" HREF="node17.html">
@ -27,30 +27,30 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html269"
<A NAME="tex2html257"
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="tex2html265"
<A NAME="tex2html253"
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="tex2html259"
<A NAME="tex2html247"
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="tex2html267"
<A NAME="tex2html255"
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="tex2html270"
HREF="node17.html">Arguments</A>
<B> Up:</B> <A NAME="tex2html266"
<B> Next:</B> <A NAME="tex2html258"
HREF="node17.html">Subroutine mld_precset</A>
<B> Up:</B> <A NAME="tex2html254"
HREF="node15.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html260"
<B> Previous:</B> <A NAME="tex2html248"
HREF="node15.html">User Interface</A>
&nbsp; <B> <A NAME="tex2html268"
&nbsp; <B> <A NAME="tex2html256"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
@ -73,16 +73,76 @@ This routine allocates and initializes the preconditioner data structure,
according to the preconditioner type chosen by the user.
<P>
<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<BIG CLASS="LARGE"><B>Arguments</B></BIG>
<P>
<TABLE CELLPADDING=3>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</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=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=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=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=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=340><code>integer, intent(out)</code>.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>Error code. If no error, 0 is returned. See Section&nbsp;<A HREF="node22.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=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=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>
<UL CLASS="ChildLinks">
<LI><A NAME="tex2html271"
HREF="node17.html">Arguments</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html257"
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="tex2html253"
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="tex2html247"
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="tex2html255"
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="tex2html258"
HREF="node17.html">Subroutine mld_precset</A>
<B> Up:</B> <A NAME="tex2html254"
HREF="node15.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html248"
HREF="node15.html">User Interface</A>
&nbsp; <B> <A NAME="tex2html256"
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>
Salvatore Filippone
2008-07-23

@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Arguments</TITLE>
<META NAME="description" CONTENT="Arguments">
<TITLE>Subroutine mld_precset</TITLE>
<META NAME="description" CONTENT="Subroutine mld_precset">
<META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
@ -18,46 +18,62 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<LINK REL="STYLESHEET" HREF="userhtml.css">
<LINK REL="next" HREF="node18.html">
<LINK REL="previous" HREF="node16.html">
<LINK REL="up" HREF="node16.html">
<LINK REL="up" HREF="node15.html">
<LINK REL="next" HREF="node18.html">
</HEAD>
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html280"
<A NAME="tex2html269"
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="tex2html276"
HREF="node16.html">
<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="tex2html272"
<A NAME="tex2html259"
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="tex2html278"
<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="tex2html281"
HREF="node18.html">Subroutine mld_precset</A>
<B> Up:</B> <A NAME="tex2html277"
HREF="node16.html">Subroutine mld_precinit</A>
<B> Previous:</B> <A NAME="tex2html273"
<B> Next:</B> <A NAME="tex2html270"
HREF="node18.html">Subroutine mld_precbld</A>
<B> Up:</B> <A NAME="tex2html266"
HREF="node15.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html260"
HREF="node16.html">Subroutine mld_precinit</A>
&nbsp; <B> <A NAME="tex2html279"
&nbsp; <B> <A NAME="tex2html268"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H3><A NAME="SECTION00081100000000000000">
Arguments</A>
</H3>
<H2><A NAME="SECTION00082000000000000000"></A><A NAME="sec:precset"></A>
<BR>
Subroutine mld_precset
</H2>
<P>
<DIV ALIGN="CENTER">
<code>mld_precset(p,what,val,info)</code>
<BR>
</DIV>
<P>
This routine sets the parameters defining the preconditioner. More
precisely, the parameter identified by <code>what</code> is assigned the value
contained in <code>val</code>.
<P>
<BIG CLASS="LARGE"><B>Arguments</B></BIG>
<P>
<TABLE CELLPADDING=3>
@ -65,40 +81,421 @@ Arguments</A>
<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=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>
<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=340><code>character(len=*), intent(in)</code>.</TD>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>what</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=340>The type of preconditioner. Its values are specified
in Table&nbsp;<A HREF="node13.html#tab:precinit">1</A>.</TD>
<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">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=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=340>Note that the strings are case insensitive.</TD>
<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">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=340><code>integer, intent(out)</code>.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</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>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>Error code. If no error, 0 is returned. See Section&nbsp;<A HREF="node22.html#sec:errors">7</A>
for details.</TD>
</TR>
</TABLE>
<P>
<BR>
A variety of (one-level and multi-level) preconditioners can be obtained
by a suitable setting of the preconditioner parameters. These parameters
can be logically divided into four groups, i.e. parameters defining
<OL>
<LI>the type of multi-level preconditioner;
</LI>
<LI>the one-level preconditioner used as smoother;
</LI>
<LI>the aggregation algorithm;
</LI>
<LI>the coarse-space correction at the coarsest level.
</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">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">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" 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>
<TD ALIGN="LEFT"><SMALL>DEFAULT</SMALL></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198><SMALL>COMMENTS</SMALL></TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>nlev</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer, optional, intent(in)</code>.</TD>
<TR><TD ALIGN="LEFT"><code>mld_ml_type_</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=57><TT>'ADD'</TT> <TT>'MULT'</TT></TD>
<TD ALIGN="LEFT"><TT>'MULT'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Basic multi-level framework: additive or multiplicative
among the levels (always additive inside a level).</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<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><TD ALIGN="LEFT"><code>mld_smoother_type_</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=57><TT>'DIAG'</TT> <TT>'BJAC'</TT> <TT>'AS'</TT></TD>
<TD ALIGN="LEFT"><TT>'AS'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Basic one-level preconditioner (i.e. smoother): diagonal,
block Jacobi, AS.</TD>
</TR>
<TR><TD ALIGN="LEFT"><code>mld_smoother_pos_</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=57><TT>'PRE'</TT> <TT>'POST'</TT> <TT>'TWOSIDE'</TT></TD>
<TD ALIGN="LEFT"><TT>'POST'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>``Position'' of the smoother: pre-smoother, post-smoother,
pre- and post-smoother.</TD>
</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" 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_sub_ovr_</code></TD>
<TD ALIGN="LEFT"><code>integer</code></TD>
<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$"></SPAN></TD>
<TD ALIGN="LEFT">1</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Number of overlap layers.</TD>
</TR>
<TR><TD ALIGN="LEFT"><code>mld_sub_restr_</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><TT>'HALO'</TT> <TT>'NONE'</TT></TD>
<TD ALIGN="LEFT"><TT>'HALO'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Type of restriction operator:
<TT>'HALO'</TT> for taking into account the overlap, <TT>'NONE'</TT>
for neglecting it.</TD>
</TR>
<TR><TD ALIGN="LEFT"><code>mld_sub_prol_</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><TT>'SUM'</TT> <TT>'NONE'</TT></TD>
<TD ALIGN="LEFT"><TT>'NONE'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Type of prolongator operator:
<TT>'SUM'</TT> for adding the contributions from the overlap, <TT>'NONE'</TT>
for neglecting them.</TD>
</TR>
<TR><TD ALIGN="LEFT"><code>mld_sub_solve_</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<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(<SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img34.png"
ALT="$p$"></SPAN>), MILU(<SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img34.png"
ALT="$p$"></SPAN>), ILU(<SPAN CLASS="MATH"><IMG
WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img35.png"
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;<SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img88.png"
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$"></SPAN> of the incomplete LU factorizations.</TD>
</TR>
<TR><TD ALIGN="LEFT"><code>mld_sub_iluthrs_</code></TD>
<TD ALIGN="LEFT"><code>real(</code><SPAN CLASS="textit">kind_parameter</SPAN><code>)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;real&nbsp;num.&nbsp;<SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img88.png"
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$"></SPAN> in the ILU(<SPAN CLASS="MATH"><IMG
WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img35.png"
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>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><TT>'RENUM_NONE'</TT> <TT>'RENUM_GLOBAL'</TT> </TD>
<TD ALIGN="LEFT"><TT>'RENUM_NONE'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Row and column reordering of the local submatrices: no reordering,
reordering according to the global numbering of the rows and columns of
the whole matrix.</TD>
</TR>
</TABLE>
</DIV>
</TD></TR>
</TABLE>
</DIV><P></P>
<BR>
<P>
<BR><HR>
<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" 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>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=74><SMALL>DEFAULT</SMALL></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198><SMALL>COMMENTS</SMALL></TD>
</TR>
<TR><TD ALIGN="LEFT"><code>mld_aggr_alg_</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=65><TT>'DEC'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=74><TT>'DEC'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Aggregation algorithm. Currently, only the decoupled aggregation is available.</TD>
</TR>
<TR><TD ALIGN="LEFT"><code>mld_aggr_kind_</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=65><TT>'SMOOTH'</TT> <TT>'RAW'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=74><TT>'SMOOTH'</TT></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><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]$"></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$"></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 eigenvalue <SPAN CLASS="MATH"><IMG
WIDTH="50" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
SRC="img85.png"
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><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="$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$"></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" 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_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>
<TT>'SLUDIST'</TT></TD>
<TD ALIGN="LEFT"><TT>'BJAC'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Solver used at the coarsest level: block Jacobi, sequential LU from UMFPACK,
sequential LU from SuperLU, distributed LU from SuperLU_Dist.
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>
<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>Solver for the diagonal blocks of the coarse matrix, in case the block Jacobi solver
is chosen as coarsest-level solver: ILU(<SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img34.png"
ALT="$p$"></SPAN>), MILU(<SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img34.png"
ALT="$p$"></SPAN>), ILU(<SPAN CLASS="MATH"><IMG
WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img35.png"
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;<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;<SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img88.png"
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$"></SPAN> of the incomplete LU factorizations.</TD>
</TR>
<TR><TD ALIGN="LEFT"><code>mld_coarse_iluthrs_</code></TD>
<TD ALIGN="LEFT"><code>real(</code><SPAN CLASS="textit">kind_parameter</SPAN><code>)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;real.&nbsp;num.&nbsp;<SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img88.png"
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$"></SPAN> in the ILU(<SPAN CLASS="MATH"><IMG
WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img35.png"
ALT="$p,t$"></SPAN>) factorization.</TD>
</TR>
</TABLE>
</DIV>
</TD></TR>
</TABLE>
</DIV><P></P>
<BR>
<P>
<P>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html269"
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="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="tex2html259"
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="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="tex2html270"
HREF="node18.html">Subroutine mld_precbld</A>
<B> Up:</B> <A NAME="tex2html266"
HREF="node15.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html260"
HREF="node16.html">Subroutine mld_precinit</A>
&nbsp; <B> <A NAME="tex2html268"
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>
Salvatore Filippone
2008-07-23

@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Subroutine mld_precset</TITLE>
<META NAME="description" CONTENT="Subroutine mld_precset">
<TITLE>Subroutine mld_precbld</TITLE>
<META NAME="description" CONTENT="Subroutine mld_precbld">
<META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
@ -18,8 +18,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<LINK REL="STYLESHEET" HREF="userhtml.css">
<LINK REL="next" HREF="node20.html">
<LINK REL="previous" HREF="node16.html">
<LINK REL="next" HREF="node19.html">
<LINK REL="previous" HREF="node17.html">
<LINK REL="up" HREF="node15.html">
<LINK REL="next" HREF="node19.html">
</HEAD>
@ -27,62 +27,119 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html292"
<A NAME="tex2html281"
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="tex2html288"
<A NAME="tex2html277"
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="tex2html282"
<A NAME="tex2html271"
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="tex2html290"
<A NAME="tex2html279"
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="tex2html293"
HREF="node19.html">Arguments</A>
<B> Up:</B> <A NAME="tex2html289"
<B> Next:</B> <A NAME="tex2html282"
HREF="node19.html">Subroutine mld_precaply</A>
<B> Up:</B> <A NAME="tex2html278"
HREF="node15.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html283"
HREF="node17.html">Arguments</A>
&nbsp; <B> <A NAME="tex2html291"
<B> Previous:</B> <A NAME="tex2html272"
HREF="node17.html">Subroutine mld_precset</A>
&nbsp; <B> <A NAME="tex2html280"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00082000000000000000"></A><A NAME="sec:precset"></A>
<H2><A NAME="SECTION00083000000000000000"></A><A NAME="sec:precbld"></A>
<BR>
Subroutine mld_precset
Subroutine mld_precbld
</H2>
<P>
<DIV ALIGN="CENTER">
<code>mld_precset(p,what,val,info)</code>
<code>mld_precbld(a,desc_a,p,info)</code>
<BR>
</DIV>
<P>
This routine sets the parameters defining the preconditioner. More
precisely, the parameter identified by <code>what</code> is assigned the value
contained in <code>val</code>.
This routine builds the preconditioner according to the requirements made by
the user through the routines <code>mld_precinit</code> and <code>mld_precset</code>.
<P>
<BIG CLASS="LARGE"><B>Arguments</B></BIG>
<P>
<TABLE CELLPADDING=3>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>a</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=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="node24.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=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=340>The communication descriptor of <code>a</code>. See the PSBLAS User's Guide for
details [<A
HREF="node24.html#PSBLASGUIDE">14</A>].</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</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=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=340><code>integer, intent(out)</code>.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>Error code. If no error, 0 is returned. See Section&nbsp;<A HREF="node22.html#sec:errors">7</A> for details.</TD>
</TR>
</TABLE>
<P>
<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL CLASS="ChildLinks">
<LI><A NAME="tex2html294"
HREF="node19.html">Arguments</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html281"
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="tex2html277"
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="tex2html271"
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="tex2html279"
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"
HREF="node19.html">Subroutine mld_precaply</A>
<B> Up:</B> <A NAME="tex2html278"
HREF="node15.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html272"
HREF="node17.html">Subroutine mld_precset</A>
&nbsp; <B> <A NAME="tex2html280"
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>
Salvatore Filippone
2008-07-23

@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Arguments</TITLE>
<META NAME="description" CONTENT="Arguments">
<TITLE>Subroutine mld_precaply</TITLE>
<META NAME="description" CONTENT="Subroutine mld_precaply">
<META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
@ -18,435 +18,171 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<LINK REL="STYLESHEET" HREF="userhtml.css">
<LINK REL="next" HREF="node20.html">
<LINK REL="previous" HREF="node18.html">
<LINK REL="up" HREF="node18.html">
<LINK REL="up" HREF="node15.html">
<LINK REL="next" HREF="node20.html">
</HEAD>
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html303"
<A NAME="tex2html293"
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="tex2html299"
HREF="node18.html">
<A NAME="tex2html289"
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="tex2html295"
<A NAME="tex2html283"
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="tex2html301"
<A NAME="tex2html291"
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="tex2html304"
HREF="node20.html">Subroutine mld_precbld</A>
<B> Up:</B> <A NAME="tex2html300"
HREF="node18.html">Subroutine mld_precset</A>
<B> Previous:</B> <A NAME="tex2html296"
HREF="node18.html">Subroutine mld_precset</A>
&nbsp; <B> <A NAME="tex2html302"
<B> Next:</B> <A NAME="tex2html294"
HREF="node20.html">Subroutine mld_precfree</A>
<B> Up:</B> <A NAME="tex2html290"
HREF="node15.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html284"
HREF="node18.html">Subroutine mld_precbld</A>
&nbsp; <B> <A NAME="tex2html292"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H3><A NAME="SECTION00082100000000000000">
Arguments</A>
</H3>
<P>
<TABLE CELLPADDING=3>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</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=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=340><code>integer, intent(in)</code>.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<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">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=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=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">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=340><code>integer, intent(out)</code>.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</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>
<H2><A NAME="SECTION00084000000000000000"></A><A NAME="sec:precaply"></A>
<BR>
Subroutine mld_precaply
</H2>
<P>
<DIV ALIGN="CENTER">
<code>mld_precaply(p,x,y,desc_a,info)</code>
<BR><code>mld_precaply(p,x,y,desc_a,info,trans,work)</code>
<BR>
A variety of (one-level and multi-level) preconditioners can be obtained
by a suitable setting of the preconditioner parameters. These parameters
can be logically divided into four groups, i.e. parameters defining
</DIV>
<OL>
<LI>the type of multi-level preconditioner;
</LI>
<LI>the one-level preconditioner used as smoother;
</LI>
<LI>the aggregation algorithm;
</LI>
<LI>the coarse-space correction at the coarsest level.
</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">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">4</A>.
<P>
This routine computes <!-- MATH
$y = op(M^{-1})\, x$
-->
<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$"></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,
<code>mld_precaply</code> is called within the PSBLAS routine <code>mld_krylov</code>
and hence it is completely transparent to the user.
<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" 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>
<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_ml_type_</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=57><TT>'ADD'</TT> <TT>'MULT'</TT></TD>
<TD ALIGN="LEFT"><TT>'MULT'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Basic multi-level framework: additive or multiplicative
among the levels (always additive inside a level).</TD>
</TR>
<TR><TD ALIGN="LEFT"><code>mld_smoother_type_</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=57><TT>'DIAG'</TT> <TT>'BJAC'</TT> <TT>'AS'</TT></TD>
<TD ALIGN="LEFT"><TT>'AS'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Basic one-level preconditioner (i.e. smoother): diagonal,
block Jacobi, AS.</TD>
</TR>
<TR><TD ALIGN="LEFT"><code>mld_smoother_pos_</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=57><TT>'PRE'</TT> <TT>'POST'</TT> <TT>'TWOSIDE'</TT></TD>
<TD ALIGN="LEFT"><TT>'POST'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>``Position'' of the smoother: pre-smoother, post-smoother,
pre- and post-smoother.</TD>
</TR>
</TABLE>
</DIV>
</TD></TR>
</TABLE>
</DIV><P></P>
<BR>
<BIG CLASS="LARGE"><B>Arguments</B></BIG>
<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" 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>
<TABLE CELLPADDING=3>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</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"><code>mld_sub_ovr_</code></TD>
<TD ALIGN="LEFT"><code>integer</code></TD>
<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$"></SPAN></TD>
<TD ALIGN="LEFT">1</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Number of overlap layers.</TD>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<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$"></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"><code>mld_sub_restr_</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><TT>'HALO'</TT> <TT>'NONE'</TT></TD>
<TD ALIGN="LEFT"><TT>'HALO'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Type of restriction operator:
<TT>'HALO'</TT> for taking into account the overlap, <TT>'NONE'</TT>
for neglecting it.</TD>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>x</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"><code>mld_sub_prol_</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><TT>'SUM'</TT> <TT>'NONE'</TT></TD>
<TD ALIGN="LEFT"><TT>'NONE'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Type of prolongator operator:
<TT>'SUM'</TT> for adding the contributions from the overlap, <TT>'NONE'</TT>
for neglecting them.</TD>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<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"><code>mld_sub_solve_</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<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(<SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img34.png"
ALT="$p$"></SPAN>), MILU(<SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img34.png"
ALT="$p$"></SPAN>), ILU(<SPAN CLASS="MATH"><IMG
WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img35.png"
ALT="$p,t$"></SPAN>), LU from UMFPACK, LU from SuperLU
(plus triangular solve).</TD>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>y</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"><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;<SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img88.png"
ALT="$\ge 0$"></SPAN></TD>
<TD ALIGN="LEFT">0</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Fill-in level <SPAN CLASS="MATH"><IMG
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<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="img34.png"
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><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$"></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$"></SPAN> in the ILU(<SPAN CLASS="MATH"><IMG
WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img35.png"
ALT="$p,t$"></SPAN>) factorization.</TD>
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"><code>mld_sub_ren_</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91><TT>'RENUM_NONE'</TT> <TT>'RENUM_GLOBAL'</TT> </TD>
<TD ALIGN="LEFT"><TT>'RENUM_NONE'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Row and column reordering of the local submatrices: no reordering,
reordering according to the global numbering of the rows and columns of
the whole matrix.</TD>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>desc_a</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(psb_desc_type), intent(in)</code>.</TD>
</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" 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>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=74><SMALL>DEFAULT</SMALL></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198><SMALL>COMMENTS</SMALL></TD>
</TR>
<TR><TD ALIGN="LEFT"><code>mld_aggr_alg_</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=65><TT>'DEC'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=74><TT>'DEC'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Aggregation algorithm. Currently, only the decoupled aggregation is available.</TD>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The communication descriptor associated to the matrix to be
preconditioned.</TD>
</TR>
<TR><TD ALIGN="LEFT"><code>mld_aggr_kind_</code></TD>
<TD ALIGN="LEFT"><code>character(len=*)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=65><TT>'SMOOTH'</TT> <TT>'RAW'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=74><TT>'SMOOTH'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Type of aggregation: smoothed, raw (i.e. using the tentative prolongator).</TD>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>info</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer, intent(out)</code>.</TD>
</TR>
<TR><TD ALIGN="LEFT"><code>mld_aggr_thresh_</code></TD>
<TD ALIGN="LEFT"><code>real(</code><SPAN CLASS="textit">kind_parameter</SPAN><code>)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=65>Any&nbsp;real&nbsp;num. <SPAN CLASS="MATH"><IMG
WIDTH="56" HEIGHT="36" ALIGN="MIDDLE" BORDER="0"
SRC="img90.png"
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$"></SPAN> in the aggregation algorithm.</TD>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>Error code. If no error, 0 is returned. See Section&nbsp;<A HREF="node22.html#sec:errors">7</A> for details.</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 eigenvalue <SPAN CLASS="MATH"><IMG
WIDTH="50" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
SRC="img85.png"
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><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>trans</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>character(len=1), optional, intent(in).</code></TD>
</TR>
<TR><TD ALIGN="LEFT"><code>mld_aggr_damp_</code></TD>
<TD ALIGN="LEFT"><code>real(</code><SPAN CLASS="textit">kind_parameter</SPAN><code>)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=65>Any&nbsp;real&nbsp;num.</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=74><!-- MATH
$4/(3||D^{-1}A||_\infty)$
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>If <code>trans</code> = <code>'N','n'</code> then <!-- MATH
$op(M^{-1}) = M^{-1}$
-->
<SPAN CLASS="MATH"><IMG
WIDTH="124" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img92.png"
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$"></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" 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_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>
<TT>'SLUDIST'</TT></TD>
<TD ALIGN="LEFT"><TT>'BJAC'</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=198>Solver used at the coarsest level: block Jacobi, sequential LU from UMFPACK,
sequential LU from SuperLU, distributed LU from SuperLU_Dist.
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>
<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>Solver for the diagonal blocks of the coarse matrix, in case the block Jacobi solver
is chosen as coarsest-level solver: ILU(<SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img34.png"
ALT="$p$"></SPAN>), MILU(<SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img34.png"
ALT="$p$"></SPAN>), ILU(<SPAN CLASS="MATH"><IMG
WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img35.png"
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;<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>
WIDTH="132" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
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}$
-->
<SPAN CLASS="MATH"><IMG
WIDTH="135" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
SRC="img99.png"
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}$
-->
<SPAN CLASS="MATH"><IMG
WIDTH="136" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
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="img100.png"
ALT="$M^{-1})$"></SPAN>.</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;<SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img88.png"
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$"></SPAN> of the incomplete LU factorizations.</TD>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>work</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"><code>mld_coarse_iluthrs_</code></TD>
<TD ALIGN="LEFT"><code>real(</code><SPAN CLASS="textit">kind_parameter</SPAN><code>)</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any&nbsp;real.&nbsp;num.&nbsp;<SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img88.png"
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$"></SPAN> in the ILU(<SPAN CLASS="MATH"><IMG
WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img35.png"
ALT="$p,t$"></SPAN>) factorization.</TD>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<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>
</DIV>
</TD></TR>
</TABLE>
</DIV><P></P>
<BR>
<P>
@ -454,30 +190,30 @@ level.</CAPTION>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html303"
<A NAME="tex2html293"
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="tex2html299"
HREF="node18.html">
<A NAME="tex2html289"
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="tex2html295"
<A NAME="tex2html283"
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="tex2html301"
<A NAME="tex2html291"
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="tex2html304"
HREF="node20.html">Subroutine mld_precbld</A>
<B> Up:</B> <A NAME="tex2html300"
HREF="node18.html">Subroutine mld_precset</A>
<B> Previous:</B> <A NAME="tex2html296"
HREF="node18.html">Subroutine mld_precset</A>
&nbsp; <B> <A NAME="tex2html302"
<B> Next:</B> <A NAME="tex2html294"
HREF="node20.html">Subroutine mld_precfree</A>
<B> Up:</B> <A NAME="tex2html290"
HREF="node15.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html284"
HREF="node18.html">Subroutine mld_precbld</A>
&nbsp; <B> <A NAME="tex2html292"
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>

@ -27,24 +27,24 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html66"
<A NAME="tex2html60"
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="tex2html64"
<A NAME="tex2html58"
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="tex2html58"
<A NAME="tex2html52"
HREF="node1.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html67"
<B> Next:</B> <A NAME="tex2html61"
HREF="node3.html">General Overview</A>
<B> Up:</B> <A NAME="tex2html65"
<B> Up:</B> <A NAME="tex2html59"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html59"
<B> Previous:</B> <A NAME="tex2html53"
HREF="node1.html">Abstract</A>
<BR>
<BR></DIV>
@ -57,62 +57,62 @@ Contents</A>
<!--Table of Contents-->
<UL CLASS="TofC">
<LI><A NAME="tex2html68"
<LI><A NAME="tex2html62"
HREF="node3.html">General Overview</A>
<LI><A NAME="tex2html69"
<LI><A NAME="tex2html63"
HREF="node4.html">Code Distribution</A>
<LI><A NAME="tex2html70"
<LI><A NAME="tex2html64"
HREF="node5.html">Configuring and Building MLD2P4</A>
<UL>
<LI><A NAME="tex2html71"
<LI><A NAME="tex2html65"
HREF="node6.html">Prerequisites</A>
<LI><A NAME="tex2html72"
<LI><A NAME="tex2html66"
HREF="node7.html">Optional third party libraries</A>
<LI><A NAME="tex2html73"
<LI><A NAME="tex2html67"
HREF="node8.html">Configuration options</A>
<LI><A NAME="tex2html74"
<LI><A NAME="tex2html68"
HREF="node9.html">Example and test programs</A>
</UL>
<BR>
<LI><A NAME="tex2html75"
<LI><A NAME="tex2html69"
HREF="node10.html">Multi-level Domain Decomposition Background</A>
<UL>
<LI><A NAME="tex2html76"
<LI><A NAME="tex2html70"
HREF="node11.html">Multi-level Schwarz Preconditioners</A>
<LI><A NAME="tex2html77"
<LI><A NAME="tex2html71"
HREF="node12.html">Smoothed Aggregation</A>
</UL>
<BR>
<LI><A NAME="tex2html78"
<LI><A NAME="tex2html72"
HREF="node13.html">Getting Started</A>
<UL>
<LI><A NAME="tex2html79"
<LI><A NAME="tex2html73"
HREF="node14.html">Examples</A>
</UL>
<BR>
<LI><A NAME="tex2html80"
<LI><A NAME="tex2html74"
HREF="node15.html">User Interface</A>
<UL>
<LI><A NAME="tex2html81"
<LI><A NAME="tex2html75"
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>
<LI><A NAME="tex2html76"
HREF="node17.html">Subroutine mld_precset</A>
<LI><A NAME="tex2html77"
HREF="node18.html">Subroutine mld_precbld</A>
<LI><A NAME="tex2html78"
HREF="node19.html">Subroutine mld_precaply</A>
<LI><A NAME="tex2html79"
HREF="node20.html">Subroutine mld_precfree</A>
<LI><A NAME="tex2html80"
HREF="node21.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>
<LI><A NAME="tex2html81"
HREF="node22.html">Error Handling</A>
<LI><A NAME="tex2html82"
HREF="node23.html">License</A>
<LI><A NAME="tex2html83"
HREF="node24.html">Bibliography</A>
</UL>
<!--End of Table of Contents-->

@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Subroutine mld_precbld</TITLE>
<META NAME="description" CONTENT="Subroutine mld_precbld">
<TITLE>Subroutine mld_precfree</TITLE>
<META NAME="description" CONTENT="Subroutine mld_precfree">
<META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
@ -18,8 +18,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<LINK REL="STYLESHEET" HREF="userhtml.css">
<LINK REL="next" HREF="node22.html">
<LINK REL="previous" HREF="node18.html">
<LINK REL="next" HREF="node21.html">
<LINK REL="previous" HREF="node19.html">
<LINK REL="up" HREF="node15.html">
<LINK REL="next" HREF="node21.html">
</HEAD>
@ -27,60 +27,72 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html315"
<A NAME="tex2html305"
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="tex2html311"
<A NAME="tex2html301"
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="tex2html305"
<A NAME="tex2html295"
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="tex2html313"
<A NAME="tex2html303"
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="tex2html316"
HREF="node21.html">Arguments</A>
<B> Up:</B> <A NAME="tex2html312"
<B> Next:</B> <A NAME="tex2html306"
HREF="node21.html">Subroutine mld_precdescr</A>
<B> Up:</B> <A NAME="tex2html302"
HREF="node15.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html306"
HREF="node19.html">Arguments</A>
&nbsp; <B> <A NAME="tex2html314"
<B> Previous:</B> <A NAME="tex2html296"
HREF="node19.html">Subroutine mld_precaply</A>
&nbsp; <B> <A NAME="tex2html304"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00083000000000000000"></A><A NAME="sec:precbld"></A>
<H2><A NAME="SECTION00085000000000000000"></A><A NAME="sec:precfree"></A>
<BR>
Subroutine mld_precbld
Subroutine mld_precfree
</H2>
<P>
<DIV ALIGN="CENTER">
<code>mld_precbld(a,desc_a,p,info)</code>
<code>mld_precfree(p,info)</code>
<BR>
</DIV>
<P>
This routine builds the preconditioner according to the requirements made by
the user through the routines <code>mld_precinit</code> and <code>mld_precset</code>.
This routine deallocates the preconditioner data structure.
<P>
<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<BIG CLASS="LARGE"><B>Arguments</B></BIG>
<UL CLASS="ChildLinks">
<LI><A NAME="tex2html317"
HREF="node21.html">Arguments</A>
</UL>
<!--End of Table of Child-Links-->
<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><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 <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="node22.html#sec:errors">7</A> for details.</TD>
</TR>
</TABLE>
<P>
<P>
<BR><HR>
<ADDRESS>
Salvatore Filippone

@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Arguments</TITLE>
<META NAME="description" CONTENT="Arguments">
<TITLE>Subroutine mld_precdescr</TITLE>
<META NAME="description" CONTENT="Subroutine mld_precdescr">
<META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
@ -19,69 +19,65 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<LINK REL="STYLESHEET" HREF="userhtml.css">
<LINK REL="previous" HREF="node20.html">
<LINK REL="up" HREF="node20.html">
<LINK REL="up" HREF="node15.html">
<LINK REL="next" HREF="node22.html">
</HEAD>
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html326"
<A NAME="tex2html315"
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="tex2html322"
HREF="node20.html">
<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="tex2html318"
<A NAME="tex2html307"
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="tex2html324"
<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="tex2html327"
HREF="node22.html">Subroutine mld_precaply</A>
<B> Up:</B> <A NAME="tex2html323"
HREF="node20.html">Subroutine mld_precbld</A>
<B> Previous:</B> <A NAME="tex2html319"
HREF="node20.html">Subroutine mld_precbld</A>
&nbsp; <B> <A NAME="tex2html325"
<B> Next:</B> <A NAME="tex2html316"
HREF="node22.html">Error Handling</A>
<B> Up:</B> <A NAME="tex2html312"
HREF="node15.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html308"
HREF="node20.html">Subroutine mld_precfree</A>
&nbsp; <B> <A NAME="tex2html314"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H3><A NAME="SECTION00083100000000000000">
Arguments</A>
</H3>
<H2><A NAME="SECTION00086000000000000000"></A><A NAME="sec:precdescr"></A>
<BR>
Subroutine mld_precdescr
</H2>
<P>
<DIV ALIGN="CENTER">
<code>mld_precdescr(p,info)</code>
<BR><code>mld_precdescr(p,info,iout)</code>
<BR>
</DIV>
<P>
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>
<BIG CLASS="LARGE"><B>Arguments</B></BIG>
<P>
<TABLE CELLPADDING=3>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>a</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=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">14</A>].</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>desc_a</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=340>The communication descriptor of <code>a</code>. See the PSBLAS User's Guide for
details [<A
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=340><code>type(mld_</code><SPAN CLASS="textit">x</SPAN><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(in)</code>.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The preconditioner data structure. Note that <SPAN CLASS="textit">x</SPAN> must be chosen according
@ -91,12 +87,18 @@ single/double precision version of MLD2P4 under use.
<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=340>Error code. If no error, 0 is returned. See Section&nbsp;<A HREF="node28.html#sec:errors">7</A> for details.</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>Error code. If no error, 0 is returned. See Section&nbsp;<A HREF="node22.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=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=340>The id of the file where the preconditioner description
will be printed; the default is the standard output.</TD>
</TR>
</TABLE>
<P>
<BR><HR>
<ADDRESS>
Salvatore Filippone

@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Subroutine mld_precaply</TITLE>
<META NAME="description" CONTENT="Subroutine mld_precaply">
<TITLE>Error Handling</TITLE>
<META NAME="description" CONTENT="Error Handling">
<META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
@ -18,87 +18,65 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<LINK REL="STYLESHEET" HREF="userhtml.css">
<LINK REL="next" HREF="node24.html">
<LINK REL="previous" HREF="node20.html">
<LINK REL="up" HREF="node15.html">
<LINK REL="next" HREF="node23.html">
<LINK REL="previous" HREF="node15.html">
<LINK REL="up" HREF="userhtml.html">
<LINK REL="next" HREF="node23.html">
</HEAD>
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html338"
<A NAME="tex2html327"
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="tex2html334"
HREF="node15.html">
<A NAME="tex2html323"
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="tex2html328"
<A NAME="tex2html317"
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="tex2html336"
<A NAME="tex2html325"
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="tex2html339"
HREF="node23.html">Arguments</A>
<B> Up:</B> <A NAME="tex2html335"
HREF="node15.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html329"
HREF="node21.html">Arguments</A>
&nbsp; <B> <A NAME="tex2html337"
<B> Next:</B> <A NAME="tex2html328"
HREF="node23.html">License</A>
<B> Up:</B> <A NAME="tex2html324"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html318"
HREF="node21.html">Subroutine mld_precdescr</A>
&nbsp; <B> <A NAME="tex2html326"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00084000000000000000"></A><A NAME="sec:precaply"></A>
<H1><A NAME="SECTION00090000000000000000"></A><A NAME="sec:errors"></A>
<BR>
Subroutine mld_precaply
</H2>
Error Handling
</H1>
<P>
<DIV ALIGN="CENTER">
<code>mld_precaply(p,x,y,desc_a,info)</code>
<BR><code>mld_precaply(p,x,y,desc_a,info,trans,work)</code>
<BR>
</DIV>
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
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
the PSBLAS error handling routines; for further details see the PSBLAS
User's Guide [<A
HREF="node24.html#PSBLASGUIDE">14</A>].
<P>
This routine computes <!-- MATH
$y = op(M^{-1})\, x$
-->
<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$"></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,
<code>mld_precaply</code> is called within the PSBLAS routine <code>mld_krylov</code>
and hence it is completely transparent to the user.
<P>
<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL CLASS="ChildLinks">
<LI><A NAME="tex2html340"
HREF="node23.html">Arguments</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>
<ADDRESS>
Salvatore Filippone

@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Arguments</TITLE>
<META NAME="description" CONTENT="Arguments">
<TITLE>License</TITLE>
<META NAME="description" CONTENT="License">
<META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
@ -18,171 +18,90 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<LINK REL="STYLESHEET" HREF="userhtml.css">
<LINK REL="next" HREF="node24.html">
<LINK REL="previous" HREF="node22.html">
<LINK REL="up" HREF="node22.html">
<LINK REL="up" HREF="userhtml.html">
<LINK REL="next" HREF="node24.html">
</HEAD>
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html349"
<A NAME="tex2html339"
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="tex2html345"
HREF="node22.html">
<A NAME="tex2html335"
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="tex2html341"
<A NAME="tex2html329"
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="tex2html347"
<A NAME="tex2html337"
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="tex2html350"
HREF="node24.html">Subroutine mld_precfree</A>
<B> Up:</B> <A NAME="tex2html346"
HREF="node22.html">Subroutine mld_precaply</A>
<B> Previous:</B> <A NAME="tex2html342"
HREF="node22.html">Subroutine mld_precaply</A>
&nbsp; <B> <A NAME="tex2html348"
<B> Next:</B> <A NAME="tex2html340"
HREF="node24.html">Bibliography</A>
<B> Up:</B> <A NAME="tex2html336"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html330"
HREF="node22.html">Error Handling</A>
&nbsp; <B> <A NAME="tex2html338"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H3><A NAME="SECTION00084100000000000000">
Arguments</A>
</H3>
<H1><A NAME="SECTION000100000000000000000"></A><A NAME="sec:license"></A>
<BR>
License
</H1>
<P>
<TABLE CELLPADDING=3>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</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=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$"></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=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=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=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=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=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=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=340><code>integer, intent(out)</code>.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</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=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=340>If <code>trans</code> = <code>'N','n'</code> then <!-- MATH
$op(M^{-1}) = M^{-1}$
-->
<SPAN CLASS="MATH"><IMG
WIDTH="132" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
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}$
-->
<SPAN CLASS="MATH"><IMG
WIDTH="135" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
SRC="img99.png"
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}$
-->
<SPAN CLASS="MATH"><IMG
WIDTH="136" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
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="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=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=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>
The MLD2P4 is freely distributable under the following copyright
terms: <PRE>
MLD2P4 version 1.0
MultiLevel Domain Decomposition Parallel Preconditioners Package
based on PSBLAS (Parallel Sparse BLAS version 2.3)
<P>
(C) Copyright 2008
<P>
Salvatore Filippone University of Rome Tor Vergata
Alfredo Buttari University of Rome Tor Vergata
Pasqua D'Ambra ICAR-CNR, Naples
Daniela di Serafino Second University of Naples
<DIV CLASS="navigation"><HR>
<!--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="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="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="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="tex2html350"
HREF="node24.html">Subroutine mld_precfree</A>
<B> Up:</B> <A NAME="tex2html346"
HREF="node22.html">Subroutine mld_precaply</A>
<B> Previous:</B> <A NAME="tex2html342"
HREF="node22.html">Subroutine mld_precaply</A>
&nbsp; <B> <A NAME="tex2html348"
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions, and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. The name of the MLD2P4 group or the names of its contributors may
not be used to endorse or promote products derived from this
software without specific written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE MLD2P4 GROUP OR ITS CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
</PRE>
<BR><HR>
<ADDRESS>
Salvatore Filippone
2008-07-23

@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Subroutine mld_precfree</TITLE>
<META NAME="description" CONTENT="Subroutine mld_precfree">
<TITLE>Bibliography</TITLE>
<META NAME="description" CONTENT="Bibliography">
<META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
@ -18,68 +18,188 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<LINK REL="STYLESHEET" HREF="userhtml.css">
<LINK REL="next" HREF="node26.html">
<LINK REL="previous" HREF="node22.html">
<LINK REL="up" HREF="node15.html">
<LINK REL="next" HREF="node25.html">
<LINK REL="previous" HREF="node23.html">
<LINK REL="up" HREF="userhtml.html">
<LINK REL="next" HREF="node25.html">
</HEAD>
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html361"
<A NAME="tex2html351"
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="tex2html357"
HREF="node15.html">
<A NAME="tex2html347"
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="tex2html351"
<A NAME="tex2html341"
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="tex2html359"
<A NAME="tex2html349"
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="tex2html362"
HREF="node25.html">Arguments</A>
<B> Up:</B> <A NAME="tex2html358"
HREF="node15.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html352"
HREF="node23.html">Arguments</A>
&nbsp; <B> <A NAME="tex2html360"
<B> Next:</B> <A NAME="tex2html352"
HREF="node25.html">About this document ...</A>
<B> Up:</B> <A NAME="tex2html348"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html342"
HREF="node23.html">License</A>
&nbsp; <B> <A NAME="tex2html350"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<BR><BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION000110000000000000000">
Bibliography</A>
</H2><DL COMPACT><DD>
<H2><A NAME="SECTION00085000000000000000"></A><A NAME="sec:precfree"></A>
<BR>
Subroutine mld_precfree
</H2>
<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>,
Computing, 63, 1999, 233-263.
<P></P><DT><A NAME="para_04">2</A>
<DD>
A.&nbsp;Buttari, P.&nbsp;D'Ambra, D.&nbsp;di Serafino, S.&nbsp;Filippone,
<EM>Extending PSBLAS to Build Parallel Schwarz Preconditioners</EM>,
in , J.&nbsp;Dongarra, K.&nbsp;Madsen, J.&nbsp;Wasniewski, editors,
Proceedings of PARA&nbsp;04 Workshop on State of the Art
in Scientific Computing, Lecture Notes in Computer Science,
Springer, 2005, 593-602.
<P></P><DT><A NAME="aaecc_07">3</A>
<DD> A.&nbsp;Buttari, P.&nbsp;D'Ambra, D.&nbsp;di&nbsp;Serafino, S.&nbsp;Filippone,
<EM>2LEV-D2P4: a package of high-performance preconditioners
for scientific and engineering applications</EM>,
Applicable Algebra in Engineering, Communications and Computing,
18, 3, 2007, 223-239.
<P></P><DT><A NAME="apnum_07">4</A>
<DD> P.&nbsp;D'Ambra, S.&nbsp;Filippone, D.&nbsp;di&nbsp;Serafino,
<EM>On the Development of PSBLAS-based Parallel Two-level Schwarz Preconditioners</EM>,
Applied Numerical Mathematics, Elsevier Science,
57, 11-12, 2007, 1181-1196.
<P>
<DIV ALIGN="CENTER">
<code>mld_precfree(p,info)</code>
<BR>
</DIV>
<P></P><DT><A NAME="CAI_SARKIS">5</A>
<DD>
X.&nbsp;C.&nbsp;Cai, M.&nbsp;Sarkis,
<EM>A Restricted Additive Schwarz Preconditioner for General Sparse Linear Systems</EM>,
SIAM Journal on Scientific Computing, 21, 2, 1999, 792-797.
<P></P><DT><A NAME="Cai_Widlund_92">6</A>
<DD>
X.&nbsp;C.&nbsp;Cai, O.&nbsp;B.&nbsp;Widlund,
<EM>Domain Decomposition Algorithms for Indefinite Elliptic Problems</EM>,
SIAM Journal on Scientific and Statistical Computing, 13, 1, 1992, 243-258.
<P></P><DT><A NAME="dd1_94">7</A>
<DD>
T.&nbsp;Chan and T.&nbsp;Mathew,
<EM>Domain Decomposition Algorithms</EM>,
in A.&nbsp;Iserles, editor, Acta Numerica 1994, 61-143.
Cambridge University Press.
<P></P><DT><A NAME="UMFPACK">8</A>
<DD>
T.A.&nbsp;Davis,
<EM>Algorithm 832: UMFPACK - an Unsymmetric-pattern Multifrontal
Method with a Column Pre-ordering Strategy</EM>,
ACM Transactions on Mathematical Software, 30, 2004, 196-199.
(See also <TT>http://www.cise.ufl.edu/&nbsp;davis/</TT>)
<P></P><DT><A NAME="SUPERLU">9</A>
<DD>
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="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">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">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="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">19</A>
<DD>
Y.&nbsp;Saad,
<SPAN CLASS="textit">Iterative methods for sparse linear systems</SPAN>, 2nd edition,
SIAM, 2003
<P>
This routine deallocates the preconditioner data structure.
<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">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">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">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">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>,
Computing, 56, 1996, 179-196.
<P>
<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
</DL>
<UL CLASS="ChildLinks">
<LI><A NAME="tex2html363"
HREF="node25.html">Arguments</A>
</UL>
<!--End of Table of Child-Links-->
<P>
<BR><HR>
<ADDRESS>
Salvatore Filippone

@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Arguments</TITLE>
<META NAME="description" CONTENT="Arguments">
<TITLE>About this document ...</TITLE>
<META NAME="description" CONTENT="About this document ...">
<META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
@ -19,66 +19,56 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<LINK REL="STYLESHEET" HREF="userhtml.css">
<LINK REL="previous" HREF="node24.html">
<LINK REL="up" HREF="node24.html">
<LINK REL="next" HREF="node26.html">
<LINK REL="up" HREF="userhtml.html">
</HEAD>
<BODY >
<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="tex2html368"
HREF="node24.html">
SRC="file:/usr/share/latex2html/icons/next_g.png">
<A NAME="tex2html357"
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="tex2html364"
<A NAME="tex2html353"
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="tex2html370"
<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="tex2html373"
HREF="node26.html">Subroutine mld_precdescr</A>
<B> Up:</B> <A NAME="tex2html369"
HREF="node24.html">Subroutine mld_precfree</A>
<B> Previous:</B> <A NAME="tex2html365"
HREF="node24.html">Subroutine mld_precfree</A>
&nbsp; <B> <A NAME="tex2html371"
<B> Up:</B> <A NAME="tex2html358"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html354"
HREF="node24.html">Bibliography</A>
&nbsp; <B> <A NAME="tex2html360"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H3><A NAME="SECTION00085100000000000000">
Arguments</A>
</H3>
<H1><A NAME="SECTION000120000000000000000">
About this document ...</A>
</H1>
<P>
This document was generated using the
<A HREF="http://www.latex2html.org/"><STRONG>LaTeX</STRONG>2<tt>HTML</tt></A> translator Version 2002-2-1 (1.71)
<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><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 <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">7</A> for details.</TD>
</TR>
</TABLE>
Copyright &#169; 1993, 1994, 1995, 1996,
<A HREF="http://cbl.leeds.ac.uk/nikos/personal.html">Nikos Drakos</A>,
Computer Based Learning Unit, University of Leeds.
<BR>
Copyright &#169; 1997, 1998, 1999,
<A HREF="http://www.maths.mq.edu.au/~ross/">Ross Moore</A>,
Mathematics Department, Macquarie University, Sydney.
<P>
The command line arguments were: <BR>
<STRONG>latex2html</STRONG> <TT>-html_version 4.0 -dir ../../html userhtml.tex</TT>
<P>
The translation was initiated by Salvatore Filippone on 2008-07-23
<BR><HR>
<ADDRESS>
Salvatore Filippone

@ -27,30 +27,30 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html100"
<A NAME="tex2html94"
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"
<A NAME="tex2html90"
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"
<A NAME="tex2html84"
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"
<A NAME="tex2html92"
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="tex2html101"
<B> Next:</B> <A NAME="tex2html95"
HREF="node4.html">Code Distribution</A>
<B> Up:</B> <A NAME="tex2html97"
<B> Up:</B> <A NAME="tex2html91"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html91"
<B> Previous:</B> <A NAME="tex2html85"
HREF="node2.html">Contents</A>
&nbsp; <B> <A NAME="tex2html99"
&nbsp; <B> <A NAME="tex2html93"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
@ -64,7 +64,7 @@ General Overview
<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 <SPAN CLASS="textit">multi-level Schwarz preconditioners</SPAN>&nbsp;[<A
HREF="node30.html#dd2_96">20</A>],
HREF="node24.html#dd2_96">20</A>],
to be used in the iterative solutions of sparse linear systems:
<BR>
<DIV ALIGN="RIGHT" CLASS="mathdisplay">
@ -103,8 +103,8 @@ generate a sequence of coarse-level corrections to a basic AS preconditioner, wi
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>].
HREF="node24.html#BREZINA_VANEK">1</A>,<A
HREF="node24.html#VANEK_MANDEL_BREZINA">24</A>].
</LI>
</UL>
@ -122,7 +122,7 @@ real and the complex case, that can be used through a single interface.
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>].
HREF="node24.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
@ -135,10 +135,10 @@ portability, modularity ed extensibility in the development of the preconditione
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
HREF="node24.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
HREF="node24.html#MPI1">21</A>] is explicitly called. Therefore, MLD2P4 can be run on any parallel
machine where PSBLAS and MPI implementations are available.
<P>
@ -165,37 +165,37 @@ with the Krylov solvers implemented in PSBLAS are reported in Section&nbsp;<A HR
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>.
in Section&nbsp;<A HREF="node22.html#sec:errors">7</A>. The copyright terms concerning the distribution and modification
of MLD2P4 are reported in Appendix&nbsp;<A HREF="node23.html#sec:license">A</A>.
<P>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html100"
<A NAME="tex2html94"
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"
<A NAME="tex2html90"
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"
<A NAME="tex2html84"
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"
<A NAME="tex2html92"
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="tex2html101"
<B> Next:</B> <A NAME="tex2html95"
HREF="node4.html">Code Distribution</A>
<B> Up:</B> <A NAME="tex2html97"
<B> Up:</B> <A NAME="tex2html91"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html91"
<B> Previous:</B> <A NAME="tex2html85"
HREF="node2.html">Contents</A>
&nbsp; <B> <A NAME="tex2html99"
&nbsp; <B> <A NAME="tex2html93"
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>

@ -66,7 +66,7 @@ Copyright &#169; 1997, 1998, 1999,
Mathematics Department, Macquarie University, Sydney.
<P>
The command line arguments were: <BR>
<STRONG>latex2html</STRONG> <TT>-html_version 4.0 -dir ../../html -mkdir -debug userhtml.tex</TT>
<STRONG>latex2html</STRONG> <TT>-html_version 4.0 -dir ../../html userhtml.tex</TT>
<P>
The translation was initiated by Salvatore Filippone on 2008-07-23
<BR><HR>

@ -27,30 +27,30 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html112"
<A NAME="tex2html106"
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="tex2html108"
<A NAME="tex2html102"
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="tex2html102"
<A NAME="tex2html96"
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="tex2html110"
<A NAME="tex2html104"
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="tex2html113"
<B> Next:</B> <A NAME="tex2html107"
HREF="node5.html">Configuring and Building MLD2P4</A>
<B> Up:</B> <A NAME="tex2html109"
<B> Up:</B> <A NAME="tex2html103"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html103"
<B> Previous:</B> <A NAME="tex2html97"
HREF="node3.html">General Overview</A>
&nbsp; <B> <A NAME="tex2html111"
&nbsp; <B> <A NAME="tex2html105"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
@ -73,7 +73,7 @@ To report bugs or ask general usage questions, please, send an email to
<P>
The software is available under a modified BSD license, as specified
in Appendix&nbsp;<A HREF="node29.html#sec:license">A</A>; please note that some of the optional
in Appendix&nbsp;<A HREF="node23.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.

@ -27,30 +27,30 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html124"
<A NAME="tex2html118"
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="tex2html120"
<A NAME="tex2html114"
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="tex2html114"
<A NAME="tex2html108"
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="tex2html122"
<A NAME="tex2html116"
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="tex2html125"
<B> Next:</B> <A NAME="tex2html119"
HREF="node6.html">Prerequisites</A>
<B> Up:</B> <A NAME="tex2html121"
<B> Up:</B> <A NAME="tex2html115"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html115"
<B> Previous:</B> <A NAME="tex2html109"
HREF="node4.html">Code Distribution</A>
&nbsp; <B> <A NAME="tex2html123"
&nbsp; <B> <A NAME="tex2html117"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
@ -85,13 +85,13 @@ real and complex data, in both single and double precision.
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL CLASS="ChildLinks">
<LI><A NAME="tex2html126"
<LI><A NAME="tex2html120"
HREF="node6.html">Prerequisites</A>
<LI><A NAME="tex2html127"
<LI><A NAME="tex2html121"
HREF="node7.html">Optional third party libraries</A>
<LI><A NAME="tex2html128"
<LI><A NAME="tex2html122"
HREF="node8.html">Configuration options</A>
<LI><A NAME="tex2html129"
<LI><A NAME="tex2html123"
HREF="node9.html">Example and test programs</A>
</UL>
<!--End of Table of Child-Links-->

@ -27,30 +27,30 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html140"
<A NAME="tex2html134"
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="tex2html136"
<A NAME="tex2html130"
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="tex2html130"
<A NAME="tex2html124"
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="tex2html138"
<A NAME="tex2html132"
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="tex2html141"
<B> Next:</B> <A NAME="tex2html135"
HREF="node7.html">Optional third party libraries</A>
<B> Up:</B> <A NAME="tex2html137"
<B> Up:</B> <A NAME="tex2html131"
HREF="node5.html">Configuring and Building MLD2P4</A>
<B> Previous:</B> <A NAME="tex2html131"
<B> Previous:</B> <A NAME="tex2html125"
HREF="node5.html">Configuring and Building MLD2P4</A>
&nbsp; <B> <A NAME="tex2html139"
&nbsp; <B> <A NAME="tex2html133"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
@ -65,9 +65,9 @@ The following base libraries are needed:
<DL>
<DT><STRONG>BLAS</STRONG></DT>
<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>].
HREF="node24.html#blas3">10</A>,<A
HREF="node24.html#blas3">10</A>,<A
HREF="node24.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>)
@ -82,30 +82,30 @@ The following base libraries are needed:
</DD>
<DT><STRONG>MPI</STRONG></DT>
<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
HREF="node24.html#MPI2">16</A>,<A
HREF="node24.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
[<A
HREF="node30.html#BLACS">12</A>] are available in source form from <code>http://www.netlib.org/blacs</code>;
HREF="node24.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.
</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
HREF="node24.html#PSBLASGUIDE">14</A>,<A
HREF="node24.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.
the MLD2P4 build process completes, only the compiled form of the
PSBLAS library is necessary to build user applications.
</DD>
</DL>
@ -119,30 +119,30 @@ compiler as MLD2P4.
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html140"
<A NAME="tex2html134"
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="tex2html136"
<A NAME="tex2html130"
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="tex2html130"
<A NAME="tex2html124"
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="tex2html138"
<A NAME="tex2html132"
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="tex2html141"
<B> Next:</B> <A NAME="tex2html135"
HREF="node7.html">Optional third party libraries</A>
<B> Up:</B> <A NAME="tex2html137"
<B> Up:</B> <A NAME="tex2html131"
HREF="node5.html">Configuring and Building MLD2P4</A>
<B> Previous:</B> <A NAME="tex2html131"
<B> Previous:</B> <A NAME="tex2html125"
HREF="node5.html">Configuring and Building MLD2P4</A>
&nbsp; <B> <A NAME="tex2html139"
&nbsp; <B> <A NAME="tex2html133"
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>

@ -27,30 +27,30 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html152"
<A NAME="tex2html146"
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="tex2html148"
<A NAME="tex2html142"
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="tex2html142"
<A NAME="tex2html136"
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="tex2html150"
<A NAME="tex2html144"
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="tex2html153"
<B> Next:</B> <A NAME="tex2html147"
HREF="node8.html">Configuration options</A>
<B> Up:</B> <A NAME="tex2html149"
<B> Up:</B> <A NAME="tex2html143"
HREF="node5.html">Configuring and Building MLD2P4</A>
<B> Previous:</B> <A NAME="tex2html143"
<B> Previous:</B> <A NAME="tex2html137"
HREF="node6.html">Prerequisites</A>
&nbsp; <B> <A NAME="tex2html151"
&nbsp; <B> <A NAME="tex2html145"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
@ -69,7 +69,7 @@ for multilevel preconditioners may change to reflect their presence.
<DL>
<DT><STRONG>UMFPACK</STRONG></DT>
<DD>[<A
HREF="node30.html#UMFPACK">8</A>]
HREF="node24.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 triangular system solution for double
@ -78,7 +78,7 @@ for multilevel preconditioners may change to reflect their presence.
</DD>
<DT><STRONG>SuperLU</STRONG></DT>
<DD>[<A
HREF="node30.html#SUPERLU">9</A>]
HREF="node24.html#SUPERLU">9</A>]
A sparse direct factorization package available from
<BR> <code>http://crd.lbl.gov/~xiaoye/SuperLU/</code>; provides serial
factorization and triangular system solution for single and double precision,
@ -86,7 +86,7 @@ for multilevel preconditioners may change to reflect their presence.
</DD>
<DT><STRONG>SuperLU_Dist</STRONG></DT>
<DD>[<A
HREF="node30.html#SUPERLUDIST">18</A>]
HREF="node24.html#SUPERLUDIST">18</A>]
A sparse direct factorization package available
from the same site as SuperLU; provides parallel factorization and
triangular system solution for double precision real and complex data.

@ -27,30 +27,30 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html164"
<A NAME="tex2html158"
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="tex2html160"
<A NAME="tex2html154"
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="tex2html154"
<A NAME="tex2html148"
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="tex2html162"
<A NAME="tex2html156"
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="tex2html165"
<B> Next:</B> <A NAME="tex2html159"
HREF="node9.html">Example and test programs</A>
<B> Up:</B> <A NAME="tex2html161"
<B> Up:</B> <A NAME="tex2html155"
HREF="node5.html">Configuring and Building MLD2P4</A>
<B> Previous:</B> <A NAME="tex2html155"
<B> Previous:</B> <A NAME="tex2html149"
HREF="node7.html">Optional third party libraries</A>
&nbsp; <B> <A NAME="tex2html163"
&nbsp; <B> <A NAME="tex2html157"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>

@ -26,30 +26,30 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html174"
<A NAME="tex2html168"
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="tex2html170"
<A NAME="tex2html164"
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="tex2html166"
<A NAME="tex2html160"
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="tex2html172"
<A NAME="tex2html166"
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="tex2html175"
<B> Next:</B> <A NAME="tex2html169"
HREF="node10.html">Multi-level Domain Decomposition Background</A>
<B> Up:</B> <A NAME="tex2html171"
<B> Up:</B> <A NAME="tex2html165"
HREF="node5.html">Configuring and Building MLD2P4</A>
<B> Previous:</B> <A NAME="tex2html167"
<B> Previous:</B> <A NAME="tex2html161"
HREF="node8.html">Configuration options</A>
&nbsp; <B> <A NAME="tex2html173"
&nbsp; <B> <A NAME="tex2html167"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>

@ -48,25 +48,24 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BR>
<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>
<BR><SPAN CLASS="textit"><BIG CLASS="LARGE">A guide for the Multi-Level Domain Decomposition
Parallel Preconditioners Package
based on PSBLAS</BIG></SPAN>
<B>Pasqua D'Ambra</B>
<BR>
ICAR-CNR, Naples, Italy
<BR>
<BR>
<BR><B>Pasqua D'Ambra</B>
<BR>
ICAR-CNR, Naples, Italy
<BR><B>Daniela di Serafino</B>
<BR>
Second University of Naples, Italy
<BR><B>Salvatore Filippone</B>
<BR>
University of Rome ``Tor Vergata'', Italy
<BR>
<BR>
<BR><B>Salvatore Filippone</B>
<BR>
University of Rome ``Tor Vergata'', Italy
Software version: 1.0
<BR>
July 24, 2008
@ -123,50 +122,26 @@ July 24, 2008
<UL>
<LI><A NAME="tex2html30"
HREF="node16.html">Subroutine mld_precinit</A>
<UL>
<LI><A NAME="tex2html31"
HREF="node17.html">Arguments</A>
</UL>
HREF="node17.html">Subroutine mld_precset</A>
<LI><A NAME="tex2html32"
HREF="node18.html">Subroutine mld_precset</A>
<UL>
HREF="node18.html">Subroutine mld_precbld</A>
<LI><A NAME="tex2html33"
HREF="node19.html">Arguments</A>
</UL>
HREF="node19.html">Subroutine mld_precaply</A>
<LI><A NAME="tex2html34"
HREF="node20.html">Subroutine mld_precbld</A>
<UL>
HREF="node20.html">Subroutine mld_precfree</A>
<LI><A NAME="tex2html35"
HREF="node21.html">Arguments</A>
HREF="node21.html">Subroutine mld_precdescr</A>
</UL>
<BR>
<LI><A NAME="tex2html36"
HREF="node22.html">Subroutine mld_precaply</A>
<UL>
HREF="node22.html">Error Handling</A>
<LI><A NAME="tex2html37"
HREF="node23.html">Arguments</A>
</UL>
HREF="node23.html">License</A>
<LI><A NAME="tex2html38"
HREF="node24.html">Subroutine mld_precfree</A>
<UL>
HREF="node24.html">Bibliography</A>
<LI><A NAME="tex2html39"
HREF="node25.html">Arguments</A>
</UL>
<LI><A NAME="tex2html40"
HREF="node26.html">Subroutine mld_precdescr</A>
<UL>
<LI><A NAME="tex2html41"
HREF="node27.html">Arguments</A>
</UL>
</UL>
<BR>
<LI><A NAME="tex2html42"
HREF="node28.html">Error Handling</A>
<LI><A NAME="tex2html43"
HREF="node29.html">License</A>
<LI><A NAME="tex2html44"
HREF="node30.html">Bibliography</A>
<LI><A NAME="tex2html45"
HREF="node31.html">About this document ...</A>
HREF="node25.html">About this document ...</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>

@ -46,8 +46,8 @@ The following base libraries are needed:
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.
the MLD2P4 build process completes, only the compiled form of the
PSBLAS library is necessary to build user applications.
\end{description}
Please note that the four previous libraries must have Fortran

@ -89,16 +89,16 @@
\newcommand{\Ref}[1]{\mbox{(\ref{#1})}}
\begin{document}
{\Large\bfseries MLD2P4\\[.8ex] User's and Reference Guide}\\
\emph{\large A guide for the Multi-Level Domain Decomposition \\[.6ex]
{\Large\bfseries MLD2P4\\[.8ex] User's and Reference Guide}\\[\baselineskip]
\emph{\large A guide for the Multi-Level Domain Decomposition
Parallel Preconditioners Package
based on PSBLAS}
based on PSBLAS}\\[3ex]
{\bfseries Pasqua D'Ambra}\\
ICAR-CNR, Naples, Italy\\[3ex]
ICAR-CNR, Naples, Italy\\
{\bfseries Daniela di Serafino}\\
Second University of Naples, Italy\\[3ex]
Second University of Naples, Italy\\
{\bfseries Salvatore Filippone} \\
University of Rome ``Tor Vergata'', Italy
University of Rome ``Tor Vergata'', Italy\\[2ex]
%\\[10ex]
%\today
Software version: 1.0\\

@ -51,7 +51,7 @@ A description of each routine is given in the remainder of this section.
This routine allocates and initializes the preconditioner data structure,
according to the preconditioner type chosen by the user.
\subsubsection*{Arguments}
{\vskip2\baselineskip\noindent\large\bfseries Arguments}
\begin{tabular}{p{1.2cm}p{12cm}}
\verb|p| & \verb|type(mld_|\emph{x}\verb|prec_type), intent(inout)|.\\
@ -83,7 +83,7 @@ This routine sets the parameters defining the preconditioner. More
precisely, the parameter identified by \verb|what| is assigned the value
contained in \verb|val|.
\subsubsection*{Arguments}
{\vskip2\baselineskip\noindent\large\bfseries Arguments}
\begin{tabular}{p{1.2cm}p{12cm}}
\verb|p| & \verb|type(mld_|\emph{x}\verb|prec_type), intent(inout)|.\\
@ -315,7 +315,7 @@ level.\label{tab:p_coarse}}
This routine builds the preconditioner according to the requirements made by
the user through the routines \verb|mld_precinit| and \verb|mld_precset|.
\subsubsection*{Arguments}
{\vskip2\baselineskip\noindent\large\bfseries Arguments}
\begin{tabular}{p{1.2cm}p{12cm}}
\verb|a| & \verb|type(psb_|\emph{x}\verb|spmat_type), intent(in)|. \\
@ -351,7 +351,7 @@ Note that, when MLD2P4 is used with a Krylov solver from PSBLAS,
\verb|mld_precaply| is called within the PSBLAS routine \verb|mld_krylov|
and hence it is completely transparent to the user.
\subsubsection*{Arguments}
{\vskip2\baselineskip\noindent\large\bfseries Arguments}
\begin{tabular}{p{1.2cm}p{12cm}}
\verb|p| & \verb|type(mld_|\emph{x}\verb|prec_type), intent(inout)|.\\
@ -394,7 +394,7 @@ and hence it is completely transparent to the user.
\noindent
This routine deallocates the preconditioner data structure.
\subsubsection*{Arguments}
{\vskip2\baselineskip\noindent\large\bfseries Arguments}
\begin{tabular}{p{1.2cm}p{10.5cm}}
\verb|p| & \verb|type(mld_|\emph{x}\verb|prec_type), intent(inout)|.\\
@ -417,7 +417,7 @@ This routine deallocates the preconditioner data structure.
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}
{\vskip2\baselineskip\noindent\large\bfseries Arguments}
\begin{tabular}{p{1.2cm}p{12cm}}
\verb|p| & \verb|type(mld_|\emph{x}\verb|prec_type), intent(in)|.\\

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save