mld2p4-2:

docs/html/contents.png
 docs/html/crossref.png
 docs/html/index.html
 docs/html/node1.html
 docs/html/node10.html
 docs/html/node11.html
 docs/html/node12.html
 docs/html/node13.html
 docs/html/node14.html
 docs/html/node15.html
 docs/html/node16.html
 docs/html/node17.html
 docs/html/node18.html
 docs/html/node19.html
 docs/html/node2.html
 docs/html/node20.html
 docs/html/node21.html
 docs/html/node22.html
 docs/html/node23.html
 docs/html/node24.html
 docs/html/node25.html
 docs/html/node26.html
 docs/html/node27.html
 docs/html/node28.html
 docs/html/node3.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/mld2p4-2.1-guide.pdf
 docs/src/gettingstarted.tex
 docs/src/userinterface.tex

New interfaces for building hierachy and preconditioner.
stopcriterion
Salvatore Filippone 9 years ago
parent d989714ee9
commit 86982461ad

Binary file not shown.

After

Width:  |  Height:  |  Size: 278 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 B

@ -126,21 +126,25 @@ Mar. 31, 2016
<LI><A NAME="tex2html35" <LI><A NAME="tex2html35"
HREF="node19.html">Subroutine mld_precbld</A> HREF="node19.html">Subroutine mld_precbld</A>
<LI><A NAME="tex2html36" <LI><A NAME="tex2html36"
HREF="node20.html">Subroutine mld_precaply</A> HREF="node20.html">Subroutine mld_hierarchy_bld</A>
<LI><A NAME="tex2html37" <LI><A NAME="tex2html37"
HREF="node21.html">Subroutine mld_precfree</A> HREF="node21.html">Subroutine mld_ml_prec_bld</A>
<LI><A NAME="tex2html38" <LI><A NAME="tex2html38"
HREF="node22.html">Subroutine mld_precdescr</A> HREF="node22.html">Subroutine mld_precaply</A>
</UL>
<BR>
<LI><A NAME="tex2html39" <LI><A NAME="tex2html39"
HREF="node23.html">Error Handling</A> HREF="node23.html">Subroutine mld_precfree</A>
<LI><A NAME="tex2html40" <LI><A NAME="tex2html40"
HREF="node24.html">License</A> HREF="node24.html">Subroutine mld_precdescr</A>
</UL>
<BR>
<LI><A NAME="tex2html41" <LI><A NAME="tex2html41"
HREF="node25.html">Bibliography</A> HREF="node25.html">Error Handling</A>
<LI><A NAME="tex2html42" <LI><A NAME="tex2html42"
HREF="node26.html">About this document ...</A> HREF="node26.html">License</A>
<LI><A NAME="tex2html43"
HREF="node27.html">Bibliography</A>
<LI><A NAME="tex2html44"
HREF="node28.html">About this document ...</A>
</UL> </UL>
<!--End of Table of Child-Links--> <!--End of Table of Child-Links-->
<BR><HR> <BR><HR>

@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY > <BODY >
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html53" <A NAME="tex2html55"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html49" <A NAME="tex2html51"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html43" <A NAME="tex2html45"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html51" <A NAME="tex2html53"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html54" <B> Next:</B> <A NAME="tex2html56"
HREF="node2.html">Contents</A> HREF="node2.html">Contents</A>
<B> Up:</B> <A NAME="tex2html50" <B> Up:</B> <A NAME="tex2html52"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html44" <B> Previous:</B> <A NAME="tex2html46"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
&nbsp; <B> <A NAME="tex2html52" &nbsp; <B> <A NAME="tex2html54"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR> <BR>
<BR> <BR>
@ -88,26 +88,26 @@ the user interface of MLD2P4.
<HR> <HR>
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html53" <A NAME="tex2html55"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html49" <A NAME="tex2html51"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html43" <A NAME="tex2html45"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html51" <A NAME="tex2html53"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html54" <B> Next:</B> <A NAME="tex2html56"
HREF="node2.html">Contents</A> HREF="node2.html">Contents</A>
<B> Up:</B> <A NAME="tex2html50" <B> Up:</B> <A NAME="tex2html52"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html44" <B> Previous:</B> <A NAME="tex2html46"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
&nbsp; <B> <A NAME="tex2html52" &nbsp; <B> <A NAME="tex2html54"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->

@ -25,26 +25,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY > <BODY >
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html185" <A NAME="tex2html189"
HREF="node11.html"> HREF="node11.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html181" <A NAME="tex2html185"
HREF="node5.html"> HREF="node5.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html177" <A NAME="tex2html181"
HREF="node9.html"> HREF="node9.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html183" <A NAME="tex2html187"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html186" <B> Next:</B> <A NAME="tex2html190"
HREF="node11.html">Multi-level Domain Decomposition Background</A> HREF="node11.html">Multi-level Domain Decomposition Background</A>
<B> Up:</B> <A NAME="tex2html182" <B> Up:</B> <A NAME="tex2html186"
HREF="node5.html">Configuring and Building MLD2P4</A> HREF="node5.html">Configuring and Building MLD2P4</A>
<B> Previous:</B> <A NAME="tex2html178" <B> Previous:</B> <A NAME="tex2html182"
HREF="node9.html">Bug reporting</A> HREF="node9.html">Bug reporting</A>
&nbsp; <B> <A NAME="tex2html184" &nbsp; <B> <A NAME="tex2html188"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR> <BR>
<BR> <BR>

@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY > <BODY >
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html197" <A NAME="tex2html201"
HREF="node12.html"> HREF="node12.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html193" <A NAME="tex2html197"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html187" <A NAME="tex2html191"
HREF="node10.html"> HREF="node10.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html195" <A NAME="tex2html199"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html198" <B> Next:</B> <A NAME="tex2html202"
HREF="node12.html">Multi-level Schwarz Preconditioners</A> HREF="node12.html">Multi-level Schwarz Preconditioners</A>
<B> Up:</B> <A NAME="tex2html194" <B> Up:</B> <A NAME="tex2html198"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html188" <B> Previous:</B> <A NAME="tex2html192"
HREF="node10.html">Example and test programs</A> HREF="node10.html">Example and test programs</A>
&nbsp; <B> <A NAME="tex2html196" &nbsp; <B> <A NAME="tex2html200"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR> <BR>
<BR> <BR>
@ -68,15 +68,15 @@ into subdomains, e.g. in a PDE discretization, to (approximately) solving the
subproblems corresponding to the subdomains and to building an approximate subproblems corresponding to the subdomains and to building an approximate
solution of the original problem from the local solutions solution of the original problem from the local solutions
[<A [<A
HREF="node25.html#Cai_Widlund_92">6</A>,<A HREF="node27.html#Cai_Widlund_92">6</A>,<A
HREF="node25.html#dd1_94">7</A>,<A HREF="node27.html#dd1_94">7</A>,<A
HREF="node25.html#dd2_96">23</A>]. HREF="node27.html#dd2_96">23</A>].
<P> <P>
<I>Additive Schwarz</I> preconditioners are DD preconditioners using overlapping <I>Additive Schwarz</I> preconditioners are DD preconditioners using overlapping
submatrices, i.e. with some common rows, to couple the local information submatrices, i.e. with some common rows, to couple the local information
related to the submatrices (see, e.g., [<A related to the submatrices (see, e.g., [<A
HREF="node25.html#dd2_96">23</A>]). HREF="node27.html#dd2_96">23</A>]).
The main motivation for choosing Additive Schwarz preconditioners is their The main motivation for choosing Additive Schwarz preconditioners is their
intrinsic parallelism. A drawback of these intrinsic parallelism. A drawback of these
preconditioners is that the number of iterations of the preconditioned solvers preconditioners is that the number of iterations of the preconditioned solvers
@ -95,7 +95,7 @@ correction. In this context, the one-level preconditioner is often
called `smoother'. Different two-level preconditioners are obtained by varying the called `smoother'. Different two-level preconditioners are obtained by varying the
choice of the smoother and of the coarse-level correction, and the choice of the smoother and of the coarse-level correction, and the
way they are combined [<A way they are combined [<A
HREF="node25.html#dd2_96">23</A>]. The same reasoning can be applied starting HREF="node27.html#dd2_96">23</A>]. The same reasoning can be applied starting
from the coarse-level system, i.e. a coarse-space correction can be built from the coarse-level system, i.e. a coarse-space correction can be built
from this system, thus obtaining <I>multi-level</I> preconditioners. from this system, thus obtaining <I>multi-level</I> preconditioners.
@ -119,25 +119,25 @@ are considered. The algebraic approach builds coarse-space corrections using onl
information. It performs a fully automatic coarsening and enforces the interplay between information. It performs a fully automatic coarsening and enforces the interplay between
the fine and coarse levels by suitably choosing the coarse space and the coarse-to-fine the fine and coarse levels by suitably choosing the coarse space and the coarse-to-fine
interpolation [<A interpolation [<A
HREF="node25.html#StubenGMD69_99">25</A>]. HREF="node27.html#StubenGMD69_99">25</A>].
<P> <P>
MLD2P4 uses a pure algebraic approach for building the sequence of coarse matrices MLD2P4 uses a pure algebraic approach for building the sequence of coarse matrices
starting from the original matrix. The algebraic approach is based on the <I>smoothed starting from the original matrix. The algebraic approach is based on the <I>smoothed
aggregation</I> algorithm [<A aggregation</I> algorithm [<A
HREF="node25.html#BREZINA_VANEK">1</A>,<A HREF="node27.html#BREZINA_VANEK">1</A>,<A
HREF="node25.html#VANEK_MANDEL_BREZINA">27</A>]. A decoupled version HREF="node27.html#VANEK_MANDEL_BREZINA">27</A>]. A decoupled version
of this algorithm is implemented, where the smoothed aggregation is applied locally of this algorithm is implemented, where the smoothed aggregation is applied locally
to each submatrix [<A to each submatrix [<A
HREF="node25.html#TUMINARO_TONG">26</A>]. In the next two subsections we provide HREF="node27.html#TUMINARO_TONG">26</A>]. In the next two subsections we provide
a brief description of the multi-level Schwarz preconditioners and of the smoothed a brief description of the multi-level Schwarz preconditioners and of the smoothed
aggregation technique as implemented in MLD2P4. For further details the reader aggregation technique as implemented in MLD2P4. For further details the reader
is referred to [<A is referred to [<A
HREF="node25.html#para_04">2</A>,<A HREF="node27.html#para_04">2</A>,<A
HREF="node25.html#aaecc_07">3</A>,<A HREF="node27.html#aaecc_07">3</A>,<A
HREF="node25.html#apnum_07">4</A>,<A HREF="node27.html#apnum_07">4</A>,<A
HREF="node25.html#MLD2P4_TOMS">8</A>,<A HREF="node27.html#MLD2P4_TOMS">8</A>,<A
HREF="node25.html#dd2_96">23</A>]. HREF="node27.html#dd2_96">23</A>].
<P> <P>
<BR><HR> <BR><HR>
@ -145,34 +145,34 @@ is referred to [<A
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A> <A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL> <UL>
<LI><A NAME="tex2html199" <LI><A NAME="tex2html203"
HREF="node12.html">Multi-level Schwarz Preconditioners</A> HREF="node12.html">Multi-level Schwarz Preconditioners</A>
<LI><A NAME="tex2html200" <LI><A NAME="tex2html204"
HREF="node13.html">Smoothed Aggregation</A> HREF="node13.html">Smoothed Aggregation</A>
</UL> </UL>
<!--End of Table of Child-Links--> <!--End of Table of Child-Links-->
<HR> <HR>
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html197" <A NAME="tex2html201"
HREF="node12.html"> HREF="node12.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html193" <A NAME="tex2html197"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html187" <A NAME="tex2html191"
HREF="node10.html"> HREF="node10.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html195" <A NAME="tex2html199"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html198" <B> Next:</B> <A NAME="tex2html202"
HREF="node12.html">Multi-level Schwarz Preconditioners</A> HREF="node12.html">Multi-level Schwarz Preconditioners</A>
<B> Up:</B> <A NAME="tex2html194" <B> Up:</B> <A NAME="tex2html198"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html188" <B> Previous:</B> <A NAME="tex2html192"
HREF="node10.html">Example and test programs</A> HREF="node10.html">Example and test programs</A>
&nbsp; <B> <A NAME="tex2html196" &nbsp; <B> <A NAME="tex2html200"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->

@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY > <BODY >
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html211" <A NAME="tex2html215"
HREF="node13.html"> HREF="node13.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html207" <A NAME="tex2html211"
HREF="node11.html"> HREF="node11.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html201" <A NAME="tex2html205"
HREF="node11.html"> HREF="node11.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html209" <A NAME="tex2html213"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html212" <B> Next:</B> <A NAME="tex2html216"
HREF="node13.html">Smoothed Aggregation</A> HREF="node13.html">Smoothed Aggregation</A>
<B> Up:</B> <A NAME="tex2html208" <B> Up:</B> <A NAME="tex2html212"
HREF="node11.html">Multi-level Domain Decomposition Background</A> HREF="node11.html">Multi-level Domain Decomposition Background</A>
<B> Previous:</B> <A NAME="tex2html202" <B> Previous:</B> <A NAME="tex2html206"
HREF="node11.html">Multi-level Domain Decomposition Background</A> HREF="node11.html">Multi-level Domain Decomposition Background</A>
&nbsp; <B> <A NAME="tex2html210" &nbsp; <B> <A NAME="tex2html214"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR> <BR>
<BR> <BR>
@ -295,15 +295,15 @@ ILU(<IMG
WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img36.png" SRC="img36.png"
ALT="$p,t$">) [<A ALT="$p,t$">) [<A
HREF="node25.html#Saad_book">22</A>, Chapter 10]. HREF="node27.html#Saad_book">22</A>, Chapter 10].
<P> <P>
A variant of the classical AS preconditioner that outperforms it A variant of the classical AS preconditioner that outperforms it
in terms of convergence rate and of computation and communication in terms of convergence rate and of computation and communication
time on parallel distributed-memory computers is the so-called <I>Restricted AS time on parallel distributed-memory computers is the so-called <I>Restricted AS
(RAS)</I> preconditioner&nbsp;[<A (RAS)</I> preconditioner&nbsp;[<A
HREF="node25.html#CAI_SARKIS">5</A>,<A HREF="node27.html#CAI_SARKIS">5</A>,<A
HREF="node25.html#EFSTATHIOU">15</A>]. It HREF="node27.html#EFSTATHIOU">15</A>]. It
is obtained by zeroing the components of <IMG is obtained by zeroing the components of <IMG
WIDTH="22" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="22" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img33.png" SRC="img33.png"
@ -386,8 +386,8 @@ of <IMG
WIDTH="23" HEIGHT="16" ALIGN="BOTTOM" BORDER="0" WIDTH="23" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
SRC="img11.png" SRC="img11.png"
ALT="$W$"> increases [<A ALT="$W$"> increases [<A
HREF="node25.html#dd1_94">7</A>,<A HREF="node27.html#dd1_94">7</A>,<A
HREF="node25.html#dd2_96">23</A>]. To reduce the dependency HREF="node27.html#dd2_96">23</A>]. To reduce the dependency
of the number of iterations on the degree of parallelism we may of the number of iterations on the degree of parallelism we may
introduce a global coupling among the overlapping partitions by defining introduce a global coupling among the overlapping partitions by defining
a coarse-space approximation <IMG a coarse-space approximation <IMG
@ -642,12 +642,12 @@ in which the coarse-level correction is re-applied starting from the current
coarse-level system. The corresponding preconditioners, called <I>multi-level</I> coarse-level system. The corresponding preconditioners, called <I>multi-level</I>
preconditioners, can significantly reduce the computational cost of preconditioning preconditioners, can significantly reduce the computational cost of preconditioning
with respect to the two-level case (see [<A with respect to the two-level case (see [<A
HREF="node25.html#dd2_96">23</A>, Chapter 3]). HREF="node27.html#dd2_96">23</A>, Chapter 3]).
Additive and hybrid multilevel preconditioners Additive and hybrid multilevel preconditioners
are obtained as direct extensions of the two-level counterparts. are obtained as direct extensions of the two-level counterparts.
For a detailed descrition of them, the reader is For a detailed descrition of them, the reader is
referred to [<A referred to [<A
HREF="node25.html#dd2_96">23</A>, Chapter 3]. HREF="node27.html#dd2_96">23</A>, Chapter 3].
The algorithm for the application of a multi-level hybrid The algorithm for the application of a multi-level hybrid
post-smoothed preconditioner <IMG post-smoothed preconditioner <IMG
WIDTH="23" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" WIDTH="23" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
@ -738,26 +738,26 @@ $w = y_1$;
<P> <P>
<HR> <HR>
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html211" <A NAME="tex2html215"
HREF="node13.html"> HREF="node13.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html207" <A NAME="tex2html211"
HREF="node11.html"> HREF="node11.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html201" <A NAME="tex2html205"
HREF="node11.html"> HREF="node11.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html209" <A NAME="tex2html213"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html212" <B> Next:</B> <A NAME="tex2html216"
HREF="node13.html">Smoothed Aggregation</A> HREF="node13.html">Smoothed Aggregation</A>
<B> Up:</B> <A NAME="tex2html208" <B> Up:</B> <A NAME="tex2html212"
HREF="node11.html">Multi-level Domain Decomposition Background</A> HREF="node11.html">Multi-level Domain Decomposition Background</A>
<B> Previous:</B> <A NAME="tex2html202" <B> Previous:</B> <A NAME="tex2html206"
HREF="node11.html">Multi-level Domain Decomposition Background</A> HREF="node11.html">Multi-level Domain Decomposition Background</A>
&nbsp; <B> <A NAME="tex2html210" &nbsp; <B> <A NAME="tex2html214"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->

@ -25,26 +25,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY > <BODY >
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html221" <A NAME="tex2html225"
HREF="node14.html"> HREF="node14.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html217" <A NAME="tex2html221"
HREF="node11.html"> HREF="node11.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html213" <A NAME="tex2html217"
HREF="node12.html"> HREF="node12.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html219" <A NAME="tex2html223"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html222" <B> Next:</B> <A NAME="tex2html226"
HREF="node14.html">Getting Started</A> HREF="node14.html">Getting Started</A>
<B> Up:</B> <A NAME="tex2html218" <B> Up:</B> <A NAME="tex2html222"
HREF="node11.html">Multi-level Domain Decomposition Background</A> HREF="node11.html">Multi-level Domain Decomposition Background</A>
<B> Previous:</B> <A NAME="tex2html214" <B> Previous:</B> <A NAME="tex2html218"
HREF="node12.html">Multi-level Schwarz Preconditioners</A> HREF="node12.html">Multi-level Schwarz Preconditioners</A>
&nbsp; <B> <A NAME="tex2html220" &nbsp; <B> <A NAME="tex2html224"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR> <BR>
<BR> <BR>
@ -65,8 +65,8 @@ the coarse-level matrix <IMG
SRC="img44.png" SRC="img44.png"
ALT="$A_C$">, MLD2P4 uses the <I>smoothed aggregation</I> ALT="$A_C$">, MLD2P4 uses the <I>smoothed aggregation</I>
algorithm described in [<A algorithm described in [<A
HREF="node25.html#BREZINA_VANEK">1</A>,<A HREF="node27.html#BREZINA_VANEK">1</A>,<A
HREF="node25.html#VANEK_MANDEL_BREZINA">27</A>]. HREF="node27.html#VANEK_MANDEL_BREZINA">27</A>].
The basic idea of this algorithm is to build a coarse set of vertices The basic idea of this algorithm is to build a coarse set of vertices
<IMG <IMG
WIDTH="32" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="32" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
@ -114,8 +114,8 @@ Three main steps can be identified in the smoothed aggregation procedure:
<P> <P>
To perform the coarsening step, we have implemented the aggregation algorithm sketched To perform the coarsening step, we have implemented the aggregation algorithm sketched
in [<A in [<A
HREF="node25.html#apnum_07">4</A>]. According to [<A HREF="node27.html#apnum_07">4</A>]. According to [<A
HREF="node25.html#VANEK_MANDEL_BREZINA">27</A>], a modification of HREF="node27.html#VANEK_MANDEL_BREZINA">27</A>], a modification of
this algorithm has been actually considered, this algorithm has been actually considered,
in which each aggregate <IMG in which each aggregate <IMG
WIDTH="26" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="26" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
@ -171,9 +171,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, Nevertheless, this algorithm has been chosen for the implementation in MLD2P4,
since it has been shown to produce good results in practice since it has been shown to produce good results in practice
[<A [<A
HREF="node25.html#aaecc_07">3</A>,<A HREF="node27.html#aaecc_07">3</A>,<A
HREF="node25.html#apnum_07">4</A>,<A HREF="node27.html#apnum_07">4</A>,<A
HREF="node25.html#TUMINARO_TONG">26</A>]. HREF="node27.html#TUMINARO_TONG">26</A>].
<P> <P>
The prolongator <IMG The prolongator <IMG
@ -251,8 +251,8 @@ P_C = S P,
in order to remove oscillatory components from the range of the prolongator in order to remove oscillatory components from the range of the prolongator
and hence to improve the convergence properties of the multi-level and hence to improve the convergence properties of the multi-level
Schwarz method [<A Schwarz method [<A
HREF="node25.html#BREZINA_VANEK">1</A>,<A HREF="node27.html#BREZINA_VANEK">1</A>,<A
HREF="node25.html#StubenGMD69_99">25</A>]. HREF="node27.html#StubenGMD69_99">25</A>].
A simple choice for <IMG A simple choice for <IMG
WIDTH="16" HEIGHT="16" ALIGN="BOTTOM" BORDER="0" WIDTH="16" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
SRC="img84.png" SRC="img84.png"
@ -284,30 +284,30 @@ using some estimate of the spectral radius of <IMG
WIDTH="50" HEIGHT="21" ALIGN="BOTTOM" BORDER="0" WIDTH="50" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
SRC="img87.png" SRC="img87.png"
ALT="$D^{-1}A$"> [<A ALT="$D^{-1}A$"> [<A
HREF="node25.html#BREZINA_VANEK">1</A>]. HREF="node27.html#BREZINA_VANEK">1</A>].
<P> <P>
<HR> <HR>
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html221" <A NAME="tex2html225"
HREF="node14.html"> HREF="node14.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html217" <A NAME="tex2html221"
HREF="node11.html"> HREF="node11.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html213" <A NAME="tex2html217"
HREF="node12.html"> HREF="node12.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html219" <A NAME="tex2html223"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html222" <B> Next:</B> <A NAME="tex2html226"
HREF="node14.html">Getting Started</A> HREF="node14.html">Getting Started</A>
<B> Up:</B> <A NAME="tex2html218" <B> Up:</B> <A NAME="tex2html222"
HREF="node11.html">Multi-level Domain Decomposition Background</A> HREF="node11.html">Multi-level Domain Decomposition Background</A>
<B> Previous:</B> <A NAME="tex2html214" <B> Previous:</B> <A NAME="tex2html218"
HREF="node12.html">Multi-level Schwarz Preconditioners</A> HREF="node12.html">Multi-level Schwarz Preconditioners</A>
&nbsp; <B> <A NAME="tex2html220" &nbsp; <B> <A NAME="tex2html224"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->

@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY > <BODY >
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html233" <A NAME="tex2html237"
HREF="node15.html"> HREF="node15.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html229" <A NAME="tex2html233"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html223" <A NAME="tex2html227"
HREF="node13.html"> HREF="node13.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html231" <A NAME="tex2html235"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html234" <B> Next:</B> <A NAME="tex2html238"
HREF="node15.html">Examples</A> HREF="node15.html">Examples</A>
<B> Up:</B> <A NAME="tex2html230" <B> Up:</B> <A NAME="tex2html234"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html224" <B> Previous:</B> <A NAME="tex2html228"
HREF="node13.html">Smoothed Aggregation</A> HREF="node13.html">Smoothed Aggregation</A>
&nbsp; <B> <A NAME="tex2html232" &nbsp; <B> <A NAME="tex2html236"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR> <BR>
<BR> <BR>
@ -59,7 +59,7 @@ Getting Started
<P> <P>
We describe the basics for building and applying MLD2P4 one-level and multi-level We describe the basics for building and applying MLD2P4 one-level and multi-level
Schwarz preconditioners with the Krylov solvers included in PSBLAS [<A Schwarz preconditioners with the Krylov solvers included in PSBLAS [<A
HREF="node25.html#PSBLASGUIDE">16</A>]. HREF="node27.html#PSBLASGUIDE">16</A>].
The following steps are required: The following steps are required:
<OL> <OL>
@ -80,6 +80,18 @@ The following steps are required:
Note that these strings are valid also if uppercase letters are substituted by Note that these strings are valid also if uppercase letters are substituted by
corresponding lowercase ones. corresponding lowercase ones.
</LI> </LI>
<LI><I>Modify the aggregation parameters.</I> This is performed by
the routine <code>mld_precset</code>.
This routine must be called only if the user wants to modify the default values
of the parameters associated to the aggregation hierarchy construction.
Examples of use of <code>mld_precset</code> are given in
Section&nbsp;<A HREF="node15.html#sec:examples">5.1</A>; a complete list of all the
preconditioner parameters and their allowed and default values is provided in
Section&nbsp;<A HREF="node16.html#sec:userinterface">6</A>, Tables&nbsp;<A HREF="#tab:p_type">2</A>-<A HREF="#tab:p_coarse">6</A>.
</LI>
<LI><I>Build the aggregation hierarchy for a given matrix.</I> This is performed by
the routine <code>mld_hierarchy_bld</code>.
</LI>
<LI><I>Modify the selected preconditioner type, by properly setting <LI><I>Modify the selected preconditioner type, by properly setting
preconditioner parameters.</I> This is performed by the routine <code>mld_precset</code>. preconditioner parameters.</I> This is performed by the routine <code>mld_precset</code>.
This routine must be called only if the user wants to modify the default values This routine must be called only if the user wants to modify the default values
@ -90,7 +102,7 @@ The following steps are required:
Section&nbsp;<A HREF="node16.html#sec:userinterface">6</A>, Tables&nbsp;<A HREF="#tab:p_type">2</A>-<A HREF="#tab:p_coarse">6</A>. Section&nbsp;<A HREF="node16.html#sec:userinterface">6</A>, Tables&nbsp;<A HREF="#tab:p_type">2</A>-<A HREF="#tab:p_coarse">6</A>.
</LI> </LI>
<LI><I>Build the preconditioner for a given matrix.</I> This is performed by <LI><I>Build the preconditioner for a given matrix.</I> This is performed by
the routine <code>mld_precbld</code>. the routine <code>mld_ml_prec_bld</code>.
</LI> </LI>
<LI><I>Apply the preconditioner at each iteration of a Krylov solver.</I> <LI><I>Apply the preconditioner at each iteration of a Krylov solver.</I>
This is performed by the routine <code>mld_precaply</code>. When using the PSBLAS Krylov solvers, This is performed by the routine <code>mld_precaply</code>. When using the PSBLAS Krylov solvers,
@ -121,8 +133,8 @@ machines, it often leads to the smallest execution time when applied to
linear systems coming from finite-difference discretizations of basic linear systems coming from finite-difference discretizations of basic
elliptic PDE problems, considered as standard tests for multi-level Schwarz elliptic PDE problems, considered as standard tests for multi-level Schwarz
preconditioners [<A preconditioners [<A
HREF="node25.html#aaecc_07">3</A>,<A HREF="node27.html#aaecc_07">3</A>,<A
HREF="node25.html#apnum_07">4</A>]. However, this solver does HREF="node27.html#apnum_07">4</A>]. However, this solver does
not necessarily correspond to the smallest number of iterations of the not necessarily correspond to the smallest number of iterations of the
preconditioned Krylov method, which is usually obtained by applying preconditioned Krylov method, which is usually obtained by applying
a direct solver to the coarsest-level system, e.g. based on the LU a direct solver to the coarsest-level system, e.g. based on the LU
@ -131,7 +143,7 @@ for the coarsest-level solvers available in MLD2P4).
<P> <P>
<BR><P></P> <BR><P></P>
<DIV ALIGN="CENTER"><A NAME="943"></A> <DIV ALIGN="CENTER"><A NAME="949"></A>
<TABLE> <TABLE>
<CAPTION><STRONG>Table 1:</STRONG> <CAPTION><STRONG>Table 1:</STRONG>
Preconditioner types, corresponding strings and default choices. Preconditioner types, corresponding strings and default choices.
@ -198,32 +210,32 @@ Preconditioner types, corresponding strings and default choices.
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A> <A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL> <UL>
<LI><A NAME="tex2html235" <LI><A NAME="tex2html239"
HREF="node15.html">Examples</A> HREF="node15.html">Examples</A>
</UL> </UL>
<!--End of Table of Child-Links--> <!--End of Table of Child-Links-->
<HR> <HR>
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html233" <A NAME="tex2html237"
HREF="node15.html"> HREF="node15.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html229" <A NAME="tex2html233"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html223" <A NAME="tex2html227"
HREF="node13.html"> HREF="node13.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html231" <A NAME="tex2html235"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html234" <B> Next:</B> <A NAME="tex2html238"
HREF="node15.html">Examples</A> HREF="node15.html">Examples</A>
<B> Up:</B> <A NAME="tex2html230" <B> Up:</B> <A NAME="tex2html234"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html224" <B> Previous:</B> <A NAME="tex2html228"
HREF="node13.html">Smoothed Aggregation</A> HREF="node13.html">Smoothed Aggregation</A>
&nbsp; <B> <A NAME="tex2html232" &nbsp; <B> <A NAME="tex2html236"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->

@ -25,26 +25,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY > <BODY >
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html244" <A NAME="tex2html248"
HREF="node16.html"> HREF="node16.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html240" <A NAME="tex2html244"
HREF="node14.html"> HREF="node14.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html236" <A NAME="tex2html240"
HREF="node14.html"> HREF="node14.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html242" <A NAME="tex2html246"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html245" <B> Next:</B> <A NAME="tex2html249"
HREF="node16.html">User Interface</A> HREF="node16.html">User Interface</A>
<B> Up:</B> <A NAME="tex2html241" <B> Up:</B> <A NAME="tex2html245"
HREF="node14.html">Getting Started</A> HREF="node14.html">Getting Started</A>
<B> Previous:</B> <A NAME="tex2html237" <B> Previous:</B> <A NAME="tex2html241"
HREF="node14.html">Getting Started</A> HREF="node14.html">Getting Started</A>
&nbsp; <B> <A NAME="tex2html243" &nbsp; <B> <A NAME="tex2html247"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR> <BR>
<BR> <BR>
@ -75,7 +75,7 @@ in the directory <code>examples/fileread</code> of the MLD2P4 tree (see
Section&nbsp;<A HREF="node10.html#sec:ex_and_test">3.5</A>). Section&nbsp;<A HREF="node10.html#sec:ex_and_test">3.5</A>).
For details on the use of the PSBLAS routines, see the PSBLAS User's For details on the use of the PSBLAS routines, see the PSBLAS User's
Guide [<A Guide [<A
HREF="node25.html#PSBLASGUIDE">16</A>]. HREF="node27.html#PSBLASGUIDE">16</A>].
<P> <P>
The setup and application of the default multi-level The setup and application of the default multi-level
@ -86,7 +86,7 @@ the corresponding Fortran 95 codes are available in <code>examples/fileread/</co
<P> <P>
<DIV ALIGN="CENTER"><A NAME="fig:ex_default"></A><A NAME="946"></A> <DIV ALIGN="CENTER"><A NAME="fig:ex_default"></A><A NAME="952"></A>
<TABLE> <TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 2:</STRONG> <CAPTION ALIGN="BOTTOM"><STRONG>Figure 2:</STRONG>
Setup and application of the default multi-level Schwarz preconditioner. Setup and application of the default multi-level Schwarz preconditioner.
@ -128,7 +128,9 @@ Setup and application of the default multi-level Schwarz preconditioner.
call mld_precinit(P,'ML',info) call mld_precinit(P,'ML',info)
! !
! build the preconditioner ! build the preconditioner
call mld_precbld(A,desc_A,P,info) call mld_hierarchy_bld(A,desc_A,P,info)
call mld_ml_prec_bld(A,desc_A,P,info)
! !
! set the solver parameters and the initial guess ! set the solver parameters and the initial guess
... ... ... ...
@ -162,12 +164,12 @@ 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 preconditioner, which uses block Jacobi with ILU(0) on the
local blocks as post-smoother, has a coarsest matrix replicated on the processors, local blocks as post-smoother, has a coarsest matrix replicated on the processors,
and solves the coarsest-level system with the LU factorization from UMFPACK&nbsp;[<A and solves the coarsest-level system with the LU factorization from UMFPACK&nbsp;[<A
HREF="node25.html#UMFPACK">9</A>]. HREF="node27.html#UMFPACK">9</A>].
Figure&nbsp;<A HREF="#fig:ex_3lhm">4</A> shows how to set a three-level preconditioner Figure&nbsp;<A HREF="#fig:ex_3lhm">4</A> shows how to set a three-level preconditioner
similar to the one of&nbsp;<A HREF="#fig:ex_3lh">3</A>, but the coarsest-level similar to the one of&nbsp;<A HREF="#fig:ex_3lh">3</A>, but the coarsest-level
systems is solved with the multifrontal factorization from systems is solved with the multifrontal factorization from
MUMPS&nbsp;[<A MUMPS&nbsp;[<A
HREF="node25.html#UMFPACK">9</A>]. HREF="node27.html#UMFPACK">9</A>].
Note that MUMPS can be used on both replicated and distributed Note that MUMPS can be used on both replicated and distributed
coarsest level matrices, as a global and local solver respectively. coarsest level matrices, as a global and local solver respectively.
The number of levels is specified by using <code>mld_precinit</code>; the other The number of levels is specified by using <code>mld_precinit</code>; the other
@ -202,7 +204,7 @@ boundary conditions are also available in the directory <code>examples/pdegen</c
<P> <P>
<DIV ALIGN="CENTER"><A NAME="fig:ex_3lh"></A><A NAME="948"></A> <DIV ALIGN="CENTER"><A NAME="fig:ex_3lh"></A><A NAME="954"></A>
<TABLE> <TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 3:</STRONG> <CAPTION ALIGN="BOTTOM"><STRONG>Figure 3:</STRONG>
Setup of a hybrid three-level Schwarz preconditioner.</CAPTION> Setup of a hybrid three-level Schwarz preconditioner.</CAPTION>
@ -216,11 +218,14 @@ Setup of a hybrid three-level Schwarz preconditioner.</CAPTION>
! block Jacobi (with ILU(0) on the blocks) as post-smoother, ! block Jacobi (with ILU(0) on the blocks) as post-smoother,
! a coarsest matrix replicated on the processors, and the ! a coarsest matrix replicated on the processors, and the
! LU factorization from UMFPACK as coarse-level solver ! LU factorization from UMFPACK as coarse-level solver
call mld_precinit(P,'ML',info,nlev=3) call mld_precinit(P,'ML',info)
call mld_hierarchy_bld(A,desc_A,P,info)
call_mld_precset(P,'SMOOTHER_TYPE','BJAC',info) call_mld_precset(P,'SMOOTHER_TYPE','BJAC',info)
call_mld_precset(P,'SMOOTHER_POS,'POST'w,info) call_mld_precset(P,'SMOOTHER_POS,'POST'w,info)
call mld_precset(P,'COARSE_MAT','REPL',info) call mld_precset(P,'COARSE_MAT','REPL',info)
call mld_precset(P,'COARSE_SOLVE','UMF',info) call mld_precset(P,'COARSE_SOLVE','UMF',info)
call mld_ml_prec_bld(A,desc_A,P,info)
... ... ... ...
</PRE> </PRE>
</TD></TR> </TD></TR>
@ -235,7 +240,7 @@ Setup of a hybrid three-level Schwarz preconditioner.</CAPTION>
<P> <P>
<DIV ALIGN="CENTER"><A NAME="fig:ex_3lhm"></A><A NAME="950"></A> <DIV ALIGN="CENTER"><A NAME="fig:ex_3lhm"></A><A NAME="956"></A>
<TABLE> <TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 4:</STRONG> <CAPTION ALIGN="BOTTOM"><STRONG>Figure 4:</STRONG>
Setup of a hybrid three-level Schwarz preconditioner.</CAPTION> Setup of a hybrid three-level Schwarz preconditioner.</CAPTION>
@ -251,10 +256,12 @@ Setup of a hybrid three-level Schwarz preconditioner.</CAPTION>
! multifrontal solver in MUMPS as coarse-level solver ! multifrontal solver in MUMPS as coarse-level solver
call mld_precinit(P,'ML',info,nlev=3) call mld_precinit(P,'ML',info,nlev=3)
call mld_hierarchy_bld(A,desc_A,P,info)
call mld_precset(P,mld_smoother_type_,'BJAC',info) call mld_precset(P,mld_smoother_type_,'BJAC',info)
call mld_precset(P,mld_coarse_mat_,'REPL',info) call mld_precset(P,mld_coarse_mat_,'REPL',info)
call mld_precset(P,mld_coarse_solve_,'MUMPS',info) call mld_precset(P,mld_coarse_solve_,'MUMPS',info)
call mld_ml_prec_bld(A,desc_A,P,info)
... ... ... ...
</PRE> </PRE>
</TD></TR> </TD></TR>
@ -269,7 +276,7 @@ Setup of a hybrid three-level Schwarz preconditioner.</CAPTION>
<P> <P>
<DIV ALIGN="CENTER"><A NAME="fig:ex_3la"></A><A NAME="952"></A> <DIV ALIGN="CENTER"><A NAME="fig:ex_3la"></A><A NAME="958"></A>
<TABLE> <TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 5:</STRONG> <CAPTION ALIGN="BOTTOM"><STRONG>Figure 5:</STRONG>
Setup of an additive three-level Schwarz preconditioner.</CAPTION> Setup of an additive three-level Schwarz preconditioner.</CAPTION>
@ -284,9 +291,11 @@ Setup of an additive three-level Schwarz preconditioner.</CAPTION>
! post-smoother, and 5 block-Jacobi sweeps (with UMFPACK LU ! post-smoother, and 5 block-Jacobi sweeps (with UMFPACK LU
! on the blocks) as distributed coarsest-level solver ! on the blocks) as distributed coarsest-level solver
call mld_precinit(P,'ML',info,nlev=3) call mld_precinit(P,'ML',info,nlev=3)
call mld_ml_prec_bld(A,desc_A,P,info)
call mld_precset(P,'ML_TYPE','ADD',info) call mld_precset(P,'ML_TYPE','ADD',info)
call_mld_precset(P,'SMOOTHER_POS','TWOSIDE',info) call_mld_precset(P,'SMOOTHER_POS','TWOSIDE',info)
call mld_precset(P,'COARSE_SWEEPS',5,info) call mld_precset(P,'COARSE_SWEEPS',5,info)
call mld_ml_prec_bld(A,desc_A,P,info)
... ... ... ...
</PRE> </PRE>
</TD></TR> </TD></TR>
@ -301,7 +310,7 @@ Setup of an additive three-level Schwarz preconditioner.</CAPTION>
<P> <P>
<DIV ALIGN="CENTER"><A NAME="fig:ex_1l"></A><A NAME="954"></A> <DIV ALIGN="CENTER"><A NAME="fig:ex_1l"></A><A NAME="960"></A>
<TABLE> <TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 6:</STRONG> <CAPTION ALIGN="BOTTOM"><STRONG>Figure 6:</STRONG>
Setup of a one-level Schwarz preconditioner.</CAPTION> Setup of a one-level Schwarz preconditioner.</CAPTION>
@ -314,6 +323,7 @@ Setup of a one-level Schwarz preconditioner.</CAPTION>
! set RAS with overlap 2 and ILU(0) on the local blocks ! set RAS with overlap 2 and ILU(0) on the local blocks
call mld_precinit(P,'AS',info) call mld_precinit(P,'AS',info)
call mld_precset(P,'SUB_OVR',2,info) call mld_precset(P,'SUB_OVR',2,info)
call mld_precbld(A,desc_A,P,info)
... ... ... ...
</PRE> </PRE>
</TD></TR> </TD></TR>
@ -327,26 +337,26 @@ Setup of a one-level Schwarz preconditioner.</CAPTION>
<P> <P>
<HR> <HR>
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html244" <A NAME="tex2html248"
HREF="node16.html"> HREF="node16.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html240" <A NAME="tex2html244"
HREF="node14.html"> HREF="node14.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html236" <A NAME="tex2html240"
HREF="node14.html"> HREF="node14.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html242" <A NAME="tex2html246"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html245" <B> Next:</B> <A NAME="tex2html249"
HREF="node16.html">User Interface</A> HREF="node16.html">User Interface</A>
<B> Up:</B> <A NAME="tex2html241" <B> Up:</B> <A NAME="tex2html245"
HREF="node14.html">Getting Started</A> HREF="node14.html">Getting Started</A>
<B> Previous:</B> <A NAME="tex2html237" <B> Previous:</B> <A NAME="tex2html241"
HREF="node14.html">Getting Started</A> HREF="node14.html">Getting Started</A>
&nbsp; <B> <A NAME="tex2html243" &nbsp; <B> <A NAME="tex2html247"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->

@ -18,7 +18,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<LINK REL="STYLESHEET" HREF="userhtml.css"> <LINK REL="STYLESHEET" HREF="userhtml.css">
<LINK REL="next" HREF="node23.html"> <LINK REL="next" HREF="node25.html">
<LINK REL="previous" HREF="node14.html"> <LINK REL="previous" HREF="node14.html">
<LINK REL="up" HREF="userhtml.html"> <LINK REL="up" HREF="userhtml.html">
<LINK REL="next" HREF="node17.html"> <LINK REL="next" HREF="node17.html">
@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY > <BODY >
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html256" <A NAME="tex2html260"
HREF="node17.html"> HREF="node17.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html252" <A NAME="tex2html256"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html246" <A NAME="tex2html250"
HREF="node15.html"> HREF="node15.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html254" <A NAME="tex2html258"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html257" <B> Next:</B> <A NAME="tex2html261"
HREF="node17.html">Subroutine mld_precinit</A> HREF="node17.html">Subroutine mld_precinit</A>
<B> Up:</B> <A NAME="tex2html253" <B> Up:</B> <A NAME="tex2html257"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html247" <B> Previous:</B> <A NAME="tex2html251"
HREF="node15.html">Examples</A> HREF="node15.html">Examples</A>
&nbsp; <B> <A NAME="tex2html255" &nbsp; <B> <A NAME="tex2html259"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR> <BR>
<BR> <BR>
@ -113,42 +113,46 @@ A description of each routine is given in the remainder of this section.
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A> <A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL> <UL>
<LI><A NAME="tex2html258" <LI><A NAME="tex2html262"
HREF="node17.html">Subroutine mld_precinit</A> HREF="node17.html">Subroutine mld_precinit</A>
<LI><A NAME="tex2html259" <LI><A NAME="tex2html263"
HREF="node18.html">Subroutine mld_precset</A> HREF="node18.html">Subroutine mld_precset</A>
<LI><A NAME="tex2html260" <LI><A NAME="tex2html264"
HREF="node19.html">Subroutine mld_precbld</A> HREF="node19.html">Subroutine mld_precbld</A>
<LI><A NAME="tex2html261" <LI><A NAME="tex2html265"
HREF="node20.html">Subroutine mld_precaply</A> HREF="node20.html">Subroutine mld_hierarchy_bld</A>
<LI><A NAME="tex2html262" <LI><A NAME="tex2html266"
HREF="node21.html">Subroutine mld_precfree</A> HREF="node21.html">Subroutine mld_ml_prec_bld</A>
<LI><A NAME="tex2html263" <LI><A NAME="tex2html267"
HREF="node22.html">Subroutine mld_precdescr</A> HREF="node22.html">Subroutine mld_precaply</A>
<LI><A NAME="tex2html268"
HREF="node23.html">Subroutine mld_precfree</A>
<LI><A NAME="tex2html269"
HREF="node24.html">Subroutine mld_precdescr</A>
</UL> </UL>
<!--End of Table of Child-Links--> <!--End of Table of Child-Links-->
<HR> <HR>
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html256" <A NAME="tex2html260"
HREF="node17.html"> HREF="node17.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html252" <A NAME="tex2html256"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html246" <A NAME="tex2html250"
HREF="node15.html"> HREF="node15.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html254" <A NAME="tex2html258"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html257" <B> Next:</B> <A NAME="tex2html261"
HREF="node17.html">Subroutine mld_precinit</A> HREF="node17.html">Subroutine mld_precinit</A>
<B> Up:</B> <A NAME="tex2html253" <B> Up:</B> <A NAME="tex2html257"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html247" <B> Previous:</B> <A NAME="tex2html251"
HREF="node15.html">Examples</A> HREF="node15.html">Examples</A>
&nbsp; <B> <A NAME="tex2html255" &nbsp; <B> <A NAME="tex2html259"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->

@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY > <BODY >
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html274" <A NAME="tex2html280"
HREF="node18.html"> HREF="node18.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html270" <A NAME="tex2html276"
HREF="node16.html"> HREF="node16.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html264" <A NAME="tex2html270"
HREF="node16.html"> HREF="node16.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html272" <A NAME="tex2html278"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html275" <B> Next:</B> <A NAME="tex2html281"
HREF="node18.html">Subroutine mld_precset</A> HREF="node18.html">Subroutine mld_precset</A>
<B> Up:</B> <A NAME="tex2html271" <B> Up:</B> <A NAME="tex2html277"
HREF="node16.html">User Interface</A> HREF="node16.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html265" <B> Previous:</B> <A NAME="tex2html271"
HREF="node16.html">User Interface</A> HREF="node16.html">User Interface</A>
&nbsp; <B> <A NAME="tex2html273" &nbsp; <B> <A NAME="tex2html279"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR> <BR>
<BR> <BR>
@ -94,7 +94,7 @@ according to the preconditioner type chosen by the user.
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer, intent(out)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer, intent(out)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>Error code. If no error, 0 is returned. See Section&nbsp;<A HREF="node23.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="node25.html#sec:errors">7</A> for details.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>nlev</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>nlev</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer, optional, intent(in)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer, optional, intent(in)</code>.</TD>
@ -114,26 +114,26 @@ according to the preconditioner type chosen by the user.
<P> <P>
<HR> <HR>
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html274" <A NAME="tex2html280"
HREF="node18.html"> HREF="node18.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html270" <A NAME="tex2html276"
HREF="node16.html"> HREF="node16.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html264" <A NAME="tex2html270"
HREF="node16.html"> HREF="node16.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html272" <A NAME="tex2html278"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html275" <B> Next:</B> <A NAME="tex2html281"
HREF="node18.html">Subroutine mld_precset</A> HREF="node18.html">Subroutine mld_precset</A>
<B> Up:</B> <A NAME="tex2html271" <B> Up:</B> <A NAME="tex2html277"
HREF="node16.html">User Interface</A> HREF="node16.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html265" <B> Previous:</B> <A NAME="tex2html271"
HREF="node16.html">User Interface</A> HREF="node16.html">User Interface</A>
&nbsp; <B> <A NAME="tex2html273" &nbsp; <B> <A NAME="tex2html279"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->

@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY > <BODY >
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html286" <A NAME="tex2html292"
HREF="node19.html"> HREF="node19.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html282" <A NAME="tex2html288"
HREF="node16.html"> HREF="node16.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html276" <A NAME="tex2html282"
HREF="node17.html"> HREF="node17.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html284" <A NAME="tex2html290"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html287" <B> Next:</B> <A NAME="tex2html293"
HREF="node19.html">Subroutine mld_precbld</A> HREF="node19.html">Subroutine mld_precbld</A>
<B> Up:</B> <A NAME="tex2html283" <B> Up:</B> <A NAME="tex2html289"
HREF="node16.html">User Interface</A> HREF="node16.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html277" <B> Previous:</B> <A NAME="tex2html283"
HREF="node17.html">Subroutine mld_precinit</A> HREF="node17.html">Subroutine mld_precinit</A>
&nbsp; <B> <A NAME="tex2html285" &nbsp; <B> <A NAME="tex2html291"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR> <BR>
<BR> <BR>
@ -144,7 +144,7 @@ modified, and thus has no direct knowledge about the new type.
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer, intent(out)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer, intent(out)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>Error code. If no error, 0 is returned. See Section&nbsp;<A HREF="node23.html#sec:errors">7</A> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>Error code. If no error, 0 is returned. See Section&nbsp;<A HREF="node25.html#sec:errors">7</A>
for details.</TD> for details.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>pos</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>pos</code></TD>
@ -209,7 +209,7 @@ according to their needs.
<P> <P>
<BR><P></P> <BR><P></P>
<DIV ALIGN="CENTER"><A NAME="1324"></A> <DIV ALIGN="CENTER"><A NAME="1363"></A>
<TABLE> <TABLE>
<CAPTION><STRONG>Table 2:</STRONG> <CAPTION><STRONG>Table 2:</STRONG>
Parameters defining the type of multi-level preconditioner. Parameters defining the type of multi-level preconditioner.
@ -253,7 +253,7 @@ Parameters defining the type of multi-level preconditioner.
<P> <P>
<BR><P></P> <BR><P></P>
<DIV ALIGN="CENTER"><A NAME="1326"></A> <DIV ALIGN="CENTER"><A NAME="1365"></A>
<TABLE> <TABLE>
<CAPTION><STRONG>Table 3:</STRONG> <CAPTION><STRONG>Table 3:</STRONG>
Parameters defining the one-level preconditioner used as smoother. Parameters defining the one-level preconditioner used as smoother.
@ -405,7 +405,7 @@ Parameters defining the one-level preconditioner used as smoother.
<P> <P>
<BR><P></P> <BR><P></P>
<DIV ALIGN="CENTER"><A NAME="1328"></A> <DIV ALIGN="CENTER"><A NAME="1367"></A>
<TABLE> <TABLE>
<CAPTION><STRONG>Table 4:</STRONG> <CAPTION><STRONG>Table 4:</STRONG>
Parameters defining the aggregation algorithm. Parameters defining the aggregation algorithm.
@ -490,7 +490,7 @@ Parameters defining the aggregation algorithm.
<P> <P>
<BR><P></P> <BR><P></P>
<DIV ALIGN="CENTER"><A NAME="1330"></A> <DIV ALIGN="CENTER"><A NAME="1369"></A>
<TABLE> <TABLE>
<CAPTION><STRONG>Table 5:</STRONG> <CAPTION><STRONG>Table 5:</STRONG>
Parameters defining the aggregation algorithm. Parameters defining the aggregation algorithm.
@ -602,7 +602,7 @@ Parameters defining the aggregation algorithm.
<P> <P>
<BR><P></P> <BR><P></P>
<DIV ALIGN="CENTER"><A NAME="1333"></A> <DIV ALIGN="CENTER"><A NAME="1372"></A>
<TABLE> <TABLE>
<CAPTION><STRONG>Table 6:</STRONG> <CAPTION><STRONG>Table 6:</STRONG>
Parameters defining the coarse-space correction at the coarsest Parameters defining the coarse-space correction at the coarsest
@ -717,26 +717,26 @@ level.</CAPTION>
<P> <P>
<HR> <HR>
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html286" <A NAME="tex2html292"
HREF="node19.html"> HREF="node19.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html282" <A NAME="tex2html288"
HREF="node16.html"> HREF="node16.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html276" <A NAME="tex2html282"
HREF="node17.html"> HREF="node17.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html284" <A NAME="tex2html290"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html287" <B> Next:</B> <A NAME="tex2html293"
HREF="node19.html">Subroutine mld_precbld</A> HREF="node19.html">Subroutine mld_precbld</A>
<B> Up:</B> <A NAME="tex2html283" <B> Up:</B> <A NAME="tex2html289"
HREF="node16.html">User Interface</A> HREF="node16.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html277" <B> Previous:</B> <A NAME="tex2html283"
HREF="node17.html">Subroutine mld_precinit</A> HREF="node17.html">Subroutine mld_precinit</A>
&nbsp; <B> <A NAME="tex2html285" &nbsp; <B> <A NAME="tex2html291"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->

@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY > <BODY >
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html298" <A NAME="tex2html304"
HREF="node20.html"> HREF="node20.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html294" <A NAME="tex2html300"
HREF="node16.html"> HREF="node16.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html288" <A NAME="tex2html294"
HREF="node18.html"> HREF="node18.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html296" <A NAME="tex2html302"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html299" <B> Next:</B> <A NAME="tex2html305"
HREF="node20.html">Subroutine mld_precaply</A> HREF="node20.html">Subroutine mld_hierarchy_bld</A>
<B> Up:</B> <A NAME="tex2html295" <B> Up:</B> <A NAME="tex2html301"
HREF="node16.html">User Interface</A> HREF="node16.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html289" <B> Previous:</B> <A NAME="tex2html295"
HREF="node18.html">Subroutine mld_precset</A> HREF="node18.html">Subroutine mld_precset</A>
&nbsp; <B> <A NAME="tex2html297" &nbsp; <B> <A NAME="tex2html303"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR> <BR>
<BR> <BR>
@ -67,6 +67,9 @@ 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>. the user through the routines <code>mld_precinit</code> and <code>mld_precset</code>.
<P> <P>
For multilevel preconditioner this routine is supported for backward
compatibility, but we recommend to use the routines of
Sec.&nbsp;<A HREF="node20.html#sec:hier_bld">6.4</A> and&nbsp;<A HREF="node21.html#sec:ml_prec_bld">6.5</A>.
<FONT SIZE="+1"><B>Arguments</B></FONT> <FONT SIZE="+1"><B>Arguments</B></FONT>
<P> <P>
@ -80,7 +83,7 @@ the user through the routines <code>mld_precinit</code> and <code>mld_precset</c
to the real/complex, to the real/complex,
single/double precision version of MLD2P4 under use. single/double precision version of MLD2P4 under use.
See the PSBLAS User's Guide for details [<A See the PSBLAS User's Guide for details [<A
HREF="node25.html#PSBLASGUIDE">16</A>].</TD> HREF="node27.html#PSBLASGUIDE">16</A>].</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>desc_a</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>desc_a</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(psb_desc_type), intent(in)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(psb_desc_type), intent(in)</code>.</TD>
@ -88,7 +91,7 @@ single/double precision version of MLD2P4 under use.
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The communication descriptor of <code>a</code>. See the PSBLAS User's Guide for <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The communication descriptor of <code>a</code>. See the PSBLAS User's Guide for
details [<A details [<A
HREF="node25.html#PSBLASGUIDE">16</A>].</TD> HREF="node27.html#PSBLASGUIDE">16</A>].</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(mld_</code><I>x</I><code>prec_type), intent(inout)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(mld_</code><I>x</I><code>prec_type), intent(inout)</code>.</TD>
@ -101,34 +104,33 @@ single/double precision version of MLD2P4 under use.
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer, intent(out)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer, intent(out)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>Error code. If no error, 0 is returned. See Section&nbsp;<A HREF="node23.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="node25.html#sec:errors">7</A> for details.</TD>
</TR> </TR>
</TABLE> </TABLE>
<P> <P>
<HR> <HR>
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html298" <A NAME="tex2html304"
HREF="node20.html"> HREF="node20.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html294" <A NAME="tex2html300"
HREF="node16.html"> HREF="node16.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html288" <A NAME="tex2html294"
HREF="node18.html"> HREF="node18.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html296" <A NAME="tex2html302"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html299" <B> Next:</B> <A NAME="tex2html305"
HREF="node20.html">Subroutine mld_precaply</A> HREF="node20.html">Subroutine mld_hierarchy_bld</A>
<B> Up:</B> <A NAME="tex2html295" <B> Up:</B> <A NAME="tex2html301"
HREF="node16.html">User Interface</A> HREF="node16.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html289" <B> Previous:</B> <A NAME="tex2html295"
HREF="node18.html">Subroutine mld_precset</A> HREF="node18.html">Subroutine mld_precset</A>
&nbsp; <B> <A NAME="tex2html297" &nbsp; <B> <A NAME="tex2html303"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->

@ -26,21 +26,21 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY > <BODY >
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html63" <A NAME="tex2html65"
HREF="node3.html"> HREF="node3.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html61" <A NAME="tex2html63"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html55" <A NAME="tex2html57"
HREF="node1.html"> HREF="node1.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html64" <B> Next:</B> <A NAME="tex2html66"
HREF="node3.html">General Overview</A> HREF="node3.html">General Overview</A>
<B> Up:</B> <A NAME="tex2html62" <B> Up:</B> <A NAME="tex2html64"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html56" <B> Previous:</B> <A NAME="tex2html58"
HREF="node1.html">Abstract</A> HREF="node1.html">Abstract</A>
<BR> <BR>
<BR> <BR>
@ -53,64 +53,68 @@ Contents</A>
<!--Table of Contents--> <!--Table of Contents-->
<UL> <UL>
<LI><A NAME="tex2html65" <LI><A NAME="tex2html67"
HREF="node3.html">General Overview</A> HREF="node3.html">General Overview</A>
<LI><A NAME="tex2html66" <LI><A NAME="tex2html68"
HREF="node4.html">Code Distribution</A> HREF="node4.html">Code Distribution</A>
<LI><A NAME="tex2html67" <LI><A NAME="tex2html69"
HREF="node5.html">Configuring and Building MLD2P4</A> HREF="node5.html">Configuring and Building MLD2P4</A>
<UL> <UL>
<LI><A NAME="tex2html68" <LI><A NAME="tex2html70"
HREF="node6.html">Prerequisites</A> HREF="node6.html">Prerequisites</A>
<LI><A NAME="tex2html69" <LI><A NAME="tex2html71"
HREF="node7.html">Optional third party libraries</A> HREF="node7.html">Optional third party libraries</A>
<LI><A NAME="tex2html70" <LI><A NAME="tex2html72"
HREF="node8.html">Configuration options</A> HREF="node8.html">Configuration options</A>
<LI><A NAME="tex2html71" <LI><A NAME="tex2html73"
HREF="node9.html">Bug reporting</A> HREF="node9.html">Bug reporting</A>
<LI><A NAME="tex2html72" <LI><A NAME="tex2html74"
HREF="node10.html">Example and test programs</A> HREF="node10.html">Example and test programs</A>
</UL> </UL>
<BR> <BR>
<LI><A NAME="tex2html73" <LI><A NAME="tex2html75"
HREF="node11.html">Multi-level Domain Decomposition Background</A> HREF="node11.html">Multi-level Domain Decomposition Background</A>
<UL> <UL>
<LI><A NAME="tex2html74" <LI><A NAME="tex2html76"
HREF="node12.html">Multi-level Schwarz Preconditioners</A> HREF="node12.html">Multi-level Schwarz Preconditioners</A>
<LI><A NAME="tex2html75" <LI><A NAME="tex2html77"
HREF="node13.html">Smoothed Aggregation</A> HREF="node13.html">Smoothed Aggregation</A>
</UL> </UL>
<BR> <BR>
<LI><A NAME="tex2html76" <LI><A NAME="tex2html78"
HREF="node14.html">Getting Started</A> HREF="node14.html">Getting Started</A>
<UL> <UL>
<LI><A NAME="tex2html77" <LI><A NAME="tex2html79"
HREF="node15.html">Examples</A> HREF="node15.html">Examples</A>
</UL> </UL>
<BR> <BR>
<LI><A NAME="tex2html78" <LI><A NAME="tex2html80"
HREF="node16.html">User Interface</A> HREF="node16.html">User Interface</A>
<UL> <UL>
<LI><A NAME="tex2html79"
HREF="node17.html">Subroutine mld_precinit</A>
<LI><A NAME="tex2html80"
HREF="node18.html">Subroutine mld_precset</A>
<LI><A NAME="tex2html81" <LI><A NAME="tex2html81"
HREF="node19.html">Subroutine mld_precbld</A> HREF="node17.html">Subroutine mld_precinit</A>
<LI><A NAME="tex2html82" <LI><A NAME="tex2html82"
HREF="node20.html">Subroutine mld_precaply</A> HREF="node18.html">Subroutine mld_precset</A>
<LI><A NAME="tex2html83" <LI><A NAME="tex2html83"
HREF="node21.html">Subroutine mld_precfree</A> HREF="node19.html">Subroutine mld_precbld</A>
<LI><A NAME="tex2html84" <LI><A NAME="tex2html84"
HREF="node22.html">Subroutine mld_precdescr</A> HREF="node20.html">Subroutine mld_hierarchy_bld</A>
</UL>
<BR>
<LI><A NAME="tex2html85" <LI><A NAME="tex2html85"
HREF="node23.html">Error Handling</A> HREF="node21.html">Subroutine mld_ml_prec_bld</A>
<LI><A NAME="tex2html86" <LI><A NAME="tex2html86"
HREF="node24.html">License</A> HREF="node22.html">Subroutine mld_precaply</A>
<LI><A NAME="tex2html87" <LI><A NAME="tex2html87"
HREF="node25.html">Bibliography</A> HREF="node23.html">Subroutine mld_precfree</A>
<LI><A NAME="tex2html88"
HREF="node24.html">Subroutine mld_precdescr</A>
</UL>
<BR>
<LI><A NAME="tex2html89"
HREF="node25.html">Error Handling</A>
<LI><A NAME="tex2html90"
HREF="node26.html">License</A>
<LI><A NAME="tex2html91"
HREF="node27.html">Bibliography</A>
</UL> </UL>
<!--End of Table of Contents--> <!--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 --> Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML> <HTML>
<HEAD> <HEAD>
<TITLE>Subroutine mld_precaply</TITLE> <TITLE>Subroutine mld_hierarchy_bld</TITLE>
<META NAME="description" CONTENT="Subroutine mld_precaply"> <META NAME="description" CONTENT="Subroutine mld_hierarchy_bld">
<META NAME="keywords" CONTENT="userhtml"> <META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document"> <META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global"> <META NAME="distribution" CONTENT="global">
@ -26,184 +26,108 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY > <BODY >
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html310" <A NAME="tex2html316"
HREF="node21.html"> HREF="node21.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html306" <A NAME="tex2html312"
HREF="node16.html"> HREF="node16.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html300" <A NAME="tex2html306"
HREF="node19.html"> HREF="node19.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html308" <A NAME="tex2html314"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html311" <B> Next:</B> <A NAME="tex2html317"
HREF="node21.html">Subroutine mld_precfree</A> HREF="node21.html">Subroutine mld_ml_prec_bld</A>
<B> Up:</B> <A NAME="tex2html307" <B> Up:</B> <A NAME="tex2html313"
HREF="node16.html">User Interface</A> HREF="node16.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html301" <B> Previous:</B> <A NAME="tex2html307"
HREF="node19.html">Subroutine mld_precbld</A> HREF="node19.html">Subroutine mld_precbld</A>
&nbsp; <B> <A NAME="tex2html309" &nbsp; <B> <A NAME="tex2html315"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR> <BR>
<BR> <BR>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H2><A NAME="SECTION00084000000000000000"></A><A NAME="sec:precaply"></A> <H2><A NAME="SECTION00084000000000000000"></A><A NAME="sec:hier_bld"></A>
<BR> <BR>
Subroutine mld_precaply Subroutine mld_hierarchy_bld
</H2> </H2>
<P> <P>
<DIV ALIGN="CENTER"> <DIV ALIGN="CENTER">
<code>mld_precaply(p,x,y,desc_a,info)</code> <code>mld_hierachy_bld(a,desc_a,p,info)</code>
<BR><code>mld_precaply(p,x,y,desc_a,info,trans,work)</code>
<BR> <BR>
</DIV> </DIV>
<P> <P>
This routine computes <!-- MATH This routine builds the aggregation hierarchy according to the requirements made by
$y = op(M^{-1})\, x$ the user through the routines <code>mld_precinit</code> and <code>mld_precset</code>.
-->
<IMG
WIDTH="118" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img101.png"
ALT="$y = op(M^{-1}) x$">, where <IMG
WIDTH="23" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img60.png"
ALT="$M$"> is a previously built
preconditioner, stored into <code>p</code>, and <IMG
WIDTH="21" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img102.png"
ALT="$op$">
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>psb_krylov</code>
and hence it is completely transparent to the user.
<P> <P>
<FONT SIZE="+1"><B>Arguments</B></FONT> <FONT SIZE="+1"><B>Arguments</B></FONT>
<P> <P>
<TABLE CELLPADDING=3> <TABLE CELLPADDING=3>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>a</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(mld_</code><I>x</I><code>prec_type), intent(inout)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(psb_</code><I>x</I><code>spmat_type), intent(in)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The preconditioner data structure, containing the local part of <IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The sparse matrix structure containing the local part of the
WIDTH="23" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" matrix to be preconditioned. Note that <I>x</I> must be chosen according
SRC="img60.png" to the real/complex,
ALT="$M$">. single/double precision version of MLD2P4 under use.
Note that <I>x</I> must be chosen according See the PSBLAS User's Guide for details [<A
to the real/complex, single/double precision version of MLD2P4 under use.</TD> HREF="node27.html#PSBLASGUIDE">16</A>].</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>x</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>desc_a</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><I>type</I><code>(</code><I>kind_parameter</I><code>), dimension(:), intent(in)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(psb_desc_type), intent(in)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The local part of the vector <IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The communication descriptor of <code>a</code>. See the PSBLAS User's Guide for
WIDTH="15" HEIGHT="18" ALIGN="BOTTOM" BORDER="0" details [<A
SRC="img103.png" HREF="node27.html#PSBLASGUIDE">16</A>].</TD>
ALT="$x$">. Note that <I>type</I> and
<I>kind_parameter</I> must be chosen according
to the real/complex, single/double precision version of MLD2P4 under use.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>y</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><I>type</I><code>(</code><I>kind_parameter</I><code>), dimension(:), intent(out)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(mld_</code><I>x</I><code>prec_type), intent(inout)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The local part of the vector <IMG <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The preconditioner data structure. Note that <I>x</I> must be chosen according
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img104.png"
ALT="$y$">. Note that <I>type</I> and
<I>kind_parameter</I> must be chosen according
to the real/complex, single/double precision version of MLD2P4 under use.</TD> to the real/complex, single/double precision version of MLD2P4 under use.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>desc_a</code></TD>
<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> <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> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer, intent(out)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>Error code. If no error, 0 is returned. See Section&nbsp;<A HREF="node23.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="node25.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}$
-->
<IMG
WIDTH="132" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img105.png"
ALT="$op(M^{-1}) = M^{-1}$">;
if <code>trans</code> = <code>'T','t'</code> then <!-- MATH
$op(M^{-1}) = M^{-T}$
-->
<IMG
WIDTH="135" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
SRC="img106.png"
ALT="$op(M^{-1}) = M^{-T}$">
(transpose of <IMG
WIDTH="48" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img107.png"
ALT="$M^{-1})$">; if <code>trans</code> = <code>'C','c'</code> then <!-- MATH
$op(M^{-1}) = M^{-C}$
-->
<IMG
WIDTH="136" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
SRC="img108.png"
ALT="$op(M^{-1}) = M^{-C}$">
(conjugate transpose of <IMG
WIDTH="48" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img107.png"
ALT="$M^{-1})$">.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>work</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><I>type</I><code>(</code><I>kind_parameter</I><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 <I>type</I> and <I>kind_parameter</I> must be chosen according
to the real/complex, single/double precision version of MLD2P4 under use.</TD>
</TR> </TR>
</TABLE> </TABLE>
<P>
<P> <P>
<HR> <HR>
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html310" <A NAME="tex2html316"
HREF="node21.html"> HREF="node21.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html306" <A NAME="tex2html312"
HREF="node16.html"> HREF="node16.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html300" <A NAME="tex2html306"
HREF="node19.html"> HREF="node19.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html308" <A NAME="tex2html314"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html311" <B> Next:</B> <A NAME="tex2html317"
HREF="node21.html">Subroutine mld_precfree</A> HREF="node21.html">Subroutine mld_ml_prec_bld</A>
<B> Up:</B> <A NAME="tex2html307" <B> Up:</B> <A NAME="tex2html313"
HREF="node16.html">User Interface</A> HREF="node16.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html301" <B> Previous:</B> <A NAME="tex2html307"
HREF="node19.html">Subroutine mld_precbld</A> HREF="node19.html">Subroutine mld_precbld</A>
&nbsp; <B> <A NAME="tex2html309" &nbsp; <B> <A NAME="tex2html315"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->

@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
Jens Lippmann, Marek Rouchal, Martin Wilck and others --> Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML> <HTML>
<HEAD> <HEAD>
<TITLE>Subroutine mld_precfree</TITLE> <TITLE>Subroutine mld_ml_prec_bld</TITLE>
<META NAME="description" CONTENT="Subroutine mld_precfree"> <META NAME="description" CONTENT="Subroutine mld_ml_prec_bld">
<META NAME="keywords" CONTENT="userhtml"> <META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document"> <META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global"> <META NAME="distribution" CONTENT="global">
@ -26,69 +26,114 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY > <BODY >
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html322" <A NAME="tex2html328"
HREF="node22.html"> HREF="node22.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html318" <A NAME="tex2html324"
HREF="node16.html"> HREF="node16.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html312" <A NAME="tex2html318"
HREF="node20.html"> HREF="node20.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html320" <A NAME="tex2html326"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html323" <B> Next:</B> <A NAME="tex2html329"
HREF="node22.html">Subroutine mld_precdescr</A> HREF="node22.html">Subroutine mld_precaply</A>
<B> Up:</B> <A NAME="tex2html319" <B> Up:</B> <A NAME="tex2html325"
HREF="node16.html">User Interface</A> HREF="node16.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html313" <B> Previous:</B> <A NAME="tex2html319"
HREF="node20.html">Subroutine mld_precaply</A> HREF="node20.html">Subroutine mld_hierarchy_bld</A>
&nbsp; <B> <A NAME="tex2html321" &nbsp; <B> <A NAME="tex2html327"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR> <BR>
<BR> <BR>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H2><A NAME="SECTION00085000000000000000"></A><A NAME="sec:precfree"></A> <H2><A NAME="SECTION00085000000000000000"></A><A NAME="sec:ml_prec_bld"></A>
<BR> <BR>
Subroutine mld_precfree Subroutine mld_ml_prec_bld
</H2> </H2>
<P> <P>
<DIV ALIGN="CENTER"> <DIV ALIGN="CENTER">
<code>mld_precfree(p,info)</code> <code>mld_ml_prec_bld(a,desc_a,p,info)</code>
<BR> <BR>
</DIV> </DIV>
<P> <P>
This routine deallocates the preconditioner data structure. 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>, based on the aggregation hierahy produced by a
previous call to <code>mld_hierarchy_bld</code> (see
Sec.&nbsp;<A HREF="node20.html#sec:hier_bld">6.4</A>).
<P> <P>
<FONT SIZE="+1"><B>Arguments</B></FONT> <FONT SIZE="+1"><B>Arguments</B></FONT>
<P> <P>
<TABLE CELLPADDING=3> <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><I>x</I><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 <I>x</I> 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="node27.html#PSBLASGUIDE">16</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="node27.html#PSBLASGUIDE">16</A>].</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298><code>type(mld_</code><I>x</I><code>prec_type), intent(inout)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(mld_</code><I>x</I><code>prec_type), intent(inout)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>The preconditioner data structure. Note that <I>x</I> must be chosen according <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The preconditioner data structure. Note that <I>x</I> must be chosen according
to the real/complex, single/double precision version of MLD2P4 under use.</TD> to the real/complex, single/double precision version of MLD2P4 under use.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>info</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>info</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298><code>integer, intent(out)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer, intent(out)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>Error code. If no error, 0 is returned. See Section&nbsp;<A HREF="node23.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="node25.html#sec:errors">7</A> for details.</TD>
</TR> </TR>
</TABLE> </TABLE>
<P> <P>
<P> <HR>
<BR><HR> <!--Navigation Panel-->
<A NAME="tex2html328"
HREF="node22.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html324"
HREF="node16.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html318"
HREF="node20.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html326"
HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html329"
HREF="node22.html">Subroutine mld_precaply</A>
<B> Up:</B> <A NAME="tex2html325"
HREF="node16.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html319"
HREF="node20.html">Subroutine mld_hierarchy_bld</A>
&nbsp; <B> <A NAME="tex2html327"
HREF="node2.html">Contents</A></B>
<!--End of Navigation Panel-->
</BODY> </BODY>
</HTML> </HTML>

@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
Jens Lippmann, Marek Rouchal, Martin Wilck and others --> Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML> <HTML>
<HEAD> <HEAD>
<TITLE>Subroutine mld_precdescr</TITLE> <TITLE>Subroutine mld_precaply</TITLE>
<META NAME="description" CONTENT="Subroutine mld_precdescr"> <META NAME="description" CONTENT="Subroutine mld_precaply">
<META NAME="keywords" CONTENT="userhtml"> <META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document"> <META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global"> <META NAME="distribution" CONTENT="global">
@ -18,6 +18,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<LINK REL="STYLESHEET" HREF="userhtml.css"> <LINK REL="STYLESHEET" HREF="userhtml.css">
<LINK REL="next" HREF="node23.html">
<LINK REL="previous" HREF="node21.html"> <LINK REL="previous" HREF="node21.html">
<LINK REL="up" HREF="node16.html"> <LINK REL="up" HREF="node16.html">
<LINK REL="next" HREF="node23.html"> <LINK REL="next" HREF="node23.html">
@ -25,46 +26,63 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY > <BODY >
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html332" <A NAME="tex2html340"
HREF="node23.html"> HREF="node23.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html328" <A NAME="tex2html336"
HREF="node16.html"> HREF="node16.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html324" <A NAME="tex2html330"
HREF="node21.html"> HREF="node21.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html330" <A NAME="tex2html338"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html333" <B> Next:</B> <A NAME="tex2html341"
HREF="node23.html">Error Handling</A> HREF="node23.html">Subroutine mld_precfree</A>
<B> Up:</B> <A NAME="tex2html329" <B> Up:</B> <A NAME="tex2html337"
HREF="node16.html">User Interface</A> HREF="node16.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html325" <B> Previous:</B> <A NAME="tex2html331"
HREF="node21.html">Subroutine mld_precfree</A> HREF="node21.html">Subroutine mld_ml_prec_bld</A>
&nbsp; <B> <A NAME="tex2html331" &nbsp; <B> <A NAME="tex2html339"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR> <BR>
<BR> <BR>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H2><A NAME="SECTION00086000000000000000"></A><A NAME="sec:precdescr"></A> <H2><A NAME="SECTION00086000000000000000"></A><A NAME="sec:precaply"></A>
<BR> <BR>
Subroutine mld_precdescr Subroutine mld_precaply
</H2> </H2>
<P> <P>
<DIV ALIGN="CENTER"> <DIV ALIGN="CENTER">
<code>mld_precdescr(p,info)</code> <code>mld_precaply(p,x,y,desc_a,info)</code>
<BR><code>mld_precdescr(p,info,iout)</code> <BR><code>mld_precaply(p,x,y,desc_a,info,trans,work)</code>
<BR> <BR>
</DIV> </DIV>
<P> <P>
This routine prints a description of the preconditioner to the standard output or This routine computes <!-- MATH
to a file. It must be called after <code>mld_precbld</code> has been called. $y = op(M^{-1})\, x$
-->
<IMG
WIDTH="118" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img101.png"
ALT="$y = op(M^{-1}) x$">, where <IMG
WIDTH="23" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img60.png"
ALT="$M$"> is a previously built
preconditioner, stored into <code>p</code>, and <IMG
WIDTH="21" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img102.png"
ALT="$op$">
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>psb_krylov</code>
and hence it is completely transparent to the user.
<P> <P>
<FONT SIZE="+1"><B>Arguments</B></FONT> <FONT SIZE="+1"><B>Arguments</B></FONT>
@ -72,29 +90,122 @@ to a file. It must be called after <code>mld_precbld</code> has been called.
<P> <P>
<TABLE CELLPADDING=3> <TABLE CELLPADDING=3>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(mld_</code><I>x</I><code>prec_type), intent(in)</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(mld_</code><I>x</I><code>prec_type), intent(inout)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The preconditioner data structure. Note that <I>x</I> must be chosen according <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The preconditioner data structure, containing the local part of <IMG
WIDTH="23" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img60.png"
ALT="$M$">.
Note that <I>x</I> must be chosen according
to the real/complex, single/double precision version of MLD2P4 under use.</TD> to the real/complex, single/double precision version of MLD2P4 under use.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>x</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><I>type</I><code>(</code><I>kind_parameter</I><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 <IMG
WIDTH="15" HEIGHT="18" ALIGN="BOTTOM" BORDER="0"
SRC="img103.png"
ALT="$x$">. Note that <I>type</I> and
<I>kind_parameter</I> 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><I>type</I><code>(</code><I>kind_parameter</I><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 <IMG
WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img104.png"
ALT="$y$">. Note that <I>type</I> and
<I>kind_parameter</I> 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> <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> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer, intent(out)</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>Error code. If no error, 0 is returned. See Section&nbsp;<A HREF="node23.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="node25.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}$
-->
<IMG
WIDTH="132" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img105.png"
ALT="$op(M^{-1}) = M^{-1}$">;
if <code>trans</code> = <code>'T','t'</code> then <!-- MATH
$op(M^{-1}) = M^{-T}$
-->
<IMG
WIDTH="135" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
SRC="img106.png"
ALT="$op(M^{-1}) = M^{-T}$">
(transpose of <IMG
WIDTH="48" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img107.png"
ALT="$M^{-1})$">; if <code>trans</code> = <code>'C','c'</code> then <!-- MATH
$op(M^{-1}) = M^{-C}$
-->
<IMG
WIDTH="136" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
SRC="img108.png"
ALT="$op(M^{-1}) = M^{-C}$">
(conjugate transpose of <IMG
WIDTH="48" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img107.png"
ALT="$M^{-1})$">.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>iout</code></TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>work</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer, intent(in), optional</code>.</TD> <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><I>type</I><code>(</code><I>kind_parameter</I><code>), dimension(:), optional, target</code>.</TD>
</TR> </TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD> <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The id of the file where the preconditioner description <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>Workspace. Its size should be at
will be printed; the default is the standard output.</TD> least <code>4 * psb_cd_get_local_</code> <code>cols(desc_a)</code> (see the PSBLAS User's Guide).
Note that <I>type</I> and <I>kind_parameter</I> must be chosen according
to the real/complex, single/double precision version of MLD2P4 under use.</TD>
</TR> </TR>
</TABLE> </TABLE>
<P> <P>
<BR><HR>
<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html340"
HREF="node23.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html336"
HREF="node16.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html330"
HREF="node21.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html338"
HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html341"
HREF="node23.html">Subroutine mld_precfree</A>
<B> Up:</B> <A NAME="tex2html337"
HREF="node16.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html331"
HREF="node21.html">Subroutine mld_ml_prec_bld</A>
&nbsp; <B> <A NAME="tex2html339"
HREF="node2.html">Contents</A></B>
<!--End of Navigation Panel-->
</BODY> </BODY>
</HTML> </HTML>

@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
Jens Lippmann, Marek Rouchal, Martin Wilck and others --> Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML> <HTML>
<HEAD> <HEAD>
<TITLE>Error Handling</TITLE> <TITLE>Subroutine mld_precfree</TITLE>
<META NAME="description" CONTENT="Error Handling"> <META NAME="description" CONTENT="Subroutine mld_precfree">
<META NAME="keywords" CONTENT="userhtml"> <META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document"> <META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global"> <META NAME="distribution" CONTENT="global">
@ -19,59 +19,75 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<LINK REL="STYLESHEET" HREF="userhtml.css"> <LINK REL="STYLESHEET" HREF="userhtml.css">
<LINK REL="next" HREF="node24.html"> <LINK REL="next" HREF="node24.html">
<LINK REL="previous" HREF="node16.html"> <LINK REL="previous" HREF="node22.html">
<LINK REL="up" HREF="userhtml.html"> <LINK REL="up" HREF="node16.html">
<LINK REL="next" HREF="node24.html"> <LINK REL="next" HREF="node24.html">
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html344" <A NAME="tex2html352"
HREF="node24.html"> HREF="node24.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html340" <A NAME="tex2html348"
HREF="userhtml.html"> HREF="node16.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html334" <A NAME="tex2html342"
HREF="node22.html"> HREF="node22.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html342" <A NAME="tex2html350"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html345" <B> Next:</B> <A NAME="tex2html353"
HREF="node24.html">License</A> HREF="node24.html">Subroutine mld_precdescr</A>
<B> Up:</B> <A NAME="tex2html341" <B> Up:</B> <A NAME="tex2html349"
HREF="userhtml.html">userhtml</A> HREF="node16.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html335" <B> Previous:</B> <A NAME="tex2html343"
HREF="node22.html">Subroutine mld_precdescr</A> HREF="node22.html">Subroutine mld_precaply</A>
&nbsp; <B> <A NAME="tex2html343" &nbsp; <B> <A NAME="tex2html351"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR> <BR>
<BR> <BR>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H1><A NAME="SECTION00090000000000000000"></A><A NAME="sec:errors"></A> <H2><A NAME="SECTION00087000000000000000"></A><A NAME="sec:precfree"></A>
<BR>
Subroutine mld_precfree
</H2>
<P>
<DIV ALIGN="CENTER">
<code>mld_precfree(p,info)</code>
<BR> <BR>
Error Handling </DIV>
</H1>
<P> <P>
The error handling in MLD2P4 is based on the PSBLAS (version 2) error This routine deallocates the preconditioner data structure.
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="node25.html#PSBLASGUIDE">16</A>].
<P> <P>
<FONT SIZE="+1"><B>Arguments</B></FONT>
<P>
<TABLE CELLPADDING=3>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</code></TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298><code>type(mld_</code><I>x</I><code>prec_type), intent(inout)</code>.</TD>
</TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=298>The preconditioner data structure. Note that <I>x</I> must be chosen according
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="node25.html#sec:errors">7</A> for details.</TD>
</TR>
</TABLE>
<P>
<P>
<BR><HR> <BR><HR>
</BODY> </BODY>

@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
Jens Lippmann, Marek Rouchal, Martin Wilck and others --> Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML> <HTML>
<HEAD> <HEAD>
<TITLE>License</TITLE> <TITLE>Subroutine mld_precdescr</TITLE>
<META NAME="description" CONTENT="License"> <META NAME="description" CONTENT="Subroutine mld_precdescr">
<META NAME="keywords" CONTENT="userhtml"> <META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document"> <META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global"> <META NAME="distribution" CONTENT="global">
@ -18,86 +18,82 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<LINK REL="STYLESHEET" HREF="userhtml.css"> <LINK REL="STYLESHEET" HREF="userhtml.css">
<LINK REL="next" HREF="node25.html">
<LINK REL="previous" HREF="node23.html"> <LINK REL="previous" HREF="node23.html">
<LINK REL="up" HREF="userhtml.html"> <LINK REL="up" HREF="node16.html">
<LINK REL="next" HREF="node25.html"> <LINK REL="next" HREF="node25.html">
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html356" <A NAME="tex2html362"
HREF="node25.html"> HREF="node25.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html352" <A NAME="tex2html358"
HREF="userhtml.html"> HREF="node16.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html346" <A NAME="tex2html354"
HREF="node23.html"> HREF="node23.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html354" <A NAME="tex2html360"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html357" <B> Next:</B> <A NAME="tex2html363"
HREF="node25.html">Bibliography</A> HREF="node25.html">Error Handling</A>
<B> Up:</B> <A NAME="tex2html353" <B> Up:</B> <A NAME="tex2html359"
HREF="userhtml.html">userhtml</A> HREF="node16.html">User Interface</A>
<B> Previous:</B> <A NAME="tex2html347" <B> Previous:</B> <A NAME="tex2html355"
HREF="node23.html">Error Handling</A> HREF="node23.html">Subroutine mld_precfree</A>
&nbsp; <B> <A NAME="tex2html355" &nbsp; <B> <A NAME="tex2html361"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR> <BR>
<BR> <BR>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H1><A NAME="SECTION000100000000000000000"></A><A NAME="sec:license"></A> <H2><A NAME="SECTION00088000000000000000"></A><A NAME="sec:precdescr"></A>
<BR> <BR>
License Subroutine mld_precdescr
</H1> </H2>
<P> <P>
The MLD2P4 is freely distributable under the following copyright <DIV ALIGN="CENTER">
terms: <PRE> <code>mld_precdescr(p,info)</code>
<BR><code>mld_precdescr(p,info,iout)</code>
<BR>
MLD2P4 version 2.0 </DIV>
MultiLevel Domain Decomposition Parallel Preconditioners Package
based on PSBLAS (Parallel Sparse BLAS version 3.3)
(C) Copyright 2008, 2010, 2012, 2015
Salvatore Filippone University of Rome Tor Vergata
Alfredo Buttari CNRS-IRIT, Toulouse
Pasqua D'Ambra ICAR-CNR, Naples
Daniela di Serafino Second University of Naples
<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.
Redistribution and use in source and binary forms, with or without <P>
modification, are permitted provided that the following conditions <FONT SIZE="+1"><B>Arguments</B></FONT>
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 <P>
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED <TABLE CELLPADDING=3>
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>p</code></TD>
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE MLD2P4 GROUP OR ITS CONTRIBUTORS <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>type(mld_</code><I>x</I><code>prec_type), intent(in)</code>.</TD>
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR </TR>
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34>&nbsp;</TD>
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340>The preconditioner data structure. Note that <I>x</I> must be chosen according
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN to the real/complex, single/double precision version of MLD2P4 under use.</TD>
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) </TR>
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE <TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=34><code>info</code></TD>
POSSIBILITY OF SUCH DAMAGE. <TD ALIGN="LEFT" VALIGN="TOP" WIDTH=340><code>integer, intent(out)</code>.</TD>
</PRE> </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="node25.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> <BR><HR>
</BODY> </BODY>

@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
Jens Lippmann, Marek Rouchal, Martin Wilck and others --> Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML> <HTML>
<HEAD> <HEAD>
<TITLE>Bibliography</TITLE> <TITLE>Error Handling</TITLE>
<META NAME="description" CONTENT="Bibliography"> <META NAME="description" CONTENT="Error Handling">
<META NAME="keywords" CONTENT="userhtml"> <META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document"> <META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global"> <META NAME="distribution" CONTENT="global">
@ -19,185 +19,59 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<LINK REL="STYLESHEET" HREF="userhtml.css"> <LINK REL="STYLESHEET" HREF="userhtml.css">
<LINK REL="next" HREF="node26.html"> <LINK REL="next" HREF="node26.html">
<LINK REL="previous" HREF="node24.html"> <LINK REL="previous" HREF="node16.html">
<LINK REL="up" HREF="userhtml.html"> <LINK REL="up" HREF="userhtml.html">
<LINK REL="next" HREF="node26.html"> <LINK REL="next" HREF="node26.html">
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html368" <A NAME="tex2html374"
HREF="node26.html"> HREF="node26.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html364" <A NAME="tex2html370"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html358" <A NAME="tex2html364"
HREF="node24.html"> HREF="node24.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html366" <A NAME="tex2html372"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html369" <B> Next:</B> <A NAME="tex2html375"
HREF="node26.html">About this document ...</A> HREF="node26.html">License</A>
<B> Up:</B> <A NAME="tex2html365" <B> Up:</B> <A NAME="tex2html371"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html359" <B> Previous:</B> <A NAME="tex2html365"
HREF="node24.html">License</A> HREF="node24.html">Subroutine mld_precdescr</A>
&nbsp; <B> <A NAME="tex2html367" &nbsp; <B> <A NAME="tex2html373"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR><BR> <BR>
<BR>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H2><A NAME="SECTION000110000000000000000"> <H1><A NAME="SECTION00090000000000000000"></A><A NAME="sec:errors"></A>
Bibliography</A> <BR>
</H2><DL COMPACT><DD> Error Handling
</H1>
<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>
<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="MLD2P4_TOMS">8</A>
<DD>
P.&nbsp;D'Ambra, D.&nbsp;di&nbsp;Serafino, S.&nbsp;Filippone,
<I>MLD2P4: a Package of Parallel Multilevel
Algebraic Domain Decomposition Preconditioners
in Fortran 95</I>, ACM Trans. Math. Softw., 37(3), 2010.<P></P><DT><A NAME="UMFPACK">9</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></P><DT><A NAME="MUMPS">10</A>
<DD>
P.R.&nbsp;Amestoy, C.&nbsp;Ashcraft, O.&nbsp;Boiteau, A.&nbsp;Buttari, J.&nbsp;L'Excellent, C.&nbsp;Weisbecker
<EM>Improving multifrontal methods by means of block low-rank representations</EM>,
SIAM SISC, volume 37, number 3, pages A1452-A1474.
(See also <TT>http://mumps.enseeiht.fr</TT>)
<P>
<P></P><DT><A NAME="SUPERLU">11</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">12</A>
<DD>
J.&nbsp;J.&nbsp;Dongarra, J.&nbsp;Du Croz, I.&nbsp;S.&nbsp;Duff, S.&nbsp;Hammarling,
<I>A set of Level 3 Basic Linear Algebra Subprograms</I>,
ACM Transactions on Mathematical Software, 16, 1990, 1-17.<P></P><DT><A NAME="blas2">13</A>
<DD>
J.&nbsp;J.&nbsp;Dongarra, J.&nbsp;Du Croz, S.&nbsp;Hammarling, R.&nbsp;J.&nbsp;Hanson,
<I>An extended set of FORTRAN Basic Linear Algebra Subprograms</I>,
ACM Transactions on Mathematical Software, 14, 1988, 1-17.<P></P><DT><A NAME="BLACS">14</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">15</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">16</A>
<DD>
S.&nbsp;Filippone, A.&nbsp;Buttari,
<EM>PSBLAS-3.0 User's Guide. A Reference Guide for the Parallel Sparse BLAS Library</EM>, 2012,
available from <TT>http://www.ce.uniroma2.it/psblas/</TT>.
<P>
<P></P><DT><A NAME="PSBLAS3">17</A>
<DD>
Salvatore Filippone and Alfredo Buttari.
<EM>Object-Oriented Techniques for Sparse Matrix Computations in Fortran
2003.</EM>
ACM Trans. on Math Software, 38(4), 2012.
<P> <P>
<P></P><DT><A NAME="psblas_00">18</A> The error handling in MLD2P4 is based on the PSBLAS (version 2) error
<DD> handling. Error conditions are signaled via an integer argument
S.&nbsp;Filippone, M.&nbsp;Colajanni, <code>info</code>; whenever an error condition is detected, an error trace
<EM>PSBLAS: A Library for Parallel Linear Algebra stack is built by the library up to the top-level, user-callable
Computation on Sparse Matrices</EM>, routine. This routine will then decide, according to the user
ACM Transactions on Mathematical Software, 26, 4, 2000, 527-550.<P></P><DT><A NAME="MPI2">19</A> preferences, whether the error should be handled by terminating the
<DD> program or by returning the error condition to the user code, which
W.&nbsp;Gropp, S.&nbsp;Huss-Lederman, A.&nbsp;Lumsdaine, E.&nbsp;Lusk, B.&nbsp;Nitzberg, W.&nbsp;Saphir, M.&nbsp;Snir, will then take action, and whether
<EM>MPI: The Complete Reference. Volume 2 - The MPI-2 Extensions</EM>, an error message should be printed. These options may be set by using
MIT Press, 1998.<P></P><DT><A NAME="blas1">20</A> the PSBLAS error handling routines; for further details see the PSBLAS
<DD> User's Guide [<A
C.&nbsp;L.&nbsp;Lawson, R.&nbsp;J.&nbsp;Hanson, D.&nbsp;Kincaid, F.&nbsp;T.&nbsp;Krogh, HREF="node27.html#PSBLASGUIDE">16</A>].
<I>Basic Linear Algebra Subprograms for FORTRAN usage</I>,
ACM Transactions on Mathematical Software, 5, 1979, 308-323.<P></P><DT><A NAME="SUPERLUDIST">21</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">22</A>
<DD>
Y.&nbsp;Saad,
<I>Iterative methods for sparse linear systems</I>, 2nd edition,
SIAM, 2003
<P> <P>
<P></P><DT><A NAME="dd2_96">23</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">24</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">25</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">26</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">27</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>
</DL>
<P>
<BR><HR> <BR><HR>
</BODY> </BODY>

@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
Jens Lippmann, Marek Rouchal, Martin Wilck and others --> Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML> <HTML>
<HEAD> <HEAD>
<TITLE>About this document ...</TITLE> <TITLE>License</TITLE>
<META NAME="description" CONTENT="About this document ..."> <META NAME="description" CONTENT="License">
<META NAME="keywords" CONTENT="userhtml"> <META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document"> <META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global"> <META NAME="distribution" CONTENT="global">
@ -18,52 +18,86 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<LINK REL="STYLESHEET" HREF="userhtml.css"> <LINK REL="STYLESHEET" HREF="userhtml.css">
<LINK REL="next" HREF="node27.html">
<LINK REL="previous" HREF="node25.html"> <LINK REL="previous" HREF="node25.html">
<LINK REL="up" HREF="userhtml.html"> <LINK REL="up" HREF="userhtml.html">
<LINK REL="next" HREF="node27.html">
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel--> <!--Navigation Panel-->
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_g.png"> <A NAME="tex2html386"
<A NAME="tex2html374" HREF="node27.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html382"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html370" <A NAME="tex2html376"
HREF="node25.html"> HREF="node25.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html376" <A NAME="tex2html384"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Up:</B> <A NAME="tex2html375" <B> Next:</B> <A NAME="tex2html387"
HREF="node27.html">Bibliography</A>
<B> Up:</B> <A NAME="tex2html383"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html371" <B> Previous:</B> <A NAME="tex2html377"
HREF="node25.html">Bibliography</A> HREF="node25.html">Error Handling</A>
&nbsp; <B> <A NAME="tex2html377" &nbsp; <B> <A NAME="tex2html385"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR> <BR>
<BR> <BR>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H1><A NAME="SECTION000120000000000000000"> <H1><A NAME="SECTION000100000000000000000"></A><A NAME="sec:license"></A>
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 2012 (1.2)
<P>
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> <BR>
Copyright &#169; 1997, 1998, 1999, License
<A HREF="http://www.maths.mq.edu.au/~ross/">Ross Moore</A>, </H1>
Mathematics Department, Macquarie University, Sydney.
<P>
The command line arguments were: <BR>
<STRONG>latex2html</STRONG> <TT>-local_icons -noaddress -dir ../../html userhtml.tex</TT>
<P> <P>
The translation was initiated by Salvatore Filippone on 2016-05-23 The MLD2P4 is freely distributable under the following copyright
terms: <PRE>
MLD2P4 version 2.0
MultiLevel Domain Decomposition Parallel Preconditioners Package
based on PSBLAS (Parallel Sparse BLAS version 3.3)
(C) Copyright 2008, 2010, 2012, 2015
Salvatore Filippone University of Rome Tor Vergata
Alfredo Buttari CNRS-IRIT, Toulouse
Pasqua D'Ambra ICAR-CNR, Naples
Daniela di Serafino Second University of Naples
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> <BR><HR>
</BODY> </BODY>

@ -1,73 +1,203 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2012 (1.2)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan * revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from: * with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others --> Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML> <HTML>
<HEAD> <HEAD>
<TITLE>About this document ...</TITLE> <TITLE>Bibliography</TITLE>
<META NAME="description" CONTENT="About this document ..."> <META NAME="description" CONTENT="Bibliography">
<META NAME="keywords" CONTENT="userhtml"> <META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document"> <META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global"> <META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1"> <META NAME="Generator" CONTENT="LaTeX2HTML v2012">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"> <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="userhtml.css"> <LINK REL="STYLESHEET" HREF="userhtml.css">
<LINK REL="next" HREF="node28.html">
<LINK REL="previous" HREF="node26.html"> <LINK REL="previous" HREF="node26.html">
<LINK REL="up" HREF="userhtml.html"> <LINK REL="up" HREF="userhtml.html">
<LINK REL="next" HREF="node28.html">
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel--> <!--Navigation Panel-->
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" <A NAME="tex2html398"
SRC="file:/usr/share/latex2html/icons/next_g.png"> HREF="node28.html">
<A NAME="tex2html385" <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html394"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
SRC="file:/usr/share/latex2html/icons/up.png"></A> <A NAME="tex2html388"
<A NAME="tex2html381"
HREF="node26.html"> HREF="node26.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
SRC="file:/usr/share/latex2html/icons/prev.png"></A> <A NAME="tex2html396"
<A NAME="tex2html387"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Up:</B> <A NAME="tex2html386" <B> Next:</B> <A NAME="tex2html399"
HREF="node28.html">About this document ...</A>
<B> Up:</B> <A NAME="tex2html395"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html382" <B> Previous:</B> <A NAME="tex2html389"
HREF="node26.html">Bibliography</A> HREF="node26.html">License</A>
&nbsp; <B> <A NAME="tex2html388" &nbsp; <B> <A NAME="tex2html397"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR> <BR><BR>
<BR>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H1><A NAME="SECTION000120000000000000000"> <H2><A NAME="SECTION000110000000000000000">
About this document ...</A> Bibliography</A>
</H1> </H2><DL COMPACT><DD>
<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> <P>
Copyright &#169; 1993, 1994, 1995, 1996, <P></P><DT><A NAME="BREZINA_VANEK">1</A>
<A HREF="http://cbl.leeds.ac.uk/nikos/personal.html">Nikos Drakos</A>, <DD>
Computer Based Learning Unit, University of Leeds. M.&nbsp;Brezina, P.&nbsp;Vanek,
<BR> <EM>A Black-Box Iterative Solver Based on a Two-Level Schwarz Method</EM>,
Copyright &#169; 1997, 1998, 1999, Computing, 63, 1999, 233-263.<P></P><DT><A NAME="para_04">2</A>
<A HREF="http://www.maths.mq.edu.au/~ross/">Ross Moore</A>, <DD>
Mathematics Department, Macquarie University, Sydney. 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>
<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="MLD2P4_TOMS">8</A>
<DD>
P.&nbsp;D'Ambra, D.&nbsp;di&nbsp;Serafino, S.&nbsp;Filippone,
<I>MLD2P4: a Package of Parallel Multilevel
Algebraic Domain Decomposition Preconditioners
in Fortran 95</I>, ACM Trans. Math. Softw., 37(3), 2010.<P></P><DT><A NAME="UMFPACK">9</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></P><DT><A NAME="MUMPS">10</A>
<DD>
P.R.&nbsp;Amestoy, C.&nbsp;Ashcraft, O.&nbsp;Boiteau, A.&nbsp;Buttari, J.&nbsp;L'Excellent, C.&nbsp;Weisbecker
<EM>Improving multifrontal methods by means of block low-rank representations</EM>,
SIAM SISC, volume 37, number 3, pages A1452-A1474.
(See also <TT>http://mumps.enseeiht.fr</TT>)
<P>
<P></P><DT><A NAME="SUPERLU">11</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">12</A>
<DD>
J.&nbsp;J.&nbsp;Dongarra, J.&nbsp;Du Croz, I.&nbsp;S.&nbsp;Duff, S.&nbsp;Hammarling,
<I>A set of Level 3 Basic Linear Algebra Subprograms</I>,
ACM Transactions on Mathematical Software, 16, 1990, 1-17.<P></P><DT><A NAME="blas2">13</A>
<DD>
J.&nbsp;J.&nbsp;Dongarra, J.&nbsp;Du Croz, S.&nbsp;Hammarling, R.&nbsp;J.&nbsp;Hanson,
<I>An extended set of FORTRAN Basic Linear Algebra Subprograms</I>,
ACM Transactions on Mathematical Software, 14, 1988, 1-17.<P></P><DT><A NAME="BLACS">14</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">15</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">16</A>
<DD>
S.&nbsp;Filippone, A.&nbsp;Buttari,
<EM>PSBLAS-3.0 User's Guide. A Reference Guide for the Parallel Sparse BLAS Library</EM>, 2012,
available from <TT>http://www.ce.uniroma2.it/psblas/</TT>.
<P>
<P></P><DT><A NAME="PSBLAS3">17</A>
<DD>
Salvatore Filippone and Alfredo Buttari.
<EM>Object-Oriented Techniques for Sparse Matrix Computations in Fortran
2003.</EM>
ACM Trans. on Math Software, 38(4), 2012.
<P> <P>
The command line arguments were: <BR> <P></P><DT><A NAME="psblas_00">18</A>
<STRONG>latex2html</STRONG> <TT>-noaddress -dir ../../html userhtml.tex</TT> <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">19</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">20</A>
<DD>
C.&nbsp;L.&nbsp;Lawson, R.&nbsp;J.&nbsp;Hanson, D.&nbsp;Kincaid, F.&nbsp;T.&nbsp;Krogh,
<I>Basic Linear Algebra Subprograms for FORTRAN usage</I>,
ACM Transactions on Mathematical Software, 5, 1979, 308-323.<P></P><DT><A NAME="SUPERLUDIST">21</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">22</A>
<DD>
Y.&nbsp;Saad,
<I>Iterative methods for sparse linear systems</I>, 2nd edition,
SIAM, 2003
<P>
<P></P><DT><A NAME="dd2_96">23</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">24</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">25</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">26</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">27</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>
</DL>
<P> <P>
The translation was initiated by Salvatore Filippone on 2008-09-12
<BR><HR> <BR><HR>
</BODY> </BODY>

@ -1,86 +1,70 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71) <!--Converted with LaTeX2HTML 2012 (1.2)
original version by: Nikos Drakos, CBLU, University of Leeds original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan * revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from: * with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others --> Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML> <HTML>
<HEAD> <HEAD>
<TITLE>Error Handling</TITLE> <TITLE>About this document ...</TITLE>
<META NAME="description" CONTENT="Error Handling"> <META NAME="description" CONTENT="About this document ...">
<META NAME="keywords" CONTENT="userhtml"> <META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document"> <META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global"> <META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1"> <META NAME="Generator" CONTENT="LaTeX2HTML v2012">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"> <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="userhtml.css"> <LINK REL="STYLESHEET" HREF="userhtml.css">
<LINK REL="next" HREF="node29.html"> <LINK REL="previous" HREF="node27.html">
<LINK REL="previous" HREF="node15.html">
<LINK REL="up" HREF="userhtml.html"> <LINK REL="up" HREF="userhtml.html">
<LINK REL="next" HREF="node29.html">
</HEAD> </HEAD>
<BODY > <BODY >
<!--Navigation Panel-->
<DIV CLASS="navigation"><!--Navigation Panel--> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_g.png">
<A NAME="tex2html405" <A NAME="tex2html404"
HREF="node29.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html401"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
SRC="file:/usr/share/latex2html/icons/up.png"></A> <A NAME="tex2html400"
<A NAME="tex2html395"
HREF="node27.html"> HREF="node27.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
SRC="file:/usr/share/latex2html/icons/prev.png"></A> <A NAME="tex2html406"
<A NAME="tex2html403"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html406" <B> Up:</B> <A NAME="tex2html405"
HREF="node29.html">License</A>
<B> Up:</B> <A NAME="tex2html402"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html396" <B> Previous:</B> <A NAME="tex2html401"
HREF="node27.html">Arguments</A> HREF="node27.html">Bibliography</A>
&nbsp; <B> <A NAME="tex2html404" &nbsp; <B> <A NAME="tex2html407"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR> <BR>
<BR></DIV> <BR>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H1><A NAME="SECTION00090000000000000000"></A><A NAME="sec:errors"></A> <H1><A NAME="SECTION000120000000000000000">
<BR> About this document ...</A>
Error Handling
</H1> </H1>
<P>
This document was generated using the
<A HREF="http://www.latex2html.org/"><STRONG>LaTeX</STRONG>2<tt>HTML</tt></A> translator Version 2012 (1.2)
<P> <P>
The error handling in MLD2P4 is based on the PSBLAS (version 2) error Copyright &#169; 1993, 1994, 1995, 1996,
handling. Error conditions are signaled via an integer argument <A HREF="http://cbl.leeds.ac.uk/nikos/personal.html">Nikos Drakos</A>,
<code>info</code>; whenever an error condition is detected, an error trace Computer Based Learning Unit, University of Leeds.
stack is built by the library up to the top-level, user-callable <BR>
routine. This routine will then decide, according to the user Copyright &#169; 1997, 1998, 1999,
preferences, whether the error should be handled by terminating the <A HREF="http://www.maths.mq.edu.au/~ross/">Ross Moore</A>,
program or by returning the error condition to the user code, which Mathematics Department, Macquarie University, Sydney.
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="node30.html#PSBLASGUIDE">14</A>].
<P> <P>
The command line arguments were: <BR>
<STRONG>latex2html</STRONG> <TT>-local_icons -noaddress -dir ../../html userhtml.tex</TT>
<P>
The translation was initiated by Salvatore Filippone on 2016-06-09
<BR><HR> <BR><HR>
<ADDRESS>
Salvatore Filippone
2008-07-23
</ADDRESS>
</BODY> </BODY>
</HTML> </HTML>

@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY > <BODY >
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html98" <A NAME="tex2html102"
HREF="node4.html"> HREF="node4.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html94" <A NAME="tex2html98"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html88" <A NAME="tex2html92"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html96" <A NAME="tex2html100"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html99" <B> Next:</B> <A NAME="tex2html103"
HREF="node4.html">Code Distribution</A> HREF="node4.html">Code Distribution</A>
<B> Up:</B> <A NAME="tex2html95" <B> Up:</B> <A NAME="tex2html99"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html89" <B> Previous:</B> <A NAME="tex2html93"
HREF="node2.html">Contents</A> HREF="node2.html">Contents</A>
&nbsp; <B> <A NAME="tex2html97" &nbsp; <B> <A NAME="tex2html101"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR> <BR>
<BR> <BR>
@ -59,7 +59,7 @@ General Overview
<P> <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 The M<SMALL>ULTI-</SMALL>L<SMALL>EVEL </SMALL>D<SMALL>OMAIN </SMALL>D<SMALL>ECOMPOSITION </SMALL>P<SMALL>ARALLEL </SMALL>P<SMALL>RECONDITIONERS </SMALL>P<SMALL>ACKAGE BASED ON
</SMALL>PSBLAS (MLD2P4) provides <I>multi-level Schwarz preconditioners</I>&nbsp;[<A </SMALL>PSBLAS (MLD2P4) provides <I>multi-level Schwarz preconditioners</I>&nbsp;[<A
HREF="node25.html#dd2_96">23</A>], HREF="node27.html#dd2_96">23</A>],
to be used in the iterative solutions of sparse linear systems: to be used in the iterative solutions of sparse linear systems:
<BR> <BR>
<DIV ALIGN="RIGHT"> <DIV ALIGN="RIGHT">
@ -97,8 +97,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 explicitly using any information on the geometry of the original problem (e.g. the
discretization of a PDE). The <I>smoothed aggregation</I> technique is applied discretization of a PDE). The <I>smoothed aggregation</I> technique is applied
as algebraic coarsening strategy&nbsp;[<A as algebraic coarsening strategy&nbsp;[<A
HREF="node25.html#BREZINA_VANEK">1</A>,<A HREF="node27.html#BREZINA_VANEK">1</A>,<A
HREF="node25.html#VANEK_MANDEL_BREZINA">27</A>]. HREF="node27.html#VANEK_MANDEL_BREZINA">27</A>].
</LI> </LI>
</UL> </UL>
@ -116,8 +116,8 @@ interface.
MLD2P4 has been designed to implement scalable and easy-to-use MLD2P4 has been designed to implement scalable and easy-to-use
multilevel preconditioners in the context of the <I>PSBLAS multilevel preconditioners in the context of the <I>PSBLAS
(Parallel Sparse BLAS) computational framework</I>&nbsp;[<A (Parallel Sparse BLAS) computational framework</I>&nbsp;[<A
HREF="node25.html#psblas_00">18</A>,<A HREF="node27.html#psblas_00">18</A>,<A
HREF="node25.html#PSBLAS3">17</A>]. HREF="node27.html#PSBLAS3">17</A>].
PSBLAS is a library originally developed to address the parallel implementation of PSBLAS is a library originally developed to address the parallel implementation of
iterative solvers for sparse linear system, by providing basic linear algebra iterative solvers for sparse linear system, by providing basic linear algebra
operators and data management facilities for distributed sparse matrices; it operators and data management facilities for distributed sparse matrices; it
@ -130,10 +130,10 @@ portability, modularity ed extensibility in the development of the preconditione
package. On the other hand, the implementation of MLD2P4 has led to some package. On the other hand, the implementation of MLD2P4 has led to some
revisions and extentions of the PSBLAS kernels, leading to the revisions and extentions of the PSBLAS kernels, leading to the
PSBLAS 2.0 version&nbsp;[<A PSBLAS 2.0 version&nbsp;[<A
HREF="node25.html#PSBLASGUIDE">16</A>]. The inter-process comunication required HREF="node27.html#PSBLASGUIDE">16</A>]. The inter-process comunication required
by MLD2P4 is encapsulated into the PSBLAS routines, except few cases where by MLD2P4 is encapsulated into the PSBLAS routines, except few cases where
MPI&nbsp;[<A MPI&nbsp;[<A
HREF="node25.html#MPI1">24</A>] is explicitly called. Therefore, MLD2P4 can be run on any parallel HREF="node27.html#MPI1">24</A>] is explicitly called. Therefore, MLD2P4 can be run on any parallel
machine where PSBLAS and MPI implementations are available. machine where PSBLAS and MPI implementations are available.
<P> <P>
@ -167,32 +167,32 @@ with the Krylov solvers implemented in PSBLAS are reported in Section&nbsp;<A HR
Fortran codes of a few sample programs are also shown. A reference guide for Fortran 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 the upper-layer routines of MLD2P4, that are the user interface, is provided
in Section&nbsp;<A HREF="node16.html#sec:userinterface">6</A>. The error handling mechanism used by the package is briefly described in Section&nbsp;<A HREF="node16.html#sec:userinterface">6</A>. The error handling mechanism used by the package is briefly described
in Section&nbsp;<A HREF="node23.html#sec:errors">7</A>. The copyright terms concerning the distribution and modification in Section&nbsp;<A HREF="node25.html#sec:errors">7</A>. The copyright terms concerning the distribution and modification
of MLD2P4 are reported in Appendix&nbsp;<A HREF="node24.html#sec:license">A</A>. of MLD2P4 are reported in Appendix&nbsp;<A HREF="node26.html#sec:license">A</A>.
<P> <P>
<HR> <HR>
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html98" <A NAME="tex2html102"
HREF="node4.html"> HREF="node4.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html94" <A NAME="tex2html98"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html88" <A NAME="tex2html92"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html96" <A NAME="tex2html100"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html99" <B> Next:</B> <A NAME="tex2html103"
HREF="node4.html">Code Distribution</A> HREF="node4.html">Code Distribution</A>
<B> Up:</B> <A NAME="tex2html95" <B> Up:</B> <A NAME="tex2html99"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html89" <B> Previous:</B> <A NAME="tex2html93"
HREF="node2.html">Contents</A> HREF="node2.html">Contents</A>
&nbsp; <B> <A NAME="tex2html97" &nbsp; <B> <A NAME="tex2html101"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->

@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY > <BODY >
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html110" <A NAME="tex2html114"
HREF="node5.html"> HREF="node5.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html106" <A NAME="tex2html110"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html100" <A NAME="tex2html104"
HREF="node3.html"> HREF="node3.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html108" <A NAME="tex2html112"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html111" <B> Next:</B> <A NAME="tex2html115"
HREF="node5.html">Configuring and Building MLD2P4</A> HREF="node5.html">Configuring and Building MLD2P4</A>
<B> Up:</B> <A NAME="tex2html107" <B> Up:</B> <A NAME="tex2html111"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html101" <B> Previous:</B> <A NAME="tex2html105"
HREF="node3.html">General Overview</A> HREF="node3.html">General Overview</A>
&nbsp; <B> <A NAME="tex2html109" &nbsp; <B> <A NAME="tex2html113"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR> <BR>
<BR> <BR>
@ -66,7 +66,7 @@ where contact points for further information can be also found.
<P> <P>
The software is available under a modified BSD license, as specified The software is available under a modified BSD license, as specified
in Appendix&nbsp;<A HREF="node24.html#sec:license">A</A>; please note that some of the optional in Appendix&nbsp;<A HREF="node26.html#sec:license">A</A>; please note that some of the optional
third party libraries may be licensed under a different and more third party libraries may be licensed under a different and more
stringent license, most notably the GPL, and this should be taken into stringent license, most notably the GPL, and this should be taken into
account when treating derived works. account when treating derived works.

@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY > <BODY >
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html122" <A NAME="tex2html126"
HREF="node6.html"> HREF="node6.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html118" <A NAME="tex2html122"
HREF="userhtml.html"> HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html112" <A NAME="tex2html116"
HREF="node4.html"> HREF="node4.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html120" <A NAME="tex2html124"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html123" <B> Next:</B> <A NAME="tex2html127"
HREF="node6.html">Prerequisites</A> HREF="node6.html">Prerequisites</A>
<B> Up:</B> <A NAME="tex2html119" <B> Up:</B> <A NAME="tex2html123"
HREF="userhtml.html">userhtml</A> HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html113" <B> Previous:</B> <A NAME="tex2html117"
HREF="node4.html">Code Distribution</A> HREF="node4.html">Code Distribution</A>
&nbsp; <B> <A NAME="tex2html121" &nbsp; <B> <A NAME="tex2html125"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR> <BR>
<BR> <BR>
@ -79,15 +79,15 @@ real and complex data, in both single and double precision.
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A> <A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL> <UL>
<LI><A NAME="tex2html124" <LI><A NAME="tex2html128"
HREF="node6.html">Prerequisites</A> HREF="node6.html">Prerequisites</A>
<LI><A NAME="tex2html125" <LI><A NAME="tex2html129"
HREF="node7.html">Optional third party libraries</A> HREF="node7.html">Optional third party libraries</A>
<LI><A NAME="tex2html126" <LI><A NAME="tex2html130"
HREF="node8.html">Configuration options</A> HREF="node8.html">Configuration options</A>
<LI><A NAME="tex2html127" <LI><A NAME="tex2html131"
HREF="node9.html">Bug reporting</A> HREF="node9.html">Bug reporting</A>
<LI><A NAME="tex2html128" <LI><A NAME="tex2html132"
HREF="node10.html">Example and test programs</A> HREF="node10.html">Example and test programs</A>
</UL> </UL>
<!--End of Table of Child-Links--> <!--End of Table of Child-Links-->

@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY > <BODY >
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html139" <A NAME="tex2html143"
HREF="node7.html"> HREF="node7.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html135" <A NAME="tex2html139"
HREF="node5.html"> HREF="node5.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html129" <A NAME="tex2html133"
HREF="node5.html"> HREF="node5.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html137" <A NAME="tex2html141"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html140" <B> Next:</B> <A NAME="tex2html144"
HREF="node7.html">Optional third party libraries</A> HREF="node7.html">Optional third party libraries</A>
<B> Up:</B> <A NAME="tex2html136" <B> Up:</B> <A NAME="tex2html140"
HREF="node5.html">Configuring and Building MLD2P4</A> HREF="node5.html">Configuring and Building MLD2P4</A>
<B> Previous:</B> <A NAME="tex2html130" <B> Previous:</B> <A NAME="tex2html134"
HREF="node5.html">Configuring and Building MLD2P4</A> HREF="node5.html">Configuring and Building MLD2P4</A>
&nbsp; <B> <A NAME="tex2html138" &nbsp; <B> <A NAME="tex2html142"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR> <BR>
<BR> <BR>
@ -60,9 +60,9 @@ The following base libraries are needed:
<DL> <DL>
<DT><STRONG>BLAS</STRONG></DT> <DT><STRONG>BLAS</STRONG></DT>
<DD>[<A <DD>[<A
HREF="node25.html#blas3">12</A>,<A HREF="node27.html#blas3">12</A>,<A
HREF="node25.html#blas2">13</A>,<A HREF="node27.html#blas2">13</A>,<A
HREF="node25.html#blas1">20</A>] Many vendors provide optimized versions HREF="node27.html#blas1">20</A>] Many vendors provide optimized versions
of the Basic Linear Algebra Subprograms; if no vendor version is of the Basic Linear Algebra Subprograms; if no vendor version is
available for a given platform, the ATLAS software available for a given platform, the ATLAS software
(<code>http://math-atlas.sourceforge.net/</code>) (<code>http://math-atlas.sourceforge.net/</code>)
@ -77,15 +77,15 @@ The following base libraries are needed:
</DD> </DD>
<DT><STRONG>MPI</STRONG></DT> <DT><STRONG>MPI</STRONG></DT>
<DD>[<A <DD>[<A
HREF="node25.html#MPI2">19</A>,<A HREF="node27.html#MPI2">19</A>,<A
HREF="node25.html#MPI1">24</A>] A version of MPI is available on most HREF="node27.html#MPI1">24</A>] A version of MPI is available on most
high-performance computing systems; high-performance computing systems;
</DD> </DD>
<DT><STRONG>PSBLAS</STRONG></DT> <DT><STRONG>PSBLAS</STRONG></DT>
<DD>[<A <DD>[<A
HREF="node25.html#PSBLASGUIDE">16</A>,<A HREF="node27.html#PSBLASGUIDE">16</A>,<A
HREF="node25.html#psblas_00">18</A>] Parallel Sparse BLAS is HREF="node27.html#psblas_00">18</A>] Parallel Sparse BLAS is
available from available from
<BR><code>http://www.ce.uniroma2.it/psblas</code>; version <BR><code>http://www.ce.uniroma2.it/psblas</code>; version
3.4.0 (or later) is required. Indeed, all the prerequisites 3.4.0 (or later) is required. Indeed, all the prerequisites

@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY > <BODY >
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html151" <A NAME="tex2html155"
HREF="node8.html"> HREF="node8.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html147" <A NAME="tex2html151"
HREF="node5.html"> HREF="node5.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html141" <A NAME="tex2html145"
HREF="node6.html"> HREF="node6.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html149" <A NAME="tex2html153"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html152" <B> Next:</B> <A NAME="tex2html156"
HREF="node8.html">Configuration options</A> HREF="node8.html">Configuration options</A>
<B> Up:</B> <A NAME="tex2html148" <B> Up:</B> <A NAME="tex2html152"
HREF="node5.html">Configuring and Building MLD2P4</A> HREF="node5.html">Configuring and Building MLD2P4</A>
<B> Previous:</B> <A NAME="tex2html142" <B> Previous:</B> <A NAME="tex2html146"
HREF="node6.html">Prerequisites</A> HREF="node6.html">Prerequisites</A>
&nbsp; <B> <A NAME="tex2html150" &nbsp; <B> <A NAME="tex2html154"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR> <BR>
<BR> <BR>
@ -64,7 +64,7 @@ for multilevel preconditioners may change to reflect their presence.
<DL> <DL>
<DT><STRONG>UMFPACK</STRONG></DT> <DT><STRONG>UMFPACK</STRONG></DT>
<DD>[<A <DD>[<A
HREF="node25.html#UMFPACK">9</A>] HREF="node27.html#UMFPACK">9</A>]
A sparse direct factorization package available from A sparse direct factorization package available from
<BR> <code>http://www.cise.ufl.edu/research/sparse/umfpack/</code>; <BR> <code>http://www.cise.ufl.edu/research/sparse/umfpack/</code>;
provides serial factorization and triangular system solution for double provides serial factorization and triangular system solution for double
@ -73,7 +73,7 @@ for multilevel preconditioners may change to reflect their presence.
</DD> </DD>
<DT><STRONG>SuperLU</STRONG></DT> <DT><STRONG>SuperLU</STRONG></DT>
<DD>[<A <DD>[<A
HREF="node25.html#SUPERLU">11</A>] HREF="node27.html#SUPERLU">11</A>]
A sparse direct factorization package available from A sparse direct factorization package available from
<BR> <code>http://crd.lbl.gov/~xiaoye/SuperLU/</code>; provides serial <BR> <code>http://crd.lbl.gov/~xiaoye/SuperLU/</code>; provides serial
factorization and triangular system solution for single and double precision, factorization and triangular system solution for single and double precision,
@ -82,7 +82,7 @@ for multilevel preconditioners may change to reflect their presence.
</DD> </DD>
<DT><STRONG>SuperLU_Dist</STRONG></DT> <DT><STRONG>SuperLU_Dist</STRONG></DT>
<DD>[<A <DD>[<A
HREF="node25.html#SUPERLUDIST">21</A>] HREF="node27.html#SUPERLUDIST">21</A>]
A sparse direct factorization package available A sparse direct factorization package available
from the same site as SuperLU; provides parallel factorization and from the same site as SuperLU; provides parallel factorization and
triangular system solution for double precision real and complex data. triangular system solution for double precision real and complex data.
@ -90,7 +90,7 @@ for multilevel preconditioners may change to reflect their presence.
</DD> </DD>
<DT><STRONG>MUMPS</STRONG></DT> <DT><STRONG>MUMPS</STRONG></DT>
<DD>[<A <DD>[<A
HREF="node25.html#MUMPS">10</A>] HREF="node27.html#MUMPS">10</A>]
MUMPS (“MUltifrontal Massively Parallel Solver”) is a sparse, direct factorization MUMPS (“MUltifrontal Massively Parallel Solver”) is a sparse, direct factorization
package available from package available from
<BR> <code>http://mumps.enseeiht.fr/</code>. <BR> <code>http://mumps.enseeiht.fr/</code>.
@ -102,26 +102,26 @@ for multilevel preconditioners may change to reflect their presence.
</DD> </DD>
</DL><HR> </DL><HR>
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html151" <A NAME="tex2html155"
HREF="node8.html"> HREF="node8.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html147" <A NAME="tex2html151"
HREF="node5.html"> HREF="node5.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html141" <A NAME="tex2html145"
HREF="node6.html"> HREF="node6.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html149" <A NAME="tex2html153"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html152" <B> Next:</B> <A NAME="tex2html156"
HREF="node8.html">Configuration options</A> HREF="node8.html">Configuration options</A>
<B> Up:</B> <A NAME="tex2html148" <B> Up:</B> <A NAME="tex2html152"
HREF="node5.html">Configuring and Building MLD2P4</A> HREF="node5.html">Configuring and Building MLD2P4</A>
<B> Previous:</B> <A NAME="tex2html142" <B> Previous:</B> <A NAME="tex2html146"
HREF="node6.html">Prerequisites</A> HREF="node6.html">Prerequisites</A>
&nbsp; <B> <A NAME="tex2html150" &nbsp; <B> <A NAME="tex2html154"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->

@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY > <BODY >
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html163" <A NAME="tex2html167"
HREF="node9.html"> HREF="node9.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html159" <A NAME="tex2html163"
HREF="node5.html"> HREF="node5.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html153" <A NAME="tex2html157"
HREF="node7.html"> HREF="node7.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html161" <A NAME="tex2html165"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html164" <B> Next:</B> <A NAME="tex2html168"
HREF="node9.html">Bug reporting</A> HREF="node9.html">Bug reporting</A>
<B> Up:</B> <A NAME="tex2html160" <B> Up:</B> <A NAME="tex2html164"
HREF="node5.html">Configuring and Building MLD2P4</A> HREF="node5.html">Configuring and Building MLD2P4</A>
<B> Previous:</B> <A NAME="tex2html154" <B> Previous:</B> <A NAME="tex2html158"
HREF="node7.html">Optional third party libraries</A> HREF="node7.html">Optional third party libraries</A>
&nbsp; <B> <A NAME="tex2html162" &nbsp; <B> <A NAME="tex2html166"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR> <BR>
<BR> <BR>
@ -235,26 +235,26 @@ followed (optionally) by
make install make install
</PRE><HR> </PRE><HR>
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html163" <A NAME="tex2html167"
HREF="node9.html"> HREF="node9.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html159" <A NAME="tex2html163"
HREF="node5.html"> HREF="node5.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html153" <A NAME="tex2html157"
HREF="node7.html"> HREF="node7.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html161" <A NAME="tex2html165"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html164" <B> Next:</B> <A NAME="tex2html168"
HREF="node9.html">Bug reporting</A> HREF="node9.html">Bug reporting</A>
<B> Up:</B> <A NAME="tex2html160" <B> Up:</B> <A NAME="tex2html164"
HREF="node5.html">Configuring and Building MLD2P4</A> HREF="node5.html">Configuring and Building MLD2P4</A>
<B> Previous:</B> <A NAME="tex2html154" <B> Previous:</B> <A NAME="tex2html158"
HREF="node7.html">Optional third party libraries</A> HREF="node7.html">Optional third party libraries</A>
&nbsp; <B> <A NAME="tex2html162" &nbsp; <B> <A NAME="tex2html166"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->

@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY > <BODY >
<!--Navigation Panel--> <!--Navigation Panel-->
<A NAME="tex2html175" <A NAME="tex2html179"
HREF="node10.html"> HREF="node10.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html171" <A NAME="tex2html175"
HREF="node5.html"> HREF="node5.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html165" <A NAME="tex2html169"
HREF="node8.html"> HREF="node8.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html173" <A NAME="tex2html177"
HREF="node2.html"> HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html176" <B> Next:</B> <A NAME="tex2html180"
HREF="node10.html">Example and test programs</A> HREF="node10.html">Example and test programs</A>
<B> Up:</B> <A NAME="tex2html172" <B> Up:</B> <A NAME="tex2html176"
HREF="node5.html">Configuring and Building MLD2P4</A> HREF="node5.html">Configuring and Building MLD2P4</A>
<B> Previous:</B> <A NAME="tex2html166" <B> Previous:</B> <A NAME="tex2html170"
HREF="node8.html">Configuration options</A> HREF="node8.html">Configuration options</A>
&nbsp; <B> <A NAME="tex2html174" &nbsp; <B> <A NAME="tex2html178"
HREF="node2.html">Contents</A></B> HREF="node2.html">Contents</A></B>
<BR> <BR>
<BR> <BR>

@ -126,21 +126,25 @@ Mar. 31, 2016
<LI><A NAME="tex2html35" <LI><A NAME="tex2html35"
HREF="node19.html">Subroutine mld_precbld</A> HREF="node19.html">Subroutine mld_precbld</A>
<LI><A NAME="tex2html36" <LI><A NAME="tex2html36"
HREF="node20.html">Subroutine mld_precaply</A> HREF="node20.html">Subroutine mld_hierarchy_bld</A>
<LI><A NAME="tex2html37" <LI><A NAME="tex2html37"
HREF="node21.html">Subroutine mld_precfree</A> HREF="node21.html">Subroutine mld_ml_prec_bld</A>
<LI><A NAME="tex2html38" <LI><A NAME="tex2html38"
HREF="node22.html">Subroutine mld_precdescr</A> HREF="node22.html">Subroutine mld_precaply</A>
</UL>
<BR>
<LI><A NAME="tex2html39" <LI><A NAME="tex2html39"
HREF="node23.html">Error Handling</A> HREF="node23.html">Subroutine mld_precfree</A>
<LI><A NAME="tex2html40" <LI><A NAME="tex2html40"
HREF="node24.html">License</A> HREF="node24.html">Subroutine mld_precdescr</A>
</UL>
<BR>
<LI><A NAME="tex2html41" <LI><A NAME="tex2html41"
HREF="node25.html">Bibliography</A> HREF="node25.html">Error Handling</A>
<LI><A NAME="tex2html42" <LI><A NAME="tex2html42"
HREF="node26.html">About this document ...</A> HREF="node26.html">License</A>
<LI><A NAME="tex2html43"
HREF="node27.html">Bibliography</A>
<LI><A NAME="tex2html44"
HREF="node28.html">About this document ...</A>
</UL> </UL>
<!--End of Table of Child-Links--> <!--End of Table of Child-Links-->
<BR><HR> <BR><HR>

File diff suppressed because one or more lines are too long

@ -21,6 +21,16 @@ The following steps are required:
\verb|mld_precinit| to identify the preconditioner types are also given. \verb|mld_precinit| to identify the preconditioner types are also given.
Note that these strings are valid also if uppercase letters are substituted by Note that these strings are valid also if uppercase letters are substituted by
corresponding lowercase ones. corresponding lowercase ones.
\item \emph{Modify the aggregation parameters.} This is performed by
the routine \verb|mld_precset|.
This routine must be called only if the user wants to modify the default values
of the parameters associated to the aggregation hierarchy construction.
Examples of use of \verb|mld_precset| are given in
Section~\ref{sec:examples}; a complete list of all the
preconditioner parameters and their allowed and default values is provided in
Section~\ref{sec:userinterface}, Tables~\ref{tab:p_type}-\ref{tab:p_coarse}.
\item \emph{Build the aggregation hierarchy for a given matrix.} This is performed by
the routine \verb|mld_hierarchy_bld|.
\item \emph{Modify the selected preconditioner type, by properly setting \item \emph{Modify the selected preconditioner type, by properly setting
preconditioner parameters.} This is performed by the routine \verb|mld_precset|. preconditioner parameters.} This is performed by the routine \verb|mld_precset|.
This routine must be called only if the user wants to modify the default values This routine must be called only if the user wants to modify the default values
@ -30,7 +40,7 @@ The following steps are required:
preconditioner parameters and their allowed and default values is provided in preconditioner parameters and their allowed and default values is provided in
Section~\ref{sec:userinterface}, Tables~\ref{tab:p_type}-\ref{tab:p_coarse}. Section~\ref{sec:userinterface}, Tables~\ref{tab:p_type}-\ref{tab:p_coarse}.
\item \emph{Build the preconditioner for a given matrix.} This is performed by \item \emph{Build the preconditioner for a given matrix.} This is performed by
the routine \verb|mld_precbld|. the routine \verb|mld_ml_prec_bld|.
\item \emph{Apply the preconditioner at each iteration of a Krylov solver.} \item \emph{Apply the preconditioner at each iteration of a Krylov solver.}
This is performed by the routine \verb|mld_precaply|. When using the PSBLAS Krylov solvers, This is performed by the routine \verb|mld_precaply|. When using the PSBLAS Krylov solvers,
this step is completely transparent to the user, since \verb|mld_precaply| is called this step is completely transparent to the user, since \verb|mld_precaply| is called
@ -172,7 +182,9 @@ the corresponding Fortran 95 codes are available in \verb|examples/fileread/|.
call mld_precinit(P,'ML',info) call mld_precinit(P,'ML',info)
! !
! build the preconditioner ! build the preconditioner
call mld_precbld(A,desc_A,P,info) call mld_hierarchy_bld(A,desc_A,P,info)
call mld_ml_prec_bld(A,desc_A,P,info)
! !
! set the solver parameters and the initial guess ! set the solver parameters and the initial guess
... ... ... ...
@ -257,11 +269,14 @@ boundary conditions are also available in the directory \verb|examples/pdegen|.
! block Jacobi (with ILU(0) on the blocks) as post-smoother, ! block Jacobi (with ILU(0) on the blocks) as post-smoother,
! a coarsest matrix replicated on the processors, and the ! a coarsest matrix replicated on the processors, and the
! LU factorization from UMFPACK as coarse-level solver ! LU factorization from UMFPACK as coarse-level solver
call mld_precinit(P,'ML',info,nlev=3) call mld_precinit(P,'ML',info)
call mld_hierarchy_bld(A,desc_A,P,info)
call_mld_precset(P,'SMOOTHER_TYPE','BJAC',info) call_mld_precset(P,'SMOOTHER_TYPE','BJAC',info)
call_mld_precset(P,'SMOOTHER_POS,'POST'w,info) call_mld_precset(P,'SMOOTHER_POS,'POST'w,info)
call mld_precset(P,'COARSE_MAT','REPL',info) call mld_precset(P,'COARSE_MAT','REPL',info)
call mld_precset(P,'COARSE_SOLVE','UMF',info) call mld_precset(P,'COARSE_SOLVE','UMF',info)
call mld_ml_prec_bld(A,desc_A,P,info)
... ... ... ...
\end{verbatim} \end{verbatim}
} }
@ -283,10 +298,12 @@ boundary conditions are also available in the directory \verb|examples/pdegen|.
! multifrontal solver in MUMPS as coarse-level solver ! multifrontal solver in MUMPS as coarse-level solver
call mld_precinit(P,'ML',info,nlev=3) call mld_precinit(P,'ML',info,nlev=3)
call mld_hierarchy_bld(A,desc_A,P,info)
call mld_precset(P,mld_smoother_type_,'BJAC',info) call mld_precset(P,mld_smoother_type_,'BJAC',info)
call mld_precset(P,mld_coarse_mat_,'REPL',info) call mld_precset(P,mld_coarse_mat_,'REPL',info)
call mld_precset(P,mld_coarse_solve_,'MUMPS',info) call mld_precset(P,mld_coarse_solve_,'MUMPS',info)
call mld_ml_prec_bld(A,desc_A,P,info)
... ... ... ...
\end{verbatim} \end{verbatim}
} }
@ -308,9 +325,11 @@ boundary conditions are also available in the directory \verb|examples/pdegen|.
! post-smoother, and 5 block-Jacobi sweeps (with UMFPACK LU ! post-smoother, and 5 block-Jacobi sweeps (with UMFPACK LU
! on the blocks) as distributed coarsest-level solver ! on the blocks) as distributed coarsest-level solver
call mld_precinit(P,'ML',info,nlev=3) call mld_precinit(P,'ML',info,nlev=3)
call mld_ml_prec_bld(A,desc_A,P,info)
call mld_precset(P,'ML_TYPE','ADD',info) call mld_precset(P,'ML_TYPE','ADD',info)
call_mld_precset(P,'SMOOTHER_POS','TWOSIDE',info) call_mld_precset(P,'SMOOTHER_POS','TWOSIDE',info)
call mld_precset(P,'COARSE_SWEEPS',5,info) call mld_precset(P,'COARSE_SWEEPS',5,info)
call mld_ml_prec_bld(A,desc_A,P,info)
... ... ... ...
\end{verbatim} \end{verbatim}
} }
@ -329,6 +348,7 @@ boundary conditions are also available in the directory \verb|examples/pdegen|.
! set RAS with overlap 2 and ILU(0) on the local blocks ! set RAS with overlap 2 and ILU(0) on the local blocks
call mld_precinit(P,'AS',info) call mld_precinit(P,'AS',info)
call mld_precset(P,'SUB_OVR',2,info) call mld_precset(P,'SUB_OVR',2,info)
call mld_precbld(A,desc_A,P,info)
... ... ... ...
\end{verbatim} \end{verbatim}
} }

@ -492,6 +492,71 @@ level.\label{tab:p_coarse}}
This routine builds the preconditioner according to the requirements made by This routine builds the preconditioner according to the requirements made by
the user through the routines \verb|mld_precinit| and \verb|mld_precset|. the user through the routines \verb|mld_precinit| and \verb|mld_precset|.
For multilevel preconditioner this routine is supported for backward
compatibility, but we recommend to use the routines of
Sec.~\ref{sec:hier_bld} and~\ref{sec:ml_prec_bld}.
{\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)|. \\
& The sparse matrix structure containing the local part of the
matrix to be preconditioned. Note that \emph{x} must be chosen according
to the real/complex,
single/double precision version of MLD2P4 under use.
See the PSBLAS User's Guide for details \cite{PSBLASGUIDE}.\\
\verb|desc_a| & \verb|type(psb_desc_type), intent(in)|. \\
& The communication descriptor of \verb|a|. See the PSBLAS User's Guide for
details \cite{PSBLASGUIDE}.\\
\verb|p| & \verb|type(mld_|\emph{x}\verb|prec_type), intent(inout)|.\\
& The preconditioner data structure. Note that \emph{x} must be chosen according
to the real/complex, single/double precision version of MLD2P4 under use.\\
\verb|info| & \verb|integer, intent(out)|.\\
& Error code. If no error, 0 is returned. See Section~\ref{sec:errors} for details.\\
\end{tabular}
\subsection{Subroutine mld\_hierarchy\_bld\label{sec:hier_bld}}
\begin{center}
\verb|mld_hierachy_bld(a,desc_a,p,info)|\\
\end{center}
\noindent
This routine builds the aggregation hierarchy according to the requirements made by
the user through the routines \verb|mld_precinit| and \verb|mld_precset|.
{\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)|. \\
& The sparse matrix structure containing the local part of the
matrix to be preconditioned. Note that \emph{x} must be chosen according
to the real/complex,
single/double precision version of MLD2P4 under use.
See the PSBLAS User's Guide for details \cite{PSBLASGUIDE}.\\
\verb|desc_a| & \verb|type(psb_desc_type), intent(in)|. \\
& The communication descriptor of \verb|a|. See the PSBLAS User's Guide for
details \cite{PSBLASGUIDE}.\\
\verb|p| & \verb|type(mld_|\emph{x}\verb|prec_type), intent(inout)|.\\
& The preconditioner data structure. Note that \emph{x} must be chosen according
to the real/complex, single/double precision version of MLD2P4 under use.\\
\verb|info| & \verb|integer, intent(out)|.\\
& Error code. If no error, 0 is returned. See Section~\ref{sec:errors} for details.\\
\end{tabular}
\subsection{Subroutine mld\_ml\_prec\_bld\label{sec:ml_prec_bld}}
\begin{center}
\verb|mld_ml_prec_bld(a,desc_a,p,info)|\\
\end{center}
\noindent
This routine builds the preconditioner according to the requirements made by
the user through the routines \verb|mld_precinit| and
\verb|mld_precset|, based on the aggregation hierahy produced by a
previous call to \verb|mld_hierarchy_bld| (see
Sec.~\ref{sec:hier_bld}).
{\vskip2\baselineskip\noindent\large\bfseries Arguments} {\vskip2\baselineskip\noindent\large\bfseries Arguments}
\begin{tabular}{p{1.2cm}p{12cm}} \begin{tabular}{p{1.2cm}p{12cm}}

Loading…
Cancel
Save