From 46355253a5424802f0220aa6c89e505bc7d9aaa5 Mon Sep 17 00:00:00 2001 From: Salvatore Filippone Date: Tue, 16 Jan 2018 12:26:54 +0000 Subject: [PATCH] Changes to docs to highlight new stuff in MLD internals. --- docs/html/index.html | 89 +- docs/html/node1.html | 72 +- docs/html/node10.html | 37 +- docs/html/node11.html | 39 +- docs/html/node12.html | 102 +- docs/html/node13.html | 181 +- docs/html/node14.html | 271 +- docs/html/node15.html | 194 +- docs/html/node16.html | 116 +- docs/html/node17.html | 99 +- docs/html/node18.html | 164 +- docs/html/node19.html | 127 +- docs/html/node2.html | 109 +- docs/html/node20.html | 651 ++--- docs/html/node21.html | 152 +- docs/html/node22.html | 172 +- docs/html/node23.html | 184 +- docs/html/node24.html | 221 +- docs/html/node25.html | 88 +- docs/html/node26.html | 128 +- docs/html/node27.html | 198 +- docs/html/node28.html | 102 +- docs/html/node29.html | 125 +- docs/html/node3.html | 137 +- docs/html/node30.html | 178 +- docs/html/node31.html | 135 +- docs/html/node32.html | 85 + docs/html/node33.html | 183 ++ docs/html/node34.html | 75 + docs/html/node35.html | 98 + docs/html/node36.html | 200 ++ docs/html/node37.html | 67 + docs/html/node4.html | 65 +- docs/html/node5.html | 47 +- docs/html/node6.html | 80 +- docs/html/node7.html | 76 +- docs/html/node8.html | 70 +- docs/html/node9.html | 88 +- docs/html/userhtml.html | 89 +- docs/mld2p4-2.1-guide.pdf | 5300 +++++++++++++++++++---------------- docs/src/gettingstarted.tex | 6 +- docs/src/userinterface.tex | 298 +- 42 files changed, 6040 insertions(+), 4858 deletions(-) create mode 100644 docs/html/node32.html create mode 100644 docs/html/node33.html create mode 100644 docs/html/node34.html create mode 100644 docs/html/node35.html create mode 100644 docs/html/node36.html create mode 100644 docs/html/node37.html diff --git a/docs/html/index.html b/docs/html/index.html index b3fb8403..f026ce9d 100644 --- a/docs/html/index.html +++ b/docs/html/index.html @@ -1,10 +1,6 @@ - + - + userhtml @@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + @@ -22,7 +18,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + + -MLD2P4 +MLD2P4

-User's and Reference Guide
-
A guide for the MultiLevel Domain Decomposition +User's and Reference Guide
+
A guide for the MultiLevel Domain Decomposition Parallel Preconditioners Package -based on PSBLAS
+based on PSBLAS


-
Pasqua D'Ambra -
IAC-CNR, Naples, Italy +
Pasqua D'Ambra +
IAC-CNR, Naples, Italy


-
Daniela di Serafino -
University of Campania ``Luigi Vanvitelli'', Caserta, Italy +
Daniela di Serafino +
University of Campania “Luigi Vanvitelli”, Caserta, Italy


-
Salvatore Filippone -
Cranfield University, Cranfield, United Kingdom +
Salvatore Filippone +
Cranfield University, Cranfield, United Kingdom


@@ -78,18 +75,18 @@ July 31, 2017
-
+

- + - +

- +


-

diff --git a/docs/html/node1.html b/docs/html/node1.html index 69dc84e6..202c3887 100644 --- a/docs/html/node1.html +++ b/docs/html/node1.html @@ -1,10 +1,6 @@ - + - + Abstract @@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + @@ -25,35 +21,36 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - + next - up - previous - contents
- Next: Next: Contents - Up: Up: userhtml - Previous: Previous: userhtml -   Contents
-
+

Abstract -

+ MLD2P4 (MULTILEVEL DOMAIN DECOMPOSITION PARALLEL PRECONDITIONERS PACKAGE BASED ON PSBLAS) is a package of parallel algebraic multilevel preconditioners. @@ -64,55 +61,56 @@ multigrid methods. In the multilevel case, a purely algebraic approach is applie generate coarse-level corrections, so that no geometric background is needed concerning the matrix to be preconditioned. The matrix is assumed to be square, real or complex. - +

-MLD2P4 has been designed to provide scalable and easy-to-use preconditioners +MLD2P4 has been designed to provide scalable and easy-to-use preconditioners in the context of the PSBLAS (Parallel Sparse Basic Linear Algebra Subprograms) computational framework and can be used in conjuction with the Krylov solvers available in this framework. MLD2P4 enables the user to easily specify different features of an algebraic multilevel preconditioner, thus allowing to search -for the ``best'' preconditioner for the problem at hand. - +for the “best” preconditioner for the problem at hand. +

-The package employs object-oriented design techniques in +The package employs object-oriented design techniques in Fortran 2003, with interfaces to additional third party libraries such as MUMPS, UMFPACK, SuperLU, and SuperLU_Dist, which can be exploited in building multilevel preconditioners. The parallel implementation is based on a Single Program Multiple Data (SPMD) paradigm; the inter-process communication is based on MPI and is managed mainly through PSBLAS. - +

-This guide provides a brief description of the functionalities and +This guide provides a brief description of the functionalities and the user interface of MLD2P4. - +

- + -


+ + diff --git a/docs/html/node10.html b/docs/html/node10.html index 0b6e5a28..a880f838 100644 --- a/docs/html/node10.html +++ b/docs/html/node10.html @@ -1,10 +1,6 @@ - + - + Bug reporting @@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + @@ -25,35 +21,36 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - + next - up - previous - contents
- Next: Next: Example and test programs - Up: Up: Configuring and Building MLD2P4 - Previous: Previous: Configuration options -   Contents
-
+

Bug reporting -

+ If you find any bugs in our codes, please report them through our issues page on
https://github.com/sfilippone/mld2p4-2/issues @@ -61,9 +58,9 @@ issues page on
+

- +


diff --git a/docs/html/node11.html b/docs/html/node11.html index fa27b778..7b4e7b1b 100644 --- a/docs/html/node11.html +++ b/docs/html/node11.html @@ -1,10 +1,6 @@ - + - + Example and test programs @@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + @@ -24,40 +20,41 @@ original version by: Nikos Drakos, CBLU, University of Leeds - -
+ next - up - previous - contents
- Next: Next: Multigrid Background - Up: Up: Configuring and Building MLD2P4 - Previous: Previous: Bug reporting -   Contents
-
+


Example and test programs -

+ The package contains the examples and tests directories; both of them are further divided into fileread and pdegen subdirectories. Their purpose is as follows: -
+
examples
contains a set of simple example programs with a predefined choice of preconditioners, selectable via integer @@ -70,13 +67,13 @@ both of them are further divided into fileread and subdirectories, to experiment with the full range of preconditioners implemented in the package.
-
+
The fileread directories contain sample programs that read sparse matrices from files, according to the Matrix Market or the Harwell-Boeing storage format; the pdegen programs generate matrices in full parallel mode from the discretization of a sample partial differential equation. - +

diff --git a/docs/html/node12.html b/docs/html/node12.html index eb2ed114..b2da8f7e 100644 --- a/docs/html/node12.html +++ b/docs/html/node12.html @@ -1,10 +1,6 @@ - + - + Multigrid Background @@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + @@ -25,49 +21,50 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - + next - up - previous - contents
- Next: Next: AMG preconditioners - Up: Up: userhtml - Previous: Previous: Example and test programs -   Contents
-
+


Multigrid Background -

+ - +

-Multigrid preconditioners, coupled with Krylov iterative +Multigrid preconditioners, coupled with Krylov iterative solvers, are widely used in the parallel solution of large and sparse linear systems, because of their optimality in the solution of linear systems arising from the discretization of scalar elliptic Partial Differential Equations (PDEs) on regular grids. Optimality, also known as algorithmic scalability, is the property of having a computational cost per iteration that depends linearly on the problem size, and a convergence rate that is independent of the problem size. - +

-Multigrid preconditioners are based on a recursive application of a two-grid process +Multigrid preconditioners are based on a recursive application of a two-grid process consisting of smoother iterations and a coarse-space (or coarse-level) correction. The smoothers may be either basic iterative methods, such as the Jacobi and Gauss-Seidel ones, or more complex subspace-correction methods, such as the Schwarz ones. @@ -90,75 +87,76 @@ interplay between fine and coarse levels, e.g., when matrices with highly varyin are considered. The second approach performs a fully automatic coarsening and enforces the interplay between fine and coarse level by suitably choosing the coarse space and the coarse-to-fine interpolation (see, e.g., [3,23,21] for details.) - + HREF="node36.html#Briggs2000">3,23,21] for details.) +

-MLD2P4 uses a pure algebraic approach, based on the smoothed +MLD2P4 uses a pure algebraic approach, based on the smoothed aggregation algorithm [2,25], + HREF="node36.html#BREZINA_VANEK">2,25], for building the sequence of coarse matrices and transfer operators, starting from the original one. A decoupled version of this algorithm is implemented, where the smoothed aggregation is applied locally to each submatrix [24]. + HREF="node36.html#TUMINARO_TONG">24]. A brief description of the AMG preconditioners implemented in MLD2P4 is given in Sections 4.1-4.3. For further details the reader is referred to [4,5,7,8]. - + HREF="node36.html#para_04">4,5,7,8]. +

-We note that optimal multigrid preconditioners do not necessarily correspond +We note that optimal multigrid preconditioners do not necessarily correspond to minimum execution times in a parallel setting. Indeed, to obtain effective parallel multigrid preconditioners, a tradeoff between the optimality and the cost of building and applying the smoothers and the coarse-space corrections must be achieved. Effective parallel preconditioners require algorithmic scalability to be coupled with implementation scalability, i.e., a computational cost per iteration which remains (almost) constant as the number of parallel processors increases. - +

- +


Subsections - -
+ + diff --git a/docs/html/node13.html b/docs/html/node13.html index a6fb5b46..6971e165 100644 --- a/docs/html/node13.html +++ b/docs/html/node13.html @@ -1,10 +1,6 @@ - + - + AMG preconditioners @@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + @@ -25,48 +21,50 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - + next - up - previous - contents
- Next: Next: Smoothed Aggregation - Up: Up: Multigrid Background - Previous: Previous: Multigrid Background -   Contents
-
+


AMG preconditioners -

+

-In order to describe the AMG preconditioners available in MLD2P4, we consider a +In order to describe the AMG preconditioners available in MLD2P4, we consider a linear system - +
-

+
+ - +
\begin{displaymath}
 Ax=b,
 \end{displaymath} -(2)
+(2)
-

+

where -$A=(a_{ij}) \in \mathbb{R}^{n \times n}$ is a nonsingular sparse matrix; -for ease of presentation we assume $A=(a_{ij}) \in \mathbb{R}^{n \times n}$ is a nonsingular sparse matrix; +for ease of presentation we assume $A$ has a symmetric sparsity + ALT="$A$"> has a symmetric sparsity pattern. - +

-Let us consider as finest index space the set of row (column) indices of Let us consider as finest index space the set of row (column) indices of $A$, i.e., + ALT="$A$">, i.e., -$\Omega = \{1, 2, \ldots, n\}$. + ALT="$\Omega = \{1, 2, \ldots, n\}$">. Any algebraic multilevel preconditioners implemented in MLD2P4 generates a hierarchy of index spaces and a corresponding hierarchy of matrices, - +

-
+
-$\mathbb{R}^{n_{k}}$ is associated with $\mathbb{R}^{n_{k}}$ is associated with $\Omega^k$, -where $\Omega^k$, +where $n_k$ is the size of $n_k$ is the size of $\Omega^k$. -For all $\Omega^k$. +For all $k < nlev$, a restriction operator and a prolongation one are built, -which connect two levels $k < nlev$, a restriction operator and a prolongation one are built, +which connect two levels $k$ and $k$ and $k+1$: - + ALT="$k+1$">: +

-
+
@@ -174,15 +172,15 @@ P^k \in \mathbb{R}^{n_k \times n_{k+1}}, \quad ALT="\begin{displaymath} P^k \in \mathbb{R}^{n_k \times n_{k+1}}, \quad R^k \in \mathbb{R}^{n_{k+1}\times n_k}; \end{displaymath}">

-

-the matrix

+the matrix $A^{k+1}$ is computed by using the previous operators according + ALT="$A^{k+1}$"> is computed by using the previous operators according to the Galerkin approach, i.e., -
+

-
+ diff --git a/docs/html/node14.html b/docs/html/node14.html index d989c6eb..a4d6105f 100644 --- a/docs/html/node14.html +++ b/docs/html/node14.html @@ -1,10 +1,6 @@ - + - + Smoothed Aggregation @@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + @@ -25,130 +21,132 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - + next - up - previous - contents
- Next: Next: Smoothers and coarsest-level solvers - Up: Up: Multigrid Background - Previous: Previous: AMG preconditioners -   Contents
-
+


Smoothed Aggregation -

+

-In order to define the prolongator In order to define the prolongator $P^k$, used to compute -the coarse-level matrix $P^k$, used to compute +the coarse-level matrix $A^{k+1}$, MLD2P4 uses the smoothed aggregation + ALT="$A^{k+1}$">, MLD2P4 uses the smoothed aggregation algorithm described in [2,25]. + HREF="node36.html#BREZINA_VANEK">2,25]. The basic idea of this algorithm is to build a coarse set of indices -$\Omega^{k+1}$ by suitably grouping the indices of $\Omega^{k+1}$ by suitably grouping the indices of $\Omega^k$ into disjoint + ALT="$\Omega^k$"> into disjoint subsets (aggregates), and to define the coarse-to-fine space transfer operator -$P^k$ by applying a suitable smoother to a simple piecewise constant + ALT="$P^k$"> by applying a suitable smoother to a simple piecewise constant prolongation operator, with the aim of improving the quality of the coarse-space correction. - +

-Three main steps can be identified in the smoothed aggregation procedure: - +Three main steps can be identified in the smoothed aggregation procedure: +

    -
  1. aggregation of the indices of aggregation of the indices of $\Omega^k$ to obtain $\Omega^k$ to obtain $\Omega^{k+1}$; + ALT="$\Omega^{k+1}$">;
  2. -
  3. construction of the prolongator construction of the prolongator $P^k$; + ALT="$P^k$">;
  4. -
  5. application of application of $P^k$ and $P^k$ and $R^k=(P^k)^T$ to build $R^k=(P^k)^T$ to build $A^{k+1}$. + ALT="$A^{k+1}$">.
  6. -
+

-In order to perform the coarsening step, the smoothed aggregation algorithm +In order to perform the coarsening step, the smoothed aggregation algorithm described in [25] is used. In this algorithm, + HREF="node36.html#VANEK_MANDEL_BREZINA">25] is used. In this algorithm, each index -$j \in \Omega^{k+1}$ corresponds to an aggregate $j \in \Omega^{k+1}$ corresponds to an aggregate $\Omega^k_j$ of $\Omega^k_j$ of $\Omega^k$, + ALT="$\Omega^k$">, consisting of a suitably chosen index -$i \in \Omega^k$ and indices that are (usually) contained in a -strongly-coupled neighborood of $i \in \Omega^k$ and indices that are (usually) contained in a +strongly-coupled neighborood of $i$, i.e., - + ALT="$i$">, i.e., +
-

+
+ - +
\begin{displaymath}
 \Omega^k_j \subset \mathcal{N}_i^k(\theta) = 
 \left\{ r ...
 ...vert a_{ii}^ka_{rr}^k\vert} \right \} \cup \left\{ i \right\},
\end{displaymath} -(3)
+(3)
-

+

for a given threshold -$\theta \in [0,1]$ (see [25] for the details). + ALT="$\theta \in [0,1]$"> (see [25] for the details). Since this algorithm has a sequential nature, a decoupled version of it is applied, where each processor independently executes the algorithm on the set of indices assigned to it in the initial data distribution. This version is embarrassingly parallel, since it does not require any data communication. On the other hand, it may produce some nonuniform aggregates and is strongly dependent on the number of processors and on the initial partitioning -of the matrix $A$. Nevertheless, this parallel algorithm has been chosen for + ALT="$A$">. Nevertheless, this parallel algorithm has been chosen for MLD2P4, since it has been shown to produce good results in practice [5,7,24]. - + HREF="node36.html#aaecc_07">5,7,24]. +

-The prolongator The prolongator $P^k$ is built starting from a tentative prolongator + ALT="$P^k$"> is built starting from a tentative prolongator -$\bar{P}^k \in \mathbb{R}^{n_k \times n_{k+1}}$, defined as - + ALT="$\bar{P}^k \in \mathbb{R}^{n_k \times n_{k+1}}$">, defined as +
-

+
+ - +
\begin{displaymath}
\bar{P}^k =(\bar{p}_{ij}^k), \quad \bar{p}_{ij}^k = 
\left\{...
 ...ega^k_j,  
0 & \quad \mbox{otherwise},
\end{array} \right.
 \end{displaymath} -(4)
+(4)
-

-where

+where $\Omega^k_j$ is the aggregate of $\Omega^k_j$ is the aggregate of $\Omega^k$ + ALT="$\Omega^k$"> corresponding to the index -$j \in \Omega^{k+1}$. -$j \in \Omega^{k+1}$. +$P^k$ is obtained by applying to $P^k$ is obtained by applying to $\bar{P}^k$ a smoother + ALT="$\bar{P}^k$"> a smoother -$S^k \in \mathbb{R}^{n_k \times n_k}$: - + ALT="$S^k \in \mathbb{R}^{n_k \times n_k}$">: +

-
+
-$A^k_F = (\bar{a}_{ij}^k)$ is the filtered matrix defined as - + ALT="$A^k_F = (\bar{a}_{ij}^k)$"> is the filtered matrix defined as +
-
+
+ - +
\begin{displaymath}
 \bar{a}_{ij}^k =
 \left \{ \begin{array}{ll}
 a_{ij}^k & ...
 ...ii}^k = a_{ii}^k - \sum_{j \ne i} (a_{ij}^k - \bar{a}_{ij}^k),
\end{displaymath} -(5)
+(5)
-

-and

+and $\omega^k$ is an approximation of $\omega^k$ is an approximation of $4/(3\rho^k)$, where -$4/(3\rho^k)$, where +$\rho^k$ is the spectral radius of -$(D^k)^{-1}A^k_F$ [2]. + ALT="$(D^k)^{-1}A^k_F$"> [2]. In MLD2P4 this approximation is obtained by using -$\Vert A^k_F \Vert _\infty$ as an estimate -of $\Vert A^k_F \Vert _\infty$ as an estimate +of $\rho^k$. Note that for systems coming from uniformly elliptic -problems, filtering the matrix $\rho^k$. Note that for systems coming from uniformly elliptic +problems, filtering the matrix $A^k$ has little or no effect, and -$A^k$ has little or no effect, and +$A^k$ can be used instead of $A^k$ can be used instead of $A^k_F$. The latter choice is the default in MLD2P4. - + ALT="$A^k_F$">. The latter choice is the default in MLD2P4. +

-


+ + diff --git a/docs/html/node15.html b/docs/html/node15.html index 5dc80522..bc801420 100644 --- a/docs/html/node15.html +++ b/docs/html/node15.html @@ -1,10 +1,6 @@ - + - + Smoothers and coarsest-level solvers @@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + @@ -24,119 +20,120 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - + next - up - previous - contents
- Next: Next: Getting Started - Up: Up: Multigrid Background - Previous: Previous: Smoothed Aggregation -   Contents
-
+


Smoothers and coarsest-level solvers -

+

-The smoothers implemented in MLD2P4 include the Jacobi and block-Jacobi methods, +The smoothers implemented in MLD2P4 include the Jacobi and block-Jacobi methods, a hybrid version of the forward and backward Gauss-Seidel methods, and the additive Schwarz (AS) ones (see, e.g., [20,21]). - + HREF="node36.html#Saad_book">20,21]). +

-The hybrid Gauss-Seidel +The hybrid Gauss-Seidel version is considered because the original Gauss-Seidel method is inherently sequential. At each iteration of the hybrid version, each parallel process uses the most recent values of its own local variables and the values of the non-local variables computed at the previous iteration, obtained by exchanging data with other processes before the beginning of the current iteration. - +

-In the AS methods, the index space In the AS methods, the index space $\Omega^k$ is divided into $\Omega^k$ is divided into $m_k$ -subsets $m_k$ +subsets $\Omega^k_i$ of size $\Omega^k_i$ of size $n_{k,i}$, possibly -overlapping. For each $n_{k,i}$, possibly +overlapping. For each $i$ we consider the restriction + ALT="$i$"> we consider the restriction operator -$R_i^k \in \mathbb{R}^{n_{k,i} \times n_k}$ -that maps a vector $R_i^k \in \mathbb{R}^{n_{k,i} \times n_k}$ +that maps a vector $x^k$ to the vector $x^k$ to the vector $x_i^k$ made of the components of $x_i^k$ made of the components of $x^k$ -with indices in $x^k$ +with indices in $\Omega^k_i$, and the prolongation operator + ALT="$\Omega^k_i$">, and the prolongation operator -$P^k_i = (R_i^k)^T$. These operators are then used to build + ALT="$P^k_i = (R_i^k)^T$">. These operators are then used to build -$A_i^k=R_i^kA^kP_i^k$, which is the restriction of $A_i^k=R_i^kA^kP_i^k$, which is the restriction of $A^k$ to the index -space $A^k$ to the index +space $\Omega^k_i$. -The classical AS preconditioner $\Omega^k_i$. +The classical AS preconditioner $M^k_{AS}$ is defined as - + ALT="$M^k_{AS}$"> is defined as +

-
+
-$z^k=M^k_{AS}w^k$, with -$w^k \in \mathbb{R}^{n_k}$, during the + ALT="$w^k \in \mathbb{R}^{n_k}$">, during the multilevel application phase, requires - +
    -
  • the restriction of the restriction of $w^k$ to the subspaces -$\mathbb{R}^{n_{k,i}}$, + ALT="$\mathbb{R}^{n_{k,i}}$">, i.e. -$w_i^k = R_i^{k} w^k$; + ALT="$w_i^k = R_i^{k} w^k$">;
  • the computation of the vectors -$z_i^k=(A_i^k)^{-1} w_i^k$; + ALT="$z_i^k=(A_i^k)^{-1} w_i^k$">;
  • the prolongation and the sum of the previous vectors, i.e. -$z^k = \sum_{i=1}^{m_k} P_i^k z_i^k$. + ALT="$z^k = \sum_{i=1}^{m_k} P_i^k z_i^k$">.
  • -
+ Variants of the classical AS method, which use modifications of the restriction and prolongation operators, are also implemented in MLD2P4. Among them, the Restricted AS (RAS) preconditioner usually @@ -248,41 +245,42 @@ outperforms the classical AS preconditioner in terms of convergence rate and of computation and communication time on parallel distributed-memory computers, and is therefore the most widely used among the AS preconditioners [6]. - + HREF="node36.html#CAI_SARKIS">6]. +

-Direct solvers based on sparse LU factorizations, implemented in the +Direct solvers based on sparse LU factorizations, implemented in the third-party libraries reported in Section 3.2, can be applied as coarsest-level solvers by MLD2P4. Native inexact solvers based on incomplete LU factorizations, as well as Jacobi, hybrid (forward) Gauss-Seidel, and block Jacobi preconditioners are also available. Direct solvers usually lead to more effective preconditioners in terms of algorithmic scalability; however, this does not guarantee parallel efficiency. - +

-


+ + diff --git a/docs/html/node16.html b/docs/html/node16.html index 15f6ba15..8eef7ca3 100644 --- a/docs/html/node16.html +++ b/docs/html/node16.html @@ -1,10 +1,6 @@ - + - + Getting Started @@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + @@ -25,54 +21,55 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - + next - up - previous - contents
- Next: Next: Examples - Up: Up: userhtml - Previous: Previous: Smoothers and coarsest-level solvers -   Contents
-
+


Getting Started -

+

-We describe the basics for building and applying MLD2P4 one-level and multilevel +We describe the basics for building and applying MLD2P4 one-level and multilevel (i.e., AMG) preconditioners with the Krylov solvers included in PSBLAS [13]. + HREF="node36.html#PSBLASGUIDE">13]. The following steps are required: - +

    -
  1. Declare the preconditioner data structure. It is a derived data type, - mld_xprec_ type, where x may be s, d, c +
  2. Declare the preconditioner data structure. It is a derived data type, + mld_xprec_ type, where x may be s, d, c or z, according to the basic data type of the sparse matrix (s = real single precision; d = real double precision; c = complex single precision; z = complex double precision). This data structure is accessed by the user only through the MLD2P4 routines, following an object-oriented approach.
  3. -
  4. Allocate and initialize the preconditioner data structure, according to - a preconditioner type chosen by the user. This is performed by the routine +
  5. Allocate and initialize the preconditioner data structure, according to + a preconditioner type chosen by the user. This is performed by the routine init, which also sets defaults for each preconditioner type selected by the user. The preconditioner types and the defaults associated with them are given in Table 1, where the strings used by @@ -80,8 +77,8 @@ The following steps are required: Note that these strings are valid also if uppercase letters are substituted by corresponding lowercase ones.
  6. -
  7. Modify the selected preconditioner type, by properly setting - preconditioner parameters. This is performed by the routine set. +
  8. Modify the selected preconditioner type, by properly setting + preconditioner parameters. This is performed by the routine set. This routine must be called only if the user wants to modify the default values of the parameters associated with the selected preconditioner type, to obtain a variant of that preconditioner. Examples of use of set are given in @@ -89,38 +86,38 @@ The following steps are required: preconditioner parameters and their allowed and default values is provided in Section 6, Tables 2-8.
  9. -
  10. Build the preconditioner for a given matrix. If the selected preconditioner +
  11. Build the preconditioner for a given matrix. If the selected preconditioner is multilevel, then two steps must be performed, as specified next.
    4.1
    -
    Build the aggregation hierarchy for a given matrix. This is +
    Build the aggregation hierarchy for a given matrix. This is performed by the routine hierarchy_build.
    4.2
    -
    Build the preconditioner for a given matrix. This is performed +
    Build the preconditioner for a given matrix. This is performed by the routine smoothers_build.
    If the selected preconditioner is one-level, it is built in a single step, performed by the routine bld.
  12. -
  13. Apply the preconditioner at each iteration of a Krylov solver. - This is performed by the routine aply. When using the PSBLAS Krylov solvers, - this step is completely transparent to the user, since aply is called +
  14. Apply the preconditioner at each iteration of a Krylov solver. + This is performed by the method apply. When using the PSBLAS Krylov solvers, + this step is completely transparent to the user, since apply is called by the PSBLAS routine implementing the Krylov solver (psb_krylov).
  15. -
  16. Free the preconditioner data structure. This is performed by +
  17. Free the preconditioner data structure. This is performed by the routine free. This step is complementary to step 1 and should be performed when the preconditioner is no more used.
  18. -
+

-All the previous routines are available as methods of the preconditioner object. +All the previous routines are available as methods of the preconditioner object. A detailed description of them is given in Section 6. Examples showing the basic use of MLD2P4 are reported in Section 5.1. - +

- +

@@ -135,8 +132,8 @@ Preconditioner types, corresponding strings and default choices. - - + @@ -177,60 +174,63 @@ Preconditioner types, corresponding strings and default choices. for further details of the preconditioner.
DEFAULT PRECONDITIONER
No preconditioner'NOPREC'Considered only to use the PSBLAS +'NONE'Considered to use the PSBLAS Krylov solvers with no preconditioner.
Diagonal
+

-
+

-Note that the module mld_prec_mod, containing the definition of the +Note that the module mld_prec_mod, containing the definition of the preconditioner data type and the interfaces to the routines of MLD2P4, must be used in any program calling such routines. The modules psb_base_mod, for the sparse matrix and communication descriptor data types, and psb_krylov_mod, for interfacing with the Krylov solvers, must be also used (see Section 5.1). -
+

-Remark 1. Coarsest-level solvers based on the LU factorization, +Remark 1. Coarsest-level solvers based on the LU factorization, such as those implemented in UMFPACK, MUMPS, SuperLU, and SuperLU_Dist, usually lead to smaller numbers of preconditioned Krylov iterations than inexact solvers, when the linear system comes from a standard discretization of basic scalar elliptic PDE problems. However, this does not necessarily correspond to the smallest execution time -on parallel computers. +on parallel computers. +

- +


Subsections - -
+ + diff --git a/docs/html/node17.html b/docs/html/node17.html index c9f90253..830f4f6c 100644 --- a/docs/html/node17.html +++ b/docs/html/node17.html @@ -1,10 +1,6 @@ - + - + Examples @@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + @@ -24,38 +20,39 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - + next - up - previous - contents
- Next: Next: User Interface - Up: Up: Getting Started - Previous: Previous: Getting Started -   Contents
-
+


Examples -

+

-The code reported in Figure 2 shows how to set and apply the default +The code reported in Figure 2 shows how to set and apply the default multilevel preconditioner available in the real double precision version of MLD2P4 (see Table 1). This preconditioner is chosen by simply specifying 'ML' as the second argument of P%init @@ -64,9 +61,9 @@ solver provided by PSBLAS (the matrix of the system to be solved is assumed to be positive definite). As previously observed, the modules psb_base_mod, mld_prec_mod and psb_krylov_mod must be used by the example program. - +

-The part of the code concerning the +The part of the code concerning the reading and assembling of the sparse matrix and the right-hand side vector, performed through the PSBLAS routines for sparse matrix and vector management, is not reported here for brevity; the statements concerning the deallocation of the PSBLAS @@ -77,17 +74,17 @@ Section 3.5). A sample test probl input data is available in examples/fileread/runs. For details on the use of the PSBLAS routines, see the PSBLAS User's Guide [13]. - + HREF="node36.html#PSBLASGUIDE">13]. +

-The setup and application of the default multilevel preconditioner +The setup and application of the default multilevel preconditioner for the real single precision and the complex, single and double precision, versions are obtained with straightforward modifications of the previous example (see Section 6 for details). If these versions are installed, the corresponding codes are available in examples/fileread/. - +

- +

Figure 2: @@ -157,9 +154,9 @@ setup and application of the default multilevel preconditioner (example 1).
- +

-Different versions of the multilevel preconditioner can be obtained by changing +Different versions of the multilevel preconditioner can be obtained by changing the default values of the preconditioner parameters. The code reported in Figure 3 shows how to set a V-cycle preconditioner which applies 1 block-Jacobi sweep as pre- and post-smoother, @@ -176,24 +173,25 @@ and solves the coarsest-level system with the multifrontal LU factorization implemented in MUMPS. It is specified that the coarsest-level matrix is distributed, since MUMPS can be used on both replicated and distributed matrices, and by default -it is used on replicated ones. The code fragments shown in Figures 3 and 4 are +it is used on replicated ones. +The code fragments shown in Figures 3 and 4 are included in the example program file mld_dexample_ml.f90 too. - +

-Finally, Figure 5 shows the setup of a one-level +Finally, Figure 5 shows the setup of a one-level additive Schwarz preconditioner, i.e., RAS with overlap 2. Note also that a Krylov method different from CG must be used to solve the preconditioned system, since the preconditione in nonsymmetric. The corresponding example program is available in the file mld_dexample_1lev.f90. - +

-For all the previous preconditioners, example programs where the sparse matrix and +For all the previous preconditioners, example programs where the sparse matrix and the right-hand side are generated by discretizing a PDE with Dirichlet boundary conditions are also available in the directory examples/pdegen. - +

- +

Figure 3: @@ -224,9 +222,9 @@ setup of a multilevel preconditioner
- +

- +

Figure 4: @@ -257,9 +255,9 @@ setup of a multilevel preconditioner
- +

- +

Figure 5: @@ -285,31 +283,32 @@ setup of a one-level Schwarz preconditioner.
- +

-


+ + diff --git a/docs/html/node18.html b/docs/html/node18.html index 627daa9b..fc22110c 100644 --- a/docs/html/node18.html +++ b/docs/html/node18.html @@ -1,10 +1,6 @@ - + - + User Interface @@ -13,89 +9,91 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - + - - + next - up - previous - contents
- Next: Subroutine init - Up: Next: Method init + Up: userhtml - Previous: Previous: Examples -   Contents
-
+


User Interface -

+

-The basic user interface of MLD2P4 consists of eight routines. The six -routines init, set, -hierarchy_build, smoothers_build, -bld, and apply encapsulate all the -functionalities for the setup and the application of any multilevel and one-level -preconditioner implemented in the package. -The routine free deallocates the preconditioner data structure, while +The basic user interface of MLD2P4 consists of eight methods. The six +methods init, set, build, +hierarchy_build, smoothers_build and apply +encapsulate all the functionalities for the setup and the application +of any multilevel and one-level preconditioner implemented in the +package. +The method free deallocates the preconditioner data structure, while descr prints a description of the preconditioner setup by the user. - +For backward compatibility, methods are also accessible as +stand-alone subroutines. +

-All the routines are available as methods of the preconditioner object. -For each routine, the same user interface is overloaded with +For each method, the same user interface is overloaded with respect to the real/ complex case and the single/double precision; -arguments with appropriate data types must be passed to the routine, +arguments with appropriate data types must be passed to the method, i.e., - +

  • the sparse matrix data structure, containing the matrix to be - preconditioned, must be of type psb_xspmat_type - with x = s for real single precision, x = d - for real double precision, x = c for complex single precision, - x = z for complex double precision; + preconditioned, must be of type psb_xspmat_type + with x = s for real single precision, x = d + for real double precision, x = c for complex single precision, + x = z for complex double precision;
  • the preconditioner data structure must be of type - mld_xprec_type, with x = + mld_xprec_type, with x = s, d, c, z, according to the sparse matrix data structure;
  • -
  • the arrays containing the vectors the arrays containing the vectors $v$ and $v$ and $w$ involved in - the preconditioner application $w$ involved in + the preconditioner application $w=B^{-1}v$ must be of type - psb_xvect_type with x = + ALT="$w=B^{-1}v$"> must be of type + psb_xvect_type with x = s, d, c, z, in a manner completely analogous to the sparse matrix type;
  • @@ -103,59 +101,73 @@ i.e., according to the precision of the sparse matrix and preconditioner data structures (see Section 6.2). -
-A description of each routine is given in the remainder of this section. - + +A description of each method is given in the remainder of this section. +

- +

- +


Subsections - -
+ + diff --git a/docs/html/node19.html b/docs/html/node19.html index 287fdec4..1ea569b5 100644 --- a/docs/html/node19.html +++ b/docs/html/node19.html @@ -1,19 +1,15 @@ - + - + -Subroutine init - +Method init + - + @@ -25,106 +21,109 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - + next - up - previous - contents
- Next: Subroutine set - Up: Next: Method set + Up: User Interface - Previous: Previous: User Interface -   Contents
-
+


-Subroutine init -

+Method init +

- -

call p%init(ptype,info) -
+ +
call p%init(ptype,info) +

- -This routine allocates and initializes the preconditioner + +This method allocates and initializes the preconditioner p, according to the preconditioner type chosen by the user. - +

-Arguments +Arguments

- +

- - - +
ptype character(len=*), intent(in).
+ + - - + + - - + + - - + + - - + + -
+ptype character(len=*), intent(in).
- The type of preconditioner. Its values are specified - in Table 1.
+ The type of preconditioner. Its values are specified + in Table 1.
- Note that the strings are case insensitive.
+ Note that the strings are case insensitive.
-info integer, intent(out).
+info integer, intent(out).
- Error code. If no error, 0 is returned. See Section 8 for details.
+ Error code. If no error, 0 is returned. See Section 8 for details.
+

-For compatibility with the previous versions of MLD2P4, this routine can be also invoked +For compatibility with the previous versions of MLD2P4, this method can be also invoked as follows: - +

- -

call mld_precinit(p,ptype,info) -
+ +
call mld_precinit(p,ptype,info) +

- +

-


+ + diff --git a/docs/html/node2.html b/docs/html/node2.html index f996d913..27a15212 100644 --- a/docs/html/node2.html +++ b/docs/html/node2.html @@ -1,10 +1,6 @@ - + - + Contents @@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + @@ -25,25 +21,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - + next - up - previous
- Next: Next: General Overview - Up: Up: userhtml - Previous: Previous: Abstract
-
+

@@ -52,82 +49,84 @@ Contents - +
+
  • Adding new smoother and solver objects to MLD2P4 +
  • Error Handling +
  • License +
  • Bibliography - +

    - + - +

    - +


    diff --git a/docs/html/node20.html b/docs/html/node20.html index eb63a26e..6d8135bf 100644 --- a/docs/html/node20.html +++ b/docs/html/node20.html @@ -1,19 +1,15 @@ - + - + -Subroutine set - +Method set + - + @@ -25,144 +21,146 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - + next - up - previous - contents
    - Next: Subroutine build - Up: Next: Method hierarchy_build + Up: User Interface - Previous: Subroutine init -   Previous: Method init +   Contents
    -
    +


    -Subroutine set -

    +Method set +

    - -

    call p%set(what,val,info [,ilev, ilmax, pos]) -
    + +
    call p%set(what,val,info [,ilev, ilmax, pos]) +

    - -This routine sets the parameters defining the preconditioner p. More + +This method sets the parameters defining the preconditioner p. More precisely, the parameter identified by what is assigned the value contained in val. - +

    -Arguments +Arguments

    - +

    - - - +
    what character(len=*).
    + + - - + + Tables 2-8. - - + + - - + + it is also treated as case insensitive. - - + + - - + + - - + + - - + + Tables 2-8). - - + + - - + + order starting from the finest one, i.e., level 1 is the finest level. - - + + - - + + -
    +what character(len=*).
    - The parameter to be set. It can be specified through its name; +
    + The parameter to be set. It can be specified through its name; the string is case-insensitive. See - Tables 2-8.
    -val integer or character(len=*) or - real(psb_spk_) or real(psb_dpk_), - intent(in).
    +val integer or character(len=*) or + real(psb_spk_) or real(psb_dpk_), + intent(in).
    - The value of the parameter to be set. The list of allowed +
    + The value of the parameter to be set. The list of allowed values and the corresponding data types is given in Tables 2-8. When the value is of type character(len=*), - it is also treated as case insensitive.
    -info integer, intent(out).
    +info integer, intent(out).
    - Error code. If no error, 0 is returned. See Section 8 - for details.
    + Error code. If no error, 0 is returned. See Section 8 + for details.
    -ilev integer, optional, intent(in).
    +ilev integer, optional, intent(in).
    - For the multilevel preconditioner, the level at which the +
    + For the multilevel preconditioner, the level at which the preconditioner parameter has to be set. The levels are numbered in increasing order starting from the finest one, i.e., level 1 is the finest level. If ilev is not present, the parameter identified by what is set at all the appropriate levels (see - Tables 2-8).
    -ilmax integer, optional, intent(in).
    +ilmax integer, optional, intent(in).
    - For the multilevel preconditioner, when both +
    + For the multilevel preconditioner, when both ilev and ilmax are present, the settings are applied at all levels ilev:ilmax. When ilev is present but ilmax is not, then the default is ilmax=ilev. The levels are numbered in increasing - order starting from the finest one, i.e., level 1 is the finest level.
    -pos charater(len=*), optional, intent(in).
    +pos charater(len=*), optional, intent(in).
    - Whether the other arguments apply only to the pre-smoother ('PRE') +
    + Whether the other arguments apply only to the pre-smoother ('PRE') or to the post-smoother ('POST'). If pos is not present, the other arguments are applied to both smoothers. If the preconditioner is one-level or the parameter identified by what does not concern the smoothers, pos is ignored. -
    +

    -For compatibility with the previous versions of MLD2P4, this routine can be also invoked +For compatibility with the previous versions of MLD2P4, this method can be also invoked as follows: - +

    - -

    call mld_precset(p,what,val,info) -
    + +
    call mld_precset(p,what,val,info) +

    - + However, in this case the optional arguments ilev, ilmax, and pos cannot be used. -
    +

    -A variety of preconditioners can be obtained +A variety of preconditioners can be obtained by a suitable setting of the preconditioner parameters. These parameters can be logically divided into four groups, i.e., parameters defining - +

    1. the type of multilevel cycle and how many cycles must be applied;
    2. @@ -176,14 +174,14 @@ can be logically divided into four groups, i.e., parameters defining

      -

    + A list of the parameters that can be set, along with their allowed and default values, is given in Tables 2-8. For a description of the meaning of the parameters, please refer also to Section 4. -
    +

    -Remark 2. A smoother is usually obtained by combining two objects: +Remark 2. A smoother is usually obtained by combining two objects: a smoother (SMOOTHER_TYPE) and a local solver (SUB_SOLVE), as specified in Tables 7-8. For example, the block-Jacobi smoother using @@ -199,30 +197,30 @@ hybrid backward Gauss-Seidel, i.e., the previous smoothers can be defined by setting only SMOOTHER_TYPE to appropriate values (see Tables 7), i.e., without setting SUB_SOLVE too. - +

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

    -Similar considerations apply to the point-Jacobi, Gauss-Seidel and block-Jacobi +Similar considerations apply to the point-Jacobi, Gauss-Seidel and block-Jacobi coarsest-level solvers, and shortcuts are available in this case too (see Table 5). -
    +

    -Remark 3. In general, a coarsest-level solver cannot be used with +Remark 3. In general, a coarsest-level solver cannot be used with both the replicated and distributed coarsest-matrix layout; therefore, setting the solver after the layout may change the layout. Similarly, setting the layout after the solver may change the solver. - +

    -More precisely, UMFPACK and SuperLU require the coarsest-level +More precisely, UMFPACK and SuperLU require the coarsest-level matrix to be replicated, while SuperLU_Dist requires it to be distributed. In these cases, setting the coarsest-level solver implies that the layout is redefined according to the solver, ovverriding any @@ -234,22 +232,22 @@ It is worth noting that, when the matrix is replicated, the point-Jacobi, hybrid Gauss-Seidel and block-Jacobi solvers reduce to the corresponding local solver objects (see Remark 2). For the point-Jacobi and Gauss-Seidel solvers, these objects -correspond to a single point-Jacobi sweep and a single +correspond to a single point-Jacobi sweep and a single Gauss-Seidel sweep, respectively, which are very poor solvers. - +

    -On the other hand, the distributed layout can be used with any solver +On the other hand, the distributed layout can be used with any solver but UMFPACK and SuperLU; therefore, if any of these two solvers has already been selected, the coarsest-level solver is changed to block-Jacobi, with the previously chosen solver applied to the local blocks. Likewise, the replicated layout can be used with any solver but SuperLu_Dist; therefore, if SuperLu_Dist has been previously set, the coarsest-level solver is changed to the default sequential solver. - +

    - +

    -
    +
    + ALT="$\ge 1$"> @@ -298,11 +296,11 @@ number
    Table 2: Parameters defining the multilevel cycle and the number of cycles to @@ -286,10 +284,10 @@ Note that hybrid Multiplicative Schwarz is equivalent to V-cycle and
    integer Any integer

    -number $\ge 1$

    1 Number of multilevel cycles.

    -
    +

    - +

    -
    +
    + ALT="$> 0$"> + ALT="$> 1$"> + ALT="$> 1$"> @@ -377,19 +375,19 @@ Currently, only the decoupled aggregation (DEC) is available; the SYMDEC option applies decoupled aggregation to the sparsity pattern - of $A+A^T$. + ALT="$A+A^T$">. - - + + + HREF="node36.html#VANEK_MANDEL_BREZINA">25]. @@ -398,26 +396,26 @@ Currently, only the - +the coarse size threshold, the - + - +
    Table 3: Parameters defining the aggregation algorithm. @@ -320,20 +318,20 @@ Parameters defining the aggregation algorithm.
    integer Any number

    -$> 0$

    -$\lfloor 40 \sqrt[3]{n} \rfloor$, where $\lfloor 40 \sqrt[3]{n} \rfloor$, where $n$ is the dimension + ALT="$n$"> is the dimension of the matrix at the finest level Coarse size threshold. The aggregation stops if the global number of variables of the @@ -345,10 +343,10 @@ Parameters defining the aggregation algorithm. real Any number

    -$> 1$

    1.5 Minimum coarsening ratio. The aggregation stops if the ratio between the matrix dimensions @@ -359,10 +357,10 @@ Parameters defining the aggregation algorithm. integer Any integer

    -number $> 1$

    20 Maximum number of levels. The aggregation stops if the number of levels reaches this value (see Note).
    'AGGR_TYPE' character(len=*)'VMB''VMB''VMB''VMB' Type of aggregation algorithm: currently, the scalar aggregation algorithm by Vanek, Mandel and Brezina is implemented [25].
    'AGGR_PROL' character(len=*)Prolongator used by the aggregation algorithm: smoothed or unsmoothed (i.e., tentative prolongator).
    Note. The aggregation algorithm stops when +
    Note. The aggregation algorithm stops when at least one of the following criteria is met: -the coarse size threshold, the
    minimum coarsening ratio, or the maximum number -of levels is reached. Therefore, the actual number of levels may be
    minimum coarsening ratio, or the maximum number +of levels is reached. Therefore, the actual number of levels may be
    smaller than the specified maximum number -of levels.
    smaller than the specified maximum number +of levels.

    -
    +

    - +

    -
    +
    - + + + ALT="$\in [0, 1]$"> - @@ -467,24 +466,24 @@ number Matrix used in computing the smoothed prolongator: filtered or unfiltered (see (5) in Section 4.2). - + HREF="node36.html#VANEK_MANDEL_BREZINA">25, Section 5.1], can be easily set by +invoking the rou- - +
    Table 4: Parameters defining the aggregation algorithm (continued). @@ -442,19 +440,20 @@ Parameters defining the aggregation algorithm (continued). descending degrees of the nodes in the matrix graph. -
    'AGGR_THRESH'real(kind_parameter)
    +'AGGR_THRESH'real(kind_parameter) Any real

    -number $\in [0, 1]$

    0.01The threshold The threshold $\theta$ in the aggregation algorithm, + ALT="$\theta$"> in the aggregation algorithm, see (3) in Section 4.2. See also the note at the bottom of this table.
    Note. Different thresholds at different levels, such as +
    Note. Different thresholds at different levels, such as those used in [25, Section 5.1], can be easily set by -invoking the rou-
    tine set with -the parameter ilev.
    tine set with +the parameter ilev.

    -
    +

    - +

    -
    +
    - + - + ILU otherwise; - + installed, ILU otherwise.
    Table 5: Parameters defining the coarse-space correction at the coarsest @@ -556,42 +555,42 @@ Note that UMF and SLU require the coarsest
    See Note. Solver for the diagonal blocks of the coarse matrix, in case the block Jacobi solver - is chosen as coarsest-level solver: ILU($p$), ILU($p$), ILU($p,t$), - MILU($p,t$), + MILU($p$), LU from MUMPS, SuperLU or UMFPACK + ALT="$p$">), LU from MUMPS, SuperLU or UMFPACK (plus triangular solve). Note that UMFPACK and SuperLU_Dist are available only in double precision.
    Note. Defaults for COARSE_SOLVE and -COARSE_SUBSOLVE are chosen in the following order:
    Note. Defaults for COARSE_SOLVE and +COARSE_SUBSOLVE are chosen in the following order:
    single precision version - MUMPS if installed, +
    single precision version - MUMPS if installed, then SLU if installed, - ILU otherwise;
    double precision version - UMF if installed, +
    double precision version - UMF if installed, then MUMPS if installed, then SLU if - installed, ILU otherwise.

    -
    +

    - +

    -
    +
    + ALT="$> 0$"> @@ -621,43 +620,43 @@ number integer + ALT="$\ge 0$"> - + ALT="$p$"> of the ILU factorizations. - + + ALT="$\ge 0$"> - + ALT="$p,t$">) factorization.
    Table 6: Parameters defining the coarse-space correction at the coarsest @@ -609,10 +608,10 @@ level (continued).
    integer Any integer

    -number $> 0$

    10 Number of sweeps when JACOBI, GS or BJAC is chosen as coarsest-level solver. Any integer

    -number $\ge 0$

    0Fill-in level Fill-in level $p$ of the ILU factorizations.
    'COARSE_ILUTHRS'real(kind_parameter)real(kind_parameter) Any real

    -number $\ge 0$

    0Drop tolerance Drop tolerance $t$ in the ILU($t$ in the ILU($p,t$) factorization.

    -
    +

    - +

    -
    +
    Table 7: Parameters defining the smoother or the details of the one-level preconditioner. @@ -665,122 +664,126 @@ Parameters defining the smoother or the details of the one-level preconditioner.
    - - - - - - - - - - - + + + + + + + + + + +It is ignored by one-level preconditioners. - - - + + - + - + + Gauss-Seidel. - - - + + - - + + + respectively. - - - + + - - + ALT="$\ge 0$"> + + +
    -what DATA TYPE val DEFAULT -COMMENTS
    'SMOOTHER_TYPE' character(len=*) - 'JACOBI' -

    -'GS' -

    -'BGS' -

    -'BJAC' - -

    -'AS' -

    'FBGS' - Type of smoother used in the multilevel preconditioner: +
    +what DATA TYPE val DEFAULT +COMMENTS
    +'SMOOTHER_TYPE' character(len=*) + 'JACOBI' +

    +'GS' +

    +'BGS' +

    +'BJAC' + +

    +'AS' +

    'FBGS' + Type of smoother used in the multilevel preconditioner: point-Jacobi, hybrid (forward) Gauss-Seidel, hybrid backward Gauss-Seidel, block-Jacobi, and - Additive Schwarz. + Additive Schwarz.

    -It is ignored by one-level preconditioners.

    'SUB_SOLVE' character(len=*) - 'JACOBI' +
    +'SUB_SOLVE' character(len=*) + 'JACOBI'

    -'GS' +'GS'

    -'BGS' +'BGS'

    -'ILU' +'ILU'

    -'ILUT' +'ILUT'

    -'MILU' +'MILU'

    -'MUMPS' +'MUMPS'

    -'SLU' +'SLU'

    -'UMF' -

    GS and BGS for pre- and post-smoothers - of multilevel preconditioners, respectively +'UMF' + GS and BGS for pre- and post-smoothers + of multilevel preconditioners, respectively

    -ILU for block-Jacobi and Additive Schwarz +ILU for block-Jacobi and Additive Schwarz one-level preconditioners -

    The local solver to be used with the smoother or one-level + The local solver to be used with the smoother or one-level preconditioner (see Remark 2, page 24): point-Jacobi, hybrid (forward) Gauss-Seidel, hybrid backward - Gauss-Seidel, ILU($p$), ILU($p$), ILU($p,t$), MILU($p,t$), MILU($p$), + ALT="$p$">), LU from MUMPS, SuperLU or UMFPACK (plus triangular solve). See Note for details on hybrid - Gauss-Seidel.
    'SMOOTHER_SWEEPS' integer - Any integer +
    +'SMOOTHER_SWEEPS' integer + Any integer

    -number number $\ge 0$ -

    1 - Number of sweeps of the smoother or one-level preconditioner. + ALT="$\ge 0$"> + 1 + Number of sweeps of the smoother or one-level preconditioner. In the multilevel case, no pre-smother or post-smoother is used if this parameter is set to 0 together with pos='PRE' or pos='POST, - respectively.
    'SUB_OVR' integer - Any integer +
    +'SUB_OVR' integer + Any integer

    -number number $\ge 0$ -

    1 - Number of overlap layers, for Additive Schwarz only. 1 + Number of overlap layers, for Additive Schwarz only.

    -
    +

    - +

    -
    +
    Table 8: Parameters defining the smoother or the details of the one-level preconditioner @@ -788,82 +791,87 @@ Parameters defining the smoother or the details of the one-level preconditioner
    - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + +Note that SUM must be chosen for the classical Additive + Schwarz smoother, and NONE for its RAS variant. - - - + + - - + + + ALT="$p$"> of the incomplete LU factorizations. - - - + + - - + + + ALT="$p,t$">) factorization. - + @@ -873,33 +881,34 @@ Parameters defining the smoother or the details of the one-level preconditioner
    -what DATA TYPE val DEFAULT -COMMENTS
    'SUB_RESTR' character(len=*) - 'HALO' -

    -'NONE' -

    'HALO' - Type of restriction operator, for Additive Schwarz only: +
    +what DATA TYPE val DEFAULT +COMMENTS
    +'SUB_RESTR' character(len=*) + 'HALO' +

    +'NONE' +

    'HALO' + Type of restriction operator, for Additive Schwarz only: HALO for taking into account the overlap, NONE - for neglecting it. -

    -Note that HALO must be chosen for - the classical Addditive Schwarz smoother and its RAS variant.

    'SUB_PROL' character(len=*) - 'SUM' -

    -'NONE' -

    'NONE' - Type of prolongation operator, for Additive Schwarz only: + for neglecting it. +

    +Note that HALO must be chosen for + the classical Addditive Schwarz smoother and its RAS variant.

    +'SUB_PROL' character(len=*) + 'SUM' +

    +'NONE' +

    'NONE' + Type of prolongation operator, for Additive Schwarz only: SUM for adding the contributions from the overlap, NONE - for neglecting them. + for neglecting them.

    -Note that SUM must be chosen for the classical Additive - Schwarz smoother, and NONE for its RAS variant.

    'SUB_FILLIN' integer - Any integer +
    +'SUB_FILLIN' integer + Any integer

    -number number $\ge 0$ -

    0 - Fill-in level $\ge 0$ + 0 + Fill-in level $p$ of the incomplete LU factorizations.
    'SUB_ILUTHRS' real(kind_parameter) - Any real number  +'SUB_ILUTHRS' real(kind_parameter) + Any real number $\ge 0$ - 0 - Drop tolerance $\ge 0$ + 0 + Drop tolerance $t$ in the ILU($t$ in the ILU($p,t$) factorization.
    +

    -
    +

    - +

    -


    + + diff --git a/docs/html/node21.html b/docs/html/node21.html index 73892e6c..8a1d324e 100644 --- a/docs/html/node21.html +++ b/docs/html/node21.html @@ -1,19 +1,15 @@ - + - + -Subroutine build - +Method hierarchy_build + - + @@ -25,120 +21,112 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - + next - up - previous - contents
    - Next: Subroutine hierarchy_build - Up: Next: Method smoothers_build + Up: User Interface - Previous: Subroutine set -   Previous: Method set +   Contents
    -
    +
    -

    +


    -Subroutine build -

    +Method hierarchy_build +

    - -

    call p%build(a,desc_a,info) -
    + +
    call p%hierarchy_build(a,desc_a,info) +

    - -This routine builds the one-level preconditioner p according to the requirements -made by the user through the routines init and set -(see Sections 6.4 and 6.5 for multilevel preconditioners). - + +This method builds the hierarchy of matrices and restriction/prolongation +operators for the multilevel preconditioner p, according to the requirements +made by the user through the methods init and set. +

    -Arguments +Arguments

    - +

    - - - +
    -a type(psb_xspmat_type), intent(in).
    + + - - + + HREF="node36.html#PSBLASGUIDE">13]. - - + + - - + + HREF="node36.html#PSBLASGUIDE">13]. - - + + - - + + -
    +a type(psb_xspmat_type), intent(in).
    - The sparse matrix structure containing the local part of the - matrix to be preconditioned. Note that x must be chosen according - to the real/complex, single/double precision version of MLD2P4 under use. +
    + The sparse matrix structure containing the local part of the + matrix to be preconditioned. Note that 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 [13].
    -desc_a type(psb_desc_type), intent(in).
    +desc_a type(psb_desc_type), intent(in).
    - The communication descriptor of a. See the PSBLAS User's Guide for +
    + The communication descriptor of a. See the PSBLAS User's Guide for details [13].
    info integer, intent(out).
    +info integer, intent(out).
    - Error code. If no error, 0 is returned. See Section 8 for details.
    + Error code. If no error, 0 is returned. See Section 8 for details.
    -

    -For compatibility with the previous versions of MLD2P4, this routine can be also invoked -as follows: - +

    - -

    call mld_precbld(p,what,val,info) -
    +

    - -In this case, the routine can be used to build multilevel preconditioners too. - -

    - -

    -


    + + diff --git a/docs/html/node22.html b/docs/html/node22.html index 57a370bd..0bb9ab16 100644 --- a/docs/html/node22.html +++ b/docs/html/node22.html @@ -1,19 +1,15 @@ - + - + -Subroutine hierarchy_build - +Method smoothers_build + - + @@ -25,109 +21,143 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - + next - up - previous - contents
    - Next: Subroutine smoothers_build - Up: Next: Method build + Up: User Interface - Previous: Subroutine build -   Previous: Method hierarchy_build +   Contents
    -
    +
    -

    +


    -Subroutine hierarchy_build -

    +Method smoothers_build +

    - -

    call p%hierarchy_build(a,desc_a,info) -
    + +
    call p%smoothers_build(a,desc_a,p,info[,amold,vmold,imold]) +

    - -This routine builds the hierarchy of matrices and restriction/prolongation -operators for the multilevel preconditioner p, according to the requirements -made by the user through the routines init and set. - + +This method builds the smoothers and the coarsest-level solvers for the +multilevel preconditioner p, according to the requirements made by +the user through the methods init and set, and based on the aggregation +hierarchy produced by a previous call to hierarchy_build +(see Section 6.3). +

    -Arguments +Arguments

    - +

    - - - +
    -a type(psb_xspmat_type), intent(in).
    + + - - + + HREF="node36.html#PSBLASGUIDE">13]. - - + + - - + + HREF="node36.html#PSBLASGUIDE">13]. + + + + + + - - + + - - + + -
    +a type(psb_xspmat_type), intent(in).
    - The sparse matrix structure containing the local part of the - matrix to be preconditioned. Note that x must be chosen according - to the real/complex, -single/double precision version of MLD2P4 under use. +
    + The sparse matrix structure containing the local part of the + matrix to be preconditioned. Note that 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 [13].
    -desc_a type(psb_desc_type), intent(in).
    +desc_a type(psb_desc_type), intent(in).
    - The communication descriptor of a. See the PSBLAS User's Guide for +
    + The communication descriptor of a. See the PSBLAS User's Guide for details [13].
    +info integer, intent(out).
    + Error code. If no error, 0 is returned. See Section 8 for details.
    info integer, intent(out).
    +amold class(psb_x_base_sparse_mat), intent(in), optional.
    - Error code. If no error, 0 is returned. See Section 8 for details.
    + The desired dynamic type for internal matrix + components; this allows e.g. running on GPUs; it needs not be the + same on all processes. See the PSBLAS User's Guide for + details [13].
    + + vmold + class(psb_x_base_vect_type), intent(in), optional. + + + + The desired dynamic type for internal vector + components; this allows e.g. running on GPUs. + + + imold + class(psb_i_base_vect_type), intent(in), optional. + + + + The desired dynamic type for internal integer vector + components; this allows e.g. running on GPUs. + +

    - +

    -


    + + diff --git a/docs/html/node23.html b/docs/html/node23.html index f0e392ab..445ce6f3 100644 --- a/docs/html/node23.html +++ b/docs/html/node23.html @@ -1,19 +1,15 @@ - + - + -Subroutine smoothers_build - +Method build + - + @@ -25,108 +21,156 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - + next - up - previous - contents
    - Next: Subroutine apply - Up: Next: Method apply + Up: User Interface - Previous: Subroutine hierarchy_build -   Previous: Method smoothers_build +   Contents
    -
    +
    -

    +


    -Subroutine smoothers_build -

    +Method build +

    - -

    call p%smoothers_build(a,desc_a,p,info) -
    + +
    call p%build(a,desc_a,info[,amold,vmold,imold]) +

    - -This routine builds the smoothers and the coarsest-level solvers for the -multilevel preconditioner p, according to the requirements made by -the user through the routines init and set, and based on the aggregation -hierarchy produced by a previous call to hierarchy_build -(see Section 6.4). - + +This method builds the preconditioner p according to the requirements +made by the user through the methods init and set +(see Sections 6.3 and 6.4 for +multilevel preconditioners). It is mostly provided for backward +compatibility; indeed, it is internally implemented by invoking the +two previous methods hierarchy_build and +smoothers_build, whose nomenclature would however be somewhat +unnatural when dealing with simple one-level preconditioners. +

    -Arguments +Arguments

    - +

    - - - +
    -a type(psb_xspmat_type), intent(in).
    + + - - + + HREF="node36.html#PSBLASGUIDE">13]. - - + + - - + + HREF="node36.html#PSBLASGUIDE">13]. + + + + + + + + + + + + - - + + - - + + -
    +a type(psb_xspmat_type), intent(in).
    - The sparse matrix structure containing the local part of the - matrix to be preconditioned. Note that x must be chosen according +
    + The sparse matrix structure containing the local part of the + matrix to be preconditioned. Note that 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 [13].
    -desc_a type(psb_desc_type), intent(in).
    +desc_a type(psb_desc_type), intent(in).
    - The communication descriptor of a. See the PSBLAS User's Guide for +
    + The communication descriptor of a. See the PSBLAS User's Guide for details [13].
    +info integer, intent(out).
    + Error code. If no error, 0 is returned. See Section 8 for details.
    +amold class(psb_x_base_sparse_mat), intent(in), optional.
    + The desired dynamic type for internal matrix + components; this allows e.g. running on GPUs; it needs not be the + same on all processes. See the PSBLAS User's Guide for + details [13].
    info integer, intent(out).
    + vmold class(psb_x_base_vect_type), intent(in), optional.
    - Error code. If no error, 0 is returned. See Section 8 for details.
    + The desired dynamic type for internal vector + components; this allows e.g. running on GPUs.
    + + imold + class(psb_i_base_vect_type), intent(in), optional. + + + + The desired dynamic type for internal integer vector + components; this allows e.g. running on GPUs. + + +

    +For compatibility with the previous versions of MLD2P4, this method can be also invoked +as follows: +

    -


    + +
    call mld_precbld(p,what,val,info[,amold,vmold,imold]) +
    +

    + +The method can be used to build multilevel preconditioners too. + +

    + +

    diff --git a/docs/html/node24.html b/docs/html/node24.html index 9d240cc5..be5f014a 100644 --- a/docs/html/node24.html +++ b/docs/html/node24.html @@ -1,19 +1,15 @@ - + - + -Subroutine apply - +Method apply + - + @@ -25,191 +21,194 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - + next - up - previous - contents
    - Next: Subroutine free - Up: Next: Method free + Up: User Interface - Previous: Subroutine smoothers_build -   Previous: Method build +   Contents
    -
    +


    -Subroutine apply -

    +Method apply +

    - -

    call p%apply(x,y,desc_a,info [,trans,work]) -
    + +
    call p%apply(x,y,desc_a,info [,trans,work]) +

    - -This routine computes -$y = op(B^{-1})  x$, where $y = op(B^{-1})  x$, where $B$ is a previously built -preconditioner, stored into p, and $B$ is a previously built +preconditioner, stored into p, and $op$ + ALT="$op$"> denotes the preconditioner itself or its transpose, according to the value of trans. Note that, when MLD2P4 is used with a Krylov solver from PSBLAS, -p%apply is called within the PSBLAS routine psb_krylov +p%apply is called within the PSBLAS method psb_krylov and hence it is completely transparent to the user. - +

    -Arguments +Arguments

    - +

    - - - +
    x type(kind_parameter), dimension(:), intent(in).
    + + - - + + ALT="$x$">. Note that type and + kind_parameter must be chosen according + to the real/complex, single/double precision version of MLD2P4 under use. - - + + - - + + ALT="$y$">. Note that type and + kind_parameter must be chosen according + to the real/complex, single/double precision version of MLD2P4 under use. - - + + - - + + - - + + - - + + - - + + - - + ALT="$B^{-1})$">. - - + + - - + + Note that type and kind_parameter must be chosen according + to the real/complex, single/double precision version of MLD2P4 under use. -
    +x type(kind_parameter), dimension(:), intent(in).
    - The local part of the vector + The local part of the vector $x$. Note that type and - kind_parameter must be chosen according - to the real/complex, single/double precision version of MLD2P4 under use.
    -y type(kind_parameter), dimension(:), intent(out).
    +y type(kind_parameter), dimension(:), intent(out).
    - The local part of the vector + The local part of the vector $y$. Note that type and - kind_parameter must be chosen according - to the real/complex, single/double precision version of MLD2P4 under use.
    -desc_a type(psb_desc_type), intent(in).
    +desc_a type(psb_desc_type), intent(in).
    - The communication descriptor associated to the matrix to be - preconditioned.
    + The communication descriptor associated to the matrix to be + preconditioned.
    -info integer, intent(out).
    +info integer, intent(out).
    - Error code. If no error, 0 is returned. See Section 8 for details.
    + Error code. If no error, 0 is returned. See Section 8 for details.
    -trans character(len=1), optional, intent(in).
    +trans character(len=1), optional, intent(in).
    - If trans = 'N','n' then -$op(B^{-1}) = B^{-1}$; + ALT="$op(B^{-1}) = B^{-1}$">; if trans = 'T','t' then -$op(B^{-1}) = B^{-T}$ - (transpose of $op(B^{-1}) = B^{-T}$ + (transpose of $B^{-1})$; if trans = 'C','c' then -$op(B^{-1}) = B^{-C}$ - (conjugate transpose of $op(B^{-1}) = B^{-C}$ + (conjugate transpose of $B^{-1})$.
    -work type(kind_parameter), dimension(:), optional, target.
    +work type(kind_parameter), dimension(:), optional, target.
    - Workspace. Its size should be at +
    + Workspace. Its size should be at least 4 * psb_cd_get_local_ cols(desc_a) (see the PSBLAS User's Guide). - Note that type and kind_parameter must be chosen according - to the real/complex, single/double precision version of MLD2P4 under use.
    +

    -For compatibility with the previous versions of MLD2P4, this routine can be also invoked +For compatibility with the previous versions of MLD2P4, this method can be also invoked as follows: - +

    - -

    call mld_precaply(p,what,val,info) -
    + +
    call mld_precaply(p,what,val,info) +

    - +

    -


    + + diff --git a/docs/html/node25.html b/docs/html/node25.html index d588ab16..da626cdc 100644 --- a/docs/html/node25.html +++ b/docs/html/node25.html @@ -1,19 +1,15 @@ - + - + -Subroutine free - +Method free + - + @@ -25,70 +21,72 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - + next - up - previous - contents
    - Next: Subroutine descr - Up: Next: Method descr + Up: User Interface - Previous: Subroutine apply -   Previous: Method apply +   Contents
    -
    +


    -Subroutine free -

    +Method free +

    - -

    call p%free(p,info) -
    + +
    call p%free(p,info) +

    - -This routine deallocates the preconditioner data structure p. - + +This method deallocates the preconditioner data structure p. +

    -Arguments +Arguments

    - +

    - - - +
    info integer, intent(out).
    + + - - + + -
    +info integer, intent(out).
    - Error code. If no error, 0 is returned. See Section 8 for details.
    + Error code. If no error, 0 is returned. See Section 8 for details.
    +

    -For compatibility with the previous versions of MLD2P4, this routine can be also invoked +For compatibility with the previous versions of MLD2P4, this method can be also invoked as follows: - +

    - -

    call mld_precfree(p,info) -
    + +
    call mld_precfree(p,info) +

    - +

    - +


    diff --git a/docs/html/node26.html b/docs/html/node26.html index 93d3abc3..494e7369 100644 --- a/docs/html/node26.html +++ b/docs/html/node26.html @@ -1,128 +1,124 @@ - + - + -Subroutine descr - +Method descr + - + + - - + next - up - previous - contents
    - Next: Adding new smoother and - Up: Next: Auxiliary Methods + Up: User Interface - Previous: Subroutine free -   Previous: Method free +   Contents
    -
    +


    -Subroutine descr -

    +Method descr +

    - -

    call p%descr(info, [iout]) -
    + +
    call p%descr(info, [iout]) +

    - -This routine prints a description of the preconditioner p to the standard output or + +This method prints a description of the preconditioner p to the standard output or to a file. It must be called after hierachy_build and smoothers_build, or build, have been called. - +

    -Arguments +Arguments

    - +

    - - - +
    info integer, intent(out).
    + + - - + + - - + + - - + + -
    +info integer, intent(out).
    - Error code. If no error, 0 is returned. See Section 8 for details.
    + Error code. If no error, 0 is returned. See Section 8 for details.
    -iout integer, intent(in), optional.
    +iout integer, intent(in), optional.
    - The id of the file where the preconditioner description - will be printed; the default is the standard output.
    + The id of the file where the preconditioner description + will be printed; the default is the standard output.
    +

    -For compatibility with the previous versions of MLD2P4, this routine can be also invoked +For compatibility with the previous versions of MLD2P4, this method can be also invoked as follows: - +

    - -

    call mld_precdescr(p,info [,iout]) -
    + +
    call mld_precdescr(p,info [,iout]) +

    - -

    - -

    -


    + + diff --git a/docs/html/node27.html b/docs/html/node27.html index aec3a8c7..b4165d36 100644 --- a/docs/html/node27.html +++ b/docs/html/node27.html @@ -1,185 +1,79 @@ - + - + -Adding new smoother and solver objects to MLD2P4 - +Auxiliary Methods + - + - - - + + - - + next - + up - previous - contents
    - Next: Error Handling - Up: userhtml - Previous: Subroutine descr -   Next: Method: dump + Up: User Interface + Previous: Method descr +   Contents
    -
    +
    -

    +


    -Adding new smoother and solver objects to MLD2P4 -

    -

    -Developers can add completely new smoother and/or solver classes -derived from the base objects in the library (see Remark 2 in Section 6.2), -without recompiling the library itself. - -

    -To do so, it is necessary first to select the base type to be extended. -In our experience, it is quite likely that the new application needs -only the definition of a ``solver'' object, which is almost -always acting only on the local part of the distributed matrix. -The parallel actions required to connect the various solver objects -are most often already provided by the block-Jacobi or the additive -Schwarz smoothers. To define a new solver, the developer will then -have to define its components and methods, perhaps taking one of the -predefined solvers as a starting point, if possible. - +Auxiliary Methods + +Various functionalities are implemented as additional methods of the +preconditioner object. +

    -Once the new smoother/solver class has been developed, to use it in -the context of the multilevel preconditioners it is necessary to: - -

      -
    • declare in the application program a variable of the new type; -
    • -
    • pass that variable as the argument to the set routine as in the -following: -
      -call p%set(smoother,info [,ilev,ilmax,pos]) -
      call p%set(solver,info [,ilev,ilmax,pos]) + +

      + +Subsections -
      -
    • -
    • link the code implementing the various methods into the application executable. -
    • -
    -The new solver object is then dynamically included in the -preconditioner structure, and acts as a mold to which the -preconditioner will conform, even though the MLD2P4 library has not -been modified to account for this new development. - -

    -It is possible to define new values for the keyword WHAT in the -set routine; if the library code does not recognize a keyword, -it passes it down the composition hierarchy (levels containing -smoothers containing in turn solvers), so that it can be eventually caught by -the new solver. - -

    -An example is provided in the source code distribution under the -folder tests/newslv. In this example we are implementing a new -incomplete factorization variant (which is simply the ILU(0) -factorization under a new name). Because of the specifics of this case, it is -possible to reuse the basic structure of the ILU solver, with its -L/D/U components and the methods needed to apply the solver; only a -few methods, such as the description and most importantly the build, -need to be ovverridden (rewritten). - -

    -The interfaces for the calls shown above are defined using - -

    - - - - - - - - - - - - -
    -smoother class(mld_x_base_smoother_type)
    - The user-defined new smoother to be employed in the - preconditioner.
    -solver class(mld_x_base_solver_type)
    - The user-defined new solver to be employed in the - preconditioner. -
    -The other arguments are defined in the way described in -Sec. 6.2. As an example, in the tests/newslv -code we define a new object of type mld_d_tlu_solver_type, and -we pass it as follows: -
    -  ! sparse matrix and preconditioner
    -  type(psb_dspmat_type) :: a
    -  type(mld_dprec_type)  :: prec
    -  type(mld_d_tlu_solver_type) :: tlusv
    -
    -......
    -  !
    -  !  prepare the preconditioner: an ML with defaults, but with TLU solver at
    -  !  intermediate levels. All other parameters are at default values. 
    -  !  
    -  call prec%init('ML',       info)
    -  call prec%hierarchy_build(a,desc_a,info)
    -  nlv = prec%get_nlevs()
    -  call prec%set(tlusv,   info,ilev=1,ilmax=max(1,nlv-1))
    -  call prec%smoothers_build(a,desc_a,info)
    -
    -
    - - -next - -up - -previous - -contents -
    - Next: Error Handling - Up: userhtml - Previous: Subroutine descr -   Contents - + + +

    diff --git a/docs/html/node28.html b/docs/html/node28.html index 71f156e4..ffbacc9b 100644 --- a/docs/html/node28.html +++ b/docs/html/node28.html @@ -1,77 +1,93 @@ - + - + -Error Handling - +Method: dump + - + - + - - + next - + up - previous - contents
    - Next: License - Up: userhtml - Previous: Adding new smoother and -   Next: Method: clone + Up: Auxiliary Methods + Previous: Auxiliary Methods +   Contents
    -
    +
    -

    -
    -Error Handling -

    +

    +Method: dump +

    +

    + +

    call p%dump(info[,istart,iend,prefix,head,ac,rp,smoother,solver,global_num]) +
    +

    + +Dump on file. + +

    +Arguments +

    +

    -The error handling in MLD2P4 is based on the PSBLAS error -handling. Error conditions are signaled via an integer argument -info; 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 [13]. - + + + + + + + + + + + + + +
    +info integer, intent(out).
    + Error code. If no error, 0 is returned. See Section 8 for details.
    +amold class(psb_x_base_sparse_mat), intent(in), optional.
    + The desired dynamic type for internal matrix + components; this allows e.g. running on GPUs; it needs not be the + same on all processes. See the PSBLAS User's Guide for + details [13].

    - - +


    diff --git a/docs/html/node29.html b/docs/html/node29.html index 3d3fddd4..888861cf 100644 --- a/docs/html/node29.html +++ b/docs/html/node29.html @@ -1,100 +1,91 @@ - + - + -License - +Method: clone + - + - + - - + next - + up - previous - contents
    - Next: Bibliography - Up: userhtml - Previous: Error Handling -   Next: Method: sizeof + Up: Auxiliary Methods + Previous: Method: dump +   Contents
    -
    +
    -

    -
    -License -

    +

    +Method: clone +

    -The MLD2P4 is freely distributable under the following copyright -terms:

     
    - 
    -                           MLD2P4  version 2.1
    -  MultiLevel Domain Decomposition Parallel Preconditioners Package
    -             based on PSBLAS (Parallel Sparse BLAS version 3.5)
    -  
    -  (C) Copyright 2008, 2010, 2012, 2015, 2017
    -
    -  Salvatore Filippone    Cranfield University, Cranfield, UK
    -  Pasqua D'Ambra         IAC-CNR, Naples, IT
    -  Daniela di Serafino    University of Campania L. Vanvitelli, Caserta, IT
    -
    -  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.
    -
    - - + +
    call p%clone(pout,info) +
    +

    + +Create a (deep) copy of the preconditioner object. + +

    +Arguments +

    + +

    + + + + + + + + + + + + + +
    +pout type(mld_xprec_type), intent(out).
    + The copy of the preconditioner data structure. Note + that x must be chosen according + to the real/complex, single/double precision version of MLD2P4 under use.
    +info integer, intent(out).
    + Error code. If no error, 0 is returned. See Section 8 for details.
    +

    +


    diff --git a/docs/html/node3.html b/docs/html/node3.html index 923a4ae2..a5e870ba 100644 --- a/docs/html/node3.html +++ b/docs/html/node3.html @@ -1,10 +1,6 @@ - + - + General Overview @@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + @@ -25,53 +21,55 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - + next - up - previous - contents
    - Next: Next: Code Distribution - Up: Up: userhtml - Previous: Previous: Contents -   Contents
    -
    +


    General Overview -

    +

    -The MULTILEVEL DOMAIN DECOMPOSITION PARALLEL PRECONDITIONERS PACKAGE BASED ON +The MULTILEVEL DOMAIN DECOMPOSITION PARALLEL PRECONDITIONERS PACKAGE BASED ON PSBLAS (MLD2P4) provides parallel Algebraic MultiGrid (AMG) and Domain Decomposition preconditioners (see, e.g., [3,23,21]), + HREF="node36.html#Briggs2000">3,23,21]), to be used in the iterative solution of linear systems, - +
    -

    +
    + - +
    \begin{displaymath}
 Ax=b,
 \end{displaymath} -(1)
    +(1)
    -

    -where

    +where $A$ is a square, real or complex, sparse matrix. The name of the package comes from its original implementation, containing + ALT="$A$"> is a square, real or complex, sparse matrix. +The name of the package comes from its original implementation, containing multilevel additive and hybrid Schwarz preconditioners, as well as one-level additive Schwarz preconditioners. The current version extends the original plan by including multilevel cycles and smoothers widely used in multigrid methods. - +

    -The multilevel preconditioners implemented in MLD2P4 are obtained by combining +The multilevel preconditioners implemented in MLD2P4 are obtained by combining AMG cycles with smoothers and coarsest-level solvers. The V-, W-, and K-cycles [3,19] are available, which allow to define + HREF="node36.html#Briggs2000">3,19] are available, which allow to define almost all the preconditioners in the package, including the multilevel hybrid Schwarz ones; a specific cycle is implemented to obtain multilevel additive -Schwarz preconditioners. The Jacobi, hybridforward/backward Gauss-Seidel, block-Jacobi, and additive Schwarz methods +Schwarz preconditioners. The Jacobi, hybrid +forward/backward Gauss-Seidel, block-Jacobi, and additive Schwarz methods are available as smoothers. An algebraic approach is used to generate a hierarchy of coarse-level matrices and operators, without explicitly using any information on the geometry of the original problem, e.g., the discretization of a PDE. To this end, the smoothed aggregation technique [2,25] + HREF="node36.html#BREZINA_VANEK">2,25] is applied. Either exact or approximate solvers can be used on the coarsest-level system. Specifically, different sparse LU factorizations from external packages, and native incomplete LU factorizations and Jacobi, hybrid Gauss-Seidel, and block-Jacobi solvers are available. All smoothers can be also exploited as one-level preconditioners. - +

    -MLD2P4 is written in Fortran 2003, following an +MLD2P4 is written in Fortran 2003, following an object-oriented design through the exploitation of features such as abstract data type creation, type extension, functional overloading, and -dynamic memory management. The parallel implementation is based on a Single Program Multiple Data +dynamic memory management. +The parallel implementation is based on a Single Program Multiple Data (SPMD) paradigm. Single and double precision implementations of MLD2P4 are available for both the real and the complex case, which can be used through a single 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 PSBLAS (Parallel Sparse BLAS) computational framework [15,14]. PSBLAS provides basic linear algebra + HREF="node36.html#psblas_00">15,14]. PSBLAS provides basic linear algebra operators and data management facilities for distributed sparse matrices, as well as parallel Krylov solvers which can be used with the MLD2P4 preconditioners. The choice of PSBLAS has been mainly motivated by the need of having -a portable and efficient software infrastructure implementing ``de facto'' standard +a portable and efficient software infrastructure implementing “de facto” standard parallel sparse linear algebra kernels, to pursue goals such as performance, portability, modularity ed extensibility in the development of the preconditioner package. On the other hand, the implementation of MLD2P4 has led to some revisions and extentions of the original PSBLAS kernels. The inter-process comunication required by MLD2P4 is encapsulated -in the PSBLAS routines;therefore, MLD2P4 can be run on any parallel machine where PSBLAS +in the PSBLAS routines; +therefore, MLD2P4 can be run on any parallel machine where PSBLAS implementations are available. - +

    -MLD2P4 has a layered and modular software architecture where three main layers can be +MLD2P4 has a layered and modular software architecture where three main layers can be identified. The lower layer consists of the PSBLAS kernels, the middle one implements the construction and application phases of the preconditioners, and the upper one provides a uniform interface to all the preconditioners. @@ -150,19 +152,19 @@ few black-box routines at the upper layer allow all users to easily build and apply any preconditioner available in MLD2P4; facilities are also available allowing expert users to extend the set of smoothers and solvers for building new versions of the preconditioners (see -Section 7). - +Section 7). +

    -We note that the user interface of MLD2P4 2.1 has been extended with respect to the +We note that the user interface of MLD2P4 2.1 has been extended with respect to the previous versions in order to separate the construction of the multilevel hierarchy from the construction of the smoothers and solvers, and to allow for more flexibility at each level. The software architecture described in [8] has significantly + HREF="node36.html#MLD2P4_TOMS">8] has significantly evolved too, in order to fully exploit the Fortran 2003 features implemented in PSBLAS 3. However, compatibility with previous versions has been preserved. - +

    -This guide is organized as follows. General information on the distribution of the source +This guide is organized as follows. General information on the distribution of the source code is reported in Section 2, while details on the configuration and installation of the package are given in Section 3. A short description of the preconditioners implemented in MLD2P4 is provided in Section 4, @@ -171,35 +173,36 @@ preconditioners with the Krylov solvers implemented in PSBLAS are reported in Section 5, where the Fortran codes of a few sample programs are also shown. A reference guide for the user interface routines is provided in Section 6. Information on the extension of the package -through the addition of new smoothers and solvers is reported in Section 7. +through the addition of new smoothers and solvers is reported in Section 7. The error handling mechanism used by the package -is briefly described in Section 8. The copyright terms concerning the -distribution and modification of MLD2P4 are reported in Appendix A. - +is briefly described in Section 8. The copyright terms concerning the +distribution and modification of MLD2P4 are reported in Appendix A. +

    -


    + + diff --git a/docs/html/node30.html b/docs/html/node30.html index 58113efb..e5cfa8fa 100644 --- a/docs/html/node30.html +++ b/docs/html/node30.html @@ -1,179 +1,67 @@ - + - + -Bibliography - +Method: sizeof + - + - + - - + next - + up - previous - contents
    - Next: About this document ... - Up: userhtml - Previous: License -   Next: Method: allocate_wrk + Up: Auxiliary Methods + Previous: Method: clone +   Contents -

    +
    +
    - -

    -Bibliography -

    +

    +Method: sizeof +

    -

    1 -
    -P. R. Amestoy, C. Ashcraft, O. Boiteau, A. Buttari, J. L'Excellent, C. Weisbecker, -Improving multifrontal methods by means of block low-rank representations, -SIAM Journal on Scientific Computing, volume 37 (3), 2015, A1452-A1474. -See also http://mumps.enseeiht.fr.

    2 -
    -M. Brezina, P. Vanek, -A Black-Box Iterative Solver Based on a Two-Level Schwarz Method, -Computing, 63, 1999, 233-263.

    3 -
    -W. L. Briggs, V. E. Henson, S. F. McCormick, -A Multigrid Tutorial, Second Edition, -SIAM, 2000.

    4 -
    -A. Buttari, P. D'Ambra, D. di Serafino, S. Filippone, -Extending PSBLAS to Build Parallel Schwarz Preconditioners, -in J. Dongarra, K. Madsen, J. Wasniewski, editors, -Proceedings of PARA 04 Workshop on State of the Art -in Scientific Computing, Lecture Notes in Computer Science, -Springer, 2005, 593-602.

    5 -
    -A. Buttari, P. D'Ambra, D. di Serafino, S. Filippone, -2LEV-D2P4: a package of high-performance preconditioners -for scientific and engineering applications, -Applicable Algebra in Engineering, Communications and Computing, -18 (3) 2007, 223-239.

    6 -
    -X. C. Cai, M. Sarkis, -A Restricted Additive Schwarz Preconditioner for General Sparse Linear Systems, -SIAM Journal on Scientific Computing, 21 (2), 1999, 792-797.

    7 -
    -P. D'Ambra, S. Filippone, D. di Serafino, -On the Development of PSBLAS-based Parallel Two-level Schwarz Preconditioners, -Applied Numerical Mathematics, Elsevier Science, -57 (11-12), 2007, 1181-1196.

    8 -
    -P. D'Ambra, D. di Serafino, S. Filippone, -MLD2P4: a Package of Parallel Multilevel -Algebraic Domain Decomposition Preconditioners -in Fortran 95, ACM Trans. Math. Softw., 37(3), 2010, art. 30.

    9 -
    -T. A. Davis, -Algorithm 832: UMFPACK - an Unsymmetric-pattern Multifrontal -Method with a Column Pre-ordering Strategy, -ACM Transactions on Mathematical Software, 30, 2004, 196-199. -(See also http://www.cise.ufl.edu/~davis/)

    10 -
    -J. W. Demmel, S. C. Eisenstat, J. R. Gilbert, X. S. Li, J. W. H. Liu, -A supernodal approach to sparse partial pivoting, -SIAM Journal on Matrix Analysis and Applications, 20 (3), 1999, 720-755.

    11 -
    -J. J. Dongarra, J. Du Croz, I. S. Duff, S. Hammarling, -A set of Level 3 Basic Linear Algebra Subprograms, -ACM Transactions on Mathematical Software, 16 (1) 1990, 1-17.

    12 -
    -J. J. Dongarra, J. Du Croz, S. Hammarling, R. J. Hanson, -An extended set of FORTRAN Basic Linear Algebra Subprograms, -ACM Transactions on Mathematical Software, 14 (1) 1988, 1-17.

    13 -
    -S. Filippone, A. Buttari, -PSBLAS 3.5.0 User's Guide. A Reference Guide for the Parallel Sparse BLAS Library, 2012, -available from https://github.com/sfilippone/psblas3/tree/master/docs.

    14 -
    -S. Filippone, A. Buttari, -Object-Oriented Techniques for Sparse Matrix Computations in Fortran 2003. -ACM Transactions on on Mathematical Software, 38 (4), 2012, art. 23.

    15 -
    -S. Filippone, M. Colajanni, -PSBLAS: A Library for Parallel Linear Algebra -Computation on Sparse Matrices, -ACM Transactions on Mathematical Software, 26 (4), 2000, 527-550.

    16 -
    -W. Gropp, S. Huss-Lederman, A. Lumsdaine, E. Lusk, B. Nitzberg, W. Saphir, M. Snir, -MPI: The Complete Reference. Volume 2 - The MPI-2 Extensions, -MIT Press, 1998.

    17 -
    -C. L. Lawson, R. J. Hanson, D. Kincaid, F. T. Krogh, -Basic Linear Algebra Subprograms for FORTRAN usage, -ACM Transactions on Mathematical Software, 5 (3), 1979, 308-323.

    18 -
    -X. S. Li, J. W. Demmel, -SuperLU_DIST: A Scalable Distributed-memory -Sparse Direct Solver for Unsymmetric Linear Systems, -ACM Transactions on Mathematical Software, 29 (2), 2003, 110-140.

    19 -
    -Y. Notay, P. S. Vassilevski, -Recursive Krylov-based multigrid cycles, -Numerical Linear Algebra with Applications, 15 (5), 2008, 473-487.

    20 -
    -Y. Saad, -Iterative methods for sparse linear systems, 2nd edition, SIAM, 2003.

    21 -
    -B. Smith, P. Bjorstad, W. Gropp, -Domain Decomposition: Parallel Multilevel Methods for Elliptic -Partial Differential Equations, -Cambridge University Press, 1996.

    22 -
    -M. Snir, S. Otto, S. Huss-Lederman, D. Walker, J. Dongarra, -MPI: The Complete Reference. Volume 1 - The MPI Core, second edition, -MIT Press, 1998.

    23 -
    -K. Stüben, -An Introduction to Algebraic Multigrid, -in A. Schüller, U. Trottenberg, C. Oosterlee, Multigrid, -Academic Press, 2001.

    24 -
    -R. S. Tuminaro, C. Tong, -Parallel Smoothed Aggregation Multigrid: Aggregation Strategies on Massively Parallel Machines, in J. Donnelley, editor, Proceedings of SuperComputing 2000, Dallas, 2000.

    25 -
    -P. Vanek, J. Mandel, M. Brezina, -Algebraic Multigrid by Smoothed Aggregation for Second and Fourth Order Elliptic Problems, -Computing, 56 (3) 1996, 179-196. - + +
    sz = p%sizeof() +

    -

    - + +Return memory footprint in bytes. +

    -


    + +

    diff --git a/docs/html/node31.html b/docs/html/node31.html index 8aef6661..a2044f73 100644 --- a/docs/html/node31.html +++ b/docs/html/node31.html @@ -1,70 +1,127 @@ - + - + -About this document ... - +Method: allocate_wrk + - + + - + + - -next - + + -

    -About this document ... -

    -

    -This document was generated using the -LaTeX2HTML translator Version 2012 (1.2) +

    +Method: allocate_wrk +

    -Copyright © 1993, 1994, 1995, 1996, -Nikos Drakos, -Computer Based Learning Unit, University of Leeds. -
    -Copyright © 1997, 1998, 1999, -Ross Moore, -Mathematics Department, Macquarie University, Sydney. + +

    call p%allocate_wrk(info[, vmold]) +

    -The command line arguments were:
    - latex2html -local_icons -noaddress -dir ../../html userhtml.tex + +Allocate internal work vectors. Each application of the preconditioner +uses a number of work vectors which are allocated internally as +necessary; therefore allocation and deallocation of memory occurs +multiple times during the execution of a Krylov method. In most cases +this strategy is perfectly acceptable, but +on some platforms, most notably GPUs, memory allocation is +a slow operation, and the default behaviour would lead to a +slowdown. This method allows to trade space for time by preallocating +the internal workspace outside of the invocation of a Krylov +method. When using GPUs or other specialized devices, the vmold +argument is also necessary to ensure the internal work vectors are of +the appropriate dynamic type to exploit the accelerator hardware; when +allocation occurs internally this is taken care of based on the dynamic +type of the x argument to the apply method. +

    -The translation was initiated by Salvatore Filippone on 2017-10-23 -


    +Arguments +

    + +

    + + + + + + + + + + + + + +
    +info integer, intent(out).
    + Error code. If no error, 0 is returned. See Section 8 for details.
    + vmold class(psb_x_base_vect_type), intent(in), optional.
    + The desired dynamic type for internal vector + components; this allows e.g. running on GPUs.
    +

    + +

    + diff --git a/docs/html/node32.html b/docs/html/node32.html new file mode 100644 index 00000000..66687d38 --- /dev/null +++ b/docs/html/node32.html @@ -0,0 +1,85 @@ + + + + + +Method: free_wrk + + + + + + + + + + + + + + + + + + + + +

    +Method: free_wrk +

    +

    + +

    call p%free_wrk(info) +
    +

    + +Deallocate internal work vectors. + +

    +Arguments +

    + +

    + + + + + + + +
    +info integer, intent(out).
    + Error code. If no error, 0 is returned. See Section 8 for details.
    +

    + +

    + +

    + +


    + + + diff --git a/docs/html/node33.html b/docs/html/node33.html new file mode 100644 index 00000000..a9e120a5 --- /dev/null +++ b/docs/html/node33.html @@ -0,0 +1,183 @@ + + + + + +Adding new smoother and solver objects to MLD2P4 + + + + + + + + + + + + + + + + + + + + + +

    +
    +Adding new smoother and solver objects to MLD2P4 +

    +

    +Developers can add completely new smoother and/or solver classes +derived from the base objects in the library (see Remark 2 in Section 6.2), +without recompiling the library itself. + +

    +To do so, it is necessary first to select the base type to be extended. +In our experience, it is quite likely that the new application needs +only the definition of a “solver” object, which is almost +always acting only on the local part of the distributed matrix. +The parallel actions required to connect the various solver objects +are most often already provided by the block-Jacobi or the additive +Schwarz smoothers. To define a new solver, the developer will then +have to define its components and methods, perhaps taking one of the +predefined solvers as a starting point, if possible. + +

    +Once the new smoother/solver class has been developed, to use it in +the context of the multilevel preconditioners it is necessary to: + +

      +
    • declare in the application program a variable of the new type; +
    • +
    • pass that variable as the argument to the set routine as in the +following: +
      +call p%set(smoother,info [,ilev,ilmax,pos]) +
      call p%set(solver,info [,ilev,ilmax,pos]) + +
      +
    • +
    • link the code implementing the various methods into the application executable. +
    • +
    +The new solver object is then dynamically included in the +preconditioner structure, and acts as a mold to which the +preconditioner will conform, even though the MLD2P4 library has not +been modified to account for this new development. + +

    +It is possible to define new values for the keyword WHAT in the +set routine; if the library code does not recognize a keyword, +it passes it down the composition hierarchy (levels containing +smoothers containing in turn solvers), so that it can be eventually caught by +the new solver. + +

    +An example is provided in the source code distribution under the +folder tests/newslv. In this example we are implementing a new +incomplete factorization variant (which is simply the ILU(0) +factorization under a new name). Because of the specifics of this case, it is +possible to reuse the basic structure of the ILU solver, with its +L/D/U components and the methods needed to apply the solver; only a +few methods, such as the description and most importantly the build, +need to be ovverridden (rewritten). + +

    +The interfaces for the calls shown above are defined using + +

    + + + + + + + + + + + + +
    +smoother class(mld_x_base_smoother_type)
    + The user-defined new smoother to be employed in the + preconditioner.
    +solver class(mld_x_base_solver_type)
    + The user-defined new solver to be employed in the + preconditioner. +
    +The other arguments are defined in the way described in +Sec. 6.2. As an example, in the tests/newslv +code we define a new object of type mld_d_tlu_solver_type, and +we pass it as follows: +
    +  ! sparse matrix and preconditioner
    +  type(psb_dspmat_type) :: a
    +  type(mld_dprec_type)  :: prec
    +  type(mld_d_tlu_solver_type) :: tlusv
    +
    +......
    +  !
    +  !  prepare the preconditioner: an ML with defaults, but with TLU solver at
    +  !  intermediate levels. All other parameters are at default values. 
    +  !  
    +  call prec%init('ML',       info)
    +  call prec%hierarchy_build(a,desc_a,info)
    +  nlv = prec%get_nlevs()
    +  call prec%set(tlusv,   info,ilev=1,ilmax=max(1,nlv-1))
    +  call prec%smoothers_build(a,desc_a,info)
    +
    + + + + + + diff --git a/docs/html/node34.html b/docs/html/node34.html new file mode 100644 index 00000000..150cb8e1 --- /dev/null +++ b/docs/html/node34.html @@ -0,0 +1,75 @@ + + + + + +Error Handling + + + + + + + + + + + + + + + + + + + + + +

    +
    +Error Handling +

    +

    +The error handling in MLD2P4 is based on the PSBLAS error +handling. Error conditions are signaled via an integer argument +info; 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 [13]. + +

    + + +


    + + + diff --git a/docs/html/node35.html b/docs/html/node35.html new file mode 100644 index 00000000..5a7991e0 --- /dev/null +++ b/docs/html/node35.html @@ -0,0 +1,98 @@ + + + + + +License + + + + + + + + + + + + + + + + + + + + + +

    +
    +License +

    +

    +The MLD2P4 is freely distributable under the following copyright +terms:

     
    + 
    +                           MLD2P4  version 2.1
    +  MultiLevel Domain Decomposition Parallel Preconditioners Package
    +             based on PSBLAS (Parallel Sparse BLAS version 3.5)
    +  
    +  (C) Copyright 2008, 2010, 2012, 2015, 2017
    +
    +  Salvatore Filippone    Cranfield University, Cranfield, UK
    +  Pasqua D'Ambra         IAC-CNR, Naples, IT
    +  Daniela di Serafino    University of Campania L. Vanvitelli, Caserta, IT
    +
    +  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.
    +
    + + +

    + + + diff --git a/docs/html/node36.html b/docs/html/node36.html new file mode 100644 index 00000000..bf1feef1 --- /dev/null +++ b/docs/html/node36.html @@ -0,0 +1,200 @@ + + + + + +Bibliography + + + + + + + + + + + + + + + + + + + + + +

    +Bibliography +

    + +

    +

    1 +
    +P. R. Amestoy, C. Ashcraft, O. Boiteau, A. Buttari, J. L'Excellent, C. Weisbecker, +Improving multifrontal methods by means of block low-rank representations, +SIAM Journal on Scientific Computing, volume 37 (3), 2015, A1452-A1474. +See also http://mumps.enseeiht.fr. +

    2 +
    +M. Brezina, P. Vanek, +A Black-Box Iterative Solver Based on a Two-Level Schwarz Method, +Computing, 63, 1999, 233-263. +

    3 +
    +W. L. Briggs, V. E. Henson, S. F. McCormick, +A Multigrid Tutorial, Second Edition, +SIAM, 2000. +

    4 +
    +A. Buttari, P. D'Ambra, D. di Serafino, S. Filippone, +Extending PSBLAS to Build Parallel Schwarz Preconditioners, +in J. Dongarra, K. Madsen, J. Wasniewski, editors, +Proceedings of PARA 04 Workshop on State of the Art +in Scientific Computing, Lecture Notes in Computer Science, +Springer, 2005, 593-602. +

    5 +
    +A. Buttari, P. D'Ambra, D. di Serafino, S. Filippone, +2LEV-D2P4: a package of high-performance preconditioners +for scientific and engineering applications, +Applicable Algebra in Engineering, Communications and Computing, +18 (3) 2007, 223-239. +

    6 +
    +X. C. Cai, M. Sarkis, +A Restricted Additive Schwarz Preconditioner for General Sparse Linear Systems, +SIAM Journal on Scientific Computing, 21 (2), 1999, 792-797. +

    7 +
    +P. D'Ambra, S. Filippone, D. di Serafino, +On the Development of PSBLAS-based Parallel Two-level Schwarz Preconditioners, +Applied Numerical Mathematics, Elsevier Science, +57 (11-12), 2007, 1181-1196. +

    8 +
    +P. D'Ambra, D. di Serafino, S. Filippone, +MLD2P4: a Package of Parallel Multilevel +Algebraic Domain Decomposition Preconditioners +in Fortran 95, ACM Trans. Math. Softw., 37(3), 2010, art. 30. +

    9 +
    +T. A. Davis, +Algorithm 832: UMFPACK - an Unsymmetric-pattern Multifrontal +Method with a Column Pre-ordering Strategy, +ACM Transactions on Mathematical Software, 30, 2004, 196-199. +(See also http://www.cise.ufl.edu/~davis/) +

    10 +
    +J. W. Demmel, S. C. Eisenstat, J. R. Gilbert, X. S. Li, J. W. H. Liu, +A supernodal approach to sparse partial pivoting, +SIAM Journal on Matrix Analysis and Applications, 20 (3), 1999, 720-755. +

    11 +
    +J. J. Dongarra, J. Du Croz, I. S. Duff, S. Hammarling, +A set of Level 3 Basic Linear Algebra Subprograms, +ACM Transactions on Mathematical Software, 16 (1) 1990, 1-17. +

    12 +
    +J. J. Dongarra, J. Du Croz, S. Hammarling, R. J. Hanson, +An extended set of FORTRAN Basic Linear Algebra Subprograms, +ACM Transactions on Mathematical Software, 14 (1) 1988, 1-17. +

    13 +
    +S. Filippone, A. Buttari, +PSBLAS 3.5.0 User's Guide. A Reference Guide for the Parallel Sparse BLAS Library, 2012, +available from https://github.com/sfilippone/psblas3/tree/master/docs. +

    14 +
    +S. Filippone, A. Buttari, +Object-Oriented Techniques for Sparse Matrix Computations in Fortran 2003. +ACM Transactions on on Mathematical Software, 38 (4), 2012, art. 23. +

    15 +
    +S. Filippone, M. Colajanni, +PSBLAS: A Library for Parallel Linear Algebra +Computation on Sparse Matrices, +ACM Transactions on Mathematical Software, 26 (4), 2000, 527-550. +

    16 +
    +W. Gropp, S. Huss-Lederman, A. Lumsdaine, E. Lusk, B. Nitzberg, W. Saphir, M. Snir, +MPI: The Complete Reference. Volume 2 - The MPI-2 Extensions, +MIT Press, 1998. +

    17 +
    +C. L. Lawson, R. J. Hanson, D. Kincaid, F. T. Krogh, +Basic Linear Algebra Subprograms for FORTRAN usage, +ACM Transactions on Mathematical Software, 5 (3), 1979, 308-323. +

    18 +
    +X. S. Li, J. W. Demmel, +SuperLU_DIST: A Scalable Distributed-memory +Sparse Direct Solver for Unsymmetric Linear Systems, +ACM Transactions on Mathematical Software, 29 (2), 2003, 110-140. +

    19 +
    +Y. Notay, P. S. Vassilevski, +Recursive Krylov-based multigrid cycles, +Numerical Linear Algebra with Applications, 15 (5), 2008, 473-487. +

    20 +
    +Y. Saad, +Iterative methods for sparse linear systems, 2nd edition, SIAM, 2003. +

    21 +
    +B. Smith, P. Bjorstad, W. Gropp, +Domain Decomposition: Parallel Multilevel Methods for Elliptic +Partial Differential Equations, +Cambridge University Press, 1996. +

    22 +
    +M. Snir, S. Otto, S. Huss-Lederman, D. Walker, J. Dongarra, +MPI: The Complete Reference. Volume 1 - The MPI Core, second edition, +MIT Press, 1998. +

    23 +
    +K. Stüben, +An Introduction to Algebraic Multigrid, +in A. Schüller, U. Trottenberg, C. Oosterlee, Multigrid, +Academic Press, 2001. +

    24 +
    +R. S. Tuminaro, C. Tong, +Parallel Smoothed Aggregation Multigrid: Aggregation Strategies on Massively Parallel Machines, in J. Donnelley, editor, Proceedings of SuperComputing 2000, Dallas, 2000. +

    25 +
    +P. Vanek, J. Mandel, M. Brezina, +Algebraic Multigrid by Smoothed Aggregation for Second and Fourth Order Elliptic Problems, +Computing, 56 (3) 1996, 179-196. + +

    +

    + +

    +


    + + + diff --git a/docs/html/node37.html b/docs/html/node37.html new file mode 100644 index 00000000..89b94046 --- /dev/null +++ b/docs/html/node37.html @@ -0,0 +1,67 @@ + + + + + +About this document ... + + + + + + + + + + + + + + + + + + + +

    +About this document ... +

    +

    +This document was generated using the +LaTeX2HTML translator Version 2017.2 (Released Jan 23, 2017) +

    +Copyright © 1993, 1994, 1995, 1996, +Nikos Drakos, +Computer Based Learning Unit, University of Leeds. +
    +Copyright © 1997, 1998, 1999, +Ross Moore, +Mathematics Department, Macquarie University, Sydney. +

    +The command line arguments were:
    + latex2html -local_icons -noaddress -dir ../../html userhtml.tex +

    +The translation was initiated on 2018-01-11 +


    + + + diff --git a/docs/html/node4.html b/docs/html/node4.html index 222f9124..7b2ac12c 100644 --- a/docs/html/node4.html +++ b/docs/html/node4.html @@ -1,10 +1,6 @@ - + - + Code Distribution @@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + @@ -25,57 +21,58 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - + next - up - previous - contents
    - Next: Next: Contributors - Up: Up: userhtml - Previous: Previous: General Overview -   Contents
    -
    +


    Code Distribution -

    +

    - + MLD2P4 is available from the web site - -

    https://github.com/sfilippone/mld2p4-2 -
    + +
    https://github.com/sfilippone/mld2p4-2 +
    where contact points for further information can be also found. -
    +

    -The software is available under a modified BSD license, as specified -in Appendix A; please note that some of the optional +The software is available under a modified BSD license, as specified +in Appendix A; please note that some of the optional third party libraries may be licensed under a different and more stringent license, most notably the GPL, and this should be taken into account when treating derived works. - +

    -The library defines a version string with the +The library defines a version string with the constant - +

    -
    +
    Subsections - diff --git a/docs/html/node5.html b/docs/html/node5.html index 2e8a25e4..3e5ba8d6 100644 --- a/docs/html/node5.html +++ b/docs/html/node5.html @@ -1,10 +1,6 @@ - + - + Contributors @@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + @@ -24,49 +20,50 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - + next - up - previous - contents
    - Next: Next: Configuring and Building MLD2P4 - Up: Up: Code Distribution - Previous: Previous: Code Distribution -   Contents
    -
    +

    Contributors -

    + Contributors to version 2: - +
    • Salvatore Filippone, Cranfield University, UK;
    • Pasqua D'Ambra, IAC-CNR, Naples, IT;
    • -
    • Daniela di Serafino, University of Campania ``L. Vanvitelli'', Caserta, IT; +
    • Daniela di Serafino, University of Campania “L. Vanvitelli”, Caserta, IT;
    • -
    • Ambra Abdullahi Hassan, University of Rome ``Tor Vergata'', IT. +
    • Ambra Abdullahi Hassan, University of Rome “Tor Vergata”, IT.
    • -
    + Contributors to version 1: - +
    • Salvatore Filippone;
    • @@ -76,8 +73,8 @@ Contributors to version 1:
    • Alfredo Buttari, CNRS-IRIT, Toulouse, F.
    • -
    - + +

    diff --git a/docs/html/node6.html b/docs/html/node6.html index 3b2e2f68..8c177d8c 100644 --- a/docs/html/node6.html +++ b/docs/html/node6.html @@ -1,10 +1,6 @@ - + - + Configuring and Building MLD2P4 @@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + @@ -25,45 +21,46 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - + next - up - previous - contents
    - Next: Next: Prerequisites - Up: Up: userhtml - Previous: Previous: Contributors -   Contents
    -
    +


    Configuring and Building MLD2P4 -

    + In order to build MLD2P4 it is necessary to set up a Makefile with appropriate system-dependent variables; this is done by means of the configure script. The distribution also includes the autoconf and automake sources employed to generate the script, but usually this is not needed to build the software. - +

    -MLD2P4 is implemented almost entirely in Fortran 2003, with some +MLD2P4 is implemented almost entirely in Fortran 2003, with some interfaces to external libraries in C; the Fortran compiler must support the Fortran 2003 standard plus the extension MOLD= feature, which enhances the usability of ALLOCATE. @@ -72,58 +69,59 @@ supported by the GNU Fortran compiler, for which we recommend to use at least version 4.8. The software defines data types and interfaces for real and complex data, in both single and double precision. - +

    -Building MLD2P4 requires some base libraries (see Section 3.1); +Building MLD2P4 requires some base libraries (see Section 3.1); interfaces to optional third-party libraries, which extend the functionalities of MLD2P4 (see Section 3.2), are also available. Many Linux distributions (e.g., Ubuntu, Fedora, CentOS) provide precompiled packages for the prerequisite and optional software. In many cases these packages are split between a runtime part and a -``developer'' part; in order to build MLD2P4 you need both. A description of the base and +“developer” part; in order to build MLD2P4 you need both. A description of the base and optional software used by MLD2P4 is given in the next sections. - +

    - +


    Subsections - -
    + + diff --git a/docs/html/node7.html b/docs/html/node7.html index f1ff2e54..13445741 100644 --- a/docs/html/node7.html +++ b/docs/html/node7.html @@ -1,10 +1,6 @@ - + - + Prerequisites @@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + @@ -25,44 +21,45 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - + next - up - previous - contents
    - Next: Next: Optional third party libraries - Up: Up: Configuring and Building MLD2P4 - Previous: Previous: Configuring and Building MLD2P4 -   Contents
    -
    +


    Prerequisites -

    +

    -The following base libraries are needed: -

    +The following base libraries are needed: +
    BLAS
    [11,12,17] Many vendors provide optimized versions + HREF="node36.html#blas3">11,12,17] Many vendors provide optimized versions of BLAS; if no vendor version is available for a given platform, the ATLAS software (
    MPI
    [16,22] A version of MPI is available on most + HREF="node36.html#MPI2">16,22] A version of MPI is available on most high-performance computing systems.
    PSBLAS
    [13,15] Parallel Sparse BLAS (PSBLAS) is + HREF="node36.html#PSBLASGUIDE">13,15] Parallel Sparse BLAS (PSBLAS) is available from github.com/sfilippone/psblas3; version 3.5.0 (or later) is required. Indeed, all the prerequisites listed so far are also prerequisites of PSBLAS.
    -
    +
    Please note that the four previous libraries must have Fortran interfaces compatible with MLD2P4; usually this means that they should all be built with the same compiler as MLD2P4. - +

    -


    + + diff --git a/docs/html/node8.html b/docs/html/node8.html index 6f49fbed..f1b81928 100644 --- a/docs/html/node8.html +++ b/docs/html/node8.html @@ -1,10 +1,6 @@ - + - + Optional third party libraries @@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + @@ -25,46 +21,47 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - + next - up - previous - contents
    - Next: Next: Configuration options - Up: Up: Configuring and Building MLD2P4 - Previous: Previous: Prerequisites -   Contents
    -
    +


    Optional third party libraries -

    +

    -We provide interfaces to the following third-party software libraries; +We provide interfaces to the following third-party software libraries; note that these are optional, but if you enable them some defaults for multilevel preconditioners may change to reflect their presence. - +

    -

    +
    UMFPACK
    [9] + HREF="node36.html#UMFPACK">9] A sparse LU factorization package included in the SuiteSparse library, available from faculty.cse.tamu.edu/davis/suitesparse.html; @@ -75,7 +72,7 @@ for multilevel preconditioners may change to reflect their presence.
    MUMPS
    [1] + HREF="node36.html#MUMPS">1] A sparse LU factorization package available from mumps.enseeiht.fr; it provides sequential and parallel factorizations and triangular system solution @@ -84,7 +81,7 @@ for multilevel preconditioners may change to reflect their presence.
    SuperLU
    [10] + HREF="node36.html#SUPERLU">10] A sparse LU factorization package available from crd.lbl.gov/~xiaoye/SuperLU/; it provides sequential @@ -95,7 +92,7 @@ for multilevel preconditioners may change to reflect their presence.
    SuperLU_Dist
    [18] + HREF="node36.html#SUPERLUDIST">18] A sparse LU factorization package available from the same site as SuperLU; it provides parallel factorization and triangular system solution for double precision real and complex data. @@ -107,31 +104,32 @@ for multilevel preconditioners may change to reflect their presence. glaros.dtc.umn.edu/gkhome/metis/parmetis/overview.
    -
    +

    -


    + + diff --git a/docs/html/node9.html b/docs/html/node9.html index 71590cc3..ca34a236 100644 --- a/docs/html/node9.html +++ b/docs/html/node9.html @@ -1,10 +1,6 @@ - + - + Configuration options @@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + @@ -25,51 +21,52 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - + next - up - previous - contents
    - Next: Next: Bug reporting - Up: Up: Configuring and Building MLD2P4 - Previous: Previous: Optional third party libraries -   Contents
    -
    +

    Configuration options -

    +

    -In order to build MLD2P4, the first step is to use the configure script +In order to build MLD2P4, the first step is to use the configure script in the main directory to generate the necessary makefile. - +

    -As a minimal example consider the following: -

    +As a minimal example consider the following:
    +
     ./configure --with-psblas=PSB-INSTALL-DIR
    -
    +
    which assumes that the various MPI compilers and support libraries are available in the standard directories on the system, and specifies only the PSBLAS install directory (note that the latter directory must be specified with an absolute path). The full set of options may be looked at by issuing the command ./configure --help, which produces: -
    +
     `configure' configures MLD2P4 2.1 to adapt to many kinds of systems.
     
     Usage: ./configure [OPTION]... [VAR=VALUE]...
    @@ -226,61 +223,62 @@ Use these variables to override the choices made by `configure' or to help
     it to find libraries and programs with nonstandard names/locations.
     
     Report bugs to <https://github.com/sfilippone/mld2p4-2/issues>.
    -
    +

    -For instance, if a user has built and installed PSBLAS 3.5 under the +For instance, if a user has built and installed PSBLAS 3.5 under the /opt directory and is using the SuiteSparse package (which includes UMFPACK), then MLD2P4 might be configured with: -

    +
      ./configure --with-psblas=/opt/psblas-3.5/ \
      --with-umfpackincdir=/usr/include/suitesparse/
    -
    +
    Once the configure script has completed execution, it will have generated the file Make.inc which will then be used by all Makefiles in the directory tree; this file will be copied in the install directory under the name Make.inc.MLD2P4. - +

    -To use the MUMPS solver package, +To use the MUMPS solver package, the user has to add the appropriate options to the configure script; by default we are looking for the libraries -ldmumps -lsmumps -lzmumps -lcmumps -mumps_common -lpord. MUMPS often uses additional packages such as ScaLAPACK, ParMETIS, SCOTCH, as well as enabling OpenMP; in such cases it is necessary to add linker options with the --with-extra-libs configure option. - +

    -To build the library the user will now enter -

    +To build the library the user will now enter 
    +
     make
    -
    +
    followed (optionally) by -
    +
     make install
    -

    +
    + diff --git a/docs/html/userhtml.html b/docs/html/userhtml.html index b3fb8403..f026ce9d 100644 --- a/docs/html/userhtml.html +++ b/docs/html/userhtml.html @@ -1,10 +1,6 @@ - + - + userhtml @@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + @@ -22,7 +18,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + + -MLD2P4 +MLD2P4

    -User's and Reference Guide
    -
    A guide for the MultiLevel Domain Decomposition +User's and Reference Guide
    +
    A guide for the MultiLevel Domain Decomposition Parallel Preconditioners Package -based on PSBLAS
    +based on PSBLAS


    -
    Pasqua D'Ambra -
    IAC-CNR, Naples, Italy +
    Pasqua D'Ambra +
    IAC-CNR, Naples, Italy


    -
    Daniela di Serafino -
    University of Campania ``Luigi Vanvitelli'', Caserta, Italy +
    Daniela di Serafino +
    University of Campania “Luigi Vanvitelli”, Caserta, Italy


    -
    Salvatore Filippone -
    Cranfield University, Cranfield, United Kingdom +
    Salvatore Filippone +
    Cranfield University, Cranfield, United Kingdom


    @@ -78,18 +75,18 @@ July 31, 2017
    -
    +

    - + - +

    - +


    -

    diff --git a/docs/mld2p4-2.1-guide.pdf b/docs/mld2p4-2.1-guide.pdf index 8030608f..fb00557b 100644 --- a/docs/mld2p4-2.1-guide.pdf +++ b/docs/mld2p4-2.1-guide.pdf @@ -1,6 +1,6 @@ %PDF-1.5 % -121 0 obj +145 0 obj << /Length 1211 >> @@ -31,7 +31,7 @@ ET endstream endobj -130 0 obj +154 0 obj << /Length 143 >> @@ -46,7 +46,7 @@ ET endstream endobj -134 0 obj +158 0 obj << /Length 3888 >> @@ -69,7 +69,7 @@ ET endstream endobj -140 0 obj +164 0 obj << /Length 143 >> @@ -84,9 +84,9 @@ ET endstream endobj -172 0 obj +202 0 obj << -/Length 7191 +/Length 9442 >> stream 0 g 0 G @@ -186,91 +186,147 @@ BT 0 g 0 G [-27997(21)]TJ 0 0 1 rg 0 0 1 RG -/F15 10.9091 Tf 16.364 -13.549 Td [(6.1)-1022(Subroutine)-333(init)]TJ +/F15 10.9091 Tf 16.364 -13.549 Td [(6.1)-1022(Metho)-28(d)-333(init)]TJ 0 g 0 G - [-725(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ + [-561(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1281(22)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - 0 -13.549 Td [(6.2)-1022(Subroutine)-333(set)]TJ + 0 -13.549 Td [(6.2)-1022(Metho)-28(d)-333(set)]TJ 0 g 0 G - [-997(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)]TJ + [-833(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)]TJ 0 g 0 G [-1281(23)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - 0 -13.549 Td [(6.3)-1022(Subroutine)-333(build)]TJ -0 g 0 G - [-780(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ -0 g 0 G - [-1280(33)]TJ -0 g 0 G -0 0 1 rg 0 0 1 RG - 0 -13.549 Td [(6.4)-1022(Subroutine)-333(hierarc)28(h)27(y)]TJ + 0 -13.549 Td [(6.3)-1022(Metho)-28(d)-333(hierarc)28(h)27(y)]TJ ET q -1 0 0 1 235.497 356.988 cm +1 0 0 1 220.316 370.537 cm []0 d 0 J 0.398 w 0 0 m 3.273 0 l S Q BT -/F15 10.9091 Tf 238.77 356.789 Td [(build)]TJ +/F15 10.9091 Tf 223.588 370.338 Td [(build)]TJ 0 g 0 G - [-276(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ + [-890(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G - [-1281(34)]TJ + [-1280(33)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - -128.806 -13.55 Td [(6.5)-1022(Subroutine)-333(smo)-28(others)]TJ + -113.624 -13.549 Td [(6.4)-1022(Metho)-28(d)-333(smo)-28(others)]TJ ET q -1 0 0 1 239.831 343.439 cm +1 0 0 1 224.649 356.988 cm []0 d 0 J 0.398 w 0 0 m 3.273 0 l S Q BT -/F15 10.9091 Tf 243.103 343.239 Td [(build)]TJ +/F15 10.9091 Tf 227.922 356.789 Td [(build)]TJ +0 g 0 G + [-492(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ +0 g 0 G + [-1280(34)]TJ 0 g 0 G - [-656(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ +0 0 1 rg 0 0 1 RG + -117.958 -13.55 Td [(6.5)-1022(Metho)-28(d)-333(build)]TJ +0 g 0 G + [-617(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1280(35)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - -133.139 -13.549 Td [(6.6)-1022(Subroutine)-333(apply)]TJ + 0 -13.549 Td [(6.6)-1022(Metho)-28(d)-333(apply)]TJ 0 g 0 G - [-586(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ + [-422(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1281(36)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - 0 -13.549 Td [(6.7)-1022(Subroutine)-333(free)]TJ + 0 -13.549 Td [(6.7)-1022(Metho)-28(d)-333(free)]TJ 0 g 0 G - [-639(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ + [-475(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1281(37)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - 0 -13.549 Td [(6.8)-1022(Subroutine)-333(descr)]TJ + 0 -13.549 Td [(6.8)-1022(Metho)-28(d)-333(descr)]TJ +0 g 0 G + [-608(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)]TJ +0 g 0 G + [-1281(38)]TJ +0 g 0 G +0 0 1 rg 0 0 1 RG + 0 -13.549 Td [(6.9)-1022(Auxiliary)-333(Metho)-28(ds)]TJ +0 g 0 G + [-692(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ +0 g 0 G + [-1280(38)]TJ +0 g 0 G +0 0 1 rg 0 0 1 RG + 25.091 -13.55 Td [(6.9.1)-1144(Metho)-28(d:)-445(d)1(ump)]TJ +0 g 0 G + [-639(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ +0 g 0 G + [-1281(38)]TJ +0 g 0 G +0 0 1 rg 0 0 1 RG + 0 -13.549 Td [(6.9.2)-1144(Metho)-28(d:)-445(clon)1(e)]TJ 0 g 0 G - [-772(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)]TJ + [-917(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1281(38)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG -/F44 10.9091 Tf -16.364 -24.458 Td [(7)-925(Adding)-383(new)-384(smo)-32(other)-383(and)-383(solv)32(er)-384(ob)-64(jects)-383(to)-383(MLD2P4)]TJ + 0 -13.549 Td [(6.9.3)-1144(Metho)-28(d:)-445(sizeof)]TJ +0 g 0 G + [-772(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ +0 g 0 G + [-1280(39)]TJ +0 g 0 G +0 0 1 rg 0 0 1 RG + 0 -13.549 Td [(6.9.4)-1144(Metho)-28(d:)-445(al)1(lo)-28(cate)]TJ +ET +q +1 0 0 1 252.134 235.045 cm +[]0 d 0 J 0.398 w 0 0 m 3.273 0 l S +Q +BT +/F15 10.9091 Tf 255.407 234.846 Td [(wrk)]TJ +0 g 0 G + [-887(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ +0 g 0 G + [-1281(39)]TJ +0 g 0 G +0 0 1 rg 0 0 1 RG + -120.352 -13.549 Td [(6.9.5)-1144(Metho)-28(d:)-445(f)1(ree)]TJ +ET +q +1 0 0 1 232.77 221.496 cm +[]0 d 0 J 0.398 w 0 0 m 3.273 0 l S +Q +BT +/F15 10.9091 Tf 236.043 221.297 Td [(wrk)]TJ +0 g 0 G + [-329(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ +0 g 0 G + [-1280(39)]TJ +0 g 0 G +0 0 1 rg 0 0 1 RG +/F44 10.9091 Tf -142.443 -24.459 Td [(7)-925(Adding)-383(new)-384(smo)-32(other)-383(and)-383(solv)32(er)-384(ob)-64(jects)-383(to)-383(MLD2P4)]TJ 0 g 0 G - [-8165(39)]TJ + [-8165(41)]TJ 0 0 1 rg 0 0 1 RG - 0 -24.459 Td [(8)-925(Error)-383(Handling)]TJ + 0 -24.458 Td [(8)-925(Error)-383(Handling)]TJ 0 g 0 G - [-27434(41)]TJ + [-27434(43)]TJ 0 0 1 rg 0 0 1 RG 0 -24.458 Td [(A)-631(License)]TJ 0 g 0 G - [-31489(42)]TJ + [-31489(44)]TJ 0 0 1 rg 0 0 1 RG - 0 -24.458 Td [(References)]TJ + 0 -24.459 Td [(References)]TJ 0 g 0 G - [-31259(43)]TJ + [-31259(45)]TJ 0 g 0 G 0 g 0 G ET @@ -282,19 +338,19 @@ endobj /Type /ObjStm /N 100 /First 814 -/Length 8446 +/Length 7188 >> stream 1 0 5 38 6 84 9 125 10 146 13 187 14 219 17 260 18 293 21 334 22 381 25 427 26 458 29 504 30 552 33 598 34 637 37 683 38 714 41 760 42 803 45 844 46 880 49 926 50 963 53 1009 54 1047 57 1093 58 1147 61 1188 -62 1219 65 1265 66 1291 69 1332 70 1362 73 1408 74 1441 77 1487 78 1519 81 1565 -82 1599 85 1645 86 1692 89 1738 90 1785 93 1831 94 1865 97 1911 98 1944 101 1990 -102 2025 105 2067 106 2132 109 2174 110 2205 113 2248 114 2272 117 2315 118 2340 119 2385 -122 2499 123 2553 3 2607 120 2659 129 2752 131 2866 128 2920 133 2987 135 3101 7 3155 -132 3207 139 3300 141 3414 138 3468 171 3535 142 3885 143 4031 144 4177 145 4323 146 4469 -147 4621 148 4773 149 4925 150 5076 151 5227 152 5373 153 5525 154 5677 155 5829 156 5975 -157 6127 158 6272 159 6423 160 6575 161 6726 162 6878 163 7030 164 7182 165 7334 166 7486 +62 1219 65 1265 66 1291 69 1332 70 1362 73 1408 74 1437 77 1483 78 1511 81 1557 +82 1600 85 1646 86 1689 89 1735 90 1765 93 1811 94 1841 97 1887 98 1916 101 1962 +102 1993 105 2040 106 2076 109 2128 110 2161 113 2213 114 2247 117 2299 118 2334 121 2386 +122 2430 125 2482 126 2522 129 2564 130 2629 133 2671 134 2702 137 2745 138 2769 141 2812 +142 2837 143 2882 146 2996 147 3050 3 3104 144 3156 153 3249 155 3363 152 3417 157 3484 +159 3598 7 3652 156 3704 163 3797 165 3911 162 3965 201 4032 166 4430 167 4576 168 4722 +169 4868 170 5014 171 5166 172 5318 173 5470 174 5621 175 5772 176 5918 177 6070 178 6222 % 1 0 obj << /S /GoTo /D (title.0) >> % 5 0 obj @@ -366,143 +422,167 @@ stream % 70 0 obj << /S /GoTo /D (subsection.6.1) >> % 73 0 obj -(6.1 Subroutine init) +(6.1 Method init) % 74 0 obj << /S /GoTo /D (subsection.6.2) >> % 77 0 obj -(6.2 Subroutine set) +(6.2 Method set) % 78 0 obj << /S /GoTo /D (subsection.6.3) >> % 81 0 obj -(6.3 Subroutine build) +(6.3 Method hierarchy\137build) % 82 0 obj << /S /GoTo /D (subsection.6.4) >> % 85 0 obj -(6.4 Subroutine hierarchy\137build) +(6.4 Method smoothers\137build) % 86 0 obj << /S /GoTo /D (subsection.6.5) >> % 89 0 obj -(6.5 Subroutine smoothers\137build) +(6.5 Method build) % 90 0 obj << /S /GoTo /D (subsection.6.6) >> % 93 0 obj -(6.6 Subroutine apply) +(6.6 Method apply) % 94 0 obj << /S /GoTo /D (subsection.6.7) >> % 97 0 obj -(6.7 Subroutine free) +(6.7 Method free) % 98 0 obj << /S /GoTo /D (subsection.6.8) >> % 101 0 obj -(6.8 Subroutine descr) +(6.8 Method descr) % 102 0 obj -<< /S /GoTo /D (section.7) >> +<< /S /GoTo /D (subsection.6.9) >> % 105 0 obj -(7 Adding new smoother and solver objects to MLD2P4) +(6.9 Auxiliary Methods) % 106 0 obj -<< /S /GoTo /D (section.8) >> +<< /S /GoTo /D (subsubsection.6.9.1) >> % 109 0 obj -(8 Error Handling) +(6.9.1 Method: dump) % 110 0 obj -<< /S /GoTo /D (appendix.A) >> +<< /S /GoTo /D (subsubsection.6.9.2) >> % 113 0 obj -(A License) +(6.9.2 Method: clone) % 114 0 obj -<< /S /GoTo /D (section*.4) >> +<< /S /GoTo /D (subsubsection.6.9.3) >> % 117 0 obj -(References) +(6.9.3 Method: sizeof) % 118 0 obj -<< /S /GoTo /D [119 0 R /Fit] >> -% 119 0 obj +<< /S /GoTo /D (subsubsection.6.9.4) >> +% 121 0 obj +(6.9.4 Method: allocate\137wrk) +% 122 0 obj +<< /S /GoTo /D (subsubsection.6.9.5) >> +% 125 0 obj +(6.9.5 Method: free\137wrk) +% 126 0 obj +<< /S /GoTo /D (section.7) >> +% 129 0 obj +(7 Adding new smoother and solver objects to MLD2P4) +% 130 0 obj +<< /S /GoTo /D (section.8) >> +% 133 0 obj +(8 Error Handling) +% 134 0 obj +<< /S /GoTo /D (appendix.A) >> +% 137 0 obj +(A License) +% 138 0 obj +<< /S /GoTo /D (section*.4) >> +% 141 0 obj +(References) +% 142 0 obj +<< /S /GoTo /D [143 0 R /Fit] >> +% 143 0 obj << /Type /Page -/Contents 121 0 R -/Resources 120 0 R +/Contents 145 0 R +/Resources 144 0 R /MediaBox [0 0 595.276 841.89] -/Parent 127 0 R +/Parent 151 0 R >> -% 122 0 obj +% 146 0 obj << -/D [119 0 R /XYZ 92.6 752.957 null] +/D [143 0 R /XYZ 92.6 752.957 null] >> -% 123 0 obj +% 147 0 obj << -/D [119 0 R /XYZ 93.6 715.095 null] +/D [143 0 R /XYZ 93.6 715.095 null] >> % 3 0 obj << -/D [119 0 R /XYZ 93.6 715.095 null] +/D [143 0 R /XYZ 93.6 715.095 null] >> -% 120 0 obj +% 144 0 obj << -/Font << /F17 124 0 R /F19 125 0 R /F37 126 0 R >> +/Font << /F17 148 0 R /F19 149 0 R /F37 150 0 R >> /ProcSet [ /PDF /Text ] >> -% 129 0 obj +% 153 0 obj << /Type /Page -/Contents 130 0 R -/Resources 128 0 R +/Contents 154 0 R +/Resources 152 0 R /MediaBox [0 0 595.276 841.89] -/Parent 127 0 R +/Parent 151 0 R >> -% 131 0 obj +% 155 0 obj << -/D [129 0 R /XYZ 85.4 752.957 null] +/D [153 0 R /XYZ 85.4 752.957 null] >> -% 128 0 obj +% 152 0 obj << -/Font << /F19 125 0 R >> +/Font << /F19 149 0 R >> /ProcSet [ /PDF /Text ] >> -% 133 0 obj +% 157 0 obj << /Type /Page -/Contents 134 0 R -/Resources 132 0 R +/Contents 158 0 R +/Resources 156 0 R /MediaBox [0 0 595.276 841.89] -/Parent 127 0 R +/Parent 151 0 R >> -% 135 0 obj +% 159 0 obj << -/D [133 0 R /XYZ 92.6 752.957 null] +/D [157 0 R /XYZ 92.6 752.957 null] >> % 7 0 obj << -/D [133 0 R /XYZ 93.6 722.069 null] +/D [157 0 R /XYZ 93.6 722.069 null] >> -% 132 0 obj +% 156 0 obj << -/Font << /F15 136 0 R /F17 124 0 R /F42 137 0 R >> +/Font << /F15 160 0 R /F17 148 0 R /F42 161 0 R >> /ProcSet [ /PDF /Text ] >> -% 139 0 obj +% 163 0 obj << /Type /Page -/Contents 140 0 R -/Resources 138 0 R +/Contents 164 0 R +/Resources 162 0 R /MediaBox [0 0 595.276 841.89] -/Parent 127 0 R +/Parent 151 0 R >> -% 141 0 obj +% 165 0 obj << -/D [139 0 R /XYZ 85.4 752.957 null] +/D [163 0 R /XYZ 85.4 752.957 null] >> -% 138 0 obj +% 162 0 obj << -/Font << /F19 125 0 R >> +/Font << /F19 149 0 R >> /ProcSet [ /PDF /Text ] >> -% 171 0 obj +% 201 0 obj << /Type /Page -/Contents 172 0 R -/Resources 170 0 R +/Contents 202 0 R +/Resources 200 0 R /MediaBox [0 0 595.276 841.89] -/Parent 127 0 R -/Annots [ 142 0 R 143 0 R 144 0 R 145 0 R 146 0 R 147 0 R 148 0 R 149 0 R 150 0 R 151 0 R 152 0 R 153 0 R 154 0 R 155 0 R 156 0 R 157 0 R 158 0 R 159 0 R 160 0 R 161 0 R 162 0 R 163 0 R 164 0 R 165 0 R 166 0 R 167 0 R 168 0 R 169 0 R ] +/Parent 151 0 R +/Annots [ 166 0 R 167 0 R 168 0 R 169 0 R 170 0 R 171 0 R 172 0 R 173 0 R 174 0 R 175 0 R 176 0 R 177 0 R 178 0 R 179 0 R 180 0 R 181 0 R 182 0 R 183 0 R 184 0 R 185 0 R 186 0 R 187 0 R 188 0 R 189 0 R 190 0 R 191 0 R 192 0 R 193 0 R 194 0 R 195 0 R 196 0 R 197 0 R 198 0 R 199 0 R ] >> -% 142 0 obj +% 166 0 obj << /Type /Annot /Subtype /Link @@ -510,7 +590,7 @@ stream /Rect [92.604 678.682 142.598 688.25] /A << /S /GoTo /D (section*.1) >> >> -% 143 0 obj +% 167 0 obj << /Type /Annot /Subtype /Link @@ -518,7 +598,7 @@ stream /Rect [92.604 654.223 209.755 663.792] /A << /S /GoTo /D (section.1) >> >> -% 144 0 obj +% 168 0 obj << /Type /Annot /Subtype /Link @@ -526,7 +606,7 @@ stream /Rect [92.604 629.765 210.673 639.333] /A << /S /GoTo /D (section.2) >> >> -% 145 0 obj +% 169 0 obj << /Type /Annot /Subtype /Link @@ -534,7 +614,7 @@ stream /Rect [92.604 603.186 304.709 614.875] /A << /S /GoTo /D (section.3) >> >> -% 146 0 obj +% 170 0 obj << /Type /Annot /Subtype /Link @@ -542,7 +622,7 @@ stream /Rect [108.968 589.636 197.294 601.205] /A << /S /GoTo /D (subsection.3.1) >> >> -% 147 0 obj +% 171 0 obj << /Type /Annot /Subtype /Link @@ -550,7 +630,7 @@ stream /Rect [108.968 576.087 276.233 587.777] /A << /S /GoTo /D (subsection.3.2) >> >> -% 148 0 obj +% 172 0 obj << /Type /Annot /Subtype /Link @@ -558,7 +638,7 @@ stream /Rect [108.968 562.538 239.779 574.228] /A << /S /GoTo /D (subsection.3.3) >> >> -% 149 0 obj +% 173 0 obj << /Type /Annot /Subtype /Link @@ -566,7 +646,7 @@ stream /Rect [108.968 548.989 202.93 560.557] /A << /S /GoTo /D (subsection.3.4) >> >> -% 150 0 obj +% 174 0 obj << /Type /Annot /Subtype /Link @@ -574,7 +654,7 @@ stream /Rect [108.968 535.44 268.203 547.129] /A << /S /GoTo /D (subsection.3.5) >> >> -% 151 0 obj +% 175 0 obj << /Type /Annot /Subtype /Link @@ -582,7 +662,7 @@ stream /Rect [92.604 510.981 233.255 522.671] /A << /S /GoTo /D (section.4) >> >> -% 152 0 obj +% 176 0 obj << /Type /Annot /Subtype /Link @@ -590,7 +670,7 @@ stream /Rect [108.968 497.432 239.279 509.122] /A << /S /GoTo /D (subsection.4.1) >> >> -% 153 0 obj +% 177 0 obj << /Type /Annot /Subtype /Link @@ -598,7 +678,7 @@ stream /Rect [108.968 483.883 245.172 495.572] /A << /S /GoTo /D (subsection.4.2) >> >> -% 154 0 obj +% 178 0 obj << /Type /Annot /Subtype /Link @@ -606,106 +686,10 @@ stream /Rect [108.968 472.455 308.869 482.023] /A << /S /GoTo /D (subsection.4.3) >> >> -% 155 0 obj -<< -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [92.604 445.875 197.952 457.565] -/A << /S /GoTo /D (section.5) >> ->> -% 156 0 obj -<< -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [108.968 432.326 182.021 444.016] -/A << /S /GoTo /D (subsection.5.1) >> ->> -% 157 0 obj -<< -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [92.604 409.989 189.09 419.557] -/A << /S /GoTo /D (section.6) >> ->> -% 158 0 obj -<< -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [108.968 396.44 208.203 406.008] -/A << /S /GoTo /D (subsection.6.1) >> ->> -% 159 0 obj -<< -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [108.968 382.891 205.233 392.459] -/A << /S /GoTo /D (subsection.6.2) >> ->> -% 160 0 obj -<< -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [108.968 369.342 216.082 378.91] -/A << /S /GoTo /D (subsection.6.3) >> ->> -% 161 0 obj -<< -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [108.968 353.671 264.009 365.361] -/A << /S /GoTo /D (subsection.6.4) >> ->> -% 162 0 obj -<< -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [108.968 342.243 268.342 351.811] -/A << /S /GoTo /D (subsection.6.5) >> ->> -% 163 0 obj -<< -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [108.968 326.573 218.203 338.262] -/A << /S /GoTo /D (subsection.6.6) >> ->> -% 164 0 obj -<< -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [108.968 315.145 209.142 324.713] -/A << /S /GoTo /D (subsection.6.7) >> ->> -% 165 0 obj -<< -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [108.968 301.596 216.172 311.164] -/A << /S /GoTo /D (subsection.6.8) >> ->> -% 166 0 obj -<< -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [92.604 275.016 405.432 286.705] -/A << /S /GoTo /D (section.7) >> ->> endstream endobj -179 0 obj +209 0 obj << /Length 143 >> @@ -720,7 +704,7 @@ ET endstream endobj -193 0 obj +223 0 obj << /Length 7908 >> @@ -779,7 +763,7 @@ ET endstream endobj -217 0 obj +247 0 obj << /Length 5319 >> @@ -835,7 +819,7 @@ ET endstream endobj -223 0 obj +253 0 obj << /Length 3340 >> @@ -893,7 +877,7 @@ ET endstream endobj -243 0 obj +273 0 obj << /Length 7597 >> @@ -973,7 +957,7 @@ ET endstream endobj -265 0 obj +295 0 obj << /Length 6359 >> @@ -1050,7 +1034,7 @@ ET endstream endobj -275 0 obj +305 0 obj << /Length 4097 >> @@ -1069,246 +1053,232 @@ ET endstream endobj -281 0 obj +206 0 obj << -/Length 3986 +/Type /ObjStm +/N 100 +/First 912 +/Length 14571 >> stream -0 g 0 G -0 0 1 rg 0 0 1 RG -BT -/F42 10.9091 Tf 93.6 740.002 Td [(3)]TJ -0 g 0 G - [-378(Configuring)-378(and)-377(B)-1(uilding)-377(MLD2P4)]TJ/F15 10.9091 Tf 406.997 0 Td [(7)]TJ -0 g 0 G -/F45 10.9091 Tf -395.542 -35.866 Td [(--sharedstatedir=DIR)-2100(modifiable)-525(architecture-independent)-525(data)-525([PREFIX/com])]TJ 0 -13.549 Td [(--localstatedir=DIR)-2625(modifiable)-525(single-machine)-525(data)-525([PREFIX/var])]TJ 0 -13.549 Td [(--libdir=DIR)-6300(object)-525(code)-525(libraries)-525([EPREFIX/lib])]TJ 0 -13.549 Td [(--includedir=DIR)-4200(C)-525(header)-525(files)-525([PREFIX/include])]TJ 0 -13.549 Td [(--oldincludedir=DIR)-2625(C)-525(header)-525(files)-525(for)-525(non-gcc)-525([/usr/include])]TJ 0 -13.55 Td [(--datarootdir=DIR)-3675(read-only)-525(arch.-independent)-525(data)-525(root)-525([PREFIX/share])]TJ 0 -13.549 Td [(--datadir=DIR)-5775(read-only)-525(architecture-independent)-525(data)-525([DATAROOTDIR])]TJ 0 -13.549 Td [(--infodir=DIR)-5775(info)-525(documentation)-525([DATAROOTDIR/info])]TJ 0 -13.549 Td [(--localedir=DIR)-4725(locale-dependent)-525(data)-525([DATAROOTDIR/locale])]TJ 0 -13.549 Td [(--mandir=DIR)-6300(man)-525(documentation)-525([DATAROOTDIR/man])]TJ 0 -13.55 Td [(--docdir=DIR)-6300(documentation)-525(root)-525([DATAROOTDIR/doc/mld2p4])]TJ 0 -13.549 Td [(--htmldir=DIR)-5775(html)-525(documentation)-525([DOCDIR])]TJ 0 -13.549 Td [(--dvidir=DIR)-6300(dvi)-525(documentation)-525([DOCDIR])]TJ 0 -13.549 Td [(--pdfdir=DIR)-6300(pdf)-525(documentation)-525([DOCDIR])]TJ 0 -13.549 Td [(--psdir=DIR)-6825(ps)-525(documentation)-525([DOCDIR])]TJ -11.455 -27.099 Td [(Program)-525(names:)]TJ 11.455 -13.549 Td [(--program-prefix=PREFIX)-6300(prepend)-525(PREFIX)-525(to)-525(installed)-525(program)-525(names)]TJ 0 -13.549 Td [(--program-suffix=SUFFIX)-6300(append)-525(SUFFIX)-525(to)-525(installed)-525(program)-525(names)]TJ 0 -13.549 Td [(--program-transform-name=PROGRAM)-1575(run)-525(sed)-525(PROGRAM)-525(on)-525(installed)-525(program)-525(names)]TJ -11.455 -27.099 Td [(Optional)-525(Features:)]TJ 11.455 -13.549 Td [(--disable-option-checking)-1050(ignore)-525(unrecognized)-525(--enable/--with)-525(options)]TJ 0 -13.549 Td [(--disable-FEATURE)-3675(do)-525(not)-525(include)-525(FEATURE)-525(\050same)-525(as)-525(--enable-FEATURE=no\051)]TJ 0 -13.549 Td [(--enable-FEATURE[=ARG])-1050(include)-525(FEATURE)-525([ARG=yes])]TJ 0 -13.549 Td [(--disable-dependency-tracking)-1050(speeds)-525(up)-525(one-time)-525(build)]TJ 0 -13.55 Td [(--enable-dependency-tracking)-1575(do)-525(not)-525(reject)-525(slow)-525(dependency)-525(extractors)]TJ 0 -13.549 Td [(--enable-serial)-4725(Specify)-525(whether)-525(to)-525(enable)-525(a)-525(fake)-525(mpi)-525(library)-525(to)-525(run)]TJ 137.453 -13.549 Td [(in)-525(serial)-525(mode.)]TJ -137.453 -13.549 Td [(--enable-long-integers)-1050(Specify)-525(usage)-525(of)-525(64)-525(bits)-525(integers.)]TJ -11.455 -27.099 Td [(Optional)-525(Packages:)]TJ 11.455 -13.549 Td [(--with-PACKAGE[=ARG])-2100(use)-525(PACKAGE)-525([ARG=yes])]TJ 0 -13.549 Td [(--without-PACKAGE)-3675(do)-525(not)-525(use)-525(PACKAGE)-525(\050same)-525(as)-525(--with-PACKAGE=no\051)]TJ 0 -13.549 Td [(--with-psblas=DIR)-3675(The)-525(install)-525(directory)-525(for)-525(PSBLAS,)-525(for)-525(example,)]TJ 137.453 -13.549 Td [(--with-psblas=/opt/packages/psblas-3.5)]TJ -137.453 -13.55 Td [(--with-psblas-incdir=DIR)]TJ 137.453 -13.549 Td [(Specify)-525(the)-525(directory)-525(for)-525(PSBLAS)-525(includes.)]TJ -137.453 -13.549 Td [(--with-psblas-libdir=DIR)]TJ 137.453 -13.549 Td [(Specify)-525(the)-525(directory)-525(for)-525(PSBLAS)-525(library.)]TJ -137.453 -13.549 Td [(--with-ccopt)-6300(additional)-525(CCOPT)-525(flags)-525(to)-525(be)-525(added:)-525(will)-525(prepend)]TJ 137.453 -13.55 Td [(to)-525(CCOPT)]TJ -137.453 -13.549 Td [(--with-fcopt)-6300(additional)-525(FCOPT)-525(flags)-525(to)-525(be)-525(added:)-525(will)-525(prepend)]TJ 137.453 -13.549 Td [(to)-525(FCOPT)]TJ -0 g 0 G -0 g 0 G -ET - -endstream -endobj -286 0 obj +179 0 180 146 181 298 182 443 183 594 184 746 185 896 186 1047 187 1197 188 1349 +189 1500 190 1652 191 1804 192 1961 193 2118 194 2275 195 2431 196 2586 197 2731 198 2877 +199 3024 203 3171 204 3225 200 3279 208 3372 210 3486 207 3540 222 3607 220 3813 211 3959 +212 4112 213 4264 214 4412 215 4564 216 4715 217 4871 218 5034 219 5184 11 5333 224 5386 +221 5442 246 5548 235 5754 236 5901 237 6054 238 6200 239 6347 240 6494 241 6640 242 6787 +243 6933 244 7080 245 7228 252 7308 250 7450 249 7596 254 7744 15 7798 256 7851 251 7905 +272 8024 258 8278 259 8430 260 8582 261 8730 262 8878 263 9026 275 9195 264 9364 276 9526 +265 9688 266 9852 267 9999 268 10146 269 10300 270 10452 277 10624 274 10796 19 10850 23 10903 +271 10955 294 11074 292 11288 284 11434 285 11584 286 11770 287 11918 288 12078 289 12227 297 12398 +290 12568 291 12722 298 12914 296 13106 27 13160 31 13213 293 13266 304 13385 306 13499 303 13553 +% 179 0 obj << -/Length 4098 +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [92.604 445.875 197.952 457.565] +/A << /S /GoTo /D (section.5) >> >> -stream -0 g 0 G -BT -/F15 10.9091 Tf 86.4 740.002 Td [(8)]TJ/F42 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ -0 g 0 G -/F45 10.9091 Tf -191.811 -35.866 Td [(--with-libs)-6825(List)-525(additional)-525(link)-525(flags)-525(here.)-525(For)-525(example,)]TJ 137.453 -13.549 Td [(--with-libs=-lspecial_system_lib)-525(or)]TJ 0 -13.549 Td [(--with-libs=-L/path/to/libs)]TJ -137.453 -13.549 Td [(--with-clibs)-6300(additional)-525(CLIBS)-525(flags)-525(to)-525(be)-525(added:)-525(will)-525(prepend)]TJ 137.453 -13.549 Td [(to)-525(CLIBS)]TJ -137.453 -13.55 Td [(--with-flibs)-6300(additional)-525(FLIBS)-525(flags)-525(to)-525(be)-525(added:)-525(will)-525(prepend)]TJ 137.453 -13.549 Td [(to)-525(FLIBS)]TJ -137.453 -13.549 Td [(--with-library-path)-2625(additional)-525(LIBRARYPATH)-525(flags)-525(to)-525(be)-525(added:)-525(will)]TJ 137.453 -13.549 Td [(prepend)-525(to)-525(LIBRARYPATH)]TJ -137.453 -13.549 Td [(--with-include-path)-2625(additional)-525(INCLUDEPATH)-525(flags)-525(to)-525(be)-525(added:)-525(will)]TJ 137.453 -13.55 Td [(prepend)-525(to)-525(INCLUDEPATH)]TJ -137.453 -13.549 Td [(--with-module-path)-3150(additional)-525(MODULE_PATH)-525(flags)-525(to)-525(be)-525(added:)-525(will)]TJ 137.453 -13.549 Td [(prepend)-525(to)-525(MODULE_PATH)]TJ -137.453 -13.549 Td [(--with-extra-libs)-3675(List)-525(additional)-525(link)-525(flags)-525(here.)-525(For)-525(example,)]TJ 137.453 -13.549 Td [(--with-extra-libs=-lspecial_system_lib)-525(or)]TJ 0 -13.55 Td [(--with-extra-libs=-L/path/to/libs)]TJ -137.453 -13.549 Td [(--with-blas=)-3675(use)-525(BLAS)-525(library)-525()]TJ 0 -13.549 Td [(--with-blasdir=)-2100(search)-525(for)-525(BLAS)-525(library)-525(in)-525()]TJ 0 -13.549 Td [(--with-lapack=)-2625(use)-525(LAPACK)-525(library)-525()]TJ 0 -13.549 Td [(--with-mumps=LIBNAME)-2100(Specify)-525(the)-525(libname)-525(for)-525(MUMPS.)-525(Default:)-525(autodetect)]TJ 137.453 -13.55 Td [(with)-525(minimum)-525("-lmumps_common)-525(-lpord")]TJ -137.453 -13.549 Td [(--with-mumpsdir=DIR)-2625(Specify)-525(the)-525(directory)-525(for)-525(MUMPS)-525(library)-525(and)]TJ 137.453 -13.549 Td [(includes.)-525(Note:)-525(you)-525(will)-525(need)-525(to)-525(add)-525(auxiliary)]TJ 0 -13.549 Td [(libraries)-525(with)-525(--extra-libs;)-525(this)-525(depends)-525(on)-525(how)]TJ 0 -13.549 Td [(MUMPS)-525(was)-525(configured)-525(and)-525(installed,)-525(at)-525(a)-525(minimum)-525(you)]TJ 0 -13.549 Td [(will)-525(need)-525(SCALAPACK)-525(and)-525(BLAS)]TJ -137.453 -13.55 Td [(--with-mumpsincdir=DIR)-1050(Specify)-525(the)-525(directory)-525(for)-525(MUMPS)-525(includes.)]TJ 0 -13.549 Td [(--with-mumpslibdir=DIR)-1050(Specify)-525(the)-525(directory)-525(for)-525(MUMPS)-525(library.)]TJ 0 -13.549 Td [(--with-umfpack=LIBNAME)-1050(Specify)-525(the)-525(library)-525(name)-525(for)-525(UMFPACK)-525(and)-525(its)-525(support)]TJ 137.453 -13.549 Td [(libraries.)-525(Default:)-525("-lumfpack)-525(-lamd")]TJ -137.453 -13.549 Td [(--with-umfpackdir=DIR)-1575(Specify)-525(the)-525(directory)-525(for)-525(UMFPACK)-525(library)-525(and)]TJ 137.453 -13.55 Td [(includes.)]TJ -137.453 -13.549 Td [(--with-umfpackincdir=DIR)]TJ 137.453 -13.549 Td [(Specify)-525(the)-525(directory)-525(for)-525(UMFPACK)-525(includes.)]TJ -137.453 -13.549 Td [(--with-umfpacklibdir=DIR)]TJ 137.453 -13.549 Td [(Specify)-525(the)-525(directory)-525(for)-525(UMFPACK)-525(library.)]TJ -137.453 -13.55 Td [(--with-superlu=LIBNAME)-1050(Specify)-525(the)-525(library)-525(name)-525(for)-525(SUPERLU)-525(library.)]TJ 137.453 -13.549 Td [(Default:)-525("-lsuperlu")]TJ -137.453 -13.549 Td [(--with-superludir=DIR)-1575(Specify)-525(the)-525(directory)-525(for)-525(SUPERLU)-525(library)-525(and)]TJ 137.453 -13.549 Td [(includes.)]TJ -137.453 -13.549 Td [(--with-superluincdir=DIR)]TJ 137.453 -13.55 Td [(Specify)-525(the)-525(directory)-525(for)-525(SUPERLU)-525(includes.)]TJ -137.453 -13.549 Td [(--with-superlulibdir=DIR)]TJ 137.453 -13.549 Td [(Specify)-525(the)-525(directory)-525(for)-525(SUPERLU)-525(library.)]TJ -0 g 0 G -0 g 0 G -ET - -endstream -endobj -291 0 obj +% 180 0 obj << -/Length 4858 +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.968 432.326 182.021 444.016] +/A << /S /GoTo /D (subsection.5.1) >> >> -stream -0 g 0 G -0 0 1 rg 0 0 1 RG -BT -/F42 10.9091 Tf 93.6 740.002 Td [(3)]TJ -0 g 0 G - [-378(Configuring)-378(and)-377(B)-1(uilding)-377(MLD2P4)]TJ/F15 10.9091 Tf 406.997 0 Td [(9)]TJ -0 g 0 G -/F45 10.9091 Tf -395.542 -35.866 Td [(--with-superludist=LIBNAME)]TJ 137.453 -13.549 Td [(Specify)-525(the)-525(libname)-525(for)-525(SUPERLUDIST)-525(library.)]TJ 0 -13.549 Td [(Requires)-525(you)-525(also)-525(specify)-525(SuperLU.)-525(Default:)]TJ 0 -13.549 Td [("-lsuperlu_dist")]TJ -137.453 -13.549 Td [(--with-superludistdir=DIR)]TJ 137.453 -13.55 Td [(Specify)-525(the)-525(directory)-525(for)-525(SUPERLUDIST)-525(library)-525(and)]TJ 0 -13.549 Td [(includes.)]TJ -137.453 -13.549 Td [(--with-superludistincdir=DIR)]TJ 137.453 -13.549 Td [(Specify)-525(the)-525(directory)-525(for)-525(SUPERLUDIST)-525(includes.)]TJ -137.453 -13.549 Td [(--with-superludistlibdir=DIR)]TJ 137.453 -13.55 Td [(Specify)-525(the)-525(directory)-525(for)-525(SUPERLUDIST)-525(library.)]TJ -148.908 -27.098 Td [(Some)-525(influential)-525(environment)-525(variables:)]TJ 11.455 -13.549 Td [(FC)-5250(Fortran)-525(compiler)-525(command)]TJ 0 -13.549 Td [(FCFLAGS)-2625(Fortran)-525(compiler)-525(flags)]TJ 0 -13.55 Td [(LDFLAGS)-2625(linker)-525(flags,)-525(e.g.)-525(-L)-525(if)-525(you)-525(have)-525(libraries)-525(in)-525(a)]TJ 68.726 -13.549 Td [(nonstandard)-525(directory)-525()]TJ -68.726 -13.549 Td [(LIBS)-4200(libraries)-525(to)-525(pass)-525(to)-525(the)-525(linker,)-525(e.g.)-525(-l)]TJ 0 -13.549 Td [(CC)-5250(C)-525(compiler)-525(command)]TJ 0 -13.549 Td [(CFLAGS)-3150(C)-525(compiler)-525(flags)]TJ 0 -13.55 Td [(CPPFLAGS)-2100(C/C++/Objective)-525(C)-525(preprocessor)-525(flags,)-525(e.g.)-525(-I)-525(if)]TJ 68.726 -13.549 Td [(you)-525(have)-525(headers)-525(in)-525(a)-525(nonstandard)-525(directory)-525()]TJ -68.726 -13.549 Td [(MPICC)-3675(MPI)-525(C)-525(compiler)-525(command)]TJ 0 -13.549 Td [(MPIFC)-3675(MPI)-525(Fortran)-525(compiler)-525(command)]TJ 0 -13.549 Td [(CPP)-4725(C)-525(preprocessor)]TJ -11.455 -27.099 Td [(Use)-525(these)-525(variables)-525(to)-525(override)-525(the)-525(choices)-525(made)-525(by)-525(`configure')-525(or)-525(to)-525(help)]TJ 0 -13.549 Td [(it)-525(to)-525(find)-525(libraries)-525(and)-525(programs)-525(with)-525(nonstandard)-525(names/locations.)]TJ 0 -27.098 Td [(Report)-525(bugs)-525(to)-525(.)]TJ/F15 10.9091 Tf 16.937 -18.066 Td [(F)83(or)-301(instance,)-308(if)-302(a)-302(user)-301(has)-302(built)-302(and)-301(installed)-302(PSBLAS)-302(3.5)-301(under)-302(the)]TJ/F45 10.9091 Tf 326.526 0 Td [(/opt)]TJ/F15 10.9091 Tf 26.2 0 Td [(directory)]TJ -369.663 -13.549 Td [(and)-247(is)-246(using)-247(the)-247(SuiteSp)1(arse)-247(pac)28(k)55(age)-247(\050whic)28(h)-246(includes)-247(UMFP)83(A)28(CK\051,)-247(th)1(e)-1(n)-246(MLD2P4)-247(migh)28(t)]TJ 0 -13.549 Td [(b)-28(e)-333(con\014gured)-333(with:)]TJ -0 g 0 G -0 g 0 G -/F45 10.9091 Tf 5.727 -18.066 Td [(./configure)-525(--with-psblas=/opt/psblas-3.5/)-525(\134)]TJ 0 -13.549 Td [(--with-umfpackincdir=/usr/include/suitesparse/)]TJ/F15 10.9091 Tf -5.727 -18.066 Td [(Once)-529(the)-529(c)-1(on)1(\014gure)-530(script)-529(has)-529(completed)-529(execution,)-579(i)1(t)-530(will)-529(ha)28(v)28(e)-530(generated)-529(the)-529(\014le)]TJ/F45 10.9091 Tf 0 -13.549 Td [(Make.inc)]TJ/F15 10.9091 Tf 49.145 0 Td [(whic)28(h)-305(will)-305(then)-305(b)-28(e)-305(used)-305(b)28(y)-305(all)-305(Mak)28(e\014les)-305(in)-305(the)-305(dir)1(e)-1(ctory)-304(tree)-1(;)-314(this)-305(\014le)-305(will)-305(b)-27(e)]TJ -49.145 -13.549 Td [(copied)-333(in)-334(the)-333(install)-333(directory)-333(under)-334(the)-333(name)]TJ/F45 10.9091 Tf 223.485 0 Td [(Make.inc.MLD2P4)]TJ/F15 10.9091 Tf 85.908 0 Td [(.)]TJ -292.456 -13.549 Td [(T)83(o)-428(use)-428(the)-429(MUMPS)-428(solv)28(er)-428(pac)28(k)55(age,)-452(the)-428(user)-429(h)1(as)-429(to)-428(add)-428(the)-429(approp)1(riate)-429(options)]TJ -16.937 -13.549 Td [(to)-342(the)-342(con\014)1(gure)-342(script;)-346(b)28(y)-342(default)-342(w)28(e)-342(are)-342(l)1(o)-28(oking)-342(for)-342(the)-341(libraries)]TJ/F45 10.9091 Tf 315.089 0 Td [(-ldmumps)-525(-lsmumps)]TJ -309.362 -13.55 Td [(-lzmumps)-525(-lcmumps)-525(-mumps_common)-525(-lpord)]TJ/F15 10.9091 Tf 217.634 0 Td [(.)-767(MUMPS)-441(often)-441(u)1(s)-1(es)-440(additional)-441(pac)28(k-)]TJ -223.361 -13.549 Td [(ages)-288(suc)28(h)-288(as)-287(ScaLAP)83(A)28(CK,)-288(P)28(arMETIS,)-288(SCOTCH,)-287(as)-288(w)28(ell)-288(as)-288(enabling)-287(Op)-28(enMP;)-288(in)-287(suc)27(h)]TJ 0 -13.549 Td [(cases)-235(it)-234(is)-235(necessary)-234(to)-235(add)-234(link)28(er)-235(options)-234(with)-234(the)]TJ/F45 10.9091 Tf 233.579 0 Td [(--with-extra-libs)]TJ/F15 10.9091 Tf 99.92 0 Td [(con\014gure)-234(option.)]TJ -0 g 0 G -0 g 0 G -ET - -endstream -endobj -296 0 obj +% 181 0 obj << -/Length 3815 +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [92.604 409.989 189.09 419.557] +/A << /S /GoTo /D (section.6) >> >> -stream -0 g 0 G -BT -/F15 10.9091 Tf 86.4 740.002 Td [(10)]TJ/F42 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ -0 g 0 G -/F15 10.9091 Tf -186.329 -35.866 Td [(T)83(o)-333(build)-333(the)-334(li)1(brary)-334(the)-333(user)-333(will)-334(no)28(w)-333(en)28(ter)]TJ -0 g 0 G -0 g 0 G -/F45 10.9091 Tf -16.936 -22.515 Td [(make)]TJ/F15 10.9091 Tf 0 -22.516 Td [(follo)28(w)28(ed)-334(\050optionally\051)-333(b)28(y)]TJ -0 g 0 G -0 g 0 G -/F45 10.9091 Tf 0 -22.515 Td [(make)-525(install)]TJ/F17 11.9552 Tf 0 -29.213 Td [(3.4)-1125(Bug)-375(rep)-31(orting)]TJ/F15 10.9091 Tf 0 -20.595 Td [(If)-333(y)28(ou)-334(\014nd)-333(an)28(y)-333(bugs)-334(in)-333(our)-333(co)-28(des,)-333(please)-334(rep)-28(ort)-333(them)-333(through)-333(our)-334(issues)-333(page)-333(on)]TJ -0 1 0 0 k 0 1 0 0 K -/F45 10.9091 Tf 0 -19.218 Td [(https://github.com/sfilippone/mld2p4-)-45(2/issues)]TJ -0 g 0 G -/F15 10.9091 Tf 0 -13.549 Td [(T)83(o)-292(enable)-293(us)-293(to)-292(trac)27(k)-292(the)-293(bug,)-301(please)-293(pro)28(vide)-292(a)-293(log)-293(from)-293(th)1(e)-293(failing)-293(application,)-300(the)-293(test)]TJ 0 -13.55 Td [(conditions,)-333(and)-333(ideally)-334(a)-333(self-con)28(tained)-334(test)-333(program)-333(repro)-28(ducing)-333(the)-333(is)-1(sue.)]TJ/F17 11.9552 Tf 0 -29.212 Td [(3.5)-1125(Example)-375(and)-375(test)-375(programs)]TJ/F15 10.9091 Tf 0 -20.595 Td [(The)-419(pac)28(k)55(age)-418(con)27(tains)-418(the)]TJ/F45 10.9091 Tf 128.338 0 Td [(examples)]TJ/F15 10.9091 Tf 50.387 0 Td [(and)]TJ/F45 10.9091 Tf 22.146 0 Td [(tests)]TJ/F15 10.9091 Tf 33.205 0 Td [(directories;)-462(b)-27(oth)-419(of)-419(them)-419(are)-419(further)]TJ -234.076 -13.549 Td [(divided)-333(in)28(to)]TJ/F45 10.9091 Tf 60.606 0 Td [(fileread)]TJ/F15 10.9091 Tf 49.454 0 Td [(and)]TJ/F45 10.9091 Tf 21.212 0 Td [(pdegen)]TJ/F15 10.9091 Tf 38 0 Td [(sub)-28(directories.)-444(Their)-333(purp)-28(ose)-333(is)-334(as)-333(follo)28(ws:)]TJ -0 g 0 G -/F45 10.9091 Tf -169.272 -22.516 Td [(examples)]TJ -0 g 0 G -/F15 10.9091 Tf 51.272 0 Td [(con)28(tains)-245(a)-244(s)-1(et)-244(of)-245(simple)-245(example)-244(programs)-245(with)-244(a)-245(prede\014ned)-245(c)28(hoice)-245(of)-244(precon-)]TJ -23.999 -13.549 Td [(ditioners,)-294(selectable)-284(via)-284(in)28(teger)-284(v)56(alues.)-428(These)-284(are)-284(in)28(tended)-284(to)-284(get)-284(an)-284(acquain)28(tance)]TJ 0 -13.549 Td [(with)-333(the)-334(m)28(ultilev)28(el)-333(preconditioners)-334(a)28(v)56(ailable)-333(in)-334(MLD2P4.)]TJ -0 g 0 G -/F45 10.9091 Tf -27.273 -22.516 Td [(tests)]TJ -0 g 0 G -/F15 10.9091 Tf 34.09 0 Td [(con)28(tains)-380(a)-380(set)-380(of)-380(more)-380(sophi)1(s)-1(ticated)-379(examples)-380(that)-380(will)-380(allo)28(w)-380(the)-380(user,)-391(via)-380(the)]TJ -6.817 -13.549 Td [(input)-286(\014les)-287(in)-286(the)]TJ/F45 10.9091 Tf 80.438 0 Td [(runs)]TJ/F15 10.9091 Tf 26.033 0 Td [(sub)-28(directories,)-296(to)-286(exp)-28(erimen)28(t)-286(with)-287(the)-286(full)-287(ran)1(ge)-287(of)-286(precon-)]TJ -106.471 -13.549 Td [(ditioners)-333(implemen)28(ted)-334(in)-333(the)-333(pac)27(k)56(age.)]TJ -27.273 -22.516 Td [(The)]TJ/F45 10.9091 Tf 24.239 0 Td [(fileread)]TJ/F15 10.9091 Tf 51.269 0 Td [(directories)-500(con)28(tain)-500(sample)-499(programs)-500(that)-500(read)-499(sparse)-500(matrices)-500(from)]TJ -75.508 -13.549 Td [(\014les,)-295(according)-285(to)-285(the)-285(Matrix)-285(Mark)28(et)-285(or)-285(the)-285(Harw)27(ell-Bo)-27(eing)-286(storage)-285(format;)-301(the)]TJ/F45 10.9091 Tf 378.088 0 Td [(pdegen)]TJ/F15 10.9091 Tf -378.088 -13.549 Td [(programs)-416(generate)-415(matrices)-416(in)-416(full)-415(parallel)-416(mo)-28(de)-416(from)-415(the)-416(discretization)-416(of)-415(a)-416(sample)]TJ 0 -13.549 Td [(partial)-333(di\013eren)28(tial)-334(equation.)]TJ -0 g 0 G -0 g 0 G -ET - -endstream -endobj -313 0 obj +% 182 0 obj << -/Length 8161 +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.968 396.44 193.021 406.008] +/A << /S /GoTo /D (subsection.6.1) >> >> -stream -0 g 0 G -0 0 1 rg 0 0 1 RG -BT -/F42 10.9091 Tf 93.6 740.002 Td [(4)]TJ -0 g 0 G - [-378(Mul)67(tigrid)-378(Ba)22(ck)22(gr)23(ound)]TJ/F15 10.9091 Tf 401.542 0 Td [(11)]TJ -0 g 0 G -/F17 14.3462 Tf -401.542 -35.866 Td [(4)-1125(Multigrid)-375(Bac)31(kground)]TJ/F15 10.9091 Tf 0 -25.431 Td [(Multigrid)-467(preconditioners,)-500(coupled)-468(with)-467(Krylo)28(v)-467(iterativ)28(e)-467(solv)27(ers,)-500(are)-467(widely)-467(use)-1(d)-467(in)]TJ 0 -13.549 Td [(the)-374(par)1(allel)-374(solution)-373(of)-374(large)-374(and)-373(sparse)-374(linear)-373(systems,)-384(b)-28(ecause)-373(of)-374(their)-373(optimalit)28(y)-374(in)]TJ 0 -13.55 Td [(the)-411(solution)-411(of)-411(linear)-411(systems)-411(arising)-411(from)-411(the)-412(d)1(isc)-1(r)1(e)-1(tization)-411(of)-411(scalar)-411(elliptic)-411(P)28(artial)]TJ 0 -13.549 Td [(Di\013eren)28(tial)-331(Equations)-330(\050PDEs\051)-331(on)-330(regular)-331(grids.)-443(Optimalit)28(y)83(,)-331(also)-331(kn)1(o)27(wn)-330(as)-331(algorithmic)]TJ 0 -13.549 Td [(scalabilit)28(y)83(,)-404(is)-389(the)-390(prop)-28(ert)28(y)-390(of)-390(ha)28(ving)-389(a)-390(computational)-390(cost)-390(p)-27(er)-390(iteration)-390(that)-390(dep)-27(ends)]TJ 0 -13.549 Td [(linearly)-291(on)-292(the)-291(problem)-292(size,)-299(and)-292(a)-291(con)28(v)27(ergence)-291(rate)-292(that)-291(is)-291(indep)-28(enden)28(t)-292(of)-291(the)-292(prob)1(le)-1(m)]TJ 0 -13.549 Td [(size.)]TJ 16.937 -14.105 Td [(Multigrid)-304(preconditioners)-304(are)-304(based)-304(on)-304(a)-304(recursiv)28(e)-304(application)-304(of)-304(a)-304(t)28(w)28(o-grid)-304(pro)-28(cess)]TJ -16.937 -13.549 Td [(consisting)-391(of)-391(smo)-28(other)-391(iterations)-391(and)-392(a)-391(coarse-space)-391(\050or)-391(coarse-lev)27(el\051)-391(correction.)-618(The)]TJ 0 -13.55 Td [(smo)-28(others)-343(ma)27(y)-343(b)-28(e)-343(either)-343(basic)-344(iterativ)28(e)-343(m)-1(eth)1(o)-28(ds,)-346(suc)28(h)-344(as)-343(the)-344(Jacobi)-343(and)-343(Gauss-Seidel)]TJ 0 -13.549 Td [(ones,)-434(or)-414(more)-414(complex)-414(subspace-correction)-414(metho)-28(ds,)-434(suc)28(h)-414(as)-414(the)-414(Sc)28(h)27(w)28(arz)-414(ones.)-686(The)]TJ 0 -13.549 Td [(coarse-space)-304(correction)-304(consists)-303(of)-304(solving,)-310(in)-303(an)-304(appropriately)-303(c)27(hosen)-303(coarse)-304(space,)-310(the)]TJ 0 -13.549 Td [(residual)-297(equation)-296(asso)-28(ciated)-297(with)-296(the)-297(appro)28(ximate)-297(solution)-296(computed)-297(b)28(y)-297(th)1(e)-297(smo)-28(other,)]TJ 0 -13.549 Td [(and)-359(of)-359(using)-359(the)-359(solution)-359(of)-359(this)-359(equation)-359(to)-359(correct)-359(the)-359(previous)-359(appro)28(ximation.)-522(The)]TJ 0 -13.55 Td [(transfer)-467(of)-467(information)-468(b)-27(et)27(w)28(een)-467(the)-467(original)-468(\050\014)1(ne\051)-468(space)-467(and)-467(the)-468(coarse)-467(one)-467(is)-468(p)-27(er-)]TJ 0 -13.549 Td [(formed)-394(b)27(y)-394(using)-394(suitable)-395(restriction)-394(and)-394(prolongation)-395(op)-27(erators.)-628(The)-394(construction)-395(of)]TJ 0 -13.549 Td [(the)-410(coarse)-409(s)-1(p)1(ac)-1(e)-409(and)-410(the)-410(corresp)-27(onding)-410(transfer)-410(op)-27(erators)-410(is)-410(carried)-409(out)-410(b)28(y)-410(applying)]TJ 0 -13.549 Td [(a)-390(so-called)-391(coarsening)-390(algorithm)-390(to)-390(the)-390(s)-1(ystem)-390(matrix.)-615(Tw)28(o)-391(main)-390(approac)28(hes)-390(can)-390(b)-28(e)]TJ 0 -13.549 Td [(used)-370(to)-369(p)-28(erform)-369(c)-1(oar)1(s)-1(enin)1(g:)-517(the)-370(geometric)-370(approac)28(h,)-378(whic)27(h)-369(exploits)-370(the)-369(kno)28(wledge)-370(of)]TJ 0 -13.55 Td [(some)-361(ph)28(ysical)-361(grid)-361(ass)-1(o)-27(ciated)-361(with)-361(the)-362(matri)1(x)-362(and)-361(requi)1(res)-362(the)-361(user)-361(to)-361(de\014ne)-361(transfer)]TJ 0 -13.549 Td [(op)-28(erators)-348(from)-349(the)-348(\014ne)-349(to)-348(the)-349(coarse)-348(lev)27(el)-348(and)-349(vi)1(c)-1(e)-348(v)28(ersa,)-353(and)-348(the)-349(algebrai)1(c)-349(approac)28(h,)]TJ 0 -13.549 Td [(whic)28(h)-282(builds)-283(the)-282(coarse-space)-282(correc)-1(ti)1(on)-283(and)-282(the)-282(asso)-28(ciate)-282(transfer)-283(op)-27(erators)-283(using)-282(only)]TJ 0 -13.549 Td [(matrix)-369(inf)1(ormation.)-551(The)-368(\014rst)-369(approac)28(h)-369(ma)28(y)-369(b)-27(e)-369(di\016cult)-369(wh)1(e)-1(n)-368(the)-369(system)-368(c)-1(omes)-368(from)]TJ 0 -13.549 Td [(discretizations)-288(on)-288(complex)-287(ge)-1(ometries;)-303(fur)1(thermore,)-297(ad)-288(ho)-28(c)-288(one-lev)28(el)-288(smo)-28(others)-288(ma)28(y)-288(b)-27(e)]TJ 0 -13.549 Td [(required)-307(to)-307(get)-306(an)-307(e\016cien)27(t)-306(in)27(terpla)28(y)-307(b)-27(et)27(w)28(een)-307(\014ne)-307(and)-306(coarse)-307(lev)28(e)-1(ls,)-312(e.g.,)-312(when)-307(matrices)]TJ 0 -13.55 Td [(with)-363(hi)1(ghly)-363(v)56(arying)-363(co)-28(e\016cien)28(ts)-363(are)-362(considered.)-532(The)-363(second)-363(appr)1(oac)27(h)-362(p)-28(erforms)-363(a)-362(fully)]TJ 0 -13.549 Td [(automatic)-349(coarsening)-350(and)-349(enforces)-349(the)-349(in)27(t)1(e)-1(rp)1(la)27(y)-349(b)-28(et)28(w)28(een)-349(\014ne)-350(and)-349(coarse)-349(lev)27(el)-349(b)28(y)-349(suit-)]TJ 0 -13.549 Td [(ably)-313(c)28(ho)-28(osing)-313(the)-313(coarse)-313(space)-313(and)-313(the)-313(coarse-to-\014ne)-313(in)28(terp)-28(olation)-313(\050see,)-317(e.g.,)-317([)]TJ -1 0 0 rg 1 0 0 RG - [(3)]TJ -0 g 0 G - [(,)]TJ -1 0 0 rg 1 0 0 RG - [-313(23)]TJ -0 g 0 G - [(,)]TJ -1 0 0 rg 1 0 0 RG - [-313(21)]TJ -0 g 0 G - [(])]TJ 0 -13.549 Td [(for)-333(details.\051)]TJ 16.937 -14.105 Td [(MLD2P4)-329(uses)-330(a)-329(pure)-330(algebraic)-329(approac)28(h,)-331(b)1(as)-1(ed)-329(on)-329(the)-330(smo)-28(othed)-329(aggregation)-330(algo-)]TJ -16.937 -13.549 Td [(rithm)-298([)]TJ -1 0 0 rg 1 0 0 RG - [(2)]TJ -0 g 0 G - [(,)]TJ -1 0 0 rg 1 0 0 RG - [-298(25)]TJ -0 g 0 G - [(],)-305(for)-298(building)-298(the)-298(sequence)-298(of)-298(coarse)-298(matrices)-298(and)-298(transfer)-298(op)-28(erators,)-305(start-)]TJ 0 -13.549 Td [(ing)-306(from)-306(the)-305(original)-306(one.)-435(A)-306(decoupled)-306(v)28(ersion)-306(of)-306(this)-306(algori)1(thm)-306(is)-306(implemen)28(ted,)-312(where)]TJ 0 -13.55 Td [(the)-316(smo)-28(othed)-316(aggregation)-315(is)-316(applied)-316(lo)-28(cally)-316(to)-316(eac)28(h)-316(submatrix)-316([)]TJ -1 0 0 rg 1 0 0 RG - [(24)]TJ -0 g 0 G - [(].)-438(A)-316(brief)-316(description)]TJ 0 -13.549 Td [(of)-333(the)-333(AMG)-333(prec)-1(on)1(ditioners)-334(implemen)28(ted)-333(in)-333(MLD2P4)-333(is)-333(giv)27(en)-333(in)-333(Sections)]TJ -0 0 1 rg 0 0 1 RG - [-333(4.1)]TJ -0 g 0 G - [(-)]TJ -0 0 1 rg 0 0 1 RG - [(4.3)]TJ -0 g 0 G - [(.)-444(F)83(or)]TJ 0 -13.549 Td [(further)-333(details)-334(th)1(e)-334(reader)-333(is)-334(r)1(e)-1(f)1(e)-1(r)1(re)-1(d)-333(to)-333([)]TJ -1 0 0 rg 1 0 0 RG - [(4)]TJ -0 g 0 G - [(,)]TJ -1 0 0 rg 1 0 0 RG - [-333(5)]TJ -0 g 0 G - [(,)]TJ -1 0 0 rg 1 0 0 RG - [-334(7)]TJ -0 g 0 G - [(,)]TJ -1 0 0 rg 1 0 0 RG - [-333(8)]TJ -0 g 0 G - [(].)]TJ 16.937 -14.105 Td [(W)83(e)-430(note)-430(that)-430(opti)1(m)-1(al)-429(m)27(ultigrid)-430(pr)1(e)-1(cond)1(itioners)-430(do)-430(not)-430(necessarily)-430(corresp)-28(ond)-430(to)]TJ -16.937 -13.549 Td [(minim)28(um)-486(execution)-485(times)-485(in)-485(a)-486(parallel)-485(setting.)-900(Indeed,)-523(to)-486(obtain)-485(e\013ectiv)28(e)-486(parallel)]TJ 0 -13.549 Td [(m)28(ultigrid)-403(preconditioners,)-421(a)-403(tradeo\013)-403(b)-28(et)28(w)28(een)-404(the)-403(optimalit)28(y)-403(and)-403(the)-403(cost)-404(of)-403(buildi)1(ng)]TJ 0 -13.549 Td [(and)-223(applying)-223(the)-223(smo)-28(others)-223(and)-223(the)-223(coarse-space)-223(corrections)-223(m)27(ust)-223(b)-27(e)-224(ac)28(hiev)28(ed.)-408(E\013ectiv)28(e)]TJ 0 -13.55 Td [(parallel)-324(preconditioners)-324(re)-1(q)1(uire)-325(algorithmic)-324(scalabilit)28(y)-325(to)-324(b)-28(e)-324(coupled)-324(with)-325(implemen)28(ta-)]TJ 0 -13.549 Td [(tion)-270(scalabilit)28(y)83(,)-282(i.e.,)-283(a)-270(computational)-269(cost)-270(p)-28(er)-270(iteration)-270(whic)28(h)-270(remains)-270(\050almost\051)-270(constan)28(t)]TJ 0 -13.549 Td [(as)-333(the)-334(n)28(um)28(b)-28(er)-333(of)-333(parallel)-334(pro)-27(ce)-1(ssors)-333(increases.)]TJ -0 g 0 G -0 g 0 G -ET - -endstream -endobj -176 0 obj +% 183 0 obj << -/Type /ObjStm -/N 100 -/First 906 -/Length 13766 +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.968 382.891 190.051 392.459] +/A << /S /GoTo /D (subsection.6.2) >> >> -stream -167 0 168 146 169 293 173 440 174 494 170 548 178 641 180 755 177 809 192 876 -190 1082 181 1228 182 1381 183 1533 184 1681 185 1833 186 1984 187 2140 188 2303 189 2453 -11 2602 194 2655 191 2711 216 2817 205 3023 206 3170 207 3323 208 3469 209 3616 210 3763 -211 3909 212 4056 213 4202 214 4349 215 4497 222 4577 220 4719 219 4865 224 5013 15 5067 -226 5120 221 5174 242 5293 228 5547 229 5699 230 5851 231 5999 232 6147 233 6295 245 6464 -234 6633 246 6795 235 6957 236 7121 237 7268 238 7415 239 7569 240 7721 247 7893 244 8065 -19 8119 23 8172 241 8224 264 8343 262 8557 254 8703 255 8853 256 9039 257 9187 258 9347 -259 9496 267 9667 260 9837 261 9991 268 10183 266 10375 27 10429 31 10482 263 10535 274 10654 -276 10768 273 10822 280 10928 278 11062 282 11208 279 11262 285 11355 287 11469 284 11523 290 11616 -288 11750 292 11896 289 11950 295 12043 293 12177 297 12364 35 12418 39 12471 294 12524 312 12630 -% 167 0 obj +% 184 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.968 367.22 248.827 378.91] +/A << /S /GoTo /D (subsection.6.3) >> +>> +% 185 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.968 355.792 253.16 365.361] +/A << /S /GoTo /D (subsection.6.4) >> +>> +% 186 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.968 342.243 200.9 351.811] +/A << /S /GoTo /D (subsection.6.5) >> +>> +% 187 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.968 326.573 203.021 338.262] +/A << /S /GoTo /D (subsection.6.6) >> +>> +% 188 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.968 315.145 193.96 324.713] +/A << /S /GoTo /D (subsection.6.7) >> +>> +% 189 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.968 301.596 200.991 311.164] +/A << /S /GoTo /D (subsection.6.8) >> +>> +% 190 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.968 285.925 225.536 297.615] +/A << /S /GoTo /D (subsection.6.9) >> +>> +% 191 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [134.059 272.376 243.082 284.065] +/A << /S /GoTo /D (subsubsection.6.9.1) >> +>> +% 192 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [134.059 260.948 240.051 270.516] +/A << /S /GoTo /D (subsubsection.6.9.2) >> +>> +% 193 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [134.059 247.399 241.627 256.967] +/A << /S /GoTo /D (subsubsection.6.9.3) >> +>> +% 194 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [134.059 233.85 274.312 243.418] +/A << /S /GoTo /D (subsubsection.6.9.4) >> +>> +% 195 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [134.059 220.3 254.948 229.869] +/A << /S /GoTo /D (subsubsection.6.9.5) >> +>> +% 196 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [92.604 193.721 405.432 205.41] +/A << /S /GoTo /D (section.7) >> +>> +% 197 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [92.604 250.558 195.225 262.247] +/Rect [92.604 169.263 195.225 180.952] /A << /S /GoTo /D (section.8) >> >> -% 168 0 obj +% 198 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [92.604 228.221 150.984 237.789] +/Rect [92.604 146.925 150.984 156.494] /A << /S /GoTo /D (appendix.A) >> >> -% 169 0 obj +% 199 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [92.604 203.762 153.499 213.331] +/Rect [92.604 122.467 153.499 132.035] /A << /S /GoTo /D (section*.4) >> >> -% 173 0 obj +% 203 0 obj << -/D [171 0 R /XYZ 92.6 752.957 null] +/D [201 0 R /XYZ 92.6 752.957 null] >> -% 174 0 obj +% 204 0 obj << -/D [171 0 R /XYZ 93.6 722.069 null] +/D [201 0 R /XYZ 93.6 722.069 null] >> -% 170 0 obj +% 200 0 obj << -/Font << /F15 136 0 R /F17 124 0 R /F44 175 0 R >> +/Font << /F15 160 0 R /F17 148 0 R /F44 205 0 R >> /ProcSet [ /PDF /Text ] >> -% 178 0 obj +% 208 0 obj << /Type /Page -/Contents 179 0 R -/Resources 177 0 R +/Contents 209 0 R +/Resources 207 0 R /MediaBox [0 0 595.276 841.89] -/Parent 127 0 R +/Parent 151 0 R >> -% 180 0 obj +% 210 0 obj << -/D [178 0 R /XYZ 85.4 752.957 null] +/D [208 0 R /XYZ 85.4 752.957 null] >> -% 177 0 obj +% 207 0 obj << -/Font << /F19 125 0 R >> +/Font << /F19 149 0 R >> /ProcSet [ /PDF /Text ] >> -% 192 0 obj +% 222 0 obj << /Type /Page -/Contents 193 0 R -/Resources 191 0 R +/Contents 223 0 R +/Resources 221 0 R /MediaBox [0 0 595.276 841.89] -/Parent 196 0 R -/Annots [ 190 0 R 181 0 R 182 0 R 183 0 R 184 0 R 185 0 R 186 0 R 187 0 R 188 0 R 189 0 R ] +/Parent 226 0 R +/Annots [ 220 0 R 211 0 R 212 0 R 213 0 R 214 0 R 215 0 R 216 0 R 217 0 R 218 0 R 219 0 R ] >> -% 190 0 obj +% 220 0 obj << /Type /Annot /Subtype /Link @@ -1316,7 +1286,7 @@ stream /Rect [92.604 739.006 100.627 748.453] /A << /S /GoTo /D (section.1) >> >> -% 181 0 obj +% 211 0 obj << /Type /Annot /Subtype /Link @@ -1324,7 +1294,7 @@ stream /Rect [332.009 650.022 339.456 659.045] /A << /S /GoTo /D (cite.Briggs2000) >> >> -% 182 0 obj +% 212 0 obj << /Type /Annot /Subtype /Link @@ -1332,7 +1302,7 @@ stream /Rect [343.422 650.022 356.323 659.045] /A << /S /GoTo /D (cite.Stuben_01) >> >> -% 183 0 obj +% 213 0 obj << /Type /Annot /Subtype /Link @@ -1340,7 +1310,7 @@ stream /Rect [360.288 650.022 373.19 659.045] /A << /S /GoTo /D (cite.dd2_96) >> >> -% 184 0 obj +% 214 0 obj << /Type /Annot /Subtype /Link @@ -1348,7 +1318,7 @@ stream /Rect [479.758 515.168 487.205 524.19] /A << /S /GoTo /D (cite.Briggs2000) >> >> -% 185 0 obj +% 215 0 obj << /Type /Annot /Subtype /Link @@ -1356,7 +1326,7 @@ stream /Rect [491.116 515.168 504.017 524.19] /A << /S /GoTo /D (cite.Notay2008) >> >> -% 186 0 obj +% 216 0 obj << /Type /Annot /Subtype /Link @@ -1364,7 +1334,7 @@ stream /Rect [480.046 420.323 487.493 429.346] /A << /S /GoTo /D (cite.BREZINA_VANEK) >> >> -% 187 0 obj +% 217 0 obj << /Type /Annot /Subtype /Link @@ -1372,7 +1342,7 @@ stream /Rect [491.116 420.323 504.017 429.346] /A << /S /GoTo /D (cite.VANEK_MANDEL_BREZINA) >> >> -% 188 0 obj +% 218 0 obj << /Type /Annot /Subtype /Link @@ -1380,7 +1350,7 @@ stream /Rect [122.62 242.467 135.522 251.49] /A << /S /GoTo /D (cite.psblas_00) >> >> -% 189 0 obj +% 219 0 obj << /Type /Annot /Subtype /Link @@ -1390,27 +1360,27 @@ stream >> % 11 0 obj << -/D [192 0 R /XYZ 93.6 715.095 null] +/D [222 0 R /XYZ 93.6 715.095 null] >> -% 194 0 obj +% 224 0 obj << -/D [192 0 R /XYZ 280.58 634.895 null] +/D [222 0 R /XYZ 280.58 634.895 null] >> -% 191 0 obj +% 221 0 obj << -/Font << /F42 137 0 R /F15 136 0 R /F17 124 0 R /F22 195 0 R >> +/Font << /F42 161 0 R /F15 160 0 R /F17 148 0 R /F22 225 0 R >> /ProcSet [ /PDF /Text ] >> -% 216 0 obj +% 246 0 obj << /Type /Page -/Contents 217 0 R -/Resources 215 0 R +/Contents 247 0 R +/Resources 245 0 R /MediaBox [0 0 595.276 841.89] -/Parent 196 0 R -/Annots [ 205 0 R 206 0 R 207 0 R 208 0 R 209 0 R 210 0 R 211 0 R 212 0 R 213 0 R 214 0 R ] +/Parent 226 0 R +/Annots [ 235 0 R 236 0 R 237 0 R 238 0 R 239 0 R 240 0 R 241 0 R 242 0 R 243 0 R 244 0 R ] >> -% 205 0 obj +% 235 0 obj << /Type /Annot /Subtype /Link @@ -1418,7 +1388,7 @@ stream /Rect [411.374 592.019 418.821 604.921] /A << /S /GoTo /D (section.7) >> >> -% 206 0 obj +% 236 0 obj << /Type /Annot /Subtype /Link @@ -1426,7 +1396,7 @@ stream /Rect [333.057 540.55 340.504 549.573] /A << /S /GoTo /D (cite.MLD2P4_TOMS) >> >> -% 207 0 obj +% 237 0 obj << /Type /Annot /Subtype /Link @@ -1434,7 +1404,7 @@ stream /Rect [248.99 484.232 256.437 495.921] /A << /S /GoTo /D (section.2) >> >> -% 208 0 obj +% 238 0 obj << /Type /Annot /Subtype /Link @@ -1442,7 +1412,7 @@ stream /Rect [259.467 470.683 266.914 482.372] /A << /S /GoTo /D (section.3) >> >> -% 209 0 obj +% 239 0 obj << /Type /Annot /Subtype /Link @@ -1450,7 +1420,7 @@ stream /Rect [309.136 457.133 316.583 468.823] /A << /S /GoTo /D (section.4) >> >> -% 210 0 obj +% 240 0 obj << /Type /Annot /Subtype /Link @@ -1458,7 +1428,7 @@ stream /Rect [325.173 430.035 332.62 441.724] /A << /S /GoTo /D (section.5) >> >> -% 211 0 obj +% 241 0 obj << /Type /Annot /Subtype /Link @@ -1466,7 +1436,7 @@ stream /Rect [178.729 402.937 186.176 414.626] /A << /S /GoTo /D (section.6) >> >> -% 212 0 obj +% 242 0 obj << /Type /Annot /Subtype /Link @@ -1474,7 +1444,7 @@ stream /Rect [336.65 389.387 344.097 401.077] /A << /S /GoTo /D (section.7) >> >> -% 213 0 obj +% 243 0 obj << /Type /Annot /Subtype /Link @@ -1482,7 +1452,7 @@ stream /Rect [331.001 375.838 338.449 387.528] /A << /S /GoTo /D (section.8) >> >> -% 214 0 obj +% 244 0 obj << /Type /Annot /Subtype /Link @@ -1490,21 +1460,21 @@ stream /Rect [432.101 362.289 442.275 373.978] /A << /S /GoTo /D (appendix.A) >> >> -% 215 0 obj +% 245 0 obj << -/Font << /F15 136 0 R /F42 137 0 R >> +/Font << /F15 160 0 R /F42 161 0 R >> /ProcSet [ /PDF /Text ] >> -% 222 0 obj +% 252 0 obj << /Type /Page -/Contents 223 0 R -/Resources 221 0 R +/Contents 253 0 R +/Resources 251 0 R /MediaBox [0 0 595.276 841.89] -/Parent 196 0 R -/Annots [ 220 0 R 219 0 R ] +/Parent 226 0 R +/Annots [ 250 0 R 249 0 R ] >> -% 220 0 obj +% 250 0 obj << /Type /Annot /Subtype /Link @@ -1512,7 +1482,7 @@ stream /Rect [92.604 739.006 100.627 748.453] /A << /S /GoTo /D (section.2) >> >> -% 219 0 obj +% 249 0 obj << /Type /Annot /Subtype /Link @@ -1520,33 +1490,33 @@ stream /Rect [493.843 618.086 504.017 629.776] /A << /S /GoTo /D (appendix.A) >> >> -% 224 0 obj +% 254 0 obj << -/D [222 0 R /XYZ 92.6 752.957 null] +/D [252 0 R /XYZ 92.6 752.957 null] >> % 15 0 obj << -/D [222 0 R /XYZ 93.6 715.095 null] +/D [252 0 R /XYZ 93.6 715.095 null] >> -% 226 0 obj +% 256 0 obj << -/D [222 0 R /XYZ 93.6 502.726 null] +/D [252 0 R /XYZ 93.6 502.726 null] >> -% 221 0 obj +% 251 0 obj << -/Font << /F42 137 0 R /F15 136 0 R /F17 124 0 R /F45 225 0 R /F25 227 0 R >> +/Font << /F42 161 0 R /F15 160 0 R /F17 148 0 R /F45 255 0 R /F25 257 0 R >> /ProcSet [ /PDF /Text ] >> -% 242 0 obj +% 272 0 obj << /Type /Page -/Contents 243 0 R -/Resources 241 0 R +/Contents 273 0 R +/Resources 271 0 R /MediaBox [0 0 595.276 841.89] -/Parent 196 0 R -/Annots [ 228 0 R 229 0 R 230 0 R 231 0 R 232 0 R 233 0 R 245 0 R 234 0 R 246 0 R 235 0 R 236 0 R 237 0 R 238 0 R 239 0 R 240 0 R 247 0 R ] +/Parent 226 0 R +/Annots [ 258 0 R 259 0 R 260 0 R 261 0 R 262 0 R 263 0 R 275 0 R 264 0 R 276 0 R 265 0 R 266 0 R 267 0 R 268 0 R 269 0 R 270 0 R 277 0 R ] >> -% 228 0 obj +% 258 0 obj << /Type /Annot /Subtype /Link @@ -1554,7 +1524,7 @@ stream /Rect [393.594 539.343 409.526 552.245] /A << /S /GoTo /D (subsection.3.1) >> >> -% 229 0 obj +% 259 0 obj << /Type /Annot /Subtype /Link @@ -1562,7 +1532,7 @@ stream /Rect [107.802 512.245 123.734 525.146] /A << /S /GoTo /D (subsection.3.2) >> >> -% 230 0 obj +% 260 0 obj << /Type /Annot /Subtype /Link @@ -1570,7 +1540,7 @@ stream /Rect [126.812 384.829 139.714 393.852] /A << /S /GoTo /D (cite.blas3) >> >> -% 231 0 obj +% 261 0 obj << /Type /Annot /Subtype /Link @@ -1578,7 +1548,7 @@ stream /Rect [145.384 384.829 158.286 393.852] /A << /S /GoTo /D (cite.blas2) >> >> -% 232 0 obj +% 262 0 obj << /Type /Annot /Subtype /Link @@ -1586,42 +1556,42 @@ stream /Rect [163.956 384.829 176.857 393.852] /A << /S /GoTo /D (cite.blas1) >> >> -% 233 0 obj +% 263 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [434.357 368.553 499.847 381.454] /Subtype/Link/A<> >> -% 245 0 obj +% 275 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [112.676 355.004 200.577 367.905] /Subtype/Link/A<> >> -% 234 0 obj +% 264 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [474.946 355.004 499.847 367.905] /Subtype/Link/A<> >> -% 246 0 obj +% 276 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [112.676 341.454 200.577 354.356] /Subtype/Link/A<> >> -% 235 0 obj +% 265 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [357.477 246.913 479.741 258.906] /Subtype/Link/A<> >> -% 236 0 obj +% 266 0 obj << /Type /Annot /Subtype /Link @@ -1629,7 +1599,7 @@ stream /Rect [119.131 184.931 132.032 193.954] /A << /S /GoTo /D (cite.MPI2) >> >> -% 237 0 obj +% 267 0 obj << /Type /Annot /Subtype /Link @@ -1637,7 +1607,7 @@ stream /Rect [136.782 184.931 149.683 193.954] /A << /S /GoTo /D (cite.MPI1) >> >> -% 238 0 obj +% 268 0 obj << /Type /Annot /Subtype /Link @@ -1645,7 +1615,7 @@ stream /Rect [142.358 147.623 155.259 156.646] /A << /S /GoTo /D (cite.PSBLASGUIDE) >> >> -% 239 0 obj +% 269 0 obj << /Type /Annot /Subtype /Link @@ -1653,47 +1623,47 @@ stream /Rect [161.535 147.623 174.436 156.646] /A << /S /GoTo /D (cite.psblas_00) >> >> -% 240 0 obj +% 270 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [434.855 144.896 499.847 157.797] /Subtype/Link/A<> >> -% 247 0 obj +% 277 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [112.676 131.347 217.759 144.248] /Subtype/Link/A<> >> -% 244 0 obj +% 274 0 obj << -/D [242 0 R /XYZ 85.4 752.957 null] +/D [272 0 R /XYZ 85.4 752.957 null] >> % 19 0 obj << -/D [242 0 R /XYZ 86.4 715.095 null] +/D [272 0 R /XYZ 86.4 715.095 null] >> % 23 0 obj << -/D [242 0 R /XYZ 86.4 442.92 null] +/D [272 0 R /XYZ 86.4 442.92 null] >> -% 241 0 obj +% 271 0 obj << -/Font << /F15 136 0 R /F42 137 0 R /F17 124 0 R /F45 225 0 R /F44 175 0 R >> +/Font << /F15 160 0 R /F42 161 0 R /F17 148 0 R /F45 255 0 R /F44 205 0 R >> /ProcSet [ /PDF /Text ] >> -% 264 0 obj +% 294 0 obj << /Type /Page -/Contents 265 0 R -/Resources 263 0 R +/Contents 295 0 R +/Resources 293 0 R /MediaBox [0 0 595.276 841.89] -/Parent 196 0 R -/Annots [ 262 0 R 254 0 R 255 0 R 256 0 R 257 0 R 258 0 R 259 0 R 267 0 R 260 0 R 261 0 R 268 0 R ] +/Parent 226 0 R +/Annots [ 292 0 R 284 0 R 285 0 R 286 0 R 287 0 R 288 0 R 289 0 R 297 0 R 290 0 R 291 0 R 298 0 R ] >> -% 262 0 obj +% 292 0 obj << /Type /Annot /Subtype /Link @@ -1701,7 +1671,7 @@ stream /Rect [92.604 739.006 100.627 748.453] /A << /S /GoTo /D (section.3) >> >> -% 254 0 obj +% 284 0 obj << /Type /Annot /Subtype /Link @@ -1709,14 +1679,14 @@ stream /Rect [166.104 564.149 173.551 573.172] /A << /S /GoTo /D (cite.UMFPACK) >> >> -% 255 0 obj +% 285 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [188.279 548.176 436.542 560.168] /Subtype/Link/A<> >> -% 256 0 obj +% 286 0 obj << /Type /Annot /Subtype /Link @@ -1724,14 +1694,14 @@ stream /Rect [150.104 470.891 157.551 479.914] /A << /S /GoTo /D (cite.MUMPS) >> >> -% 257 0 obj +% 287 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [404.662 468.164 504.017 481.065] /Subtype/Link/A<> >> -% 258 0 obj +% 288 0 obj << /Type /Annot /Subtype /Link @@ -1739,21 +1709,21 @@ stream /Rect [150.46 404.731 163.361 413.754] /A << /S /GoTo /D (cite.SUPERLU) >> >> -% 259 0 obj +% 289 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [396.276 402.004 507.048 414.905] /Subtype/Link/A<> >> -% 267 0 obj +% 297 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [119.877 388.758 167.687 400.75] /Subtype/Link/A<> >> -% 260 0 obj +% 290 0 obj << /Type /Annot /Subtype /Link @@ -1761,237 +1731,284 @@ stream /Rect [177.909 325.022 190.811 334.045] /A << /S /GoTo /D (cite.SUPERLUDIST) >> >> -% 261 0 obj +% 291 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [356.148 241.303 507.048 253.295] /Subtype/Link/A<> >> -% 268 0 obj +% 298 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [119.877 227.753 253.595 239.746] /Subtype/Link/A<> >> -% 266 0 obj +% 296 0 obj << -/D [264 0 R /XYZ 92.6 752.957 null] +/D [294 0 R /XYZ 92.6 752.957 null] >> % 27 0 obj << -/D [264 0 R /XYZ 93.6 658.241 null] +/D [294 0 R /XYZ 93.6 658.241 null] >> % 31 0 obj << -/D [264 0 R /XYZ 93.6 209.953 null] ->> -% 263 0 obj -<< -/Font << /F42 137 0 R /F15 136 0 R /F17 124 0 R /F44 175 0 R /F45 225 0 R >> -/ProcSet [ /PDF /Text ] ->> -% 274 0 obj -<< -/Type /Page -/Contents 275 0 R -/Resources 273 0 R -/MediaBox [0 0 595.276 841.89] -/Parent 196 0 R ->> -% 276 0 obj -<< -/D [274 0 R /XYZ 85.4 752.957 null] ->> -% 273 0 obj -<< -/Font << /F15 136 0 R /F42 137 0 R /F18 277 0 R /F45 225 0 R >> -/ProcSet [ /PDF /Text ] ->> -% 280 0 obj -<< -/Type /Page -/Contents 281 0 R -/Resources 279 0 R -/MediaBox [0 0 595.276 841.89] -/Parent 283 0 R -/Annots [ 278 0 R ] ->> -% 278 0 obj -<< -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [92.604 739.006 100.627 748.453] -/A << /S /GoTo /D (section.3) >> ->> -% 282 0 obj -<< -/D [280 0 R /XYZ 92.6 752.957 null] ->> -% 279 0 obj -<< -/Font << /F42 137 0 R /F15 136 0 R /F45 225 0 R >> -/ProcSet [ /PDF /Text ] ->> -% 285 0 obj -<< -/Type /Page -/Contents 286 0 R -/Resources 284 0 R -/MediaBox [0 0 595.276 841.89] -/Parent 283 0 R ->> -% 287 0 obj -<< -/D [285 0 R /XYZ 85.4 752.957 null] ->> -% 284 0 obj -<< -/Font << /F15 136 0 R /F42 137 0 R /F45 225 0 R >> -/ProcSet [ /PDF /Text ] ->> -% 290 0 obj -<< -/Type /Page -/Contents 291 0 R -/Resources 289 0 R -/MediaBox [0 0 595.276 841.89] -/Parent 283 0 R -/Annots [ 288 0 R ] ->> -% 288 0 obj -<< -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [92.604 739.006 100.627 748.453] -/A << /S /GoTo /D (section.3) >> ->> -% 292 0 obj -<< -/D [290 0 R /XYZ 92.6 752.957 null] +/D [294 0 R /XYZ 93.6 209.953 null] >> -% 289 0 obj +% 293 0 obj << -/Font << /F42 137 0 R /F15 136 0 R /F45 225 0 R >> +/Font << /F42 161 0 R /F15 160 0 R /F17 148 0 R /F44 205 0 R /F45 255 0 R >> /ProcSet [ /PDF /Text ] >> -% 295 0 obj +% 304 0 obj << /Type /Page -/Contents 296 0 R -/Resources 294 0 R +/Contents 305 0 R +/Resources 303 0 R /MediaBox [0 0 595.276 841.89] -/Parent 283 0 R -/Annots [ 293 0 R ] ->> -% 293 0 obj -<< -/Type /Annot -/Border[0 0 0]/H/I/C[0 1 1] -/Rect [85.403 564.143 345.619 576.136] -/Subtype/Link/A<> +/Parent 226 0 R >> -% 297 0 obj -<< -/D [295 0 R /XYZ 85.4 752.957 null] ->> -% 35 0 obj -<< -/D [295 0 R /XYZ 86.4 621.325 null] ->> -% 39 0 obj +% 306 0 obj << -/D [295 0 R /XYZ 86.4 523.079 null] +/D [304 0 R /XYZ 85.4 752.957 null] >> -% 294 0 obj +% 303 0 obj << -/Font << /F15 136 0 R /F42 137 0 R /F45 225 0 R /F17 124 0 R >> +/Font << /F15 160 0 R /F42 161 0 R /F18 307 0 R /F45 255 0 R >> /ProcSet [ /PDF /Text ] >> -% 312 0 obj + +endstream +endobj +311 0 obj << -/Type /Page -/Contents 313 0 R -/Resources 311 0 R -/MediaBox [0 0 595.276 841.89] -/Parent 283 0 R -/Annots [ 310 0 R 298 0 R 299 0 R 300 0 R 301 0 R 302 0 R 303 0 R 304 0 R 305 0 R 306 0 R 307 0 R 308 0 R 309 0 R ] +/Length 3986 >> +stream +0 g 0 G +0 0 1 rg 0 0 1 RG +BT +/F42 10.9091 Tf 93.6 740.002 Td [(3)]TJ +0 g 0 G + [-378(Configuring)-378(and)-377(B)-1(uilding)-377(MLD2P4)]TJ/F15 10.9091 Tf 406.997 0 Td [(7)]TJ +0 g 0 G +/F45 10.9091 Tf -395.542 -35.866 Td [(--sharedstatedir=DIR)-2100(modifiable)-525(architecture-independent)-525(data)-525([PREFIX/com])]TJ 0 -13.549 Td [(--localstatedir=DIR)-2625(modifiable)-525(single-machine)-525(data)-525([PREFIX/var])]TJ 0 -13.549 Td [(--libdir=DIR)-6300(object)-525(code)-525(libraries)-525([EPREFIX/lib])]TJ 0 -13.549 Td [(--includedir=DIR)-4200(C)-525(header)-525(files)-525([PREFIX/include])]TJ 0 -13.549 Td [(--oldincludedir=DIR)-2625(C)-525(header)-525(files)-525(for)-525(non-gcc)-525([/usr/include])]TJ 0 -13.55 Td [(--datarootdir=DIR)-3675(read-only)-525(arch.-independent)-525(data)-525(root)-525([PREFIX/share])]TJ 0 -13.549 Td [(--datadir=DIR)-5775(read-only)-525(architecture-independent)-525(data)-525([DATAROOTDIR])]TJ 0 -13.549 Td [(--infodir=DIR)-5775(info)-525(documentation)-525([DATAROOTDIR/info])]TJ 0 -13.549 Td [(--localedir=DIR)-4725(locale-dependent)-525(data)-525([DATAROOTDIR/locale])]TJ 0 -13.549 Td [(--mandir=DIR)-6300(man)-525(documentation)-525([DATAROOTDIR/man])]TJ 0 -13.55 Td [(--docdir=DIR)-6300(documentation)-525(root)-525([DATAROOTDIR/doc/mld2p4])]TJ 0 -13.549 Td [(--htmldir=DIR)-5775(html)-525(documentation)-525([DOCDIR])]TJ 0 -13.549 Td [(--dvidir=DIR)-6300(dvi)-525(documentation)-525([DOCDIR])]TJ 0 -13.549 Td [(--pdfdir=DIR)-6300(pdf)-525(documentation)-525([DOCDIR])]TJ 0 -13.549 Td [(--psdir=DIR)-6825(ps)-525(documentation)-525([DOCDIR])]TJ -11.455 -27.099 Td [(Program)-525(names:)]TJ 11.455 -13.549 Td [(--program-prefix=PREFIX)-6300(prepend)-525(PREFIX)-525(to)-525(installed)-525(program)-525(names)]TJ 0 -13.549 Td [(--program-suffix=SUFFIX)-6300(append)-525(SUFFIX)-525(to)-525(installed)-525(program)-525(names)]TJ 0 -13.549 Td [(--program-transform-name=PROGRAM)-1575(run)-525(sed)-525(PROGRAM)-525(on)-525(installed)-525(program)-525(names)]TJ -11.455 -27.099 Td [(Optional)-525(Features:)]TJ 11.455 -13.549 Td [(--disable-option-checking)-1050(ignore)-525(unrecognized)-525(--enable/--with)-525(options)]TJ 0 -13.549 Td [(--disable-FEATURE)-3675(do)-525(not)-525(include)-525(FEATURE)-525(\050same)-525(as)-525(--enable-FEATURE=no\051)]TJ 0 -13.549 Td [(--enable-FEATURE[=ARG])-1050(include)-525(FEATURE)-525([ARG=yes])]TJ 0 -13.549 Td [(--disable-dependency-tracking)-1050(speeds)-525(up)-525(one-time)-525(build)]TJ 0 -13.55 Td [(--enable-dependency-tracking)-1575(do)-525(not)-525(reject)-525(slow)-525(dependency)-525(extractors)]TJ 0 -13.549 Td [(--enable-serial)-4725(Specify)-525(whether)-525(to)-525(enable)-525(a)-525(fake)-525(mpi)-525(library)-525(to)-525(run)]TJ 137.453 -13.549 Td [(in)-525(serial)-525(mode.)]TJ -137.453 -13.549 Td [(--enable-long-integers)-1050(Specify)-525(usage)-525(of)-525(64)-525(bits)-525(integers.)]TJ -11.455 -27.099 Td [(Optional)-525(Packages:)]TJ 11.455 -13.549 Td [(--with-PACKAGE[=ARG])-2100(use)-525(PACKAGE)-525([ARG=yes])]TJ 0 -13.549 Td [(--without-PACKAGE)-3675(do)-525(not)-525(use)-525(PACKAGE)-525(\050same)-525(as)-525(--with-PACKAGE=no\051)]TJ 0 -13.549 Td [(--with-psblas=DIR)-3675(The)-525(install)-525(directory)-525(for)-525(PSBLAS,)-525(for)-525(example,)]TJ 137.453 -13.549 Td [(--with-psblas=/opt/packages/psblas-3.5)]TJ -137.453 -13.55 Td [(--with-psblas-incdir=DIR)]TJ 137.453 -13.549 Td [(Specify)-525(the)-525(directory)-525(for)-525(PSBLAS)-525(includes.)]TJ -137.453 -13.549 Td [(--with-psblas-libdir=DIR)]TJ 137.453 -13.549 Td [(Specify)-525(the)-525(directory)-525(for)-525(PSBLAS)-525(library.)]TJ -137.453 -13.549 Td [(--with-ccopt)-6300(additional)-525(CCOPT)-525(flags)-525(to)-525(be)-525(added:)-525(will)-525(prepend)]TJ 137.453 -13.55 Td [(to)-525(CCOPT)]TJ -137.453 -13.549 Td [(--with-fcopt)-6300(additional)-525(FCOPT)-525(flags)-525(to)-525(be)-525(added:)-525(will)-525(prepend)]TJ 137.453 -13.549 Td [(to)-525(FCOPT)]TJ +0 g 0 G +0 g 0 G +ET endstream endobj -328 0 obj +317 0 obj << -/Length 11395 +/Length 4098 >> stream 0 g 0 G BT -/F15 10.9091 Tf 86.4 740.002 Td [(12)]TJ/F42 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ +/F15 10.9091 Tf 86.4 740.002 Td [(8)]TJ/F42 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ 0 g 0 G -/F17 11.9552 Tf -203.265 -35.866 Td [(4.1)-1125(AMG)-375(preconditioners)]TJ/F15 10.9091 Tf 0 -20.594 Td [(In)-463(order)-463(to)-463(describ)-27(e)-463(the)-463(AMG)-463(preconditioners)-463(a)28(v)56(ailable)-463(in)-463(MLD2P4,)-495(w)27(e)-463(consid)1(e)-1(r)-462(a)]TJ 0 -13.549 Td [(linear)-333(system)]TJ/F22 10.9091 Tf 186.979 -13.55 Td [(Ax)]TJ/F15 10.9091 Tf 17.447 0 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(b;)]TJ +/F45 10.9091 Tf -191.811 -35.866 Td [(--with-libs)-6825(List)-525(additional)-525(link)-525(flags)-525(here.)-525(For)-525(example,)]TJ 137.453 -13.549 Td [(--with-libs=-lspecial_system_lib)-525(or)]TJ 0 -13.549 Td [(--with-libs=-L/path/to/libs)]TJ -137.453 -13.549 Td [(--with-clibs)-6300(additional)-525(CLIBS)-525(flags)-525(to)-525(be)-525(added:)-525(will)-525(prepend)]TJ 137.453 -13.549 Td [(to)-525(CLIBS)]TJ -137.453 -13.55 Td [(--with-flibs)-6300(additional)-525(FLIBS)-525(flags)-525(to)-525(be)-525(added:)-525(will)-525(prepend)]TJ 137.453 -13.549 Td [(to)-525(FLIBS)]TJ -137.453 -13.549 Td [(--with-library-path)-2625(additional)-525(LIBRARYPATH)-525(flags)-525(to)-525(be)-525(added:)-525(will)]TJ 137.453 -13.549 Td [(prepend)-525(to)-525(LIBRARYPATH)]TJ -137.453 -13.549 Td [(--with-include-path)-2625(additional)-525(INCLUDEPATH)-525(flags)-525(to)-525(be)-525(added:)-525(will)]TJ 137.453 -13.55 Td [(prepend)-525(to)-525(INCLUDEPATH)]TJ -137.453 -13.549 Td [(--with-module-path)-3150(additional)-525(MODULE_PATH)-525(flags)-525(to)-525(be)-525(added:)-525(will)]TJ 137.453 -13.549 Td [(prepend)-525(to)-525(MODULE_PATH)]TJ -137.453 -13.549 Td [(--with-extra-libs)-3675(List)-525(additional)-525(link)-525(flags)-525(here.)-525(For)-525(example,)]TJ 137.453 -13.549 Td [(--with-extra-libs=-lspecial_system_lib)-525(or)]TJ 0 -13.55 Td [(--with-extra-libs=-L/path/to/libs)]TJ -137.453 -13.549 Td [(--with-blas=)-3675(use)-525(BLAS)-525(library)-525()]TJ 0 -13.549 Td [(--with-blasdir=)-2100(search)-525(for)-525(BLAS)-525(library)-525(in)-525()]TJ 0 -13.549 Td [(--with-lapack=)-2625(use)-525(LAPACK)-525(library)-525()]TJ 0 -13.549 Td [(--with-mumps=LIBNAME)-2100(Specify)-525(the)-525(libname)-525(for)-525(MUMPS.)-525(Default:)-525(autodetect)]TJ 137.453 -13.55 Td [(with)-525(minimum)-525("-lmumps_common)-525(-lpord")]TJ -137.453 -13.549 Td [(--with-mumpsdir=DIR)-2625(Specify)-525(the)-525(directory)-525(for)-525(MUMPS)-525(library)-525(and)]TJ 137.453 -13.549 Td [(includes.)-525(Note:)-525(you)-525(will)-525(need)-525(to)-525(add)-525(auxiliary)]TJ 0 -13.549 Td [(libraries)-525(with)-525(--extra-libs;)-525(this)-525(depends)-525(on)-525(how)]TJ 0 -13.549 Td [(MUMPS)-525(was)-525(configured)-525(and)-525(installed,)-525(at)-525(a)-525(minimum)-525(you)]TJ 0 -13.549 Td [(will)-525(need)-525(SCALAPACK)-525(and)-525(BLAS)]TJ -137.453 -13.55 Td [(--with-mumpsincdir=DIR)-1050(Specify)-525(the)-525(directory)-525(for)-525(MUMPS)-525(includes.)]TJ 0 -13.549 Td [(--with-mumpslibdir=DIR)-1050(Specify)-525(the)-525(directory)-525(for)-525(MUMPS)-525(library.)]TJ 0 -13.549 Td [(--with-umfpack=LIBNAME)-1050(Specify)-525(the)-525(library)-525(name)-525(for)-525(UMFPACK)-525(and)-525(its)-525(support)]TJ 137.453 -13.549 Td [(libraries.)-525(Default:)-525("-lumfpack)-525(-lamd")]TJ -137.453 -13.549 Td [(--with-umfpackdir=DIR)-1575(Specify)-525(the)-525(directory)-525(for)-525(UMFPACK)-525(library)-525(and)]TJ 137.453 -13.55 Td [(includes.)]TJ -137.453 -13.549 Td [(--with-umfpackincdir=DIR)]TJ 137.453 -13.549 Td [(Specify)-525(the)-525(directory)-525(for)-525(UMFPACK)-525(includes.)]TJ -137.453 -13.549 Td [(--with-umfpacklibdir=DIR)]TJ 137.453 -13.549 Td [(Specify)-525(the)-525(directory)-525(for)-525(UMFPACK)-525(library.)]TJ -137.453 -13.55 Td [(--with-superlu=LIBNAME)-1050(Specify)-525(the)-525(library)-525(name)-525(for)-525(SUPERLU)-525(library.)]TJ 137.453 -13.549 Td [(Default:)-525("-lsuperlu")]TJ -137.453 -13.549 Td [(--with-superludir=DIR)-1575(Specify)-525(the)-525(directory)-525(for)-525(SUPERLU)-525(library)-525(and)]TJ 137.453 -13.549 Td [(includes.)]TJ -137.453 -13.549 Td [(--with-superluincdir=DIR)]TJ 137.453 -13.55 Td [(Specify)-525(the)-525(directory)-525(for)-525(SUPERLU)-525(includes.)]TJ -137.453 -13.549 Td [(--with-superlulibdir=DIR)]TJ 137.453 -13.549 Td [(Specify)-525(the)-525(directory)-525(for)-525(SUPERLU)-525(library.)]TJ 0 g 0 G -/F15 10.9091 Tf 182.57 0 Td [(\0502\051)]TJ 0 g 0 G - -398.511 -19.516 Td [(where)]TJ/F22 10.9091 Tf 32.496 0 Td [(A)]TJ/F15 10.9091 Tf 12.796 0 Td [(=)-423(\050)]TJ/F22 10.9091 Tf 17.342 0 Td [(a)]TJ/F23 7.9701 Tf 5.767 -1.636 Td [(ij)]TJ/F15 10.9091 Tf 7.265 1.636 Td [(\051)]TJ/F25 10.9091 Tf 8.857 0 Td [(2)]TJ/F34 10.9091 Tf 11.888 0 Td [(R)]TJ/F23 7.9701 Tf 7.878 3.959 Td [(n)]TJ/F26 7.9701 Tf 5.139 0 Td [(\002)]TJ/F23 7.9701 Tf 6.586 0 Td [(n)]TJ/F15 10.9091 Tf 10.223 -3.959 Td [(is)-421(a)-420(nonsingular)-420(sparse)-421(matrix;)-464(for)-420(ease)-421(of)-420(presen)28(tation)-421(w)28(e)]TJ -126.237 -13.549 Td [(assume)]TJ/F22 10.9091 Tf 37.697 0 Td [(A)]TJ/F15 10.9091 Tf 11.818 0 Td [(has)-333(a)-334(symmetric)-333(sparsit)28(y)-334(pattern.)]TJ -32.579 -13.549 Td [(Let)-468(us)-469(consider)-468(as)-468(\014nest)-469(ind)1(e)-1(x)-468(space)-468(the)-468(s)-1(et)-468(of)-468(ro)28(w)-469(\050column\051)-468(indices)-468(of)]TJ/F22 10.9091 Tf 361.856 0 Td [(A)]TJ/F15 10.9091 Tf 8.182 0 Td [(,)-502(i.e.,)]TJ -386.974 -13.55 Td [(\012)-377(=)]TJ/F25 10.9091 Tf 24.593 0 Td [(f)]TJ/F15 10.9091 Tf 5.454 0 Td [(1)]TJ/F22 10.9091 Tf 5.455 0 Td [(;)]TJ/F15 10.9091 Tf 4.848 0 Td [(2)]TJ/F22 10.9091 Tf 5.455 0 Td [(;)-167(:)-166(:)-167(:)-167(;)-166(n)]TJ/F25 10.9091 Tf 30.79 0 Td [(g)]TJ/F15 10.9091 Tf 5.455 0 Td [(.)-623(An)28(y)-393(algebraic)-393(m)27(ultilev)28(el)-393(preconditioners)-393(implemen)28(ted)-393(in)-393(MLD2P4)]TJ -82.05 -13.549 Td [(generates)-333(a)-334(hierarc)28(h)28(y)-333(of)-334(index)-333(spaces)-333(and)-334(a)-333(corresp)-28(onding)-333(hierarc)28(h)28(y)-334(of)-333(matrices,)]TJ 81.377 -23.491 Td [(\012)]TJ/F20 7.9701 Tf 7.879 4.505 Td [(1)]TJ/F25 10.9091 Tf 7.762 -4.505 Td [(\021)]TJ/F15 10.9091 Tf 11.515 0 Td [(\012)]TJ/F25 10.9091 Tf 10.909 0 Td [(\033)]TJ/F15 10.9091 Tf 11.515 0 Td [(\012)]TJ/F20 7.9701 Tf 7.879 4.505 Td [(2)]TJ/F25 10.9091 Tf 7.763 -4.505 Td [(\033)]TJ/F22 10.9091 Tf 11.515 0 Td [(:)-167(:)-166(:)]TJ/F25 10.9091 Tf 15.757 0 Td [(\033)]TJ/F15 10.9091 Tf 11.516 0 Td [(\012)]TJ/F23 7.9701 Tf 7.878 4.505 Td [(nl)-12(ev)]TJ/F22 10.9091 Tf 16.597 -4.505 Td [(;)-1167(A)]TJ/F20 7.9701 Tf 23.939 4.505 Td [(1)]TJ/F25 10.9091 Tf 7.763 -4.505 Td [(\021)]TJ/F22 10.9091 Tf 11.515 0 Td [(A;)-167(A)]TJ/F20 7.9701 Tf 21.212 4.505 Td [(2)]TJ/F22 10.9091 Tf 4.732 -4.505 Td [(;)-167(:)-166(:)-167(:)-167(;)-166(A)]TJ/F23 7.9701 Tf 32.424 4.505 Td [(nl)-12(ev)]TJ/F22 10.9091 Tf 16.597 -4.505 Td [(;)]TJ/F15 10.9091 Tf -328.044 -23.49 Td [(b)28(y)-282(using)-282(the)-282(information)-282(con)28(tained)-282(in)]TJ/F22 10.9091 Tf 180.373 0 Td [(A)]TJ/F15 10.9091 Tf 8.182 0 Td [(,)-292(without)-282(assuming)-282(an)27(y)-282(kno)28(wledge)-282(of)-282(the)-282(geom-)]TJ -188.555 -13.55 Td [(etry)-295(of)-294(the)-295(problem)-294(from)-295(whic)28(h)]TJ/F22 10.9091 Tf 150.888 0 Td [(A)]TJ/F15 10.9091 Tf 11.395 0 Td [(originates.)-431(A)-295(v)28(ector)-295(space)]TJ/F34 10.9091 Tf 126.348 0 Td [(R)]TJ/F23 7.9701 Tf 7.879 3.959 Td [(n)]TJ/F24 5.9776 Tf 5.138 -1.406 Td [(k)]TJ/F15 10.9091 Tf 8.285 -2.553 Td [(is)-295(asso)-27(ciate)-1(d)-294(with)-295(\012)]TJ/F23 7.9701 Tf 94.368 3.959 Td [(k)]TJ/F15 10.9091 Tf 5.12 -3.959 Td [(,)]TJ -409.421 -13.549 Td [(where)]TJ/F22 10.9091 Tf 31.714 0 Td [(n)]TJ/F23 7.9701 Tf 6.548 -1.777 Td [(k)]TJ/F15 10.9091 Tf 8.925 1.777 Td [(is)-349(the)-349(size)-348(of)-349(\012)]TJ/F23 7.9701 Tf 71.401 3.959 Td [(k)]TJ/F15 10.9091 Tf 5.12 -3.959 Td [(.)-491(F)84(or)-349(all)]TJ/F22 10.9091 Tf 43.449 0 Td [(k)-335(<)-304(nl)-19(ev)]TJ/F15 10.9091 Tf 41.907 0 Td [(,)-353(a)-348(restriction)-349(op)-28(erator)-349(and)-348(a)-349(prolongation)]TJ -209.064 -13.549 Td [(one)-333(are)-334(built,)-333(whic)28(h)-333(connect)-334(t)28(w)28(o)-334(l)1(e)-1(v)28(els)]TJ/F22 10.9091 Tf 188.273 0 Td [(k)]TJ/F15 10.9091 Tf 9.659 0 Td [(and)]TJ/F22 10.9091 Tf 21.212 0 Td [(k)]TJ/F15 10.9091 Tf 8.447 0 Td [(+)-222(1:)]TJ/F22 10.9091 Tf -101.285 -23.491 Td [(P)]TJ/F23 7.9701 Tf 8.519 4.504 Td [(k)]TJ/F25 10.9091 Tf 8.15 -4.504 Td [(2)]TJ/F34 10.9091 Tf 10.303 0 Td [(R)]TJ/F23 7.9701 Tf 7.879 4.504 Td [(n)]TJ/F24 5.9776 Tf 5.138 -1.405 Td [(k)]TJ/F26 7.9701 Tf 4.573 1.405 Td [(\002)]TJ/F23 7.9701 Tf 6.587 0 Td [(n)]TJ/F24 5.9776 Tf 5.138 -1.405 Td [(k)]TJ/F21 5.9776 Tf 4.075 0 Td [(+1)]TJ/F22 10.9091 Tf 10.239 -3.099 Td [(;)-1167(R)]TJ/F23 7.9701 Tf 24.125 4.504 Td [(k)]TJ/F25 10.9091 Tf 8.15 -4.504 Td [(2)]TJ/F34 10.9091 Tf 10.303 0 Td [(R)]TJ/F23 7.9701 Tf 7.879 4.504 Td [(n)]TJ/F24 5.9776 Tf 5.138 -1.405 Td [(k)]TJ/F21 5.9776 Tf 4.075 0 Td [(+1)]TJ/F26 7.9701 Tf 9.741 1.405 Td [(\002)]TJ/F23 7.9701 Tf 6.587 0 Td [(n)]TJ/F24 5.9776 Tf 5.138 -1.405 Td [(k)]TJ/F15 10.9091 Tf 5.071 -3.099 Td [(;)]TJ -283.114 -23.491 Td [(the)-282(matrix)]TJ/F22 10.9091 Tf 53.146 0 Td [(A)]TJ/F23 7.9701 Tf 8.182 3.959 Td [(k)]TJ/F20 7.9701 Tf 4.621 0 Td [(+1)]TJ/F15 10.9091 Tf 14.392 -3.959 Td [(is)-282(computed)-281(b)27(y)-281(using)-282(the)-282(previou)1(s)-282(op)-28(erators)-282(according)-281(to)-282(the)-282(Galerkin)]TJ -80.341 -13.549 Td [(approac)28(h,)-333(i.e.,)]TJ/F22 10.9091 Tf 165.163 -13.549 Td [(A)]TJ/F23 7.9701 Tf 8.182 4.504 Td [(k)]TJ/F20 7.9701 Tf 4.621 0 Td [(+1)]TJ/F15 10.9091 Tf 14.349 -4.504 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(R)]TJ/F23 7.9701 Tf 8.368 4.504 Td [(k)]TJ/F22 10.9091 Tf 5.12 -4.504 Td [(A)]TJ/F23 7.9701 Tf 8.181 4.504 Td [(k)]TJ/F22 10.9091 Tf 5.12 -4.504 Td [(P)]TJ/F23 7.9701 Tf 8.519 4.504 Td [(k)]TJ/F22 10.9091 Tf 5.12 -4.504 Td [(:)]TJ/F15 10.9091 Tf -244.258 -19.516 Td [(In)-476(the)-477(curren)28(t)-476(implemen)28(tation)-477(of)-476(MLD2P4)-476(w)28(e)-477(ha)28(v)28(e)]TJ/F22 10.9091 Tf 261.479 0 Td [(R)]TJ/F23 7.9701 Tf 8.368 3.958 Td [(k)]TJ/F15 10.9091 Tf 10.749 -3.958 Td [(=)-516(\050)]TJ/F22 10.9091 Tf 18.358 0 Td [(P)]TJ/F23 7.9701 Tf 8.519 3.958 Td [(k)]TJ/F15 10.9091 Tf 5.119 -3.958 Td [(\051)]TJ/F23 7.9701 Tf 4.243 3.958 Td [(T)]TJ/F15 10.9091 Tf 11.801 -3.958 Td [(A)-476(smo)-28(other)-476(with)]TJ -328.636 -13.55 Td [(iteration)-441(matrix)]TJ/F22 10.9091 Tf 82.101 0 Td [(M)]TJ/F23 7.9701 Tf 11.773 3.959 Td [(k)]TJ/F15 10.9091 Tf 9.928 -3.959 Td [(is)-441(set)-441(up)-440(at)-441(eac)28(h)-441(lev)28(el)]TJ/F22 10.9091 Tf 113.517 0 Td [(k)-488(<)-457(nl)-20(ev)]TJ/F15 10.9091 Tf 45.251 0 Td [(,)-468(and)-440(a)-441(solv)28(er)-441(is)-441(set)-441(up)-440(at)-441(the)]TJ -262.57 -13.549 Td [(coarsest)-369(lev)28(el,)-378(so)-368(that)-369(they)-369(are)-369(ready)-368(for)-369(application)-369(\050for)-368(example,)-378(setting)-369(up)-368(a)-369(solv)28(er)]TJ 0 -13.549 Td [(based)-292(on)-291(the)]TJ/F22 10.9091 Tf 62.938 0 Td [(LU)]TJ/F15 10.9091 Tf 19.243 0 Td [(factorization)-292(means)-291(computing)-292(and)-291(storing)-292(the)]TJ/F22 10.9091 Tf 224.422 0 Td [(L)]TJ/F15 10.9091 Tf 10.605 0 Td [(and)]TJ/F22 10.9091 Tf 20.757 0 Td [(U)]TJ/F15 10.9091 Tf 11.819 0 Td [(factors\051.)-431(The)]TJ -349.784 -13.549 Td [(construction)-345(of)-344(the)-345(hierarc)28(h)27(y)-344(of)-345(AMG)-345(comp)-28(on)1(e)-1(n)28(ts)-345(d)1(e)-1(scrib)-27(ed)-345(so)-345(far)-345(corresp)-27(onds)-345(to)-345(the)]TJ 0 -13.549 Td [(so-called)-333(build)-334(ph)1(as)-1(e)-333(of)-333(the)-334(p)1(rec)-1(on)1(ditioner.)]TJ 16.936 -13.55 Td [(The)-359(com)-1(p)-27(onen)28(ts)-360(pro)-28(du)1(c)-1(ed)-359(in)-359(the)-360(build)-359(phase)-359(ma)27(y)-359(b)-28(e)-359(com)28(bined)-360(in)-359(sev)28(eral)-360(w)28(a)28(ys)-360(to)]TJ -16.936 -13.549 Td [(obtain)-306(di\013eren)28(t)-306(m)27(ultilev)28(el)-306(preconditioners;)-315(this)-306(is)-306(done)-307(in)-306(the)-306(application)-306(phase,)-312(i)1(.e)-1(.)1(,)-312(in)]TJ 0 -13.549 Td [(the)-391(computation)-391(of)-391(a)-391(v)27(ector)-391(of)-391(t)28(yp)-28(e)]TJ/F22 10.9091 Tf 178.081 0 Td [(w)]TJ/F15 10.9091 Tf 12.185 0 Td [(=)]TJ/F22 10.9091 Tf 12.566 0 Td [(B)]TJ/F26 7.9701 Tf 8.822 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F22 10.9091 Tf 4.732 -3.959 Td [(v)]TJ/F15 10.9091 Tf 5.68 0 Td [(,)-406(where)]TJ/F22 10.9091 Tf 39.631 0 Td [(B)]TJ/F15 10.9091 Tf 13.089 0 Td [(denotes)-391(the)-391(preconditioner,)]TJ -281.372 -13.549 Td [(usually)-334(with)1(in)-334(an)-334(iteration)-333(of)-334(a)-334(Kr)1(ylo)27(v)-333(solv)27(er)-333([)]TJ -1 0 0 rg 1 0 0 RG - [(20)]TJ +ET + +endstream +endobj +322 0 obj +<< +/Length 4858 +>> +stream 0 g 0 G - [(].)-446(An)-333(example)-334(of)-333(s)-1(u)1(c)27(h)-333(a)-334(com)28(bination,)]TJ 0 -13.549 Td [(kno)28(wn)-448(as)-448(V-cycle,)-476(is)-448(giv)28(en)-448(in)-447(Figure)]TJ 0 0 1 rg 0 0 1 RG - [-448(1)]TJ -0 g 0 G - [(.)-788(In)-447(this)-448(case,)-476(a)-448(single)-448(iteration)-448(of)-447(the)-448(same)]TJ 0 -13.549 Td [(smo)-28(other)-333(is)-332(used)-333(b)-28(efore)-333(and)-332(after)-333(the)-333(the)-333(recursiv)28(e)-333(call)-333(to)-332(the)-333(V-cycle)-333(\050i.e.,)-333(in)-333(th)1(e)-333(pre-)]TJ 0 -13.55 Td [(smo)-28(othing)-409(an)1(d)-409(p)-28(ost-smo)-28(othing)-409(ph)1(as)-1(es\051;)-446(ho)28(w)27(ev)28(er,)-427(di\013eren)27(t)-408(c)27(hoices)-409(can)-408(b)-28(e)-409(p)-28(erformed.)]TJ 0 -13.549 Td [(Other)-405(cycles)-405(c)-1(an)-405(b)-27(e)-406(de\014ned;)-441(in)-405(MLD2P4,)-423(w)28(e)-405(implemen)27(ted)-405(the)-405(standard)-405(V-cycle)-405(and)]TJ 0 -13.549 Td [(W-cycle)-333([)]TJ -1 0 0 rg 1 0 0 RG - [(3)]TJ +BT +/F42 10.9091 Tf 93.6 740.002 Td [(3)]TJ 0 g 0 G - [(],)-334(and)-333(a)-333(v)28(e)-1(r)1(s)-1(ion)-333(of)-333(the)-333(K-cyc)-1(l)1(e)-334(describ)-28(ed)-333(in)-333([)]TJ -1 0 0 rg 1 0 0 RG - [(19)]TJ + [-378(Configuring)-378(and)-377(B)-1(uilding)-377(MLD2P4)]TJ/F15 10.9091 Tf 406.997 0 Td [(9)]TJ 0 g 0 G - [(].)]TJ/F17 11.9552 Tf 0 -29.053 Td [(4.2)-1125(Smo)-31(othed)-375(Aggregation)]TJ/F15 10.9091 Tf 0 -20.595 Td [(In)-374(order)-374(to)-374(de\014ne)-374(the)-375(prolongator)]TJ/F22 10.9091 Tf 167.339 0 Td [(P)]TJ/F23 7.9701 Tf 8.519 3.959 Td [(k)]TJ/F15 10.9091 Tf 5.12 -3.959 Td [(,)-384(used)-375(to)-374(compute)-374(the)-374(coarse-lev)28(el)-375(matrix)]TJ/F22 10.9091 Tf 204.32 0 Td [(A)]TJ/F23 7.9701 Tf 8.182 3.959 Td [(k)]TJ/F20 7.9701 Tf 4.622 0 Td [(+1)]TJ/F15 10.9091 Tf 11.319 -3.959 Td [(,)]TJ -409.421 -13.549 Td [(MLD2P4)-319(uses)-320(the)-319(smo)-28(othed)-319(aggregation)-319(algorithm)-320(describ)-27(ed)-320(in)-319([)]TJ -1 0 0 rg 1 0 0 RG - [(2)]TJ +/F45 10.9091 Tf -395.542 -35.866 Td [(--with-superludist=LIBNAME)]TJ 137.453 -13.549 Td [(Specify)-525(the)-525(libname)-525(for)-525(SUPERLUDIST)-525(library.)]TJ 0 -13.549 Td [(Requires)-525(you)-525(also)-525(specify)-525(SuperLU.)-525(Default:)]TJ 0 -13.549 Td [("-lsuperlu_dist")]TJ -137.453 -13.549 Td [(--with-superludistdir=DIR)]TJ 137.453 -13.55 Td [(Specify)-525(the)-525(directory)-525(for)-525(SUPERLUDIST)-525(library)-525(and)]TJ 0 -13.549 Td [(includes.)]TJ -137.453 -13.549 Td [(--with-superludistincdir=DIR)]TJ 137.453 -13.549 Td [(Specify)-525(the)-525(directory)-525(for)-525(SUPERLUDIST)-525(includes.)]TJ -137.453 -13.549 Td [(--with-superludistlibdir=DIR)]TJ 137.453 -13.55 Td [(Specify)-525(the)-525(directory)-525(for)-525(SUPERLUDIST)-525(library.)]TJ -148.908 -27.098 Td [(Some)-525(influential)-525(environment)-525(variables:)]TJ 11.455 -13.549 Td [(FC)-5250(Fortran)-525(compiler)-525(command)]TJ 0 -13.549 Td [(FCFLAGS)-2625(Fortran)-525(compiler)-525(flags)]TJ 0 -13.55 Td [(LDFLAGS)-2625(linker)-525(flags,)-525(e.g.)-525(-L)-525(if)-525(you)-525(have)-525(libraries)-525(in)-525(a)]TJ 68.726 -13.549 Td [(nonstandard)-525(directory)-525()]TJ -68.726 -13.549 Td [(LIBS)-4200(libraries)-525(to)-525(pass)-525(to)-525(the)-525(linker,)-525(e.g.)-525(-l)]TJ 0 -13.549 Td [(CC)-5250(C)-525(compiler)-525(command)]TJ 0 -13.549 Td [(CFLAGS)-3150(C)-525(compiler)-525(flags)]TJ 0 -13.55 Td [(CPPFLAGS)-2100(C/C++/Objective)-525(C)-525(preprocessor)-525(flags,)-525(e.g.)-525(-I)-525(if)]TJ 68.726 -13.549 Td [(you)-525(have)-525(headers)-525(in)-525(a)-525(nonstandard)-525(directory)-525()]TJ -68.726 -13.549 Td [(MPICC)-3675(MPI)-525(C)-525(compiler)-525(command)]TJ 0 -13.549 Td [(MPIFC)-3675(MPI)-525(Fortran)-525(compiler)-525(command)]TJ 0 -13.549 Td [(CPP)-4725(C)-525(preprocessor)]TJ -11.455 -27.099 Td [(Use)-525(these)-525(variables)-525(to)-525(override)-525(the)-525(choices)-525(made)-525(by)-525(`configure')-525(or)-525(to)-525(help)]TJ 0 -13.549 Td [(it)-525(to)-525(find)-525(libraries)-525(and)-525(programs)-525(with)-525(nonstandard)-525(names/locations.)]TJ 0 -27.098 Td [(Report)-525(bugs)-525(to)-525(.)]TJ/F15 10.9091 Tf 16.937 -18.066 Td [(F)83(or)-301(instance,)-308(if)-302(a)-302(user)-301(has)-302(built)-302(and)-301(installed)-302(PSBLAS)-302(3.5)-301(under)-302(the)]TJ/F45 10.9091 Tf 326.526 0 Td [(/opt)]TJ/F15 10.9091 Tf 26.2 0 Td [(directory)]TJ -369.663 -13.549 Td [(and)-247(is)-246(using)-247(the)-247(SuiteSp)1(arse)-247(pac)28(k)55(age)-247(\050whic)28(h)-246(includes)-247(UMFP)83(A)28(CK\051,)-247(th)1(e)-1(n)-246(MLD2P4)-247(migh)28(t)]TJ 0 -13.549 Td [(b)-28(e)-333(con\014gured)-333(with:)]TJ 0 g 0 G - [(,)]TJ -1 0 0 rg 1 0 0 RG - [-319(25)]TJ 0 g 0 G - [(].)-440(The)-319(basic)-320(idea)]TJ 0 -13.549 Td [(of)-270(this)-271(algorithm)-270(is)-271(to)-270(build)-270(a)-271(coarse)-270(se)-1(t)-270(of)-270(indices)-271(\012)]TJ/F23 7.9701 Tf 243.122 3.959 Td [(k)]TJ/F20 7.9701 Tf 4.621 0 Td [(+1)]TJ/F15 10.9091 Tf 14.27 -3.959 Td [(b)28(y)-271(suitabl)1(y)-271(grouping)-270(the)-271(indices)]TJ -262.013 -13.549 Td [(of)-350(\012)]TJ/F23 7.9701 Tf 20.481 3.959 Td [(k)]TJ/F15 10.9091 Tf 8.934 -3.959 Td [(in)28(to)-350(disjoin)28(t)-350(sub)1(s)-1(ets)-349(\050aggregates\051,)-354(and)-350(to)-349(de\014ne)-350(the)-349(coarse)-1(-to-\014n)1(e)-350(space)-350(transfer)]TJ +/F45 10.9091 Tf 5.727 -18.066 Td [(./configure)-525(--with-psblas=/opt/psblas-3.5/)-525(\134)]TJ 0 -13.549 Td [(--with-umfpackincdir=/usr/include/suitesparse/)]TJ/F15 10.9091 Tf -5.727 -18.066 Td [(Once)-529(the)-529(c)-1(on)1(\014gure)-530(script)-529(has)-529(completed)-529(execution,)-579(i)1(t)-530(will)-529(ha)28(v)28(e)-530(generated)-529(the)-529(\014le)]TJ/F45 10.9091 Tf 0 -13.549 Td [(Make.inc)]TJ/F15 10.9091 Tf 49.145 0 Td [(whic)28(h)-305(will)-305(then)-305(b)-28(e)-305(used)-305(b)28(y)-305(all)-305(Mak)28(e\014les)-305(in)-305(the)-305(dir)1(e)-1(ctory)-304(tree)-1(;)-314(this)-305(\014le)-305(will)-305(b)-27(e)]TJ -49.145 -13.549 Td [(copied)-333(in)-334(the)-333(install)-333(directory)-333(under)-334(the)-333(name)]TJ/F45 10.9091 Tf 223.485 0 Td [(Make.inc.MLD2P4)]TJ/F15 10.9091 Tf 85.908 0 Td [(.)]TJ -292.456 -13.549 Td [(T)83(o)-428(use)-428(the)-429(MUMPS)-428(solv)28(er)-428(pac)28(k)55(age,)-452(the)-428(user)-429(h)1(as)-429(to)-428(add)-428(the)-429(approp)1(riate)-429(options)]TJ -16.937 -13.549 Td [(to)-342(the)-342(con\014)1(gure)-342(script;)-346(b)28(y)-342(default)-342(w)28(e)-342(are)-342(l)1(o)-28(oking)-342(for)-342(the)-341(libraries)]TJ/F45 10.9091 Tf 315.089 0 Td [(-ldmumps)-525(-lsmumps)]TJ -309.362 -13.55 Td [(-lzmumps)-525(-lcmumps)-525(-mumps_common)-525(-lpord)]TJ/F15 10.9091 Tf 217.634 0 Td [(.)-767(MUMPS)-441(often)-441(u)1(s)-1(es)-440(additional)-441(pac)28(k-)]TJ -223.361 -13.549 Td [(ages)-288(suc)28(h)-288(as)-287(ScaLAP)83(A)28(CK,)-288(P)28(arMETIS,)-288(SCOTCH,)-287(as)-288(w)28(ell)-288(as)-288(enabling)-287(Op)-28(enMP;)-288(in)-287(suc)27(h)]TJ 0 -13.549 Td [(cases)-235(it)-234(is)-235(necessary)-234(to)-235(add)-234(link)28(er)-235(options)-234(with)-234(the)]TJ/F45 10.9091 Tf 233.579 0 Td [(--with-extra-libs)]TJ/F15 10.9091 Tf 99.92 0 Td [(con\014gure)-234(option.)]TJ 0 g 0 G 0 g 0 G ET endstream endobj -347 0 obj +327 0 obj << -/Length 11453 +/Length 3815 >> stream 0 g 0 G -0 0 1 rg 0 0 1 RG BT -/F42 10.9091 Tf 93.6 740.002 Td [(4)]TJ +/F15 10.9091 Tf 86.4 740.002 Td [(10)]TJ/F42 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ 0 g 0 G - [-378(Mul)67(tigrid)-378(Ba)22(ck)22(gr)23(ound)]TJ/F15 10.9091 Tf 401.542 0 Td [(13)]TJ +/F15 10.9091 Tf -186.329 -35.866 Td [(T)83(o)-333(build)-333(the)-334(li)1(brary)-334(the)-333(user)-333(will)-334(no)28(w)-333(en)28(ter)]TJ 0 g 0 G 0 g 0 G +/F45 10.9091 Tf -16.936 -22.515 Td [(make)]TJ/F15 10.9091 Tf 0 -22.516 Td [(follo)28(w)28(ed)-334(\050optionally\051)-333(b)28(y)]TJ 0 g 0 G 0 g 0 G +/F45 10.9091 Tf 0 -22.515 Td [(make)-525(install)]TJ/F17 11.9552 Tf 0 -29.213 Td [(3.4)-1125(Bug)-375(rep)-31(orting)]TJ/F15 10.9091 Tf 0 -20.595 Td [(If)-333(y)28(ou)-334(\014nd)-333(an)28(y)-333(bugs)-334(in)-333(our)-333(co)-28(des,)-333(please)-334(rep)-28(ort)-333(them)-333(through)-333(our)-334(issues)-333(page)-333(on)]TJ +0 1 0 0 k 0 1 0 0 K +/F45 10.9091 Tf 0 -19.218 Td [(https://github.com/sfilippone/mld2p4-)-45(2/issues)]TJ 0 g 0 G +/F15 10.9091 Tf 0 -13.549 Td [(T)83(o)-292(enable)-293(us)-293(to)-292(trac)27(k)-292(the)-293(bug,)-301(please)-293(pro)28(vide)-292(a)-293(log)-293(from)-293(th)1(e)-293(failing)-293(application,)-300(the)-293(test)]TJ 0 -13.55 Td [(conditions,)-333(and)-333(ideally)-334(a)-333(self-con)28(tained)-334(test)-333(program)-333(repro)-28(ducing)-333(the)-333(is)-1(sue.)]TJ/F17 11.9552 Tf 0 -29.212 Td [(3.5)-1125(Example)-375(and)-375(test)-375(programs)]TJ/F15 10.9091 Tf 0 -20.595 Td [(The)-419(pac)28(k)55(age)-418(con)27(tains)-418(the)]TJ/F45 10.9091 Tf 128.338 0 Td [(examples)]TJ/F15 10.9091 Tf 50.387 0 Td [(and)]TJ/F45 10.9091 Tf 22.146 0 Td [(tests)]TJ/F15 10.9091 Tf 33.205 0 Td [(directories;)-462(b)-27(oth)-419(of)-419(them)-419(are)-419(further)]TJ -234.076 -13.549 Td [(divided)-333(in)28(to)]TJ/F45 10.9091 Tf 60.606 0 Td [(fileread)]TJ/F15 10.9091 Tf 49.454 0 Td [(and)]TJ/F45 10.9091 Tf 21.212 0 Td [(pdegen)]TJ/F15 10.9091 Tf 38 0 Td [(sub)-28(directories.)-444(Their)-333(purp)-28(ose)-333(is)-334(as)-333(follo)28(ws:)]TJ 0 g 0 G - -292.247 -42.833 Td [(pro)-28(cedure)-333(V-cycle)]TJ/F28 10.9091 Tf 85.818 8.837 Td [(\000)]TJ/F22 10.9091 Tf 5 -8.837 Td [(k)-32(;)-166(A)]TJ/F23 7.9701 Tf 19.053 3.959 Td [(k)]TJ/F22 10.9091 Tf 5.12 -3.959 Td [(;)-167(b)]TJ/F23 7.9701 Tf 9.53 3.959 Td [(k)]TJ/F22 10.9091 Tf 5.12 -3.959 Td [(;)-167(u)]TJ/F23 7.9701 Tf 11.093 3.959 Td [(k)]TJ/F28 10.9091 Tf 5.12 4.878 Td [(\001)]TJ/F15 10.9091 Tf -134.945 -28.055 Td [(if)-333(\050)]TJ/F22 10.9091 Tf 14.242 0 Td [(k)]TJ/F25 10.9091 Tf 9.053 0 Td [(6)]TJ/F15 10.9091 Tf 0 0 Td [(=)]TJ/F22 10.9091 Tf 11.516 0 Td [(nl)-20(ev)]TJ/F15 10.9091 Tf 20.776 0 Td [(\051)-333(then)]TJ/F22 10.9091 Tf -44.678 -16.393 Td [(u)]TJ/F23 7.9701 Tf 6.245 3.958 Td [(k)]TJ/F15 10.9091 Tf 8.15 -3.958 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(u)]TJ/F23 7.9701 Tf 6.245 3.958 Td [(k)]TJ/F15 10.9091 Tf 7.544 -3.958 Td [(+)]TJ/F22 10.9091 Tf 10.909 0 Td [(M)]TJ/F23 7.9701 Tf 11.773 3.958 Td [(k)]TJ/F28 10.9091 Tf 6.938 4.878 Td [(\000)]TJ/F22 10.9091 Tf 5 -8.836 Td [(b)]TJ/F23 7.9701 Tf 4.682 3.958 Td [(k)]TJ/F25 10.9091 Tf 7.544 -3.958 Td [(\000)]TJ/F22 10.9091 Tf 10.909 0 Td [(A)]TJ/F23 7.9701 Tf 8.181 3.958 Td [(k)]TJ/F22 10.9091 Tf 5.12 -3.958 Td [(u)]TJ/F23 7.9701 Tf 6.245 3.958 Td [(k)]TJ/F28 10.9091 Tf 5.12 4.878 Td [(\001)]TJ/F22 10.9091 Tf -122.12 -25.229 Td [(b)]TJ/F23 7.9701 Tf 4.682 3.958 Td [(k)]TJ/F20 7.9701 Tf 4.622 0 Td [(+1)]TJ/F15 10.9091 Tf 14.349 -3.958 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(R)]TJ/F23 7.9701 Tf 8.367 3.958 Td [(k)]TJ/F20 7.9701 Tf 4.622 0 Td [(+1)]TJ/F28 10.9091 Tf 13.137 4.878 Td [(\000)]TJ/F22 10.9091 Tf 5 -8.836 Td [(b)]TJ/F23 7.9701 Tf 4.682 3.958 Td [(k)]TJ/F25 10.9091 Tf 7.544 -3.958 Td [(\000)]TJ/F22 10.9091 Tf 10.909 0 Td [(A)]TJ/F23 7.9701 Tf 8.181 3.958 Td [(k)]TJ/F22 10.9091 Tf 5.12 -3.958 Td [(u)]TJ/F23 7.9701 Tf 6.245 3.958 Td [(k)]TJ/F28 10.9091 Tf 5.12 4.878 Td [(\001)]TJ/F22 10.9091 Tf -114.095 -25.229 Td [(u)]TJ/F23 7.9701 Tf 6.245 3.958 Td [(k)]TJ/F20 7.9701 Tf 4.622 0 Td [(+1)]TJ/F15 10.9091 Tf 14.349 -3.958 Td [(=)-333(V-cycle)]TJ/F28 10.9091 Tf 47.273 8.836 Td [(\000)]TJ/F22 10.9091 Tf 5 -8.836 Td [(k)]TJ/F15 10.9091 Tf 8.447 0 Td [(+)-222(1)]TJ/F22 10.9091 Tf 16.363 0 Td [(;)-167(A)]TJ/F23 7.9701 Tf 13.03 3.958 Td [(k)]TJ/F20 7.9701 Tf 4.622 0 Td [(+1)]TJ/F22 10.9091 Tf 11.319 -3.958 Td [(;)-167(b)]TJ/F23 7.9701 Tf 9.53 3.958 Td [(k)]TJ/F20 7.9701 Tf 4.622 0 Td [(+1)]TJ/F22 10.9091 Tf 11.319 -3.958 Td [(;)]TJ/F15 10.9091 Tf 4.848 0 Td [(0)]TJ/F28 10.9091 Tf 5.455 8.836 Td [(\001)]TJ/F22 10.9091 Tf -167.044 -25.229 Td [(u)]TJ/F23 7.9701 Tf 6.245 3.958 Td [(k)]TJ/F15 10.9091 Tf 8.15 -3.958 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(u)]TJ/F23 7.9701 Tf 6.245 3.958 Td [(k)]TJ/F15 10.9091 Tf 7.544 -3.958 Td [(+)]TJ/F22 10.9091 Tf 10.909 0 Td [(P)]TJ/F23 7.9701 Tf 8.519 3.958 Td [(k)]TJ/F20 7.9701 Tf 4.622 0 Td [(+1)]TJ/F22 10.9091 Tf 11.319 -3.958 Td [(u)]TJ/F23 7.9701 Tf 6.245 3.958 Td [(k)]TJ/F20 7.9701 Tf 4.621 0 Td [(+1)]TJ/F22 10.9091 Tf -85.934 -20.352 Td [(u)]TJ/F23 7.9701 Tf 6.245 3.959 Td [(k)]TJ/F15 10.9091 Tf 8.15 -3.959 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(u)]TJ/F23 7.9701 Tf 6.245 3.959 Td [(k)]TJ/F15 10.9091 Tf 7.544 -3.959 Td [(+)]TJ/F22 10.9091 Tf 10.909 0 Td [(M)]TJ/F23 7.9701 Tf 11.773 3.959 Td [(k)]TJ/F28 10.9091 Tf 6.938 4.878 Td [(\000)]TJ/F22 10.9091 Tf 5 -8.837 Td [(b)]TJ/F23 7.9701 Tf 4.682 3.959 Td [(k)]TJ/F25 10.9091 Tf 7.544 -3.959 Td [(\000)]TJ/F22 10.9091 Tf 10.909 0 Td [(A)]TJ/F23 7.9701 Tf 8.181 3.959 Td [(k)]TJ/F22 10.9091 Tf 5.12 -3.959 Td [(u)]TJ/F23 7.9701 Tf 6.245 3.959 Td [(k)]TJ/F28 10.9091 Tf 5.12 4.878 Td [(\001)]TJ/F15 10.9091 Tf -133.029 -25.22 Td [(else)]TJ/F22 10.9091 Tf 10.909 -18.375 Td [(u)]TJ/F23 7.9701 Tf 6.245 3.959 Td [(k)]TJ/F15 10.9091 Tf 8.15 -3.959 Td [(=)]TJ/F28 10.9091 Tf 11.515 8.836 Td [(\000)]TJ/F22 10.9091 Tf 5 -8.836 Td [(A)]TJ/F23 7.9701 Tf 8.182 3.959 Td [(k)]TJ/F28 10.9091 Tf 5.12 4.877 Td [(\001)]TJ/F26 7.9701 Tf 5 -2.497 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F22 10.9091 Tf 6.551 -6.339 Td [(b)]TJ/F23 7.9701 Tf 4.682 3.959 Td [(k)]TJ/F15 10.9091 Tf -77.94 -20.343 Td [(endif)]TJ 0 -16.393 Td [(return)]TJ/F22 10.9091 Tf 33.394 0 Td [(u)]TJ/F23 7.9701 Tf 6.245 3.959 Td [(k)]TJ/F15 10.9091 Tf -50.548 -20.343 Td [(end)]TJ -ET -q -1 0 0 1 195.871 714.896 cm -[]0 d 0 J 0.398 w 0 0 m 207.909 0 l S -Q -q -1 0 0 1 196.071 504.814 cm +/F45 10.9091 Tf -169.272 -22.516 Td [(examples)]TJ +0 g 0 G +/F15 10.9091 Tf 51.272 0 Td [(con)28(tains)-245(a)-244(s)-1(et)-244(of)-245(simple)-245(example)-244(programs)-245(with)-244(a)-245(prede\014ned)-245(c)28(hoice)-245(of)-244(precon-)]TJ -23.999 -13.549 Td [(ditioners,)-294(selectable)-284(via)-284(in)28(teger)-284(v)56(alues.)-428(These)-284(are)-284(in)28(tended)-284(to)-284(get)-284(an)-284(acquain)28(tance)]TJ 0 -13.549 Td [(with)-333(the)-334(m)28(ultilev)28(el)-333(preconditioners)-334(a)28(v)56(ailable)-333(in)-334(MLD2P4.)]TJ +0 g 0 G +/F45 10.9091 Tf -27.273 -22.516 Td [(tests)]TJ +0 g 0 G +/F15 10.9091 Tf 34.09 0 Td [(con)28(tains)-380(a)-380(set)-380(of)-380(more)-380(sophi)1(s)-1(ticated)-379(examples)-380(that)-380(will)-380(allo)28(w)-380(the)-380(user,)-391(via)-380(the)]TJ -6.817 -13.549 Td [(input)-286(\014les)-287(in)-286(the)]TJ/F45 10.9091 Tf 80.438 0 Td [(runs)]TJ/F15 10.9091 Tf 26.033 0 Td [(sub)-28(directories,)-296(to)-286(exp)-28(erimen)28(t)-286(with)-287(the)-286(full)-287(ran)1(ge)-287(of)-286(precon-)]TJ -106.471 -13.549 Td [(ditioners)-333(implemen)28(ted)-334(in)-333(the)-333(pac)27(k)56(age.)]TJ -27.273 -22.516 Td [(The)]TJ/F45 10.9091 Tf 24.239 0 Td [(fileread)]TJ/F15 10.9091 Tf 51.269 0 Td [(directories)-500(con)28(tain)-500(sample)-499(programs)-500(that)-500(read)-499(sparse)-500(matrices)-500(from)]TJ -75.508 -13.549 Td [(\014les,)-295(according)-285(to)-285(the)-285(Matrix)-285(Mark)28(et)-285(or)-285(the)-285(Harw)27(ell-Bo)-27(eing)-286(storage)-285(format;)-301(the)]TJ/F45 10.9091 Tf 378.088 0 Td [(pdegen)]TJ/F15 10.9091 Tf -378.088 -13.549 Td [(programs)-416(generate)-415(matrices)-416(in)-416(full)-415(parallel)-416(mo)-28(de)-416(from)-415(the)-416(discretization)-416(of)-415(a)-416(sample)]TJ 0 -13.549 Td [(partial)-333(di\013eren)28(tial)-334(equation.)]TJ +0 g 0 G +0 g 0 G +ET + +endstream +endobj +344 0 obj +<< +/Length 8161 +>> +stream +0 g 0 G +0 0 1 rg 0 0 1 RG +BT +/F42 10.9091 Tf 93.6 740.002 Td [(4)]TJ +0 g 0 G + [-378(Mul)67(tigrid)-378(Ba)22(ck)22(gr)23(ound)]TJ/F15 10.9091 Tf 401.542 0 Td [(11)]TJ +0 g 0 G +/F17 14.3462 Tf -401.542 -35.866 Td [(4)-1125(Multigrid)-375(Bac)31(kground)]TJ/F15 10.9091 Tf 0 -25.431 Td [(Multigrid)-467(preconditioners,)-500(coupled)-468(with)-467(Krylo)28(v)-467(iterativ)28(e)-467(solv)27(ers,)-500(are)-467(widely)-467(use)-1(d)-467(in)]TJ 0 -13.549 Td [(the)-374(par)1(allel)-374(solution)-373(of)-374(large)-374(and)-373(sparse)-374(linear)-373(systems,)-384(b)-28(ecause)-373(of)-374(their)-373(optimalit)28(y)-374(in)]TJ 0 -13.55 Td [(the)-411(solution)-411(of)-411(linear)-411(systems)-411(arising)-411(from)-411(the)-412(d)1(isc)-1(r)1(e)-1(tization)-411(of)-411(scalar)-411(elliptic)-411(P)28(artial)]TJ 0 -13.549 Td [(Di\013eren)28(tial)-331(Equations)-330(\050PDEs\051)-331(on)-330(regular)-331(grids.)-443(Optimalit)28(y)83(,)-331(also)-331(kn)1(o)27(wn)-330(as)-331(algorithmic)]TJ 0 -13.549 Td [(scalabilit)28(y)83(,)-404(is)-389(the)-390(prop)-28(ert)28(y)-390(of)-390(ha)28(ving)-389(a)-390(computational)-390(cost)-390(p)-27(er)-390(iteration)-390(that)-390(dep)-27(ends)]TJ 0 -13.549 Td [(linearly)-291(on)-292(the)-291(problem)-292(size,)-299(and)-292(a)-291(con)28(v)27(ergence)-291(rate)-292(that)-291(is)-291(indep)-28(enden)28(t)-292(of)-291(the)-292(prob)1(le)-1(m)]TJ 0 -13.549 Td [(size.)]TJ 16.937 -14.105 Td [(Multigrid)-304(preconditioners)-304(are)-304(based)-304(on)-304(a)-304(recursiv)28(e)-304(application)-304(of)-304(a)-304(t)28(w)28(o-grid)-304(pro)-28(cess)]TJ -16.937 -13.549 Td [(consisting)-391(of)-391(smo)-28(other)-391(iterations)-391(and)-392(a)-391(coarse-space)-391(\050or)-391(coarse-lev)27(el\051)-391(correction.)-618(The)]TJ 0 -13.55 Td [(smo)-28(others)-343(ma)27(y)-343(b)-28(e)-343(either)-343(basic)-344(iterativ)28(e)-343(m)-1(eth)1(o)-28(ds,)-346(suc)28(h)-344(as)-343(the)-344(Jacobi)-343(and)-343(Gauss-Seidel)]TJ 0 -13.549 Td [(ones,)-434(or)-414(more)-414(complex)-414(subspace-correction)-414(metho)-28(ds,)-434(suc)28(h)-414(as)-414(the)-414(Sc)28(h)27(w)28(arz)-414(ones.)-686(The)]TJ 0 -13.549 Td [(coarse-space)-304(correction)-304(consists)-303(of)-304(solving,)-310(in)-303(an)-304(appropriately)-303(c)27(hosen)-303(coarse)-304(space,)-310(the)]TJ 0 -13.549 Td [(residual)-297(equation)-296(asso)-28(ciated)-297(with)-296(the)-297(appro)28(ximate)-297(solution)-296(computed)-297(b)28(y)-297(th)1(e)-297(smo)-28(other,)]TJ 0 -13.549 Td [(and)-359(of)-359(using)-359(the)-359(solution)-359(of)-359(this)-359(equation)-359(to)-359(correct)-359(the)-359(previous)-359(appro)28(ximation.)-522(The)]TJ 0 -13.55 Td [(transfer)-467(of)-467(information)-468(b)-27(et)27(w)28(een)-467(the)-467(original)-468(\050\014)1(ne\051)-468(space)-467(and)-467(the)-468(coarse)-467(one)-467(is)-468(p)-27(er-)]TJ 0 -13.549 Td [(formed)-394(b)27(y)-394(using)-394(suitable)-395(restriction)-394(and)-394(prolongation)-395(op)-27(erators.)-628(The)-394(construction)-395(of)]TJ 0 -13.549 Td [(the)-410(coarse)-409(s)-1(p)1(ac)-1(e)-409(and)-410(the)-410(corresp)-27(onding)-410(transfer)-410(op)-27(erators)-410(is)-410(carried)-409(out)-410(b)28(y)-410(applying)]TJ 0 -13.549 Td [(a)-390(so-called)-391(coarsening)-390(algorithm)-390(to)-390(the)-390(s)-1(ystem)-390(matrix.)-615(Tw)28(o)-391(main)-390(approac)28(hes)-390(can)-390(b)-28(e)]TJ 0 -13.549 Td [(used)-370(to)-369(p)-28(erform)-369(c)-1(oar)1(s)-1(enin)1(g:)-517(the)-370(geometric)-370(approac)28(h,)-378(whic)27(h)-369(exploits)-370(the)-369(kno)28(wledge)-370(of)]TJ 0 -13.55 Td [(some)-361(ph)28(ysical)-361(grid)-361(ass)-1(o)-27(ciated)-361(with)-361(the)-362(matri)1(x)-362(and)-361(requi)1(res)-362(the)-361(user)-361(to)-361(de\014ne)-361(transfer)]TJ 0 -13.549 Td [(op)-28(erators)-348(from)-349(the)-348(\014ne)-349(to)-348(the)-349(coarse)-348(lev)27(el)-348(and)-349(vi)1(c)-1(e)-348(v)28(ersa,)-353(and)-348(the)-349(algebrai)1(c)-349(approac)28(h,)]TJ 0 -13.549 Td [(whic)28(h)-282(builds)-283(the)-282(coarse-space)-282(correc)-1(ti)1(on)-283(and)-282(the)-282(asso)-28(ciate)-282(transfer)-283(op)-27(erators)-283(using)-282(only)]TJ 0 -13.549 Td [(matrix)-369(inf)1(ormation.)-551(The)-368(\014rst)-369(approac)28(h)-369(ma)28(y)-369(b)-27(e)-369(di\016cult)-369(wh)1(e)-1(n)-368(the)-369(system)-368(c)-1(omes)-368(from)]TJ 0 -13.549 Td [(discretizations)-288(on)-288(complex)-287(ge)-1(ometries;)-303(fur)1(thermore,)-297(ad)-288(ho)-28(c)-288(one-lev)28(el)-288(smo)-28(others)-288(ma)28(y)-288(b)-27(e)]TJ 0 -13.549 Td [(required)-307(to)-307(get)-306(an)-307(e\016cien)27(t)-306(in)27(terpla)28(y)-307(b)-27(et)27(w)28(een)-307(\014ne)-307(and)-306(coarse)-307(lev)28(e)-1(ls,)-312(e.g.,)-312(when)-307(matrices)]TJ 0 -13.55 Td [(with)-363(hi)1(ghly)-363(v)56(arying)-363(co)-28(e\016cien)28(ts)-363(are)-362(considered.)-532(The)-363(second)-363(appr)1(oac)27(h)-362(p)-28(erforms)-363(a)-362(fully)]TJ 0 -13.549 Td [(automatic)-349(coarsening)-350(and)-349(enforces)-349(the)-349(in)27(t)1(e)-1(rp)1(la)27(y)-349(b)-28(et)28(w)28(een)-349(\014ne)-350(and)-349(coarse)-349(lev)27(el)-349(b)28(y)-349(suit-)]TJ 0 -13.549 Td [(ably)-313(c)28(ho)-28(osing)-313(the)-313(coarse)-313(space)-313(and)-313(the)-313(coarse-to-\014ne)-313(in)28(terp)-28(olation)-313(\050see,)-317(e.g.,)-317([)]TJ +1 0 0 rg 1 0 0 RG + [(3)]TJ +0 g 0 G + [(,)]TJ +1 0 0 rg 1 0 0 RG + [-313(23)]TJ +0 g 0 G + [(,)]TJ +1 0 0 rg 1 0 0 RG + [-313(21)]TJ +0 g 0 G + [(])]TJ 0 -13.549 Td [(for)-333(details.\051)]TJ 16.937 -14.105 Td [(MLD2P4)-329(uses)-330(a)-329(pure)-330(algebraic)-329(approac)28(h,)-331(b)1(as)-1(ed)-329(on)-329(the)-330(smo)-28(othed)-329(aggregation)-330(algo-)]TJ -16.937 -13.549 Td [(rithm)-298([)]TJ +1 0 0 rg 1 0 0 RG + [(2)]TJ +0 g 0 G + [(,)]TJ +1 0 0 rg 1 0 0 RG + [-298(25)]TJ +0 g 0 G + [(],)-305(for)-298(building)-298(the)-298(sequence)-298(of)-298(coarse)-298(matrices)-298(and)-298(transfer)-298(op)-28(erators,)-305(start-)]TJ 0 -13.549 Td [(ing)-306(from)-306(the)-305(original)-306(one.)-435(A)-306(decoupled)-306(v)28(ersion)-306(of)-306(this)-306(algori)1(thm)-306(is)-306(implemen)28(ted,)-312(where)]TJ 0 -13.55 Td [(the)-316(smo)-28(othed)-316(aggregation)-315(is)-316(applied)-316(lo)-28(cally)-316(to)-316(eac)28(h)-316(submatrix)-316([)]TJ +1 0 0 rg 1 0 0 RG + [(24)]TJ +0 g 0 G + [(].)-438(A)-316(brief)-316(description)]TJ 0 -13.549 Td [(of)-333(the)-333(AMG)-333(prec)-1(on)1(ditioners)-334(implemen)28(ted)-333(in)-333(MLD2P4)-333(is)-333(giv)27(en)-333(in)-333(Sections)]TJ +0 0 1 rg 0 0 1 RG + [-333(4.1)]TJ +0 g 0 G + [(-)]TJ +0 0 1 rg 0 0 1 RG + [(4.3)]TJ +0 g 0 G + [(.)-444(F)83(or)]TJ 0 -13.549 Td [(further)-333(details)-334(th)1(e)-334(reader)-333(is)-334(r)1(e)-1(f)1(e)-1(r)1(re)-1(d)-333(to)-333([)]TJ +1 0 0 rg 1 0 0 RG + [(4)]TJ +0 g 0 G + [(,)]TJ +1 0 0 rg 1 0 0 RG + [-333(5)]TJ +0 g 0 G + [(,)]TJ +1 0 0 rg 1 0 0 RG + [-334(7)]TJ +0 g 0 G + [(,)]TJ +1 0 0 rg 1 0 0 RG + [-333(8)]TJ +0 g 0 G + [(].)]TJ 16.937 -14.105 Td [(W)83(e)-430(note)-430(that)-430(opti)1(m)-1(al)-429(m)27(ultigrid)-430(pr)1(e)-1(cond)1(itioners)-430(do)-430(not)-430(necessarily)-430(corresp)-28(ond)-430(to)]TJ -16.937 -13.549 Td [(minim)28(um)-486(execution)-485(times)-485(in)-485(a)-486(parallel)-485(setting.)-900(Indeed,)-523(to)-486(obtain)-485(e\013ectiv)28(e)-486(parallel)]TJ 0 -13.549 Td [(m)28(ultigrid)-403(preconditioners,)-421(a)-403(tradeo\013)-403(b)-28(et)28(w)28(een)-404(the)-403(optimalit)28(y)-403(and)-403(the)-403(cost)-404(of)-403(buildi)1(ng)]TJ 0 -13.549 Td [(and)-223(applying)-223(the)-223(smo)-28(others)-223(and)-223(the)-223(coarse-space)-223(corrections)-223(m)27(ust)-223(b)-27(e)-224(ac)28(hiev)28(ed.)-408(E\013ectiv)28(e)]TJ 0 -13.55 Td [(parallel)-324(preconditioners)-324(re)-1(q)1(uire)-325(algorithmic)-324(scalabilit)28(y)-325(to)-324(b)-28(e)-324(coupled)-324(with)-325(implemen)28(ta-)]TJ 0 -13.549 Td [(tion)-270(scalabilit)28(y)83(,)-282(i.e.,)-283(a)-270(computational)-269(cost)-270(p)-28(er)-270(iteration)-270(whic)28(h)-270(remains)-270(\050almost\051)-270(constan)28(t)]TJ 0 -13.549 Td [(as)-333(the)-334(n)28(um)28(b)-28(er)-333(of)-333(parallel)-334(pro)-27(ce)-1(ssors)-333(increases.)]TJ +0 g 0 G +0 g 0 G +ET + +endstream +endobj +358 0 obj +<< +/Length 11395 +>> +stream +0 g 0 G +BT +/F15 10.9091 Tf 86.4 740.002 Td [(12)]TJ/F42 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ +0 g 0 G +/F17 11.9552 Tf -203.265 -35.866 Td [(4.1)-1125(AMG)-375(preconditioners)]TJ/F15 10.9091 Tf 0 -20.594 Td [(In)-463(order)-463(to)-463(describ)-27(e)-463(the)-463(AMG)-463(preconditioners)-463(a)28(v)56(ailable)-463(in)-463(MLD2P4,)-495(w)27(e)-463(consid)1(e)-1(r)-462(a)]TJ 0 -13.549 Td [(linear)-333(system)]TJ/F22 10.9091 Tf 186.979 -13.55 Td [(Ax)]TJ/F15 10.9091 Tf 17.447 0 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(b;)]TJ +0 g 0 G +/F15 10.9091 Tf 182.57 0 Td [(\0502\051)]TJ +0 g 0 G + -398.511 -19.516 Td [(where)]TJ/F22 10.9091 Tf 32.496 0 Td [(A)]TJ/F15 10.9091 Tf 12.796 0 Td [(=)-423(\050)]TJ/F22 10.9091 Tf 17.342 0 Td [(a)]TJ/F23 7.9701 Tf 5.767 -1.636 Td [(ij)]TJ/F15 10.9091 Tf 7.265 1.636 Td [(\051)]TJ/F25 10.9091 Tf 8.857 0 Td [(2)]TJ/F34 10.9091 Tf 11.888 0 Td [(R)]TJ/F23 7.9701 Tf 7.878 3.959 Td [(n)]TJ/F26 7.9701 Tf 5.139 0 Td [(\002)]TJ/F23 7.9701 Tf 6.586 0 Td [(n)]TJ/F15 10.9091 Tf 10.223 -3.959 Td [(is)-421(a)-420(nonsingular)-420(sparse)-421(matrix;)-464(for)-420(ease)-421(of)-420(presen)28(tation)-421(w)28(e)]TJ -126.237 -13.549 Td [(assume)]TJ/F22 10.9091 Tf 37.697 0 Td [(A)]TJ/F15 10.9091 Tf 11.818 0 Td [(has)-333(a)-334(symmetric)-333(sparsit)28(y)-334(pattern.)]TJ -32.579 -13.549 Td [(Let)-468(us)-469(consider)-468(as)-468(\014nest)-469(ind)1(e)-1(x)-468(space)-468(the)-468(s)-1(et)-468(of)-468(ro)28(w)-469(\050column\051)-468(indices)-468(of)]TJ/F22 10.9091 Tf 361.856 0 Td [(A)]TJ/F15 10.9091 Tf 8.182 0 Td [(,)-502(i.e.,)]TJ -386.974 -13.55 Td [(\012)-377(=)]TJ/F25 10.9091 Tf 24.593 0 Td [(f)]TJ/F15 10.9091 Tf 5.454 0 Td [(1)]TJ/F22 10.9091 Tf 5.455 0 Td [(;)]TJ/F15 10.9091 Tf 4.848 0 Td [(2)]TJ/F22 10.9091 Tf 5.455 0 Td [(;)-167(:)-166(:)-167(:)-167(;)-166(n)]TJ/F25 10.9091 Tf 30.79 0 Td [(g)]TJ/F15 10.9091 Tf 5.455 0 Td [(.)-623(An)28(y)-393(algebraic)-393(m)27(ultilev)28(el)-393(preconditioners)-393(implemen)28(ted)-393(in)-393(MLD2P4)]TJ -82.05 -13.549 Td [(generates)-333(a)-334(hierarc)28(h)28(y)-333(of)-334(index)-333(spaces)-333(and)-334(a)-333(corresp)-28(onding)-333(hierarc)28(h)28(y)-334(of)-333(matrices,)]TJ 81.377 -23.491 Td [(\012)]TJ/F20 7.9701 Tf 7.879 4.505 Td [(1)]TJ/F25 10.9091 Tf 7.762 -4.505 Td [(\021)]TJ/F15 10.9091 Tf 11.515 0 Td [(\012)]TJ/F25 10.9091 Tf 10.909 0 Td [(\033)]TJ/F15 10.9091 Tf 11.515 0 Td [(\012)]TJ/F20 7.9701 Tf 7.879 4.505 Td [(2)]TJ/F25 10.9091 Tf 7.763 -4.505 Td [(\033)]TJ/F22 10.9091 Tf 11.515 0 Td [(:)-167(:)-166(:)]TJ/F25 10.9091 Tf 15.757 0 Td [(\033)]TJ/F15 10.9091 Tf 11.516 0 Td [(\012)]TJ/F23 7.9701 Tf 7.878 4.505 Td [(nl)-12(ev)]TJ/F22 10.9091 Tf 16.597 -4.505 Td [(;)-1167(A)]TJ/F20 7.9701 Tf 23.939 4.505 Td [(1)]TJ/F25 10.9091 Tf 7.763 -4.505 Td [(\021)]TJ/F22 10.9091 Tf 11.515 0 Td [(A;)-167(A)]TJ/F20 7.9701 Tf 21.212 4.505 Td [(2)]TJ/F22 10.9091 Tf 4.732 -4.505 Td [(;)-167(:)-166(:)-167(:)-167(;)-166(A)]TJ/F23 7.9701 Tf 32.424 4.505 Td [(nl)-12(ev)]TJ/F22 10.9091 Tf 16.597 -4.505 Td [(;)]TJ/F15 10.9091 Tf -328.044 -23.49 Td [(b)28(y)-282(using)-282(the)-282(information)-282(con)28(tained)-282(in)]TJ/F22 10.9091 Tf 180.373 0 Td [(A)]TJ/F15 10.9091 Tf 8.182 0 Td [(,)-292(without)-282(assuming)-282(an)27(y)-282(kno)28(wledge)-282(of)-282(the)-282(geom-)]TJ -188.555 -13.55 Td [(etry)-295(of)-294(the)-295(problem)-294(from)-295(whic)28(h)]TJ/F22 10.9091 Tf 150.888 0 Td [(A)]TJ/F15 10.9091 Tf 11.395 0 Td [(originates.)-431(A)-295(v)28(ector)-295(space)]TJ/F34 10.9091 Tf 126.348 0 Td [(R)]TJ/F23 7.9701 Tf 7.879 3.959 Td [(n)]TJ/F24 5.9776 Tf 5.138 -1.406 Td [(k)]TJ/F15 10.9091 Tf 8.285 -2.553 Td [(is)-295(asso)-27(ciate)-1(d)-294(with)-295(\012)]TJ/F23 7.9701 Tf 94.368 3.959 Td [(k)]TJ/F15 10.9091 Tf 5.12 -3.959 Td [(,)]TJ -409.421 -13.549 Td [(where)]TJ/F22 10.9091 Tf 31.714 0 Td [(n)]TJ/F23 7.9701 Tf 6.548 -1.777 Td [(k)]TJ/F15 10.9091 Tf 8.925 1.777 Td [(is)-349(the)-349(size)-348(of)-349(\012)]TJ/F23 7.9701 Tf 71.401 3.959 Td [(k)]TJ/F15 10.9091 Tf 5.12 -3.959 Td [(.)-491(F)84(or)-349(all)]TJ/F22 10.9091 Tf 43.449 0 Td [(k)-335(<)-304(nl)-19(ev)]TJ/F15 10.9091 Tf 41.907 0 Td [(,)-353(a)-348(restriction)-349(op)-28(erator)-349(and)-348(a)-349(prolongation)]TJ -209.064 -13.549 Td [(one)-333(are)-334(built,)-333(whic)28(h)-333(connect)-334(t)28(w)28(o)-334(l)1(e)-1(v)28(els)]TJ/F22 10.9091 Tf 188.273 0 Td [(k)]TJ/F15 10.9091 Tf 9.659 0 Td [(and)]TJ/F22 10.9091 Tf 21.212 0 Td [(k)]TJ/F15 10.9091 Tf 8.447 0 Td [(+)-222(1:)]TJ/F22 10.9091 Tf -101.285 -23.491 Td [(P)]TJ/F23 7.9701 Tf 8.519 4.504 Td [(k)]TJ/F25 10.9091 Tf 8.15 -4.504 Td [(2)]TJ/F34 10.9091 Tf 10.303 0 Td [(R)]TJ/F23 7.9701 Tf 7.879 4.504 Td [(n)]TJ/F24 5.9776 Tf 5.138 -1.405 Td [(k)]TJ/F26 7.9701 Tf 4.573 1.405 Td [(\002)]TJ/F23 7.9701 Tf 6.587 0 Td [(n)]TJ/F24 5.9776 Tf 5.138 -1.405 Td [(k)]TJ/F21 5.9776 Tf 4.075 0 Td [(+1)]TJ/F22 10.9091 Tf 10.239 -3.099 Td [(;)-1167(R)]TJ/F23 7.9701 Tf 24.125 4.504 Td [(k)]TJ/F25 10.9091 Tf 8.15 -4.504 Td [(2)]TJ/F34 10.9091 Tf 10.303 0 Td [(R)]TJ/F23 7.9701 Tf 7.879 4.504 Td [(n)]TJ/F24 5.9776 Tf 5.138 -1.405 Td [(k)]TJ/F21 5.9776 Tf 4.075 0 Td [(+1)]TJ/F26 7.9701 Tf 9.741 1.405 Td [(\002)]TJ/F23 7.9701 Tf 6.587 0 Td [(n)]TJ/F24 5.9776 Tf 5.138 -1.405 Td [(k)]TJ/F15 10.9091 Tf 5.071 -3.099 Td [(;)]TJ -283.114 -23.491 Td [(the)-282(matrix)]TJ/F22 10.9091 Tf 53.146 0 Td [(A)]TJ/F23 7.9701 Tf 8.182 3.959 Td [(k)]TJ/F20 7.9701 Tf 4.621 0 Td [(+1)]TJ/F15 10.9091 Tf 14.392 -3.959 Td [(is)-282(computed)-281(b)27(y)-281(using)-282(the)-282(previou)1(s)-282(op)-28(erators)-282(according)-281(to)-282(the)-282(Galerkin)]TJ -80.341 -13.549 Td [(approac)28(h,)-333(i.e.,)]TJ/F22 10.9091 Tf 165.163 -13.549 Td [(A)]TJ/F23 7.9701 Tf 8.182 4.504 Td [(k)]TJ/F20 7.9701 Tf 4.621 0 Td [(+1)]TJ/F15 10.9091 Tf 14.349 -4.504 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(R)]TJ/F23 7.9701 Tf 8.368 4.504 Td [(k)]TJ/F22 10.9091 Tf 5.12 -4.504 Td [(A)]TJ/F23 7.9701 Tf 8.181 4.504 Td [(k)]TJ/F22 10.9091 Tf 5.12 -4.504 Td [(P)]TJ/F23 7.9701 Tf 8.519 4.504 Td [(k)]TJ/F22 10.9091 Tf 5.12 -4.504 Td [(:)]TJ/F15 10.9091 Tf -244.258 -19.516 Td [(In)-476(the)-477(curren)28(t)-476(implemen)28(tation)-477(of)-476(MLD2P4)-476(w)28(e)-477(ha)28(v)28(e)]TJ/F22 10.9091 Tf 261.479 0 Td [(R)]TJ/F23 7.9701 Tf 8.368 3.958 Td [(k)]TJ/F15 10.9091 Tf 10.749 -3.958 Td [(=)-516(\050)]TJ/F22 10.9091 Tf 18.358 0 Td [(P)]TJ/F23 7.9701 Tf 8.519 3.958 Td [(k)]TJ/F15 10.9091 Tf 5.119 -3.958 Td [(\051)]TJ/F23 7.9701 Tf 4.243 3.958 Td [(T)]TJ/F15 10.9091 Tf 11.801 -3.958 Td [(A)-476(smo)-28(other)-476(with)]TJ -328.636 -13.55 Td [(iteration)-441(matrix)]TJ/F22 10.9091 Tf 82.101 0 Td [(M)]TJ/F23 7.9701 Tf 11.773 3.959 Td [(k)]TJ/F15 10.9091 Tf 9.928 -3.959 Td [(is)-441(set)-441(up)-440(at)-441(eac)28(h)-441(lev)28(el)]TJ/F22 10.9091 Tf 113.517 0 Td [(k)-488(<)-457(nl)-20(ev)]TJ/F15 10.9091 Tf 45.251 0 Td [(,)-468(and)-440(a)-441(solv)28(er)-441(is)-441(set)-441(up)-440(at)-441(the)]TJ -262.57 -13.549 Td [(coarsest)-369(lev)28(el,)-378(so)-368(that)-369(they)-369(are)-369(ready)-368(for)-369(application)-369(\050for)-368(example,)-378(setting)-369(up)-368(a)-369(solv)28(er)]TJ 0 -13.549 Td [(based)-292(on)-291(the)]TJ/F22 10.9091 Tf 62.938 0 Td [(LU)]TJ/F15 10.9091 Tf 19.243 0 Td [(factorization)-292(means)-291(computing)-292(and)-291(storing)-292(the)]TJ/F22 10.9091 Tf 224.422 0 Td [(L)]TJ/F15 10.9091 Tf 10.605 0 Td [(and)]TJ/F22 10.9091 Tf 20.757 0 Td [(U)]TJ/F15 10.9091 Tf 11.819 0 Td [(factors\051.)-431(The)]TJ -349.784 -13.549 Td [(construction)-345(of)-344(the)-345(hierarc)28(h)27(y)-344(of)-345(AMG)-345(comp)-28(on)1(e)-1(n)28(ts)-345(d)1(e)-1(scrib)-27(ed)-345(so)-345(far)-345(corresp)-27(onds)-345(to)-345(the)]TJ 0 -13.549 Td [(so-called)-333(build)-334(ph)1(as)-1(e)-333(of)-333(the)-334(p)1(rec)-1(on)1(ditioner.)]TJ 16.936 -13.55 Td [(The)-359(com)-1(p)-27(onen)28(ts)-360(pro)-28(du)1(c)-1(ed)-359(in)-359(the)-360(build)-359(phase)-359(ma)27(y)-359(b)-28(e)-359(com)28(bined)-360(in)-359(sev)28(eral)-360(w)28(a)28(ys)-360(to)]TJ -16.936 -13.549 Td [(obtain)-306(di\013eren)28(t)-306(m)27(ultilev)28(el)-306(preconditioners;)-315(this)-306(is)-306(done)-307(in)-306(the)-306(application)-306(phase,)-312(i)1(.e)-1(.)1(,)-312(in)]TJ 0 -13.549 Td [(the)-391(computation)-391(of)-391(a)-391(v)27(ector)-391(of)-391(t)28(yp)-28(e)]TJ/F22 10.9091 Tf 178.081 0 Td [(w)]TJ/F15 10.9091 Tf 12.185 0 Td [(=)]TJ/F22 10.9091 Tf 12.566 0 Td [(B)]TJ/F26 7.9701 Tf 8.822 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F22 10.9091 Tf 4.732 -3.959 Td [(v)]TJ/F15 10.9091 Tf 5.68 0 Td [(,)-406(where)]TJ/F22 10.9091 Tf 39.631 0 Td [(B)]TJ/F15 10.9091 Tf 13.089 0 Td [(denotes)-391(the)-391(preconditioner,)]TJ -281.372 -13.549 Td [(usually)-334(with)1(in)-334(an)-334(iteration)-333(of)-334(a)-334(Kr)1(ylo)27(v)-333(solv)27(er)-333([)]TJ +1 0 0 rg 1 0 0 RG + [(20)]TJ +0 g 0 G + [(].)-446(An)-333(example)-334(of)-333(s)-1(u)1(c)27(h)-333(a)-334(com)28(bination,)]TJ 0 -13.549 Td [(kno)28(wn)-448(as)-448(V-cycle,)-476(is)-448(giv)28(en)-448(in)-447(Figure)]TJ +0 0 1 rg 0 0 1 RG + [-448(1)]TJ +0 g 0 G + [(.)-788(In)-447(this)-448(case,)-476(a)-448(single)-448(iteration)-448(of)-447(the)-448(same)]TJ 0 -13.549 Td [(smo)-28(other)-333(is)-332(used)-333(b)-28(efore)-333(and)-332(after)-333(the)-333(the)-333(recursiv)28(e)-333(call)-333(to)-332(the)-333(V-cycle)-333(\050i.e.,)-333(in)-333(th)1(e)-333(pre-)]TJ 0 -13.55 Td [(smo)-28(othing)-409(an)1(d)-409(p)-28(ost-smo)-28(othing)-409(ph)1(as)-1(es\051;)-446(ho)28(w)27(ev)28(er,)-427(di\013eren)27(t)-408(c)27(hoices)-409(can)-408(b)-28(e)-409(p)-28(erformed.)]TJ 0 -13.549 Td [(Other)-405(cycles)-405(c)-1(an)-405(b)-27(e)-406(de\014ned;)-441(in)-405(MLD2P4,)-423(w)28(e)-405(implemen)27(ted)-405(the)-405(standard)-405(V-cycle)-405(and)]TJ 0 -13.549 Td [(W-cycle)-333([)]TJ +1 0 0 rg 1 0 0 RG + [(3)]TJ +0 g 0 G + [(],)-334(and)-333(a)-333(v)28(e)-1(r)1(s)-1(ion)-333(of)-333(the)-333(K-cyc)-1(l)1(e)-334(describ)-28(ed)-333(in)-333([)]TJ +1 0 0 rg 1 0 0 RG + [(19)]TJ +0 g 0 G + [(].)]TJ/F17 11.9552 Tf 0 -29.053 Td [(4.2)-1125(Smo)-31(othed)-375(Aggregation)]TJ/F15 10.9091 Tf 0 -20.595 Td [(In)-374(order)-374(to)-374(de\014ne)-374(the)-375(prolongator)]TJ/F22 10.9091 Tf 167.339 0 Td [(P)]TJ/F23 7.9701 Tf 8.519 3.959 Td [(k)]TJ/F15 10.9091 Tf 5.12 -3.959 Td [(,)-384(used)-375(to)-374(compute)-374(the)-374(coarse-lev)28(el)-375(matrix)]TJ/F22 10.9091 Tf 204.32 0 Td [(A)]TJ/F23 7.9701 Tf 8.182 3.959 Td [(k)]TJ/F20 7.9701 Tf 4.622 0 Td [(+1)]TJ/F15 10.9091 Tf 11.319 -3.959 Td [(,)]TJ -409.421 -13.549 Td [(MLD2P4)-319(uses)-320(the)-319(smo)-28(othed)-319(aggregation)-319(algorithm)-320(describ)-27(ed)-320(in)-319([)]TJ +1 0 0 rg 1 0 0 RG + [(2)]TJ +0 g 0 G + [(,)]TJ +1 0 0 rg 1 0 0 RG + [-319(25)]TJ +0 g 0 G + [(].)-440(The)-319(basic)-320(idea)]TJ 0 -13.549 Td [(of)-270(this)-271(algorithm)-270(is)-271(to)-270(build)-270(a)-271(coarse)-270(se)-1(t)-270(of)-270(indices)-271(\012)]TJ/F23 7.9701 Tf 243.122 3.959 Td [(k)]TJ/F20 7.9701 Tf 4.621 0 Td [(+1)]TJ/F15 10.9091 Tf 14.27 -3.959 Td [(b)28(y)-271(suitabl)1(y)-271(grouping)-270(the)-271(indices)]TJ -262.013 -13.549 Td [(of)-350(\012)]TJ/F23 7.9701 Tf 20.481 3.959 Td [(k)]TJ/F15 10.9091 Tf 8.934 -3.959 Td [(in)28(to)-350(disjoin)28(t)-350(sub)1(s)-1(ets)-349(\050aggregates\051,)-354(and)-350(to)-349(de\014ne)-350(the)-349(coarse)-1(-to-\014n)1(e)-350(space)-350(transfer)]TJ +0 g 0 G +0 g 0 G +ET + +endstream +endobj +377 0 obj +<< +/Length 11453 +>> +stream +0 g 0 G +0 0 1 rg 0 0 1 RG +BT +/F42 10.9091 Tf 93.6 740.002 Td [(4)]TJ +0 g 0 G + [-378(Mul)67(tigrid)-378(Ba)22(ck)22(gr)23(ound)]TJ/F15 10.9091 Tf 401.542 0 Td [(13)]TJ +0 g 0 G +0 g 0 G +0 g 0 G +0 g 0 G +0 g 0 G +0 g 0 G + -292.247 -42.833 Td [(pro)-28(cedure)-333(V-cycle)]TJ/F28 10.9091 Tf 85.818 8.837 Td [(\000)]TJ/F22 10.9091 Tf 5 -8.837 Td [(k)-32(;)-166(A)]TJ/F23 7.9701 Tf 19.053 3.959 Td [(k)]TJ/F22 10.9091 Tf 5.12 -3.959 Td [(;)-167(b)]TJ/F23 7.9701 Tf 9.53 3.959 Td [(k)]TJ/F22 10.9091 Tf 5.12 -3.959 Td [(;)-167(u)]TJ/F23 7.9701 Tf 11.093 3.959 Td [(k)]TJ/F28 10.9091 Tf 5.12 4.878 Td [(\001)]TJ/F15 10.9091 Tf -134.945 -28.055 Td [(if)-333(\050)]TJ/F22 10.9091 Tf 14.242 0 Td [(k)]TJ/F25 10.9091 Tf 9.053 0 Td [(6)]TJ/F15 10.9091 Tf 0 0 Td [(=)]TJ/F22 10.9091 Tf 11.516 0 Td [(nl)-20(ev)]TJ/F15 10.9091 Tf 20.776 0 Td [(\051)-333(then)]TJ/F22 10.9091 Tf -44.678 -16.393 Td [(u)]TJ/F23 7.9701 Tf 6.245 3.958 Td [(k)]TJ/F15 10.9091 Tf 8.15 -3.958 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(u)]TJ/F23 7.9701 Tf 6.245 3.958 Td [(k)]TJ/F15 10.9091 Tf 7.544 -3.958 Td [(+)]TJ/F22 10.9091 Tf 10.909 0 Td [(M)]TJ/F23 7.9701 Tf 11.773 3.958 Td [(k)]TJ/F28 10.9091 Tf 6.938 4.878 Td [(\000)]TJ/F22 10.9091 Tf 5 -8.836 Td [(b)]TJ/F23 7.9701 Tf 4.682 3.958 Td [(k)]TJ/F25 10.9091 Tf 7.544 -3.958 Td [(\000)]TJ/F22 10.9091 Tf 10.909 0 Td [(A)]TJ/F23 7.9701 Tf 8.181 3.958 Td [(k)]TJ/F22 10.9091 Tf 5.12 -3.958 Td [(u)]TJ/F23 7.9701 Tf 6.245 3.958 Td [(k)]TJ/F28 10.9091 Tf 5.12 4.878 Td [(\001)]TJ/F22 10.9091 Tf -122.12 -25.229 Td [(b)]TJ/F23 7.9701 Tf 4.682 3.958 Td [(k)]TJ/F20 7.9701 Tf 4.622 0 Td [(+1)]TJ/F15 10.9091 Tf 14.349 -3.958 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(R)]TJ/F23 7.9701 Tf 8.367 3.958 Td [(k)]TJ/F20 7.9701 Tf 4.622 0 Td [(+1)]TJ/F28 10.9091 Tf 13.137 4.878 Td [(\000)]TJ/F22 10.9091 Tf 5 -8.836 Td [(b)]TJ/F23 7.9701 Tf 4.682 3.958 Td [(k)]TJ/F25 10.9091 Tf 7.544 -3.958 Td [(\000)]TJ/F22 10.9091 Tf 10.909 0 Td [(A)]TJ/F23 7.9701 Tf 8.181 3.958 Td [(k)]TJ/F22 10.9091 Tf 5.12 -3.958 Td [(u)]TJ/F23 7.9701 Tf 6.245 3.958 Td [(k)]TJ/F28 10.9091 Tf 5.12 4.878 Td [(\001)]TJ/F22 10.9091 Tf -114.095 -25.229 Td [(u)]TJ/F23 7.9701 Tf 6.245 3.958 Td [(k)]TJ/F20 7.9701 Tf 4.622 0 Td [(+1)]TJ/F15 10.9091 Tf 14.349 -3.958 Td [(=)-333(V-cycle)]TJ/F28 10.9091 Tf 47.273 8.836 Td [(\000)]TJ/F22 10.9091 Tf 5 -8.836 Td [(k)]TJ/F15 10.9091 Tf 8.447 0 Td [(+)-222(1)]TJ/F22 10.9091 Tf 16.363 0 Td [(;)-167(A)]TJ/F23 7.9701 Tf 13.03 3.958 Td [(k)]TJ/F20 7.9701 Tf 4.622 0 Td [(+1)]TJ/F22 10.9091 Tf 11.319 -3.958 Td [(;)-167(b)]TJ/F23 7.9701 Tf 9.53 3.958 Td [(k)]TJ/F20 7.9701 Tf 4.622 0 Td [(+1)]TJ/F22 10.9091 Tf 11.319 -3.958 Td [(;)]TJ/F15 10.9091 Tf 4.848 0 Td [(0)]TJ/F28 10.9091 Tf 5.455 8.836 Td [(\001)]TJ/F22 10.9091 Tf -167.044 -25.229 Td [(u)]TJ/F23 7.9701 Tf 6.245 3.958 Td [(k)]TJ/F15 10.9091 Tf 8.15 -3.958 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(u)]TJ/F23 7.9701 Tf 6.245 3.958 Td [(k)]TJ/F15 10.9091 Tf 7.544 -3.958 Td [(+)]TJ/F22 10.9091 Tf 10.909 0 Td [(P)]TJ/F23 7.9701 Tf 8.519 3.958 Td [(k)]TJ/F20 7.9701 Tf 4.622 0 Td [(+1)]TJ/F22 10.9091 Tf 11.319 -3.958 Td [(u)]TJ/F23 7.9701 Tf 6.245 3.958 Td [(k)]TJ/F20 7.9701 Tf 4.621 0 Td [(+1)]TJ/F22 10.9091 Tf -85.934 -20.352 Td [(u)]TJ/F23 7.9701 Tf 6.245 3.959 Td [(k)]TJ/F15 10.9091 Tf 8.15 -3.959 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(u)]TJ/F23 7.9701 Tf 6.245 3.959 Td [(k)]TJ/F15 10.9091 Tf 7.544 -3.959 Td [(+)]TJ/F22 10.9091 Tf 10.909 0 Td [(M)]TJ/F23 7.9701 Tf 11.773 3.959 Td [(k)]TJ/F28 10.9091 Tf 6.938 4.878 Td [(\000)]TJ/F22 10.9091 Tf 5 -8.837 Td [(b)]TJ/F23 7.9701 Tf 4.682 3.959 Td [(k)]TJ/F25 10.9091 Tf 7.544 -3.959 Td [(\000)]TJ/F22 10.9091 Tf 10.909 0 Td [(A)]TJ/F23 7.9701 Tf 8.181 3.959 Td [(k)]TJ/F22 10.9091 Tf 5.12 -3.959 Td [(u)]TJ/F23 7.9701 Tf 6.245 3.959 Td [(k)]TJ/F28 10.9091 Tf 5.12 4.878 Td [(\001)]TJ/F15 10.9091 Tf -133.029 -25.22 Td [(else)]TJ/F22 10.9091 Tf 10.909 -18.375 Td [(u)]TJ/F23 7.9701 Tf 6.245 3.959 Td [(k)]TJ/F15 10.9091 Tf 8.15 -3.959 Td [(=)]TJ/F28 10.9091 Tf 11.515 8.836 Td [(\000)]TJ/F22 10.9091 Tf 5 -8.836 Td [(A)]TJ/F23 7.9701 Tf 8.182 3.959 Td [(k)]TJ/F28 10.9091 Tf 5.12 4.877 Td [(\001)]TJ/F26 7.9701 Tf 5 -2.497 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F22 10.9091 Tf 6.551 -6.339 Td [(b)]TJ/F23 7.9701 Tf 4.682 3.959 Td [(k)]TJ/F15 10.9091 Tf -77.94 -20.343 Td [(endif)]TJ 0 -16.393 Td [(return)]TJ/F22 10.9091 Tf 33.394 0 Td [(u)]TJ/F23 7.9701 Tf 6.245 3.959 Td [(k)]TJ/F15 10.9091 Tf -50.548 -20.343 Td [(end)]TJ +ET +q +1 0 0 1 195.871 714.896 cm +[]0 d 0 J 0.398 w 0 0 m 207.909 0 l S +Q +q +1 0 0 1 196.071 504.814 cm []0 d 0 J 0.398 w 0 0 m 0 210.082 l S Q q @@ -2057,7 +2074,7 @@ ET endstream endobj -362 0 obj +392 0 obj << /Length 15462 >> @@ -2101,7 +2118,7 @@ ET endstream endobj -371 0 obj +401 0 obj << /Length 7392 >> @@ -2152,9 +2169,9 @@ ET endstream endobj -384 0 obj +414 0 obj << -/Length 8439 +/Length 8437 >> stream 0 g 0 G @@ -2213,20 +2230,20 @@ BT 0 g 0 G -87.515 -23.442 Td [(5.)]TJ 0 g 0 G -/F18 10.9091 Tf 13.94 0 Td [(Apply)-282(the)-281(pr)51(e)51(c)51(onditioner)-281(at)-282(e)51(ach)-282(iter)52(ation)-282(of)-282(a)-281(Krylov)-282(solver.)]TJ/F15 10.9091 Tf 288.311 0 Td [(This)-251(is)-250(p)-28(erformed)-250(b)27(y)]TJ -288.311 -13.549 Td [(the)-267(routine)]TJ/F45 10.9091 Tf 54.951 0 Td [(aply)]TJ/F15 10.9091 Tf 22.908 0 Td [(.)-422(When)-268(usin)1(g)-268(the)-267(PSBLAS)-267(Krylo)28(v)-267(solv)28(ers,)-281(this)-267(step)-267(is)-267(c)-1(ompl)1(e)-1(tely)]TJ -77.859 -13.549 Td [(transparen)28(t)-265(to)-264(the)-265(user,)-278(since)]TJ/F45 10.9091 Tf 140.005 0 Td [(aply)]TJ/F15 10.9091 Tf 25.795 0 Td [(is)-265(called)-264(b)28(y)-265(the)-265(P)1(SBLAS)-265(routine)-264(implemen)27(ting)]TJ -165.8 -13.55 Td [(the)-333(Krylo)28(v)-334(solv)28(er)-333(\050)]TJ/F45 10.9091 Tf 90.121 0 Td [(psb_krylov)]TJ/F15 10.9091 Tf 57.272 0 Td [(\051.)]TJ +/F18 10.9091 Tf 13.94 0 Td [(Apply)-387(the)-388(pr)51(e)52(c)51(onditioner)-388(at)-387(e)51(ach)-387(iter)51(ation)-388(of)-387(a)-387(Krylov)-388(solver.)]TJ/F15 10.9091 Tf 300.051 0 Td [(This)-366(is)-365(p)-28(erformed)]TJ -300.051 -13.549 Td [(b)28(y)-487(the)-487(metho)-27(d)]TJ/F45 10.9091 Tf 78.657 0 Td [(apply)]TJ/F15 10.9091 Tf 28.636 0 Td [(.)-905(When)-486(using)-487(the)-487(PSBLAS)-486(Krylo)28(v)-487(solv)28(ers,)-525(this)-487(step)-487(is)]TJ -107.293 -13.549 Td [(completely)-324(transparen)28(t)-323(to)-324(the)-324(user,)-325(since)]TJ/F45 10.9091 Tf 197.842 0 Td [(apply)]TJ/F15 10.9091 Tf 32.167 0 Td [(is)-324(called)-323(b)27(y)-323(the)-324(PSBLAS)-323(routine)]TJ -230.009 -13.55 Td [(implemen)28(ting)-333(the)-334(Krylo)28(v)-333(solv)28(e)-1(r)-333(\050)]TJ/F45 10.9091 Tf 158.303 0 Td [(psb_krylov)]TJ/F15 10.9091 Tf 57.272 0 Td [(\051.)]TJ 0 g 0 G - -161.333 -23.442 Td [(6.)]TJ + -229.515 -23.442 Td [(6.)]TJ 0 g 0 G -/F18 10.9091 Tf 13.94 0 Td [(F)77(r)51(e)51(e)-439(the)-439(pr)51(e)51(c)51(onditioner)-438(data)-439(structur)51(e)]TJ/F15 10.9091 Tf 183.092 0 Td [(.)-709(This)-422(is)-421(p)-28(erformed)-421(b)27(y)-421(the)-422(routine)]TJ/F45 10.9091 Tf 176.147 0 Td [(free)]TJ/F15 10.9091 Tf 22.909 0 Td [(.)]TJ -382.148 -13.549 Td [(This)-326(step)-327(is)-326(complemen)28(tary)-326(to)-327(step)-326(1)-326(and)-326(should)-326(b)-28(e)-326(p)-28(erformed)-326(when)-327(the)-326(precon-)]TJ 0 -13.549 Td [(ditioner)-333(is)-334(n)1(o)-334(more)-333(used.)]TJ +/F18 10.9091 Tf 13.94 0 Td [(F)77(r)51(e)51(e)-439(the)-439(pr)51(e)51(c)51(onditioner)-438(dat)-1(a)-438(structur)51(e)]TJ/F15 10.9091 Tf 183.092 0 Td [(.)-709(This)-422(is)-421(p)-28(erformed)-421(b)27(y)-421(the)-422(routine)]TJ/F45 10.9091 Tf 176.147 0 Td [(free)]TJ/F15 10.9091 Tf 22.909 0 Td [(.)]TJ -382.148 -13.549 Td [(This)-326(step)-327(is)-326(complemen)28(tary)-326(to)-327(step)-326(1)-326(and)-326(should)-326(b)-28(e)-326(p)-28(erformed)-326(when)-327(the)-326(precon-)]TJ 0 -13.549 Td [(ditioner)-333(is)-334(no)-333(more)-333(used.)]TJ 0 g 0 G 0 g 0 G ET endstream endobj -403 0 obj +433 0 obj << -/Length 9332 +/Length 9330 >> stream 0 g 0 G @@ -2294,14 +2311,14 @@ q []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q BT -/F45 10.9091 Tf 237.518 619.219 Td [('NOPREC')]TJ +/F45 10.9091 Tf 237.518 619.219 Td [('NONE')]TJ ET q 1 0 0 1 294.519 601.605 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q BT -/F15 10.9091 Tf 300.497 619.219 Td [(Considered)-680(only)-681(to)-680(use)-681(th)1(e)-681(PSBLAS)-680(Krylo)28(v)]TJ 0 -13.549 Td [(solv)28(ers)-334(with)-333(no)-333(preconditioner.)]TJ +/F15 10.9091 Tf 300.497 619.219 Td [(Considered)-507(to)-506(use)-507(the)-507(PSBLAS)-507(Kr)1(ylo)27(v)-506(solv)27(ers)]TJ 0 -13.549 Td [(with)-333(no)-334(pr)1(e)-1(cond)1(itioner.)]TJ ET q 1 0 0 1 538.915 601.605 cm @@ -2516,141 +2533,168 @@ ET endstream endobj -415 0 obj -<< -/Length 8728 ->> -stream -0 g 0 G -BT -/F15 10.9091 Tf 86.4 740.002 Td [(18)]TJ/F42 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ -0 g 0 G -/F17 11.9552 Tf -203.265 -35.866 Td [(5.1)-1125(Examples)]TJ/F15 10.9091 Tf 0 -20.594 Td [(The)-262(co)-28(de)-262(rep)-28(orted)-262(in)-262(Figure)]TJ -0 0 1 rg 0 0 1 RG - [-262(2)]TJ -0 g 0 G - [-263(sho)28(ws)-262(ho)28(w)-262(to)-263(set)-262(and)-262(apply)-262(the)-262(default)-262(m)27(ultilev)28(el)-262(precon-)]TJ 0 -13.549 Td [(ditioner)-371(a)28(v)55(ailabl)1(e)-372(in)-371(the)-371(real)-371(double)-371(precision)-371(v)28(ersion)-371(of)-371(MLD2P4)-371(\050see)-371(T)83(able)]TJ -0 0 1 rg 0 0 1 RG - [-371(1)]TJ -0 g 0 G - [(\051.)-558(This)]TJ 0 -13.55 Td [(preconditioner)-365(is)-364(c)27(hosen)-364(b)27(y)-364(sim)-1(p)1(ly)-365(sp)-28(ecifying)]TJ/F45 10.9091 Tf 220.847 0 Td [('ML')]TJ/F15 10.9091 Tf 26.888 0 Td [(as)-365(the)-365(second)-364(argumen)27(t)-364(of)]TJ/F45 10.9091 Tf 130.353 0 Td [(P%init)]TJ/F15 10.9091 Tf -378.088 -13.549 Td [(\050a)-306(call)-305(to)]TJ/F45 10.9091 Tf 45.76 0 Td [(P%set)]TJ/F15 10.9091 Tf 31.97 0 Td [(is)-306(not)-305(needed\051)-306(and)-305(is)-306(applied)-305(w)-1(i)1(th)-306(the)-306(CG)-305(solv)27(er)-305(pro)28(vided)-306(b)28(y)-306(PSBLAS)]TJ -77.73 -13.549 Td [(\050the)-394(matrix)-394(of)-395(the)-394(system)-394(to)-395(b)-27(e)-395(solv)28(ed)-394(is)-394(assumed)-395(to)-394(b)-28(e)-394(p)-28(ositiv)28(e)-394(de\014nite\051.)-627(As)-395(previ-)]TJ 0 -13.549 Td [(ously)-315(observ)28(ed,)-319(the)-315(mo)-28(dules)]TJ/F45 10.9091 Tf 137.03 0 Td [(psb_base_mod)]TJ/F15 10.9091 Tf 68.726 0 Td [(,)]TJ/F45 10.9091 Tf 6.507 0 Td [(mld_prec_mod)]TJ/F15 10.9091 Tf 72.164 0 Td [(and)]TJ/F45 10.9091 Tf 21.012 0 Td [(psb_krylov_mod)]TJ/F15 10.9091 Tf 83.618 0 Td [(m)28(ust)]TJ -389.057 -13.549 Td [(b)-28(e)-333(used)-333(b)27(y)-333(the)-333(example)-334(program.)]TJ 16.936 -13.55 Td [(The)-395(part)-395(of)-395(the)-395(co)-28(de)-395(concerning)-395(the)-395(reading)-395(and)-395(assem)27(blin)1(g)-396(of)-395(the)-395(sparse)-395(matrix)]TJ -16.936 -13.549 Td [(and)-457(the)-456(righ)27(t-han)1(d)-457(side)-457(v)28(ector,)-488(p)-28(erformed)-456(through)-457(the)-457(PSBLAS)-456(routines)-457(for)-457(sparse)]TJ 0 -13.549 Td [(matrix)-385(and)-385(v)28(ector)-386(managemen)28(t,)-398(is)-385(not)-385(rep)-28(orted)-385(here)-385(for)-385(brevit)28(y;)-412(t)1(he)-386(statemen)28(ts)-385(con-)]TJ 0 -13.549 Td [(cerning)-265(the)-264(deallo)-28(cation)-265(of)-264(the)-265(PSBLAS)-264(data)-265(structure)-265(are)-264(neglec)-1(ted)-264(to)-28(o.)-422(Th)1(e)-265(complete)]TJ 0 -13.549 Td [(co)-28(de)-306(can)-307(b)-27(e)-307(found)-306(in)-307(the)-306(example)-307(program)-306(\014le)]TJ/F45 10.9091 Tf 223.484 0 Td [(mld_dexample_ml.f90)]TJ/F15 10.9091 Tf 108.817 0 Td [(,)-312(in)-306(the)-307(directory)]TJ/F45 10.9091 Tf -332.301 -13.55 Td [(examples/fileread)]TJ/F15 10.9091 Tf 101.269 0 Td [(of)-358(the)-358(MLD2P4)-358(implemen)28(tation)-358(\050see)-359(Section)]TJ -0 0 1 rg 0 0 1 RG - [-358(3.5)]TJ -0 g 0 G - [(\051.)-518(A)-358(sample)-358(tes)-1(t)]TJ -101.269 -13.549 Td [(problem)-375(along)-374(with)-375(the)-375(relev)56(an)28(t)-375(input)-374(data)-375(is)-375(a)28(v)56(ailable)-375(in)]TJ/F45 10.9091 Tf 283.422 0 Td [(examples/fileread/runs)]TJ/F15 10.9091 Tf 125.999 0 Td [(.)]TJ -409.421 -13.549 Td [(F)83(or)-333(details)-333(on)-334(th)1(e)-334(use)-333(of)-334(th)1(e)-334(PSBLAS)-333(routines,)-333(see)-334(the)-333(PSBLAS)-333(User's)-334(Guide)-333([)]TJ -1 0 0 rg 1 0 0 RG - [(13)]TJ -0 g 0 G - [(].)]TJ 16.936 -13.549 Td [(The)-279(setup)-278(and)-279(application)-279(of)-278(the)-279(default)-279(m)28(ultilev)28(el)-279(preconditi)1(oner)-279(for)-279(the)-278(real)-279(single)]TJ -16.936 -13.549 Td [(precision)-494(and)-495(the)-494(complex,)-535(single)-494(and)-495(dou)1(ble)-495(precision,)-534(v)27(ersions)-494(are)-495(obtain)1(e)-1(d)-494(with)]TJ 0 -13.55 Td [(straigh)28(tforw)28(ard)-229(mo)-28(di\014cations)-229(of)-229(the)-228(previous)-229(example)-229(\050see)-229(Section)]TJ -0 0 1 rg 0 0 1 RG - [-229(6)]TJ -0 g 0 G - [-229(for)-229(details\051.)-409(If)-229(these)]TJ 0 -13.549 Td [(v)28(ersions)-334(are)-333(installed,)-333(the)-333(c)-1(or)1(res)-1(p)-27(onding)-333(c)-1(o)-27(des)-334(are)-333(a)28(v)55(ailable)-333(in)]TJ/F45 10.9091 Tf 300.455 0 Td [(examples/fileread/)]TJ/F15 10.9091 Tf 103.089 0 Td [(.)]TJ -386.608 -13.549 Td [(Di\013eren)28(t)-331(v)28(ersions)-331(of)-330(the)-331(m)28(ultilev)28(el)-331(precondit)1(ioner)-331(can)-331(b)-27(e)-331(obtained)-330(b)28(y)-331(c)28(hanging)-331(the)]TJ -16.936 -13.549 Td [(default)-357(v)55(alues)-357(of)-357(the)-358(p)1(re)-1(cond)1(itioner)-358(parameters.)-516(The)-357(c)-1(o)-27(de)-358(rep)-27(orted)-358(in)-357(Figure)]TJ -0 0 1 rg 0 0 1 RG - [-357(3)]TJ -0 g 0 G - [-357(sho)27(ws)]TJ 0 -13.549 Td [(ho)28(w)-439(to)-439(set)-439(a)-440(V-cycle)-439(preconditioner)-439(whic)28(h)-439(applies)-439(1)-439(blo)-28(c)28(k-Jacobi)-439(sw)28(eep)-440(as)-439(pre-)-439(and)]TJ 0 -13.55 Td [(p)-28(ost-smo)-28(other,)-379(and)-371(solv)28(es)-371(the)-370(coarsest-lev)28(e)-1(l)-370(system)-371(with)-370(8)-371(b)1(lo)-28(c)27(k)1(-)-1(Jacobi)-370(sw)28(eeps.)-556(Note)]TJ 0 -13.549 Td [(that)-272(th)1(e)-272(ILU\0500\051)-272(factorization)-271(\050plus)-272(triangular)-271(solv)28(e\051)-272(is)-272(used)-271(as)-272(lo)-28(cal)-271(solv)28(e)-1(r)-271(for)-272(the)-271(blo)-28(c)28(k-)]TJ 0 -13.549 Td [(Jacobi)-297(sw)28(eeps,)-304(since)-297(this)-296(is)-297(the)-297(d)1(e)-1(f)1(ault)-297(asso)-28(ciated)-297(with)-296(blo)-28(c)28(k-Jacobi)-297(and)-296(set)-297(b)28(y)]TJ/F45 10.9091 Tf 375.057 0 Td [(P%init)]TJ/F15 10.9091 Tf 34.364 0 Td [(.)]TJ -409.421 -13.549 Td [(F)83(urthermore,)-347(s)-1(p)-27(ecifying)-345(blo)-28(c)28(k-Jacobi)-345(as)-345(coarsest-lev)27(el)-345(solv)28(er)-345(implies)-345(that)-345(the)-345(coarsest-)]TJ 0 -13.549 Td [(lev)28(el)-361(matrix)-360(is)-360(distributed)-361(among)-360(the)-360(pro)-28(cesses.)-526(Figure)]TJ -0 0 1 rg 0 0 1 RG - [-360(4)]TJ -0 g 0 G - [-361(sho)28(ws)-360(ho)27(w)-360(to)-360(set)-361(a)-360(W-cycle)]TJ 0 -13.549 Td [(preconditioner)-346(whic)27(h)-346(applies)-346(2)-347(h)28(ybrid)-346(Gauss)-1(-Seid)1(e)-1(l)-346(sw)28(eeps)-347(as)-346(pre-)-347(and)-346(p)-28(ost-smo)-28(other,)]TJ 0 -13.55 Td [(and)-261(solv)28(e)-1(s)-261(the)-261(coarsest-lev)27(el)-261(system)-262(with)-261(the)-261(m)28(ultifron)28(tal)-262(LU)-261(factorization)-261(implemen)27(ted)]TJ 0 -13.549 Td [(in)-350(MUMPS.)-350(It)-350(is)-350(sp)-28(eci\014ed)-350(that)-350(the)-350(coarsest-lev)28(e)-1(l)-350(matrix)-350(is)-350(distributed,)-354(since)-350(MUMPS)]TJ 0 -13.549 Td [(can)-371(b)-28(e)-371(used)-371(on)-372(b)-27(oth)-371(replicated)-372(and)-371(distribu)1(te)-1(d)-371(matrices,)-380(and)-372(b)28(y)-371(default)-371(it)-371(is)-371(used)-372(on)]TJ 0 -13.549 Td [(replicated)-459(ones.)-821(The)-459(c)-1(o)-27(de)-459(fragmen)28(ts)-460(sho)28(wn)-459(in)-459(Figures)]TJ -0 0 1 rg 0 0 1 RG - [-459(3)]TJ -0 g 0 G - [-459(and)]TJ -0 0 1 rg 0 0 1 RG - [-459(4)]TJ -0 g 0 G - [-459(are)-459(includ)1(e)-1(d)-458(in)-459(the)]TJ 0 -13.549 Td [(example)-333(program)-334(\014le)]TJ/F45 10.9091 Tf 104 0 Td [(mld_dexample_ml.f90)]TJ/F15 10.9091 Tf 112.453 0 Td [(to)-28(o.)]TJ -199.517 -13.55 Td [(Finally)83(,)-451(Figure)]TJ -0 0 1 rg 0 0 1 RG - [-427(5)]TJ -0 g 0 G - [-428(sho)28(ws)-428(the)-428(setup)-427(of)-428(a)-427(one-le)-1(v)28(el)-427(additiv)28(e)-428(Sc)28(h)27(w)28(arz)-427(preconditioner,)]TJ -16.936 -13.549 Td [(i.e.,)-373(RAS)-364(with)-365(o)28(v)27(erlap)-364(2.)-539(Note)-365(also)-365(that)-364(a)-365(Krylo)28(v)-365(metho)-28(d)-365(di\013eren)28(t)-365(from)-364(C)-1(G)-364(m)27(ust)-364(b)-28(e)]TJ 0 -13.549 Td [(used)-294(to)-294(solv)28(e)-294(the)-294(p)1(re)-1(cond)1(itioned)-294(system,)-302(since)-294(the)-294(preconditione)-293(in)-294(nonsymmetric.)-432(Th)1(e)]TJ 0 -13.549 Td [(corresp)-28(onding)-333(example)-333(program)-334(is)-333(a)28(v)55(ailable)-333(in)-333(the)-333(\014le)]TJ/F45 10.9091 Tf 261.455 0 Td [(mld_dexample_1lev.f90)]TJ/F15 10.9091 Tf 120.271 0 Td [(.)]TJ -364.79 -13.549 Td [(F)83(or)-452(all)-452(the)-452(previous)-452(preconditi)1(oners)-1(,)-481(example)-452(programs)-452(where)-452(the)-452(sparse)-452(matrix)]TJ -16.936 -13.55 Td [(and)-370(the)-371(righ)28(t-hand)-371(side)-370(are)-371(generated)-370(b)27(y)-370(discretizing)-371(a)-370(PDE)-371(with)-370(Diric)28(hlet)-371(b)-28(oundary)]TJ 0 -13.549 Td [(conditions)-333(are)-334(also)-333(a)28(v)55(ailab)1(le)-334(in)-333(the)-333(directory)]TJ/F45 10.9091 Tf 215.061 0 Td [(examples/pdegen)]TJ/F15 10.9091 Tf 85.908 0 Td [(.)]TJ -0 g 0 G -0 g 0 G -ET - -endstream -endobj -424 0 obj -<< -/Length 3337 ->> -stream -0 g 0 G -0 0 1 rg 0 0 1 RG -BT -/F42 10.9091 Tf 93.6 740.002 Td [(5)]TJ -0 g 0 G - [-378(Getting)-378(St)67(ar)67(ted)]TJ/F15 10.9091 Tf 401.542 0 Td [(19)]TJ -0 g 0 G -0 g 0 G -0 g 0 G -0 g 0 G -0 g 0 G -0 g 0 G -/F45 9.9626 Tf -370.457 -30.995 Td [(use)-525(psb_base_mod)]TJ 0 -11.955 Td [(use)-525(mld_prec_mod)]TJ 0 -11.955 Td [(use)-525(psb_krylov_mod)]TJ -10.461 -11.956 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(sparse)-525(matrix)]TJ 10.461 -11.955 Td [(type\050psb_dspmat_type\051)-525(::)-525(A)]TJ -10.461 -11.955 Td [(!)-525(sparse)-525(matrix)-525(descriptor)]TJ 10.461 -11.955 Td [(type\050psb_desc_type\051)-1575(::)-525(desc_A)]TJ -10.461 -11.956 Td [(!)-525(preconditioner)]TJ 10.461 -11.955 Td [(type\050mld_dprec_type\051)-1050(::)-525(P)]TJ -10.461 -11.955 Td [(!)-525(right-hand)-525(side)-525(and)-525(solution)-525(vectors)]TJ 10.461 -11.955 Td [(type\050psb_d_vect_type\051)-525(::)-525(b,)-525(x)]TJ -10.461 -11.955 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)]TJ 0 -11.956 Td [(!)-525(initialize)-525(the)-525(parallel)-525(environment)]TJ 10.461 -11.955 Td [(call)-525(psb_init\050ictxt\051)]TJ 0 -11.955 Td [(call)-525(psb_info\050ictxt,iam,np\051)]TJ -10.461 -11.955 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(read)-525(and)-525(assemble)-525(the)-525(spd)-525(matrix)-525(A)-525(and)-525(the)-525(right-hand)-525(side)-525(b)]TJ 0 -11.956 Td [(!)-525(using)-525(PSBLAS)-525(routines)-525(for)-525(sparse)-525(matrix)-525(/)-525(vector)-525(management)]TJ 0 -11.955 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(initialize)-525(the)-525(default)-525(multilevel)-525(preconditioner,)-525(i.e.)-525(V-cycle)]TJ 0 -11.955 Td [(!)-525(with)-525(basic)-525(smoothed)-525(aggregation,)-525(1)-525(hybrid)-525(forward/backward)]TJ 0 -11.956 Td [(!)-525(GS)-525(sweep)-525(as)-525(pre/post-smoother)-525(and)-525(UMFPACK)-525(as)-525(coarsest-level)]TJ 0 -11.955 Td [(!)-525(solver)]TJ 10.461 -11.955 Td [(call)-525(P%init\050'ML',info\051)]TJ -10.461 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(build)-525(the)-525(preconditioner)]TJ 10.461 -11.955 Td [(call)-525(P%hierarchy_build\050A,desc_A,info\051)]TJ 0 -11.956 Td [(call)-525(P%smoothers_build\050A,desc_A,info\051)]TJ -10.461 -23.91 Td [(!)]TJ 0 -11.955 Td [(!)-525(set)-525(the)-525(solver)-525(parameters)-525(and)-525(the)-525(initial)-525(guess)]TJ 10.461 -11.955 Td [(...)-525(...)]TJ -10.461 -11.955 Td [(!)]TJ 0 -11.956 Td [(!)-525(solve)-525(Ax=b)-525(with)-525(preconditioned)-525(CG)]TJ 10.461 -11.955 Td [(call)-525(psb_krylov\050'CG',A,P,b,x,tol,desc_A,info\051)]TJ 0 -11.955 Td [(...)-525(...)]TJ -10.461 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(deallocate)-525(the)-525(preconditioner)]TJ 10.461 -11.955 Td [(call)-525(P%free\050info\051)]TJ -10.461 -11.956 Td [(!)]TJ 0 -11.955 Td [(!)-525(deallocate)-525(other)-525(data)-525(structures)]TJ 10.461 -11.955 Td [(...)-525(...)]TJ -10.461 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(exit)-525(the)-525(parallel)-525(environment)]TJ 10.461 -11.956 Td [(call)-525(psb_exit\050ictxt\051)]TJ 0 -11.955 Td [(stop)]TJ -0 g 0 G -/F15 10.9091 Tf -29.405 -21.354 Td [(Figure)-333(2:)-445(setup)-333(and)-333(application)-333(of)-334(the)-333(default)-333(m)27(u)1(ltilev)27(el)-333(preconditioner)-333(\050example)-334(1\051.)]TJ -0 g 0 G -0 g 0 G -0 g 0 G -0 g 0 G -ET - -endstream -endobj -315 0 obj +313 0 obj << /Type /ObjStm /N 100 -/First 903 -/Length 13277 +/First 900 +/Length 12971 >> stream -310 0 298 146 299 299 300 451 301 600 302 755 303 917 304 1072 305 1224 306 1375 -307 1525 308 1676 309 1827 314 1980 43 2034 311 2087 327 2180 320 2354 321 2506 322 2652 -323 2804 324 2955 325 3110 329 3273 47 3327 330 3380 51 3437 326 3490 346 3687 344 3861 -339 4007 340 4169 341 4332 342 4482 343 4633 348 4789 338 4843 350 4900 351 4954 352 5008 -353 5062 345 5119 361 5277 355 5443 356 5598 357 5750 358 5906 359 6057 363 6205 364 6259 -365 6316 55 6373 360 6426 370 6636 368 6786 366 6932 367 7085 372 7237 369 7291 383 7475 -374 7649 375 7803 376 7946 377 8097 378 8244 379 8389 385 8533 59 8587 386 8640 387 8694 -388 8748 389 8802 390 8856 391 8910 382 8964 402 9083 400 9257 380 9403 381 9549 395 9699 -396 9844 397 9989 404 10139 392 10193 401 10250 414 10356 398 10562 399 10708 405 10852 406 11004 -407 11157 408 11304 409 11448 410 11594 411 11740 412 11882 416 12027 63 12081 413 12134 423 12240 +310 0 308 134 312 280 309 334 316 427 318 541 315 595 321 688 319 822 323 968 +320 1022 326 1115 324 1249 328 1436 35 1490 39 1543 325 1596 343 1702 341 1932 329 2078 +330 2231 331 2383 332 2532 333 2687 334 2849 335 3004 336 3156 337 3307 338 3457 339 3608 +340 3759 345 3912 43 3966 342 4019 357 4112 350 4286 351 4438 352 4584 353 4736 354 4887 +355 5042 359 5205 47 5259 360 5312 51 5369 356 5422 376 5619 374 5793 369 5939 370 6101 +371 6264 372 6414 373 6565 378 6721 368 6775 380 6832 381 6886 382 6940 383 6994 375 7051 +391 7209 385 7375 386 7530 387 7682 388 7838 389 7989 393 8137 394 8191 395 8248 55 8305 +390 8358 400 8568 398 8718 396 8864 397 9017 402 9169 399 9223 413 9407 404 9581 405 9735 +406 9878 407 10029 408 10176 409 10321 415 10465 59 10519 416 10572 417 10626 418 10680 419 10734 +420 10788 421 10842 412 10896 432 11015 430 11189 410 11335 411 11481 425 11631 426 11776 427 11921 % 310 0 obj << +/Type /Page +/Contents 311 0 R +/Resources 309 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 314 0 R +/Annots [ 308 0 R ] +>> +% 308 0 obj +<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [92.604 739.006 100.627 748.453] -/A << /S /GoTo /D (section.4) >> +/A << /S /GoTo /D (section.3) >> >> -% 298 0 obj +% 312 0 obj << -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[0 1 0] -/Rect [461.862 311.325 469.309 320.347] -/A << /S /GoTo /D (cite.Briggs2000) >> +/D [310 0 R /XYZ 92.6 752.957 null] >> -% 299 0 obj +% 309 0 obj << -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[0 1 0] -/Rect [473.761 311.325 486.663 320.347] -/A << /S /GoTo /D (cite.Stuben_01) >> +/Font << /F42 161 0 R /F15 160 0 R /F45 255 0 R >> +/ProcSet [ /PDF /Text ] >> -% 300 0 obj +% 316 0 obj << -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[0 1 0] +/Type /Page +/Contents 317 0 R +/Resources 315 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 314 0 R +>> +% 318 0 obj +<< +/D [316 0 R /XYZ 85.4 752.957 null] +>> +% 315 0 obj +<< +/Font << /F15 160 0 R /F42 161 0 R /F45 255 0 R >> +/ProcSet [ /PDF /Text ] +>> +% 321 0 obj +<< +/Type /Page +/Contents 322 0 R +/Resources 320 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 314 0 R +/Annots [ 319 0 R ] +>> +% 319 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [92.604 739.006 100.627 748.453] +/A << /S /GoTo /D (section.3) >> +>> +% 323 0 obj +<< +/D [321 0 R /XYZ 92.6 752.957 null] +>> +% 320 0 obj +<< +/Font << /F42 161 0 R /F15 160 0 R /F45 255 0 R >> +/ProcSet [ /PDF /Text ] +>> +% 326 0 obj +<< +/Type /Page +/Contents 327 0 R +/Resources 325 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 314 0 R +/Annots [ 324 0 R ] +>> +% 324 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [85.403 564.143 345.619 576.136] +/Subtype/Link/A<> +>> +% 328 0 obj +<< +/D [326 0 R /XYZ 85.4 752.957 null] +>> +% 35 0 obj +<< +/D [326 0 R /XYZ 86.4 621.325 null] +>> +% 39 0 obj +<< +/D [326 0 R /XYZ 86.4 523.079 null] +>> +% 325 0 obj +<< +/Font << /F15 160 0 R /F42 161 0 R /F45 255 0 R /F17 148 0 R >> +/ProcSet [ /PDF /Text ] +>> +% 343 0 obj +<< +/Type /Page +/Contents 344 0 R +/Resources 342 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 314 0 R +/Annots [ 341 0 R 329 0 R 330 0 R 331 0 R 332 0 R 333 0 R 334 0 R 335 0 R 336 0 R 337 0 R 338 0 R 339 0 R 340 0 R ] +>> +% 341 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [92.604 739.006 100.627 748.453] +/A << /S /GoTo /D (section.4) >> +>> +% 329 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[0 1 0] +/Rect [461.862 311.325 469.309 320.347] +/A << /S /GoTo /D (cite.Briggs2000) >> +>> +% 330 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[0 1 0] +/Rect [473.761 311.325 486.663 320.347] +/A << /S /GoTo /D (cite.Stuben_01) >> +>> +% 331 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[0 1 0] /Rect [491.116 311.325 504.017 320.347] /A << /S /GoTo /D (cite.dd2_96) >> >> -% 301 0 obj +% 332 0 obj << /Type /Annot /Subtype /Link @@ -2658,7 +2702,7 @@ stream /Rect [125.583 270.121 133.03 279.144] /A << /S /GoTo /D (cite.BREZINA_VANEK) >> >> -% 302 0 obj +% 333 0 obj << /Type /Annot /Subtype /Link @@ -2666,7 +2710,7 @@ stream /Rect [137.319 270.121 150.22 279.144] /A << /S /GoTo /D (cite.VANEK_MANDEL_BREZINA) >> >> -% 303 0 obj +% 334 0 obj << /Type /Annot /Subtype /Link @@ -2674,7 +2718,7 @@ stream /Rect [394.469 243.023 407.37 252.046] /A << /S /GoTo /D (cite.TUMINARO_TONG) >> >> -% 304 0 obj +% 335 0 obj << /Type /Annot /Subtype /Link @@ -2682,7 +2726,7 @@ stream /Rect [449.722 227.353 465.654 239.042] /A << /S /GoTo /D (subsection.4.1) >> >> -% 305 0 obj +% 336 0 obj << /Type /Annot /Subtype /Link @@ -2690,7 +2734,7 @@ stream /Rect [467.298 227.353 483.23 239.042] /A << /S /GoTo /D (subsection.4.3) >> >> -% 306 0 obj +% 337 0 obj << /Type /Annot /Subtype /Link @@ -2698,7 +2742,7 @@ stream /Rect [283.847 215.925 291.294 224.947] /A << /S /GoTo /D (cite.para_04) >> >> -% 307 0 obj +% 338 0 obj << /Type /Annot /Subtype /Link @@ -2706,7 +2750,7 @@ stream /Rect [295.968 215.925 303.415 224.947] /A << /S /GoTo /D (cite.aaecc_07) >> >> -% 308 0 obj +% 339 0 obj << /Type /Annot /Subtype /Link @@ -2714,7 +2758,7 @@ stream /Rect [308.089 215.925 315.536 224.947] /A << /S /GoTo /D (cite.apnum_07) >> >> -% 309 0 obj +% 340 0 obj << /Type /Annot /Subtype /Link @@ -2722,29 +2766,29 @@ stream /Rect [320.21 215.925 327.657 224.947] /A << /S /GoTo /D (cite.MLD2P4_TOMS) >> >> -% 314 0 obj +% 345 0 obj << -/D [312 0 R /XYZ 92.6 752.957 null] +/D [343 0 R /XYZ 92.6 752.957 null] >> % 43 0 obj << -/D [312 0 R /XYZ 93.6 715.095 null] +/D [343 0 R /XYZ 93.6 715.095 null] >> -% 311 0 obj +% 342 0 obj << -/Font << /F42 137 0 R /F15 136 0 R /F17 124 0 R >> +/Font << /F42 161 0 R /F15 160 0 R /F17 148 0 R >> /ProcSet [ /PDF /Text ] >> -% 327 0 obj +% 357 0 obj << /Type /Page -/Contents 328 0 R -/Resources 326 0 R +/Contents 358 0 R +/Resources 356 0 R /MediaBox [0 0 595.276 841.89] -/Parent 283 0 R -/Annots [ 320 0 R 321 0 R 322 0 R 323 0 R 324 0 R 325 0 R ] +/Parent 314 0 R +/Annots [ 350 0 R 351 0 R 352 0 R 353 0 R 354 0 R 355 0 R ] >> -% 320 0 obj +% 350 0 obj << /Type /Annot /Subtype /Link @@ -2752,7 +2796,7 @@ stream /Rect [307.765 278.566 320.667 287.589] /A << /S /GoTo /D (cite.Saad_book) >> >> -% 321 0 obj +% 351 0 obj << /Type /Annot /Subtype /Link @@ -2760,7 +2804,7 @@ stream /Rect [270.815 262.895 278.262 274.585] /A << /S /GoTo /D (figure.1) >> >> -% 322 0 obj +% 352 0 obj << /Type /Annot /Subtype /Link @@ -2768,7 +2812,7 @@ stream /Rect [130.252 210.82 137.699 219.843] /A << /S /GoTo /D (cite.Briggs2000) >> >> -% 323 0 obj +% 353 0 obj << /Type /Annot /Subtype /Link @@ -2776,7 +2820,7 @@ stream /Rect [347.101 210.82 360.002 219.843] /A << /S /GoTo /D (cite.Notay2008) >> >> -% 324 0 obj +% 354 0 obj << /Type /Annot /Subtype /Link @@ -2784,7 +2828,7 @@ stream /Rect [395.273 147.623 402.72 156.646] /A << /S /GoTo /D (cite.BREZINA_VANEK) >> >> -% 325 0 obj +% 355 0 obj << /Type /Annot /Subtype /Link @@ -2792,37 +2836,37 @@ stream /Rect [407.241 147.623 420.143 156.646] /A << /S /GoTo /D (cite.VANEK_MANDEL_BREZINA) >> >> -% 329 0 obj +% 359 0 obj << -/D [327 0 R /XYZ 85.4 752.957 null] +/D [357 0 R /XYZ 85.4 752.957 null] >> % 47 0 obj << -/D [327 0 R /XYZ 86.4 715.095 null] +/D [357 0 R /XYZ 86.4 715.095 null] >> -% 330 0 obj +% 360 0 obj << -/D [327 0 R /XYZ 273.379 669.993 null] +/D [357 0 R /XYZ 273.379 669.993 null] >> % 51 0 obj << -/D [327 0 R /XYZ 86.4 193.984 null] +/D [357 0 R /XYZ 86.4 193.984 null] >> -% 326 0 obj +% 356 0 obj << -/Font << /F15 136 0 R /F42 137 0 R /F17 124 0 R /F22 195 0 R /F23 331 0 R /F25 227 0 R /F34 332 0 R /F26 333 0 R /F20 334 0 R /F24 335 0 R /F21 336 0 R >> +/Font << /F15 160 0 R /F42 161 0 R /F17 148 0 R /F22 225 0 R /F23 361 0 R /F25 257 0 R /F34 362 0 R /F26 363 0 R /F20 364 0 R /F24 365 0 R /F21 366 0 R >> /ProcSet [ /PDF /Text ] >> -% 346 0 obj +% 376 0 obj << /Type /Page -/Contents 347 0 R -/Resources 345 0 R +/Contents 377 0 R +/Resources 375 0 R /MediaBox [0 0 595.276 841.89] -/Parent 354 0 R -/Annots [ 344 0 R 339 0 R 340 0 R 341 0 R 342 0 R 343 0 R ] +/Parent 384 0 R +/Annots [ 374 0 R 369 0 R 370 0 R 371 0 R 372 0 R 373 0 R ] >> -% 344 0 obj +% 374 0 obj << /Type /Annot /Subtype /Link @@ -2830,7 +2874,7 @@ stream /Rect [92.604 739.006 100.627 748.453] /A << /S /GoTo /D (section.4) >> >> -% 339 0 obj +% 369 0 obj << /Type /Annot /Subtype /Link @@ -2838,7 +2882,7 @@ stream /Rect [148.889 304.895 161.79 313.918] /A << /S /GoTo /D (cite.VANEK_MANDEL_BREZINA) >> >> -% 340 0 obj +% 370 0 obj << /Type /Annot /Subtype /Link @@ -2846,7 +2890,7 @@ stream /Rect [273.884 215.369 286.786 224.392] /A << /S /GoTo /D (cite.VANEK_MANDEL_BREZINA) >> >> -% 341 0 obj +% 371 0 obj << /Type /Annot /Subtype /Link @@ -2854,7 +2898,7 @@ stream /Rect [344.15 120.525 351.597 129.547] /A << /S /GoTo /D (cite.aaecc_07) >> >> -% 342 0 obj +% 372 0 obj << /Type /Annot /Subtype /Link @@ -2862,7 +2906,7 @@ stream /Rect [356.271 120.525 363.718 129.547] /A << /S /GoTo /D (cite.apnum_07) >> >> -% 343 0 obj +% 373 0 obj << /Type /Annot /Subtype /Link @@ -2870,45 +2914,45 @@ stream /Rect [368.392 120.525 381.294 129.547] /A << /S /GoTo /D (cite.TUMINARO_TONG) >> >> -% 348 0 obj +% 378 0 obj << -/D [346 0 R /XYZ 92.6 752.957 null] +/D [376 0 R /XYZ 92.6 752.957 null] >> -% 338 0 obj +% 368 0 obj << -/D [346 0 R /XYZ 213.038 499.629 null] +/D [376 0 R /XYZ 213.038 499.629 null] >> -% 350 0 obj +% 380 0 obj << -/D [346 0 R /XYZ 93.6 406.227 null] +/D [376 0 R /XYZ 93.6 406.227 null] >> -% 351 0 obj +% 381 0 obj << -/D [346 0 R /XYZ 93.6 382.761 null] +/D [376 0 R /XYZ 93.6 382.761 null] >> -% 352 0 obj +% 382 0 obj << -/D [346 0 R /XYZ 93.6 359.294 null] +/D [376 0 R /XYZ 93.6 359.294 null] >> -% 353 0 obj +% 383 0 obj << -/D [346 0 R /XYZ 177.448 261.129 null] +/D [376 0 R /XYZ 177.448 261.129 null] >> -% 345 0 obj +% 375 0 obj << -/Font << /F42 137 0 R /F15 136 0 R /F28 349 0 R /F22 195 0 R /F23 331 0 R /F25 227 0 R /F20 334 0 R /F26 333 0 R >> +/Font << /F42 161 0 R /F15 160 0 R /F28 379 0 R /F22 225 0 R /F23 361 0 R /F25 257 0 R /F20 364 0 R /F26 363 0 R >> /ProcSet [ /PDF /Text ] >> -% 361 0 obj +% 391 0 obj << /Type /Page -/Contents 362 0 R -/Resources 360 0 R +/Contents 392 0 R +/Resources 390 0 R /MediaBox [0 0 595.276 841.89] -/Parent 354 0 R -/Annots [ 355 0 R 356 0 R 357 0 R 358 0 R 359 0 R ] +/Parent 384 0 R +/Annots [ 385 0 R 386 0 R 387 0 R 388 0 R 389 0 R ] >> -% 355 0 obj +% 385 0 obj << /Type /Annot /Subtype /Link @@ -2916,7 +2960,7 @@ stream /Rect [390.76 572.489 398.207 581.512] /A << /S /GoTo /D (cite.BREZINA_VANEK) >> >> -% 356 0 obj +% 386 0 obj << /Type /Annot /Subtype /Link @@ -2924,7 +2968,7 @@ stream /Rect [402.446 572.489 415.348 581.512] /A << /S /GoTo /D (cite.Stuben_01) >> >> -% 357 0 obj +% 387 0 obj << /Type /Annot /Subtype /Link @@ -2932,7 +2976,7 @@ stream /Rect [486.339 440.295 493.787 449.318] /A << /S /GoTo /D (cite.BREZINA_VANEK) >> >> -% 358 0 obj +% 388 0 obj << /Type /Annot /Subtype /Link @@ -2940,7 +2984,7 @@ stream /Rect [229.191 309.58 242.093 318.603] /A << /S /GoTo /D (cite.Saad_book) >> >> -% 359 0 obj +% 389 0 obj << /Type /Annot /Subtype /Link @@ -2948,37 +2992,37 @@ stream /Rect [246.767 309.58 259.669 318.603] /A << /S /GoTo /D (cite.dd2_96) >> >> -% 363 0 obj +% 393 0 obj << -/D [361 0 R /XYZ 85.4 752.957 null] +/D [391 0 R /XYZ 85.4 752.957 null] >> -% 364 0 obj +% 394 0 obj << -/D [361 0 R /XYZ 199.567 686.589 null] +/D [391 0 R /XYZ 199.567 686.589 null] >> -% 365 0 obj +% 395 0 obj << -/D [361 0 R /XYZ 135.211 489.815 null] +/D [391 0 R /XYZ 135.211 489.815 null] >> % 55 0 obj << -/D [361 0 R /XYZ 86.4 372.217 null] +/D [391 0 R /XYZ 86.4 372.217 null] >> -% 360 0 obj +% 390 0 obj << -/Font << /F15 136 0 R /F42 137 0 R /F22 195 0 R /F23 331 0 R /F25 227 0 R /F34 332 0 R /F24 335 0 R /F26 333 0 R /F21 336 0 R /F28 349 0 R /F20 334 0 R /F17 124 0 R >> +/Font << /F15 160 0 R /F42 161 0 R /F22 225 0 R /F23 361 0 R /F25 257 0 R /F34 362 0 R /F24 365 0 R /F26 363 0 R /F21 366 0 R /F28 379 0 R /F20 364 0 R /F17 148 0 R >> /ProcSet [ /PDF /Text ] >> -% 370 0 obj +% 400 0 obj << /Type /Page -/Contents 371 0 R -/Resources 369 0 R +/Contents 401 0 R +/Resources 399 0 R /MediaBox [0 0 595.276 841.89] -/Parent 354 0 R -/Annots [ 368 0 R 366 0 R 367 0 R ] +/Parent 384 0 R +/Annots [ 398 0 R 396 0 R 397 0 R ] >> -% 368 0 obj +% 398 0 obj << /Type /Annot /Subtype /Link @@ -2986,7 +3030,7 @@ stream /Rect [92.604 739.006 100.627 748.453] /A << /S /GoTo /D (section.4) >> >> -% 366 0 obj +% 396 0 obj << /Type /Annot /Subtype /Link @@ -2994,7 +3038,7 @@ stream /Rect [112.695 387.524 120.142 396.546] /A << /S /GoTo /D (cite.CAI_SARKIS) >> >> -% 367 0 obj +% 397 0 obj << /Type /Annot /Subtype /Link @@ -3002,25 +3046,25 @@ stream /Rect [231.213 358.304 247.145 369.993] /A << /S /GoTo /D (subsection.3.2) >> >> -% 372 0 obj +% 402 0 obj << -/D [370 0 R /XYZ 92.6 752.957 null] +/D [400 0 R /XYZ 92.6 752.957 null] >> -% 369 0 obj +% 399 0 obj << -/Font << /F42 137 0 R /F15 136 0 R /F22 195 0 R /F23 331 0 R /F26 333 0 R /F20 334 0 R /F25 227 0 R /F34 332 0 R /F24 335 0 R /F28 349 0 R >> +/Font << /F42 161 0 R /F15 160 0 R /F22 225 0 R /F23 361 0 R /F26 363 0 R /F20 364 0 R /F25 257 0 R /F34 362 0 R /F24 365 0 R /F28 379 0 R >> /ProcSet [ /PDF /Text ] >> -% 383 0 obj +% 413 0 obj << /Type /Page -/Contents 384 0 R -/Resources 382 0 R +/Contents 414 0 R +/Resources 412 0 R /MediaBox [0 0 595.276 841.89] -/Parent 354 0 R -/Annots [ 374 0 R 375 0 R 376 0 R 377 0 R 378 0 R 379 0 R ] +/Parent 384 0 R +/Annots [ 404 0 R 405 0 R 406 0 R 407 0 R 408 0 R 409 0 R ] >> -% 374 0 obj +% 404 0 obj << /Type /Annot /Subtype /Link @@ -3028,7 +3072,7 @@ stream /Rect [411.917 664.789 424.819 673.811] /A << /S /GoTo /D (cite.PSBLASGUIDE) >> >> -% 375 0 obj +% 405 0 obj << /Type /Annot /Subtype /Link @@ -3036,7 +3080,7 @@ stream /Rect [440.223 507.39 447.67 519.079] /A << /S /GoTo /D (table.1) >> >> -% 376 0 obj +% 406 0 obj << /Type /Annot /Subtype /Link @@ -3044,7 +3088,7 @@ stream /Rect [272.428 389.103 288.36 400.793] /A << /S /GoTo /D (subsection.5.1) >> >> -% 377 0 obj +% 407 0 obj << /Type /Annot /Subtype /Link @@ -3052,7 +3096,7 @@ stream /Rect [434.839 375.554 442.287 387.244] /A << /S /GoTo /D (section.6) >> >> -% 378 0 obj +% 408 0 obj << /Type /Annot /Subtype /Link @@ -3060,7 +3104,7 @@ stream /Rect [480.279 375.554 487.726 387.244] /A << /S /GoTo /D (table.2) >> >> -% 379 0 obj +% 409 0 obj << /Type /Annot /Subtype /Link @@ -3068,53 +3112,53 @@ stream /Rect [489.37 375.554 496.817 387.244] /A << /S /GoTo /D (table.8) >> >> -% 385 0 obj +% 415 0 obj << -/D [383 0 R /XYZ 85.4 752.957 null] +/D [413 0 R /XYZ 85.4 752.957 null] >> % 59 0 obj << -/D [383 0 R /XYZ 86.4 715.095 null] +/D [413 0 R /XYZ 86.4 715.095 null] >> -% 386 0 obj +% 416 0 obj << -/D [383 0 R /XYZ 86.4 645.168 null] +/D [413 0 R /XYZ 86.4 645.168 null] >> -% 387 0 obj +% 417 0 obj << -/D [383 0 R /XYZ 86.4 567.529 null] +/D [413 0 R /XYZ 86.4 567.529 null] >> -% 388 0 obj +% 418 0 obj << -/D [383 0 R /XYZ 86.4 464.913 null] +/D [413 0 R /XYZ 86.4 464.913 null] >> -% 389 0 obj +% 419 0 obj << -/D [383 0 R /XYZ 86.4 371.604 null] +/D [413 0 R /XYZ 86.4 371.604 null] >> -% 390 0 obj +% 420 0 obj << -/D [383 0 R /XYZ 86.4 231.205 null] +/D [413 0 R /XYZ 86.4 231.205 null] >> -% 391 0 obj +% 421 0 obj << -/D [383 0 R /XYZ 86.4 164.388 null] +/D [413 0 R /XYZ 86.4 164.388 null] >> -% 382 0 obj +% 412 0 obj << -/Font << /F15 136 0 R /F42 137 0 R /F17 124 0 R /F18 277 0 R /F45 225 0 R >> +/Font << /F15 160 0 R /F42 161 0 R /F17 148 0 R /F18 307 0 R /F45 255 0 R >> /ProcSet [ /PDF /Text ] >> -% 402 0 obj +% 432 0 obj << /Type /Page -/Contents 403 0 R -/Resources 401 0 R +/Contents 433 0 R +/Resources 431 0 R /MediaBox [0 0 595.276 841.89] -/Parent 354 0 R -/Annots [ 400 0 R 380 0 R 381 0 R 395 0 R 396 0 R 397 0 R ] +/Parent 384 0 R +/Annots [ 430 0 R 410 0 R 411 0 R 425 0 R 426 0 R 427 0 R ] >> -% 400 0 obj +% 430 0 obj << /Type /Annot /Subtype /Link @@ -3122,7 +3166,7 @@ stream /Rect [92.604 739.006 100.627 748.453] /A << /S /GoTo /D (section.5) >> >> -% 380 0 obj +% 410 0 obj << /Type /Annot /Subtype /Link @@ -3130,7 +3174,7 @@ stream /Rect [323.557 687.47 331.004 699.159] /A << /S /GoTo /D (section.6) >> >> -% 381 0 obj +% 411 0 obj << /Type /Annot /Subtype /Link @@ -3138,7 +3182,7 @@ stream /Rect [252.847 673.92 268.778 685.61] /A << /S /GoTo /D (subsection.5.1) >> >> -% 395 0 obj +% 425 0 obj << /Type /Annot /Subtype /Link @@ -3146,7 +3190,7 @@ stream /Rect [461.445 371.946 468.892 381.514] /A << /S /GoTo /D (table.2) >> >> -% 396 0 obj +% 426 0 obj << /Type /Annot /Subtype /Link @@ -3154,7 +3198,7 @@ stream /Rect [470.536 371.946 477.983 381.514] /A << /S /GoTo /D (table.8) >> >> -% 397 0 obj +% 427 0 obj << /Type /Annot /Subtype /Link @@ -3162,134 +3206,94 @@ stream /Rect [279.665 222.1 295.597 235.001] /A << /S /GoTo /D (subsection.5.1) >> >> -% 404 0 obj -<< -/D [402 0 R /XYZ 92.6 752.957 null] ->> -% 392 0 obj -<< -/D [402 0 R /XYZ 166.644 349.945 null] ->> -% 401 0 obj -<< -/Font << /F42 137 0 R /F15 136 0 R /F45 225 0 R /F44 175 0 R >> -/ProcSet [ /PDF /Text ] ->> -% 414 0 obj -<< -/Type /Page -/Contents 415 0 R -/Resources 413 0 R -/MediaBox [0 0 595.276 841.89] -/Parent 354 0 R -/Annots [ 398 0 R 399 0 R 405 0 R 406 0 R 407 0 R 408 0 R 409 0 R 410 0 R 411 0 R 412 0 R ] ->> -% 398 0 obj -<< -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [220.251 680.424 227.698 692.114] -/A << /S /GoTo /D (figure.2) >> ->> -% 399 0 obj + +endstream +endobj +446 0 obj << -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [457.77 666.269 465.218 679.171] -/A << /S /GoTo /D (table.1) >> +/Length 8728 >> -% 405 0 obj -<< -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [404.565 517.228 420.497 530.129] -/A << /S /GoTo /D (subsection.3.5) >> ->> -% 406 0 obj -<< -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[0 1 0] -/Rect [464.571 492.857 477.472 501.88] -/A << /S /GoTo /D (cite.PSBLASGUIDE) >> ->> -% 407 0 obj -<< -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [397.562 449.482 405.009 462.383] -/A << /S /GoTo /D (section.6) >> ->> -% 408 0 obj -<< -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [460.805 409.44 468.252 421.13] -/A << /S /GoTo /D (figure.3) >> ->> -% 409 0 obj -<< -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [355.295 328.145 362.742 339.835] -/A << /S /GoTo /D (figure.4) >> ->> -% 410 0 obj -<< -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [360.507 260.399 367.954 272.089] -/A << /S /GoTo /D (figure.3) >> ->> -% 411 0 obj -<< -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [393.552 260.399 401 272.089] -/A << /S /GoTo /D (figure.4) >> ->> -% 412 0 obj -<< -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [178.322 233.301 185.769 244.99] -/A << /S /GoTo /D (figure.5) >> ->> -% 416 0 obj -<< -/D [414 0 R /XYZ 85.4 752.957 null] ->> -% 63 0 obj -<< -/D [414 0 R /XYZ 86.4 715.095 null] ->> -% 413 0 obj -<< -/Font << /F15 136 0 R /F42 137 0 R /F17 124 0 R /F45 225 0 R >> -/ProcSet [ /PDF /Text ] ->> -% 423 0 obj +stream +0 g 0 G +BT +/F15 10.9091 Tf 86.4 740.002 Td [(18)]TJ/F42 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ +0 g 0 G +/F17 11.9552 Tf -203.265 -35.866 Td [(5.1)-1125(Examples)]TJ/F15 10.9091 Tf 0 -20.594 Td [(The)-262(co)-28(de)-262(rep)-28(orted)-262(in)-262(Figure)]TJ +0 0 1 rg 0 0 1 RG + [-262(2)]TJ +0 g 0 G + [-263(sho)28(ws)-262(ho)28(w)-262(to)-263(set)-262(and)-262(apply)-262(the)-262(default)-262(m)27(ultilev)28(el)-262(precon-)]TJ 0 -13.549 Td [(ditioner)-371(a)28(v)55(ailabl)1(e)-372(in)-371(the)-371(real)-371(double)-371(precision)-371(v)28(ersion)-371(of)-371(MLD2P4)-371(\050see)-371(T)83(able)]TJ +0 0 1 rg 0 0 1 RG + [-371(1)]TJ +0 g 0 G + [(\051.)-558(This)]TJ 0 -13.55 Td [(preconditioner)-365(is)-364(c)27(hosen)-364(b)27(y)-364(sim)-1(p)1(ly)-365(sp)-28(ecifying)]TJ/F45 10.9091 Tf 220.847 0 Td [('ML')]TJ/F15 10.9091 Tf 26.888 0 Td [(as)-365(the)-365(second)-364(argumen)27(t)-364(of)]TJ/F45 10.9091 Tf 130.353 0 Td [(P%init)]TJ/F15 10.9091 Tf -378.088 -13.549 Td [(\050a)-306(call)-305(to)]TJ/F45 10.9091 Tf 45.76 0 Td [(P%set)]TJ/F15 10.9091 Tf 31.97 0 Td [(is)-306(not)-305(needed\051)-306(and)-305(is)-306(applied)-305(w)-1(i)1(th)-306(the)-306(CG)-305(solv)27(er)-305(pro)28(vided)-306(b)28(y)-306(PSBLAS)]TJ -77.73 -13.549 Td [(\050the)-394(matrix)-394(of)-395(the)-394(system)-394(to)-395(b)-27(e)-395(solv)28(ed)-394(is)-394(assumed)-395(to)-394(b)-28(e)-394(p)-28(ositiv)28(e)-394(de\014nite\051.)-627(As)-395(previ-)]TJ 0 -13.549 Td [(ously)-315(observ)28(ed,)-319(the)-315(mo)-28(dules)]TJ/F45 10.9091 Tf 137.03 0 Td [(psb_base_mod)]TJ/F15 10.9091 Tf 68.726 0 Td [(,)]TJ/F45 10.9091 Tf 6.507 0 Td [(mld_prec_mod)]TJ/F15 10.9091 Tf 72.164 0 Td [(and)]TJ/F45 10.9091 Tf 21.012 0 Td [(psb_krylov_mod)]TJ/F15 10.9091 Tf 83.618 0 Td [(m)28(ust)]TJ -389.057 -13.549 Td [(b)-28(e)-333(used)-333(b)27(y)-333(the)-333(example)-334(program.)]TJ 16.936 -13.55 Td [(The)-395(part)-395(of)-395(the)-395(co)-28(de)-395(concerning)-395(the)-395(reading)-395(and)-395(assem)27(blin)1(g)-396(of)-395(the)-395(sparse)-395(matrix)]TJ -16.936 -13.549 Td [(and)-457(the)-456(righ)27(t-han)1(d)-457(side)-457(v)28(ector,)-488(p)-28(erformed)-456(through)-457(the)-457(PSBLAS)-456(routines)-457(for)-457(sparse)]TJ 0 -13.549 Td [(matrix)-385(and)-385(v)28(ector)-386(managemen)28(t,)-398(is)-385(not)-385(rep)-28(orted)-385(here)-385(for)-385(brevit)28(y;)-412(t)1(he)-386(statemen)28(ts)-385(con-)]TJ 0 -13.549 Td [(cerning)-265(the)-264(deallo)-28(cation)-265(of)-264(the)-265(PSBLAS)-264(data)-265(structure)-265(are)-264(neglec)-1(ted)-264(to)-28(o.)-422(Th)1(e)-265(complete)]TJ 0 -13.549 Td [(co)-28(de)-306(can)-307(b)-27(e)-307(found)-306(in)-307(the)-306(example)-307(program)-306(\014le)]TJ/F45 10.9091 Tf 223.484 0 Td [(mld_dexample_ml.f90)]TJ/F15 10.9091 Tf 108.817 0 Td [(,)-312(in)-306(the)-307(directory)]TJ/F45 10.9091 Tf -332.301 -13.55 Td [(examples/fileread)]TJ/F15 10.9091 Tf 101.269 0 Td [(of)-358(the)-358(MLD2P4)-358(implemen)28(tation)-358(\050see)-359(Section)]TJ +0 0 1 rg 0 0 1 RG + [-358(3.5)]TJ +0 g 0 G + [(\051.)-518(A)-358(sample)-358(tes)-1(t)]TJ -101.269 -13.549 Td [(problem)-375(along)-374(with)-375(the)-375(relev)56(an)28(t)-375(input)-374(data)-375(is)-375(a)28(v)56(ailable)-375(in)]TJ/F45 10.9091 Tf 283.422 0 Td [(examples/fileread/runs)]TJ/F15 10.9091 Tf 125.999 0 Td [(.)]TJ -409.421 -13.549 Td [(F)83(or)-333(details)-333(on)-334(th)1(e)-334(use)-333(of)-334(th)1(e)-334(PSBLAS)-333(routines,)-333(see)-334(the)-333(PSBLAS)-333(User's)-334(Guide)-333([)]TJ +1 0 0 rg 1 0 0 RG + [(13)]TJ +0 g 0 G + [(].)]TJ 16.936 -13.549 Td [(The)-279(setup)-278(and)-279(application)-279(of)-278(the)-279(default)-279(m)28(ultilev)28(el)-279(preconditi)1(oner)-279(for)-279(the)-278(real)-279(single)]TJ -16.936 -13.549 Td [(precision)-494(and)-495(the)-494(complex,)-535(single)-494(and)-495(dou)1(ble)-495(precision,)-534(v)27(ersions)-494(are)-495(obtain)1(e)-1(d)-494(with)]TJ 0 -13.55 Td [(straigh)28(tforw)28(ard)-229(mo)-28(di\014cations)-229(of)-229(the)-228(previous)-229(example)-229(\050see)-229(Section)]TJ +0 0 1 rg 0 0 1 RG + [-229(6)]TJ +0 g 0 G + [-229(for)-229(details\051.)-409(If)-229(these)]TJ 0 -13.549 Td [(v)28(ersions)-334(are)-333(installed,)-333(the)-333(c)-1(or)1(res)-1(p)-27(onding)-333(c)-1(o)-27(des)-334(are)-333(a)28(v)55(ailable)-333(in)]TJ/F45 10.9091 Tf 300.455 0 Td [(examples/fileread/)]TJ/F15 10.9091 Tf 103.089 0 Td [(.)]TJ -386.608 -13.549 Td [(Di\013eren)28(t)-331(v)28(ersions)-331(of)-330(the)-331(m)28(ultilev)28(el)-331(precondit)1(ioner)-331(can)-331(b)-27(e)-331(obtained)-330(b)28(y)-331(c)28(hanging)-331(the)]TJ -16.936 -13.549 Td [(default)-357(v)55(alues)-357(of)-357(the)-358(p)1(re)-1(cond)1(itioner)-358(parameters.)-516(The)-357(c)-1(o)-27(de)-358(rep)-27(orted)-358(in)-357(Figure)]TJ +0 0 1 rg 0 0 1 RG + [-357(3)]TJ +0 g 0 G + [-357(sho)27(ws)]TJ 0 -13.549 Td [(ho)28(w)-439(to)-439(set)-439(a)-440(V-cycle)-439(preconditioner)-439(whic)28(h)-439(applies)-439(1)-439(blo)-28(c)28(k-Jacobi)-439(sw)28(eep)-440(as)-439(pre-)-439(and)]TJ 0 -13.55 Td [(p)-28(ost-smo)-28(other,)-379(and)-371(solv)28(es)-371(the)-370(coarsest-lev)28(e)-1(l)-370(system)-371(with)-370(8)-371(b)1(lo)-28(c)27(k)1(-)-1(Jacobi)-370(sw)28(eeps.)-556(Note)]TJ 0 -13.549 Td [(that)-272(th)1(e)-272(ILU\0500\051)-272(factorization)-271(\050plus)-272(triangular)-271(solv)28(e\051)-272(is)-272(used)-271(as)-272(lo)-28(cal)-271(solv)28(e)-1(r)-271(for)-272(the)-271(blo)-28(c)28(k-)]TJ 0 -13.549 Td [(Jacobi)-297(sw)28(eeps,)-304(since)-297(this)-296(is)-297(the)-297(d)1(e)-1(f)1(ault)-297(asso)-28(ciated)-297(with)-296(blo)-28(c)28(k-Jacobi)-297(and)-296(set)-297(b)28(y)]TJ/F45 10.9091 Tf 375.057 0 Td [(P%init)]TJ/F15 10.9091 Tf 34.364 0 Td [(.)]TJ -409.421 -13.549 Td [(F)83(urthermore,)-347(s)-1(p)-27(ecifying)-345(blo)-28(c)28(k-Jacobi)-345(as)-345(coarsest-lev)27(el)-345(solv)28(er)-345(implies)-345(that)-345(the)-345(coarsest-)]TJ 0 -13.549 Td [(lev)28(el)-361(matrix)-360(is)-360(distributed)-361(among)-360(the)-360(pro)-28(cesses.)-526(Figure)]TJ +0 0 1 rg 0 0 1 RG + [-360(4)]TJ +0 g 0 G + [-361(sho)28(ws)-360(ho)27(w)-360(to)-360(set)-361(a)-360(W-cycle)]TJ 0 -13.549 Td [(preconditioner)-346(whic)27(h)-346(applies)-346(2)-347(h)28(ybrid)-346(Gauss)-1(-Seid)1(e)-1(l)-346(sw)28(eeps)-347(as)-346(pre-)-347(and)-346(p)-28(ost-smo)-28(other,)]TJ 0 -13.55 Td [(and)-261(solv)28(e)-1(s)-261(the)-261(coarsest-lev)27(el)-261(system)-262(with)-261(the)-261(m)28(ultifron)28(tal)-262(LU)-261(factorization)-261(implemen)27(ted)]TJ 0 -13.549 Td [(in)-350(MUMPS.)-350(It)-350(is)-350(sp)-28(eci\014ed)-350(that)-350(the)-350(coarsest-lev)28(e)-1(l)-350(matrix)-350(is)-350(distributed,)-354(since)-350(MUMPS)]TJ 0 -13.549 Td [(can)-371(b)-28(e)-371(used)-371(on)-372(b)-27(oth)-371(replicated)-372(and)-371(distribu)1(te)-1(d)-371(matrices,)-380(and)-372(b)28(y)-371(default)-371(it)-371(is)-371(used)-372(on)]TJ 0 -13.549 Td [(replicated)-459(ones.)-821(The)-459(c)-1(o)-27(de)-459(fragmen)28(ts)-460(sho)28(wn)-459(in)-459(Figures)]TJ +0 0 1 rg 0 0 1 RG + [-459(3)]TJ +0 g 0 G + [-459(and)]TJ +0 0 1 rg 0 0 1 RG + [-459(4)]TJ +0 g 0 G + [-459(are)-459(includ)1(e)-1(d)-458(in)-459(the)]TJ 0 -13.549 Td [(example)-333(program)-334(\014le)]TJ/F45 10.9091 Tf 104 0 Td [(mld_dexample_ml.f90)]TJ/F15 10.9091 Tf 112.453 0 Td [(to)-28(o.)]TJ -199.517 -13.55 Td [(Finally)83(,)-451(Figure)]TJ +0 0 1 rg 0 0 1 RG + [-427(5)]TJ +0 g 0 G + [-428(sho)28(ws)-428(the)-428(setup)-427(of)-428(a)-427(one-le)-1(v)28(el)-427(additiv)28(e)-428(Sc)28(h)27(w)28(arz)-427(preconditioner,)]TJ -16.936 -13.549 Td [(i.e.,)-373(RAS)-364(with)-365(o)28(v)27(erlap)-364(2.)-539(Note)-365(also)-365(that)-364(a)-365(Krylo)28(v)-365(metho)-28(d)-365(di\013eren)28(t)-365(from)-364(C)-1(G)-364(m)27(ust)-364(b)-28(e)]TJ 0 -13.549 Td [(used)-294(to)-294(solv)28(e)-294(the)-294(p)1(re)-1(cond)1(itioned)-294(system,)-302(since)-294(the)-294(preconditione)-293(in)-294(nonsymmetric.)-432(Th)1(e)]TJ 0 -13.549 Td [(corresp)-28(onding)-333(example)-333(program)-334(is)-333(a)28(v)55(ailable)-333(in)-333(the)-333(\014le)]TJ/F45 10.9091 Tf 261.455 0 Td [(mld_dexample_1lev.f90)]TJ/F15 10.9091 Tf 120.271 0 Td [(.)]TJ -364.79 -13.549 Td [(F)83(or)-452(all)-452(the)-452(previous)-452(preconditi)1(oners)-1(,)-481(example)-452(programs)-452(where)-452(the)-452(sparse)-452(matrix)]TJ -16.936 -13.55 Td [(and)-370(the)-371(righ)28(t-hand)-371(side)-370(are)-371(generated)-370(b)27(y)-370(discretizing)-371(a)-370(PDE)-371(with)-370(Diric)28(hlet)-371(b)-28(oundary)]TJ 0 -13.549 Td [(conditions)-333(are)-334(also)-333(a)28(v)55(ailab)1(le)-334(in)-333(the)-333(directory)]TJ/F45 10.9091 Tf 215.061 0 Td [(examples/pdegen)]TJ/F15 10.9091 Tf 85.908 0 Td [(.)]TJ +0 g 0 G +0 g 0 G +ET + +endstream +endobj +455 0 obj << -/Type /Page -/Contents 424 0 R -/Resources 422 0 R -/MediaBox [0 0 595.276 841.89] -/Parent 426 0 R -/Annots [ 421 0 R ] +/Length 3337 >> +stream +0 g 0 G +0 0 1 rg 0 0 1 RG +BT +/F42 10.9091 Tf 93.6 740.002 Td [(5)]TJ +0 g 0 G + [-378(Getting)-378(St)67(ar)67(ted)]TJ/F15 10.9091 Tf 401.542 0 Td [(19)]TJ +0 g 0 G +0 g 0 G +0 g 0 G +0 g 0 G +0 g 0 G +0 g 0 G +/F45 9.9626 Tf -370.457 -30.995 Td [(use)-525(psb_base_mod)]TJ 0 -11.955 Td [(use)-525(mld_prec_mod)]TJ 0 -11.955 Td [(use)-525(psb_krylov_mod)]TJ -10.461 -11.956 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(sparse)-525(matrix)]TJ 10.461 -11.955 Td [(type\050psb_dspmat_type\051)-525(::)-525(A)]TJ -10.461 -11.955 Td [(!)-525(sparse)-525(matrix)-525(descriptor)]TJ 10.461 -11.955 Td [(type\050psb_desc_type\051)-1575(::)-525(desc_A)]TJ -10.461 -11.956 Td [(!)-525(preconditioner)]TJ 10.461 -11.955 Td [(type\050mld_dprec_type\051)-1050(::)-525(P)]TJ -10.461 -11.955 Td [(!)-525(right-hand)-525(side)-525(and)-525(solution)-525(vectors)]TJ 10.461 -11.955 Td [(type\050psb_d_vect_type\051)-525(::)-525(b,)-525(x)]TJ -10.461 -11.955 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)]TJ 0 -11.956 Td [(!)-525(initialize)-525(the)-525(parallel)-525(environment)]TJ 10.461 -11.955 Td [(call)-525(psb_init\050ictxt\051)]TJ 0 -11.955 Td [(call)-525(psb_info\050ictxt,iam,np\051)]TJ -10.461 -11.955 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(read)-525(and)-525(assemble)-525(the)-525(spd)-525(matrix)-525(A)-525(and)-525(the)-525(right-hand)-525(side)-525(b)]TJ 0 -11.956 Td [(!)-525(using)-525(PSBLAS)-525(routines)-525(for)-525(sparse)-525(matrix)-525(/)-525(vector)-525(management)]TJ 0 -11.955 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(initialize)-525(the)-525(default)-525(multilevel)-525(preconditioner,)-525(i.e.)-525(V-cycle)]TJ 0 -11.955 Td [(!)-525(with)-525(basic)-525(smoothed)-525(aggregation,)-525(1)-525(hybrid)-525(forward/backward)]TJ 0 -11.956 Td [(!)-525(GS)-525(sweep)-525(as)-525(pre/post-smoother)-525(and)-525(UMFPACK)-525(as)-525(coarsest-level)]TJ 0 -11.955 Td [(!)-525(solver)]TJ 10.461 -11.955 Td [(call)-525(P%init\050'ML',info\051)]TJ -10.461 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(build)-525(the)-525(preconditioner)]TJ 10.461 -11.955 Td [(call)-525(P%hierarchy_build\050A,desc_A,info\051)]TJ 0 -11.956 Td [(call)-525(P%smoothers_build\050A,desc_A,info\051)]TJ -10.461 -23.91 Td [(!)]TJ 0 -11.955 Td [(!)-525(set)-525(the)-525(solver)-525(parameters)-525(and)-525(the)-525(initial)-525(guess)]TJ 10.461 -11.955 Td [(...)-525(...)]TJ -10.461 -11.955 Td [(!)]TJ 0 -11.956 Td [(!)-525(solve)-525(Ax=b)-525(with)-525(preconditioned)-525(CG)]TJ 10.461 -11.955 Td [(call)-525(psb_krylov\050'CG',A,P,b,x,tol,desc_A,info\051)]TJ 0 -11.955 Td [(...)-525(...)]TJ -10.461 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(deallocate)-525(the)-525(preconditioner)]TJ 10.461 -11.955 Td [(call)-525(P%free\050info\051)]TJ -10.461 -11.956 Td [(!)]TJ 0 -11.955 Td [(!)-525(deallocate)-525(other)-525(data)-525(structures)]TJ 10.461 -11.955 Td [(...)-525(...)]TJ -10.461 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(exit)-525(the)-525(parallel)-525(environment)]TJ 10.461 -11.956 Td [(call)-525(psb_exit\050ictxt\051)]TJ 0 -11.955 Td [(stop)]TJ +0 g 0 G +/F15 10.9091 Tf -29.405 -21.354 Td [(Figure)-333(2:)-445(setup)-333(and)-333(application)-333(of)-334(the)-333(default)-333(m)27(u)1(ltilev)27(el)-333(preconditioner)-333(\050example)-334(1\051.)]TJ +0 g 0 G +0 g 0 G +0 g 0 G +0 g 0 G +ET endstream endobj -430 0 obj +460 0 obj << /Length 3194 >> @@ -3334,9 +3338,9 @@ ET endstream endobj -436 0 obj +466 0 obj << -/Length 6211 +/Length 6306 >> stream 0 g 0 G @@ -3346,7 +3350,7 @@ BT 0 g 0 G [-378(User)-377(Interf)88(a)23(ce)]TJ/F15 10.9091 Tf 401.542 0 Td [(21)]TJ 0 g 0 G -/F17 14.3462 Tf -401.542 -35.866 Td [(6)-1125(User)-375(In)31(terface)]TJ/F15 10.9091 Tf 0 -24.352 Td [(The)-352(basic)-352(user)-352(in)28(terface)-352(of)-351(MLD2P4)-352(consists)-352(of)-352(eigh)28(t)-352(routines.)-500(The)-352(six)-351(routines)]TJ/F45 10.9091 Tf 386.512 0 Td [(init)]TJ/F15 10.9091 Tf 22.909 0 Td [(,)]TJ/F45 10.9091 Tf -409.421 -13.549 Td [(set)]TJ/F15 10.9091 Tf 17.182 0 Td [(,)]TJ/F45 10.9091 Tf 5.75 0 Td [(hierarchy_build)]TJ/F15 10.9091 Tf 85.908 0 Td [(,)]TJ/F45 10.9091 Tf 5.75 0 Td [(smoothers_build)]TJ/F15 10.9091 Tf 85.908 0 Td [(,)]TJ/F45 10.9091 Tf 5.75 0 Td [(bld)]TJ/F15 10.9091 Tf 17.182 0 Td [(,)-249(and)]TJ/F45 10.9091 Tf 25.816 0 Td [(apply)]TJ/F15 10.9091 Tf 31.127 0 Td [(encapsulate)-228(all)-229(the)-228(function-)]TJ -280.373 -13.549 Td [(alities)-350(for)-351(the)-350(setup)-351(and)-350(the)-350(application)-351(of)-350(an)28(y)-351(m)28(ultilev)28(el)-351(an)1(d)-351(one-lev)28(el)-351(precondit)1(ioner)]TJ 0 -13.549 Td [(implemen)28(ted)-466(i)1(n)-466(the)-465(pac)28(k)55(age.)-840(The)-465(routine)]TJ/F45 10.9091 Tf 212.452 0 Td [(free)]TJ/F15 10.9091 Tf 27.985 0 Td [(deallo)-28(cates)-465(the)-465(preconditioner)-465(data)]TJ -240.437 -13.55 Td [(structure,)-333(while)]TJ/F45 10.9091 Tf 78.303 0 Td [(descr)]TJ/F15 10.9091 Tf 32.273 0 Td [(prin)28(ts)-333(a)-334(description)-333(of)-333(the)-334(preconditi)1(oner)-334(setup)-333(b)28(y)-334(the)-333(user.)]TJ -93.639 -13.549 Td [(All)-434(the)-433(routines)-434(are)-434(a)28(v)56(ailable)-434(as)-434(metho)-28(ds)-433(of)-434(the)-434(preconditioner)-433(ob)-56(ject.)-745(F)83(or)-434(eac)28(h)]TJ -16.937 -13.549 Td [(routine,)-418(the)-402(same)-401(user)-402(in)28(terface)-401(is)-402(o)28(v)28(erloaded)-402(with)-401(resp)-28(ect)-401(to)-402(the)-401(real/)-402(complex)-401(case)]TJ 0 -13.549 Td [(and)-274(the)-274(single/double)-274(precision;)-294(argumen)28(ts)-275(with)-274(appropriate)-274(data)-274(t)28(yp)-28(es)-274(m)28(ust)-275(b)-27(e)-274(pass)-1(ed)]TJ 0 -13.549 Td [(to)-333(the)-334(routine,)-333(i.e.,)]TJ +/F17 14.3462 Tf -401.542 -35.866 Td [(6)-1125(User)-375(In)31(terface)]TJ/F15 10.9091 Tf 0 -24.352 Td [(The)-325(basic)-325(user)-324(in)28(te)-1(r)1(face)-325(of)-325(MLD2P4)-325(consists)-324(of)-325(eigh)28(t)-325(metho)-28(ds.)-442(Th)1(e)-325(six)-325(metho)-28(ds)]TJ/F45 10.9091 Tf 386.512 0 Td [(init)]TJ/F15 10.9091 Tf 22.909 0 Td [(,)]TJ/F45 10.9091 Tf -409.421 -13.549 Td [(set)]TJ/F15 10.9091 Tf 17.182 0 Td [(,)]TJ/F45 10.9091 Tf 6.791 0 Td [(build)]TJ/F15 10.9091 Tf 28.636 0 Td [(,)]TJ/F45 10.9091 Tf 6.791 0 Td [(hierarchy_build)]TJ/F15 10.9091 Tf 85.908 0 Td [(,)]TJ/F45 10.9091 Tf 6.791 0 Td [(smoothers_build)]TJ/F15 10.9091 Tf 89.644 0 Td [(and)]TJ/F45 10.9091 Tf 21.311 0 Td [(apply)]TJ/F15 10.9091 Tf 32.372 0 Td [(encapsulate)-342(all)-343(the)-342(func-)]TJ -295.426 -13.549 Td [(tionalities)-392(for)-393(th)1(e)-393(setup)-392(and)-392(the)-393(application)-392(of)-392(an)28(y)-393(m)28(ultilev)28(el)-392(and)-393(one-lev)28(el)-392(precondi-)]TJ 0 -13.549 Td [(tioner)-398(implemen)28(ted)-398(in)-398(the)-399(pac)28(k)56(age.)-639(The)-398(metho)-28(d)]TJ/F45 10.9091 Tf 240.937 0 Td [(free)]TJ/F15 10.9091 Tf 27.252 0 Td [(deallo)-28(cates)-398(the)-398(preconditioner)]TJ -268.189 -13.55 Td [(data)-274(s)-1(t)1(ructure,)-287(while)]TJ/F45 10.9091 Tf 101.355 0 Td [(descr)]TJ/F15 10.9091 Tf 31.63 0 Td [(prin)28(ts)-275(a)-274(description)-275(of)-274(the)-274(prec)-1(on)1(ditioner)-275(setup)-274(b)28(y)-275(the)-274(use)-1(r)1(.)]TJ -132.985 -13.549 Td [(F)83(or)-333(bac)28(kw)28(ard)-334(compatibilit)28(y)84(,)-334(metho)-28(d)1(s)-334(are)-333(also)-334(accessible)-333(as)-333(s)-1(tan)1(d-alone)-334(subroutines.)]TJ 16.937 -13.549 Td [(F)83(or)-419(e)-1(ac)28(h)-420(metho)-27(d,)-442(the)-420(same)-420(user)-420(in)28(terface)-420(is)-420(o)28(v)28(erloaded)-420(with)-420(resp)-28(ect)-420(to)-420(the)-420(real/)]TJ -16.937 -13.549 Td [(complex)-367(case)-367(and)-367(the)-367(single/double)-366(precis)-1(i)1(on;)-384(argumen)28(ts)-367(with)-367(appropriate)-367(data)-367(t)28(yp)-28(es)]TJ 0 -13.549 Td [(m)28(ust)-334(b)-27(e)-334(passed)-333(to)-333(the)-334(metho)-28(d)1(,)-334(i.e.,)]TJ 0 g 0 G /F25 10.9091 Tf 16.364 -22.516 Td [(\017)]TJ 0 g 0 G @@ -3366,26 +3370,26 @@ BT 0 0 1 rg 0 0 1 RG [-245(6.2)]TJ 0 g 0 G - [(\051.)]TJ -27.273 -22.516 Td [(A)-333(description)-334(of)-333(eac)28(h)-333(routine)-334(is)-333(giv)28(en)-334(in)-333(the)-333(remainder)-333(of)-334(this)-333(section.)]TJ + [(\051.)]TJ -27.273 -22.516 Td [(A)-333(description)-334(of)-333(eac)28(h)-333(m)-1(etho)-27(d)-334(is)-333(giv)28(en)-333(in)-334(the)-333(remainder)-333(of)-334(this)-333(section.)]TJ 0 g 0 G 0 g 0 G ET endstream endobj -442 0 obj +472 0 obj << -/Length 1860 +/Length 1880 >> stream 0 g 0 G BT /F15 10.9091 Tf 86.4 740.002 Td [(22)]TJ/F42 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ 0 g 0 G -/F17 11.9552 Tf -203.265 -35.866 Td [(6.1)-1125(Subroutine)-375(init)]TJ +/F17 11.9552 Tf -203.265 -35.866 Td [(6.1)-1125(Metho)-31(d)-375(init)]TJ 0 g 0 G 0 g 0 G -/F45 10.9091 Tf 140.362 -20.594 Td [(call)-525(p%init\050ptype,info\051)]TJ/F15 10.9091 Tf -140.362 -25.505 Td [(This)-388(routine)-388(allo)-27(cates)-388(and)-388(initializes)-388(the)-388(preconditioner)]TJ/F45 10.9091 Tf 272.013 0 Td [(p)]TJ/F15 10.9091 Tf 5.727 0 Td [(,)-402(accordin)1(g)-388(to)-388(the)-388(precondi-)]TJ -277.74 -13.549 Td [(tioner)-333(t)28(yp)-28(e)-334(c)28(hosen)-333(b)28(y)-334(the)-333(user.)]TJ/F17 11.9552 Tf 0 -33.873 Td [(Argumen)31(ts)]TJ/F45 10.9091 Tf 22.914 -15.794 Td [(ptype)-1589(character\050len=*\051,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 206.333 0 Td [(.)]TJ -160.362 -13.549 Td [(The)-333(t)27(yp)-27(e)-334(of)-333(preconditioner.)-444(Its)-334(v)56(alues)-333(are)-334(sp)-27(e)-1(ci\014ed)-333(in)-333(T)83(able)]TJ +/F45 10.9091 Tf 140.362 -20.594 Td [(call)-525(p%init\050ptype,info\051)]TJ/F15 10.9091 Tf -140.362 -25.505 Td [(This)-371(metho)-28(d)-370(allo)-28(cates)-371(and)-371(initializes)-371(the)-370(preconditioner)]TJ/F45 10.9091 Tf 272.803 0 Td [(p)]TJ/F15 10.9091 Tf 5.727 0 Td [(,)-380(according)-371(to)-371(the)-371(precondi-)]TJ -278.53 -13.549 Td [(tioner)-333(t)28(yp)-28(e)-334(c)28(hosen)-333(b)28(y)-334(the)-333(user.)]TJ/F17 11.9552 Tf 0 -33.873 Td [(Argumen)31(ts)]TJ/F45 10.9091 Tf 22.914 -15.794 Td [(ptype)-1589(character\050len=*\051,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 206.333 0 Td [(.)]TJ -160.362 -13.549 Td [(The)-333(t)27(yp)-27(e)-334(of)-333(preconditioner.)-444(Its)-334(v)56(alues)-333(are)-334(sp)-27(e)-1(ci\014)1(e)-1(d)-333(in)-333(T)83(able)]TJ 0 0 1 rg 0 0 1 RG [-333(1)]TJ 0 g 0 G @@ -3393,7 +3397,7 @@ BT 0 0 1 rg 0 0 1 RG [-333(8)]TJ 0 g 0 G - [-333(for)-334(d)1(e)-1(tail)1(s)-1(.)]TJ -51.949 -32.96 Td [(F)83(or)-380(compatibilit)28(y)-381(with)-380(the)-381(previous)-380(v)28(ersions)-381(of)-380(MLD2P4,)-392(this)-381(routine)-380(can)-381(b)-27(e)-381(also)]TJ -16.936 -13.549 Td [(in)28(v)28(ok)27(ed)-333(as)-333(follo)28(ws:)]TJ + [-333(for)-334(d)1(e)-1(tail)1(s)-1(.)]TJ -51.949 -32.96 Td [(F)83(or)-364(c)-1(ompati)1(bilit)27(y)-364(with)-365(the)-365(previous)-365(v)28(ersions)-365(of)-365(MLD2P4,)-372(this)-365(metho)-28(d)-365(can)-365(b)-27(e)-365(also)]TJ -16.936 -13.549 Td [(in)28(v)28(ok)27(ed)-333(as)-333(follo)28(ws:)]TJ 0 g 0 G 0 g 0 G /F45 10.9091 Tf 117.454 -25.505 Td [(call)-525(mld_precinit\050p,ptype,info\051)]TJ @@ -3403,9 +3407,9 @@ ET endstream endobj -454 0 obj +484 0 obj << -/Length 7098 +/Length 7103 >> stream 0 g 0 G @@ -3415,10 +3419,10 @@ BT 0 g 0 G [-378(User)-377(Interf)88(a)23(ce)]TJ/F15 10.9091 Tf 401.542 0 Td [(23)]TJ 0 g 0 G -/F17 11.9552 Tf -401.542 -35.866 Td [(6.2)-1125(Subroutine)-375(set)]TJ +/F17 11.9552 Tf -401.542 -35.866 Td [(6.2)-1125(Metho)-31(d)-375(set)]TJ 0 g 0 G 0 g 0 G -/F45 10.9091 Tf 77.363 -20.594 Td [(call)-525(p%set\050what,val,info)-525([,ilev,)-525(ilmax,)-525(pos]\051)]TJ/F15 10.9091 Tf -77.363 -24.369 Td [(This)-454(routine)-454(sets)-454(the)-453(parameters)-454(de\014ning)-454(the)-454(preconditioner)]TJ/F45 10.9091 Tf 301.822 0 Td [(p)]TJ/F15 10.9091 Tf 5.727 0 Td [(.)-806(More)-454(precisely)84(,)-484(the)]TJ -307.549 -13.549 Td [(parameter)-333(iden)27(ti)1(\014ed)-334(b)28(y)]TJ/F45 10.9091 Tf 114.909 0 Td [(what)]TJ/F15 10.9091 Tf 26.546 0 Td [(is)-333(assigned)-334(the)-333(v)56(alue)-334(con)28(tained)-333(in)]TJ/F45 10.9091 Tf 163.212 0 Td [(val)]TJ/F15 10.9091 Tf 17.181 0 Td [(.)]TJ/F17 11.9552 Tf -321.848 -33.873 Td [(Argumen)31(ts)]TJ/F45 10.9091 Tf 22.914 -15.605 Td [(what)-2114(character\050len=*\051)]TJ/F15 10.9091 Tf 137.606 0 Td [(.)]TJ -91.635 -13.549 Td [(The)-262(parameter)-263(to)-262(b)-28(e)-262(set.)-421(It)-262(can)-262(b)-28(e)-263(sp)-27(eci\014ed)-263(through)-262(its)-262(name;)-286(the)-262(s)-1(tr)1(ing)]TJ 0 -13.549 Td [(is)-333(case-)-1(in)1(s)-1(ensiti)1(v)27(e.)-444(See)-334(T)84(ables)]TJ +/F45 10.9091 Tf 77.363 -20.594 Td [(call)-525(p%set\050what,val,info)-525([,ilev,)-525(ilmax,)-525(pos]\051)]TJ/F15 10.9091 Tf -77.363 -24.369 Td [(This)-439(metho)-28(d)-440(sets)-439(the)-439(parameters)-440(de\014ning)-439(the)-439(prec)-1(on)1(ditioner)]TJ/F45 10.9091 Tf 302.65 0 Td [(p)]TJ/F15 10.9091 Tf 5.727 0 Td [(.)-763(More)-439(precisely)83(,)-466(the)]TJ -308.377 -13.549 Td [(parameter)-333(iden)27(t)1(i\014ed)-334(b)28(y)]TJ/F45 10.9091 Tf 114.909 0 Td [(what)]TJ/F15 10.9091 Tf 26.546 0 Td [(is)-333(assigned)-334(the)-333(v)56(alue)-334(con)28(tained)-333(in)]TJ/F45 10.9091 Tf 163.212 0 Td [(val)]TJ/F15 10.9091 Tf 17.181 0 Td [(.)]TJ/F17 11.9552 Tf -321.848 -33.873 Td [(Argumen)31(ts)]TJ/F45 10.9091 Tf 22.914 -15.605 Td [(what)-2114(character\050len=*\051)]TJ/F15 10.9091 Tf 137.606 0 Td [(.)]TJ -91.635 -13.549 Td [(The)-262(parameter)-263(to)-262(b)-28(e)-262(set.)-421(It)-262(can)-262(b)-28(e)-263(sp)-27(eci\014ed)-263(through)-262(its)-262(name;)-286(the)-262(s)-1(tr)1(ing)]TJ 0 -13.549 Td [(is)-333(case-)-1(in)1(s)-1(ensiti)1(v)27(e.)-444(See)-334(T)84(ables)]TJ 0 0 1 rg 0 0 1 RG [-334(2)]TJ 0 g 0 G @@ -3426,7 +3430,7 @@ BT 0 0 1 rg 0 0 1 RG [(8)]TJ 0 g 0 G - [(.)]TJ/F45 10.9091 Tf -45.971 -13.55 Td [(val)-2639(integer)]TJ/F18 10.9091 Tf 105.137 0 Td [(or)]TJ/F45 10.9091 Tf 30.424 0 Td [(character\050len=*\051)]TJ/F18 10.9091 Tf 110.711 0 Td [(or)]TJ/F45 10.9091 Tf 30.425 0 Td [(real\050psb_spk_\051)]TJ/F18 10.9091 Tf 99.256 0 Td [(or)]TJ/F45 10.9091 Tf -329.982 -13.549 Td [(real\050psb_dpk_\051)]TJ/F15 10.9091 Tf 80.181 0 Td [(,)]TJ/F45 10.9091 Tf 6.667 0 Td [(intent\050in\051)]TJ/F15 10.9091 Tf 57.272 0 Td [(.)]TJ -144.12 -13.549 Td [(The)-306(v)56(alue)-306(of)-305(the)-306(parameter)-306(to)-305(b)-28(e)-306(set.)-435(The)-306(list)-305(of)-306(allo)28(w)28(e)-1(d)-305(v)55(alu)1(e)-1(s)-305(and)-306(the)]TJ 0 -13.549 Td [(corresp)-28(onding)-391(data)-392(t)28(yp)-28(es)-391(is)-392(giv)28(en)-391(in)-392(T)84(ables)]TJ + [(.)]TJ/F45 10.9091 Tf -45.971 -13.55 Td [(val)-2639(integer)]TJ/F18 10.9091 Tf 105.136 0 Td [(or)]TJ/F45 10.9091 Tf 30.425 0 Td [(character\050len=*\051)]TJ/F18 10.9091 Tf 110.711 0 Td [(or)]TJ/F45 10.9091 Tf 30.425 0 Td [(real\050psb_spk_\051)]TJ/F18 10.9091 Tf 99.256 0 Td [(or)]TJ/F45 10.9091 Tf -329.982 -13.549 Td [(real\050psb_dpk_\051)]TJ/F15 10.9091 Tf 80.181 0 Td [(,)]TJ/F45 10.9091 Tf 6.667 0 Td [(intent\050in\051)]TJ/F15 10.9091 Tf 57.272 0 Td [(.)]TJ -144.12 -13.549 Td [(The)-306(v)56(alue)-306(of)-305(the)-306(parameter)-306(to)-305(b)-28(e)-306(set.)-435(The)-306(list)-305(of)-306(allo)28(w)28(e)-1(d)-305(v)55(alu)1(e)-1(s)-305(and)-306(the)]TJ 0 -13.549 Td [(corresp)-28(onding)-391(data)-392(t)28(yp)-28(es)-391(is)-392(giv)28(en)-391(in)-392(T)84(ables)]TJ 0 0 1 rg 0 0 1 RG [-392(2)]TJ 0 g 0 G @@ -3434,11 +3438,11 @@ BT 0 0 1 rg 0 0 1 RG [(8)]TJ 0 g 0 G - [(.)-619(When)-391(the)-392(v)56(alue)-392(is)-391(of)]TJ 0 -13.549 Td [(t)28(yp)-28(e)]TJ/F45 10.9091 Tf 24.546 0 Td [(character\050len=*\051)]TJ/F15 10.9091 Tf 91.635 0 Td [(,)-333(it)-334(is)-333(also)-333(treated)-334(as)-333(case)-333(inse)-1(n)1(s)-1(i)1(tiv)27(e.)]TJ/F45 10.9091 Tf -162.152 -13.55 Td [(info)-2114(integer,)-525(intent\050out\051)]TJ/F15 10.9091 Tf 160.515 0 Td [(.)]TJ -114.544 -13.549 Td [(Error)-333(co)-28(de.)-444(If)-334(no)-333(error,)-333(0)-334(is)-333(returned.)-444(See)-334(Section)]TJ + [(.)-619(When)-391(the)-392(v)56(alue)-392(is)-391(of)]TJ 0 -13.549 Td [(t)28(yp)-28(e)]TJ/F45 10.9091 Tf 24.545 0 Td [(character\050len=*\051)]TJ/F15 10.9091 Tf 91.636 0 Td [(,)-333(it)-334(is)-333(also)-333(treated)-334(as)-333(case)-333(inse)-1(n)1(s)-1(i)1(tiv)27(e.)]TJ/F45 10.9091 Tf -162.152 -13.55 Td [(info)-2114(integer,)-525(intent\050out\051)]TJ/F15 10.9091 Tf 160.515 0 Td [(.)]TJ -114.544 -13.549 Td [(Error)-333(co)-28(de.)-444(If)-334(no)-333(error,)-333(0)-334(is)-333(returned.)-444(See)-334(Section)]TJ 0 0 1 rg 0 0 1 RG [-333(8)]TJ 0 g 0 G - [-333(for)-334(details.)]TJ/F45 10.9091 Tf -45.971 -13.549 Td [(ilev)-2114(integer,)-525(optional,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 212.06 0 Td [(.)]TJ -166.089 -13.549 Td [(F)83(or)-344(th)1(e)-344(m)27(ultilev)28(el)-344(preconditioner,)-346(the)-344(lev)28(el)-344(at)-344(whic)28(h)-344(the)-344(preconditioner)]TJ 0 -13.549 Td [(parameter)-404(has)-404(to)-404(b)-27(e)-404(set.)-656(T)-1(h)1(e)-404(lev)27(els)-404(are)-403(n)27(um)28(b)-28(ered)-403(in)-404(increasing)-404(order)]TJ 0 -13.55 Td [(starting)-307(from)-307(the)-306(\014nest)-307(one,)-312(i.e.,)-313(lev)28(el)-307(1)-307(i)1(s)-307(the)-307(\014nest)-307(lev)28(el.)-436(If)]TJ/F45 10.9091 Tf 287.463 0 Td [(ilev)]TJ/F15 10.9091 Tf 26.256 0 Td [(is)-307(not)]TJ -313.719 -13.549 Td [(presen)28(t,)-419(the)-402(parameter)-402(iden)27(ti\014ed)-402(b)28(y)]TJ/F45 10.9091 Tf 178.631 0 Td [(what)]TJ/F15 10.9091 Tf 27.295 0 Td [(is)-402(set)-402(at)-402(all)-402(the)-402(appropriate)]TJ -205.926 -13.549 Td [(lev)28(els)-334(\050see)-333(T)83(ables)]TJ + [-333(for)-334(details.)]TJ/F45 10.9091 Tf -45.971 -13.549 Td [(ilev)-2114(integer,)-525(optional,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 212.06 0 Td [(.)]TJ -166.089 -13.549 Td [(F)83(or)-344(th)1(e)-344(m)27(ultilev)28(el)-344(preconditioner,)-346(the)-344(lev)28(el)-344(at)-344(whic)28(h)-344(the)-344(preconditioner)]TJ 0 -13.549 Td [(parameter)-404(has)-404(to)-404(b)-27(e)-404(set.)-656(The)-404(lev)27(els)-404(are)-403(n)27(um)28(b)-28(ered)-403(in)-404(increasing)-404(order)]TJ 0 -13.55 Td [(starting)-307(from)-307(the)-306(\014nest)-307(one,)-312(i.e.,)-313(lev)28(el)-307(1)-307(i)1(s)-307(the)-307(\014nest)-307(lev)28(el.)-436(If)]TJ/F45 10.9091 Tf 287.463 0 Td [(ilev)]TJ/F15 10.9091 Tf 26.256 0 Td [(is)-307(not)]TJ -313.719 -13.549 Td [(presen)28(t,)-419(the)-402(parameter)-402(iden)27(ti\014ed)-402(b)28(y)]TJ/F45 10.9091 Tf 178.631 0 Td [(what)]TJ/F15 10.9091 Tf 27.295 0 Td [(is)-402(set)-402(at)-402(all)-402(the)-402(appropriate)]TJ -205.926 -13.549 Td [(lev)28(els)-334(\050see)-333(T)83(ables)]TJ 0 0 1 rg 0 0 1 RG [-333(2)]TJ 0 g 0 G @@ -3446,7 +3450,7 @@ BT 0 0 1 rg 0 0 1 RG [(8)]TJ 0 g 0 G - [(\051.)]TJ/F45 10.9091 Tf -45.971 -13.549 Td [(ilmax)-1589(integer,)-525(optional,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 212.06 0 Td [(.)]TJ -166.089 -13.549 Td [(F)83(or)-608(the)-608(m)28(ultilev)28(el)-609(p)1(rec)-1(on)1(ditioner,)-677(when)-608(b)-28(oth)]TJ/F45 10.9091 Tf 236.557 0 Td [(ilev)]TJ/F15 10.9091 Tf 29.544 0 Td [(and)]TJ/F45 10.9091 Tf 24.21 0 Td [(ilmax)]TJ/F15 10.9091 Tf 35.271 0 Td [(are)]TJ -325.582 -13.549 Td [(presen)28(t,)-393(the)-381(settings)-380(are)-381(applied)-381(at)-381(all)-380(lev)27(els)]TJ/F45 10.9091 Tf 218.209 0 Td [(ilev:ilmax)]TJ/F15 10.9091 Tf 57.272 0 Td [(.)-587(When)]TJ/F45 10.9091 Tf 41.768 0 Td [(ilev)]TJ/F15 10.9091 Tf -317.249 -13.55 Td [(is)-341(presen)28(t)-341(but)]TJ/F45 10.9091 Tf 69.19 0 Td [(ilmax)]TJ/F15 10.9091 Tf 32.355 0 Td [(is)-341(not,)-343(then)-341(the)-341(default)-341(is)]TJ/F45 10.9091 Tf 125.189 0 Td [(ilmax=ilev)]TJ/F15 10.9091 Tf 57.272 0 Td [(.)-467(The)-341(lev)27(els)]TJ -284.006 -13.549 Td [(are)-331(n)28(um)27(b)-27(ered)-332(in)-331(increasing)-331(order)-331(starting)-332(from)-331(the)-331(\014nest)-331(one,)-332(i.e.,)-332(lev)28(el)]TJ 0 -13.549 Td [(1)-333(is)-334(the)-333(\014nest)-333(lev)27(el.)]TJ/F45 10.9091 Tf -45.971 -13.549 Td [(pos)-2639(charater\050len=*\051,)-525(optional,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 257.878 0 Td [(.)]TJ -211.907 -13.549 Td [(Whether)-256(the)-255(other)-256(argumen)28(ts)-256(app)1(ly)-256(only)-256(to)-255(the)-256(pre-smo)-28(other)-255(\050)]TJ/F45 10.9091 Tf 294.764 0 Td [('PRE')]TJ/F15 10.9091 Tf 28.636 0 Td [(\051)-256(or)]TJ -323.4 -13.55 Td [(to)-223(the)-223(p)-27(ost-smo)-28(other)-223(\050)]TJ/F45 10.9091 Tf 104.413 0 Td [('POST')]TJ/F15 10.9091 Tf 34.363 0 Td [(\051.)-223(If)]TJ/F45 10.9091 Tf 19.406 0 Td [(pos)]TJ/F15 10.9091 Tf 19.612 0 Td [(is)-223(not)-223(presen)28(t,)-245(the)-222(other)-223(argumen)28(ts)]TJ -177.794 -13.549 Td [(are)-349(applied)-349(to)-349(b)-28(oth)-349(smo)-28(others.)-492(If)-349(the)-349(preconditioner)-349(is)-350(one-lev)28(el)-349(or)-349(the)]TJ 0 -13.549 Td [(parameter)-447(iden)28(ti\014ed)-448(b)28(y)]TJ/F45 10.9091 Tf 118.636 0 Td [(what)]TJ/F15 10.9091 Tf 27.788 0 Td [(do)-28(es)-447(not)-447(concern)-447(the)-448(smo)-27(others,)]TJ/F45 10.9091 Tf 164.34 0 Td [(pos)]TJ/F15 10.9091 Tf 22.06 0 Td [(is)]TJ -332.824 -13.549 Td [(ignored.)]TJ -51.948 -32.961 Td [(F)83(or)-380(compatibilit)28(y)-381(with)-380(the)-381(pr)1(e)-1(viou)1(s)-381(v)28(ersions)-381(of)-380(MLD2P4,)-392(this)-381(routine)-380(can)-381(b)-27(e)-381(also)]TJ -16.937 -13.549 Td [(in)28(v)28(ok)27(ed)-333(as)-333(follo)28(ws:)]TJ + [(\051.)]TJ/F45 10.9091 Tf -45.971 -13.549 Td [(ilmax)-1589(integer,)-525(optional,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 212.06 0 Td [(.)]TJ -166.089 -13.549 Td [(F)83(or)-608(the)-608(m)28(ultilev)28(el)-609(p)1(rec)-1(on)1(ditioner,)-677(when)-608(b)-28(oth)]TJ/F45 10.9091 Tf 236.557 0 Td [(ilev)]TJ/F15 10.9091 Tf 29.544 0 Td [(and)]TJ/F45 10.9091 Tf 24.21 0 Td [(ilmax)]TJ/F15 10.9091 Tf 35.271 0 Td [(are)]TJ -325.582 -13.549 Td [(presen)28(t,)-393(the)-381(settings)-380(are)-381(applied)-381(at)-381(all)-380(lev)27(els)]TJ/F45 10.9091 Tf 218.209 0 Td [(ilev:ilmax)]TJ/F15 10.9091 Tf 57.272 0 Td [(.)-587(When)]TJ/F45 10.9091 Tf 41.768 0 Td [(ilev)]TJ/F15 10.9091 Tf -317.249 -13.55 Td [(is)-341(presen)28(t)-341(but)]TJ/F45 10.9091 Tf 69.19 0 Td [(ilmax)]TJ/F15 10.9091 Tf 32.355 0 Td [(is)-341(not,)-343(then)-341(the)-341(default)-341(is)]TJ/F45 10.9091 Tf 125.189 0 Td [(ilmax=ilev)]TJ/F15 10.9091 Tf 57.272 0 Td [(.)-467(The)-341(lev)27(els)]TJ -284.006 -13.549 Td [(are)-331(n)28(um)27(b)-27(ered)-332(in)-331(increasing)-331(order)-331(starting)-332(from)-331(the)-331(\014nest)-331(one,)-332(i.e.,)-332(lev)28(el)]TJ 0 -13.549 Td [(1)-333(is)-334(the)-333(\014nest)-333(lev)27(el.)]TJ/F45 10.9091 Tf -45.971 -13.549 Td [(pos)-2639(charater\050len=*\051,)-525(optional,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 257.878 0 Td [(.)]TJ -211.907 -13.549 Td [(Whether)-256(the)-255(other)-256(argumen)28(ts)-256(app)1(ly)-256(only)-256(to)-255(the)-256(pre-smo)-28(other)-255(\050)]TJ/F45 10.9091 Tf 294.764 0 Td [('PRE')]TJ/F15 10.9091 Tf 28.636 0 Td [(\051)-256(or)]TJ -323.4 -13.55 Td [(to)-223(the)-223(p)-27(ost-smo)-28(other)-223(\050)]TJ/F45 10.9091 Tf 104.413 0 Td [('POST')]TJ/F15 10.9091 Tf 34.363 0 Td [(\051.)-223(If)]TJ/F45 10.9091 Tf 19.406 0 Td [(pos)]TJ/F15 10.9091 Tf 19.612 0 Td [(is)-223(not)-223(presen)28(t,)-245(the)-222(other)-223(argumen)28(ts)]TJ -177.794 -13.549 Td [(are)-349(applied)-349(to)-349(b)-28(oth)-349(smo)-28(others.)-492(If)-349(the)-349(preconditioner)-349(is)-350(one-lev)28(el)-349(or)-349(the)]TJ 0 -13.549 Td [(parameter)-447(iden)28(ti\014ed)-448(b)28(y)]TJ/F45 10.9091 Tf 118.636 0 Td [(what)]TJ/F15 10.9091 Tf 27.788 0 Td [(do)-28(es)-447(not)-447(concern)-447(the)-448(smo)-27(others,)]TJ/F45 10.9091 Tf 164.34 0 Td [(pos)]TJ/F15 10.9091 Tf 22.06 0 Td [(is)]TJ -332.824 -13.549 Td [(ignored.)]TJ -51.948 -32.961 Td [(F)83(or)-364(com)-1(p)1(atibilit)27(y)-364(with)-365(the)-365(previous)-365(v)28(ersions)-365(of)-365(MLD2P4,)-372(this)-365(metho)-28(d)-365(can)-365(b)-27(e)-365(also)]TJ -16.937 -13.549 Td [(in)28(v)28(ok)27(ed)-333(as)-333(follo)28(ws:)]TJ 0 g 0 G 0 g 0 G /F45 10.9091 Tf 111.727 -24.369 Td [(call)-525(mld_precset\050p,what,val,info\051)]TJ/F15 10.9091 Tf -111.727 -24.369 Td [(Ho)28(w)28(e)-1(v)28(er,)-333(in)-333(this)-334(case)-333(the)-333(optional)-334(argumen)28(ts)]TJ/F45 10.9091 Tf 218.425 0 Td [(ilev)]TJ/F15 10.9091 Tf 22.908 0 Td [(,)]TJ/F45 10.9091 Tf 6.667 0 Td [(ilmax)]TJ/F15 10.9091 Tf 28.636 0 Td [(,)-333(and)]TJ/F45 10.9091 Tf 27.879 0 Td [(pos)]TJ/F15 10.9091 Tf 20.818 0 Td [(cannot)-333(b)-28(e)-333(used.)]TJ @@ -3456,7 +3460,7 @@ ET endstream endobj -466 0 obj +496 0 obj << /Length 7882 >> @@ -3527,7 +3531,7 @@ ET endstream endobj -483 0 obj +513 0 obj << /Length 2620 >> @@ -3560,7 +3564,7 @@ ET endstream endobj -488 0 obj +518 0 obj << /Length 3774 >> @@ -3725,7 +3729,7 @@ Q endstream endobj -493 0 obj +523 0 obj << /Length 10371 >> @@ -4113,7 +4117,7 @@ Q endstream endobj -498 0 obj +528 0 obj << /Length 6126 >> @@ -4374,7 +4378,7 @@ Q endstream endobj -504 0 obj +534 0 obj << /Length 9225 >> @@ -4657,7 +4661,7 @@ Q endstream endobj -508 0 obj +538 0 obj << /Length 4941 >> @@ -4872,7 +4876,7 @@ Q endstream endobj -514 0 obj +544 0 obj << /Length 7639 >> @@ -5126,328 +5130,149 @@ Q endstream endobj -519 0 obj +435 0 obj << -/Length 6856 +/Type /ObjStm +/N 100 +/First 898 +/Length 12262 >> stream -0 g 0 G -BT -/F15 10.9091 Tf 86.4 740.002 Td [(32)]TJ/F42 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ -0 g 0 G -0 g 0 G -ET -1 0 0 1 292.625 715.095 cm -q -0 -1 1 0 0 0 cm -0 g 0 G -0 g 0 G -0 g 0 G -q -1 0 0 1 8.269 122.254 cm -[]0 d 0 J 0.398 w 0 0 m 577.037 0 l S -Q -q -1 0 0 1 8.269 110.1 cm -[]0 d 0 J 0.398 w 0 0 m 0 11.955 l S -Q -1 0 0 1 -292.625 -715.095 cm -BT -/F45 9.9626 Tf 306.872 828.781 Td [(what)]TJ -ET -q -1 0 0 1 397.889 825.195 cm -[]0 d 0 J 0.398 w 0 0 m 0 11.955 l S -Q -BT -/F42 9.9626 Tf 403.866 828.781 Td [(d)22(a)67(t)66(a)-377(type)]TJ -ET -q -1 0 0 1 507.577 825.195 cm -[]0 d 0 J 0.398 w 0 0 m 0 11.955 l S -Q -BT -/F45 9.9626 Tf 513.555 828.781 Td [(val)]TJ -ET -q -1 0 0 1 590.399 825.195 cm -[]0 d 0 J 0.398 w 0 0 m 0 11.955 l S -Q -BT -/F42 9.9626 Tf 596.376 828.781 Td [(def)89(a)22(ul)67(t)]TJ -ET -q -1 0 0 1 664.716 825.195 cm -[]0 d 0 J 0.398 w 0 0 m 0 11.955 l S -Q -BT -/F42 9.9626 Tf 670.693 828.781 Td [(comments)]TJ -ET -q -1 0 0 1 877.931 825.195 cm -[]0 d 0 J 0.398 w 0 0 m 0 11.955 l S -Q -q -1 0 0 1 300.894 824.996 cm -[]0 d 0 J 0.398 w 0 0 m 577.037 0 l S -Q -q -1 0 0 1 300.894 753.065 cm -[]0 d 0 J 0.398 w 0 0 m 0 71.731 l S -Q -BT -/F45 9.9626 Tf 306.872 816.428 Td [('SUB_RESTR')]TJ -ET -q -1 0 0 1 397.889 753.065 cm -[]0 d 0 J 0.398 w 0 0 m 0 71.731 l S -Q -BT -/F45 9.9626 Tf 403.866 816.428 Td [(character\050len=*\051)]TJ -ET -q -1 0 0 1 507.577 753.065 cm -[]0 d 0 J 0.398 w 0 0 m 0 71.731 l S -Q -BT -/F45 9.9626 Tf 513.555 816.428 Td [('HALO')]TJ 0 -11.955 Td [('NONE')]TJ -ET -q -1 0 0 1 590.399 753.065 cm -[]0 d 0 J 0.398 w 0 0 m 0 71.731 l S -Q -BT -/F45 9.9626 Tf 596.376 816.428 Td [('HALO')]TJ -ET -q -1 0 0 1 664.716 753.065 cm -[]0 d 0 J 0.398 w 0 0 m 0 71.731 l S -Q -BT -/F15 9.9626 Tf 670.693 816.428 Td [(T)28(yp)-28(e)-733(of)-733(restriction)-733(op)-28(erator,)-833(for)-733(Additiv)28(e)]TJ 0 -11.955 Td [(Sc)28(h)28(w)27(arz)-271(only:)]TJ/F45 9.9626 Tf 63.303 0 Td [(HALO)]TJ/F15 9.9626 Tf 23.622 0 Td [(for)-271(taking)-271(in)28(to)-272(accoun)28(t)-271(the)]TJ -86.925 -11.956 Td [(o)28(v)28(e)-1(r)1(lap,)]TJ/F45 9.9626 Tf 37.388 0 Td [(NONE)]TJ/F15 9.9626 Tf 24.242 0 Td [(for)-333(neglecting)-334(it.)]TJ -61.63 -11.955 Td [(Note)-367(that)]TJ/F45 9.9626 Tf 46.337 0 Td [(HALO)]TJ/F15 9.9626 Tf 24.58 0 Td [(m)28(ust)-367(b)-28(e)-367(c)27(hosen)-367(for)-367(the)-367(classi-)]TJ -70.917 -11.955 Td [(cal)-399(Addditiv)28(e)-399(Sc)28(h)28(w)27(ar)1(z)-399(smo)-28(other)-399(and)-399(its)-399(RAS)]TJ 0 -11.955 Td [(v)56(arian)27(t.)]TJ -ET -q -1 0 0 1 877.931 753.065 cm -[]0 d 0 J 0.398 w 0 0 m 0 71.731 l S -Q -q -1 0 0 1 300.894 752.866 cm -[]0 d 0 J 0.398 w 0 0 m 577.037 0 l S -Q -q -1 0 0 1 300.894 680.936 cm -[]0 d 0 J 0.398 w 0 0 m 0 71.731 l S -Q -BT -/F45 9.9626 Tf 306.872 744.298 Td [('SUB_PROL')]TJ -ET -q -1 0 0 1 397.889 680.936 cm -[]0 d 0 J 0.398 w 0 0 m 0 71.731 l S -Q -BT -/F45 9.9626 Tf 403.866 744.298 Td [(character\050len=*\051)]TJ -ET -q -1 0 0 1 507.577 680.936 cm -[]0 d 0 J 0.398 w 0 0 m 0 71.731 l S -Q -BT -/F45 9.9626 Tf 513.555 744.298 Td [('SUM')]TJ 0 -11.955 Td [('NONE')]TJ -ET -q -1 0 0 1 590.399 680.936 cm -[]0 d 0 J 0.398 w 0 0 m 0 71.731 l S -Q -BT -/F45 9.9626 Tf 596.376 744.298 Td [('NONE')]TJ -ET -q -1 0 0 1 664.716 680.936 cm -[]0 d 0 J 0.398 w 0 0 m 0 71.731 l S -Q -BT -/F15 9.9626 Tf 670.693 744.298 Td [(T)28(yp)-28(e)-534(of)-533(prolongation)-534(op)-27(erator,)-584(for)-534(Add)1(itiv)27(e)]TJ 0 -11.955 Td [(Sc)28(h)28(w)27(arz)-253(on)1(ly:)]TJ/F45 9.9626 Tf 63.028 0 Td [(SUM)]TJ/F15 9.9626 Tf 18.209 0 Td [(for)-253(adding)-252(the)-253(con)28(tributions)]TJ -81.237 -11.955 Td [(from)-333(the)-334(o)28(v)28(erlap,)]TJ/F45 9.9626 Tf 78.097 0 Td [(NONE)]TJ/F15 9.9626 Tf 24.242 0 Td [(for)-333(neglecting)-334(them.)]TJ -102.339 -11.955 Td [(Note)-322(that)]TJ/F45 9.9626 Tf 45.431 0 Td [(SUM)]TJ/F15 9.9626 Tf 18.896 0 Td [(m)28(ust)-322(b)-28(e)-321(c)27(hosen)-321(for)-322(the)-322(classical)]TJ -64.327 -11.955 Td [(Additiv)28(e)-436(S)1(c)27(h)28(w)28(arz)-436(smo)-27(other,)-461(and)]TJ/F45 9.9626 Tf 149.166 0 Td [(NONE)]TJ/F15 9.9626 Tf 25.258 0 Td [(for)-435(its)]TJ -174.424 -11.956 Td [(RAS)-333(v)55(arian)28(t.)]TJ -ET -q -1 0 0 1 877.931 680.936 cm -[]0 d 0 J 0.398 w 0 0 m 0 71.731 l S -Q -q -1 0 0 1 300.894 680.737 cm -[]0 d 0 J 0.398 w 0 0 m 577.037 0 l S -Q -q -1 0 0 1 300.894 656.627 cm -[]0 d 0 J 0.398 w 0 0 m 0 23.91 l S -Q -BT -/F45 9.9626 Tf 306.872 672.169 Td [('SUB_FILLIN')]TJ -ET -q -1 0 0 1 397.889 656.627 cm -[]0 d 0 J 0.398 w 0 0 m 0 23.91 l S -Q -BT -/F45 9.9626 Tf 403.866 672.169 Td [(integer)]TJ -ET -q -1 0 0 1 507.577 656.627 cm -[]0 d 0 J 0.398 w 0 0 m 0 23.91 l S -Q -BT -/F15 9.9626 Tf 513.555 672.169 Td [(An)28(y)-333(in)27(teger)]TJ 0 -11.955 Td [(n)28(um)28(b)-28(er)]TJ/F25 9.9626 Tf 36.281 0 Td [(\025)]TJ/F15 9.9626 Tf 10.516 0 Td [(0)]TJ -ET -q -1 0 0 1 590.399 656.627 cm -[]0 d 0 J 0.398 w 0 0 m 0 23.91 l S -Q -BT -/F15 9.9626 Tf 596.376 672.169 Td [(0)]TJ -ET -q -1 0 0 1 664.716 656.627 cm -[]0 d 0 J 0.398 w 0 0 m 0 23.91 l S -Q -BT -/F15 9.9626 Tf 670.693 672.169 Td [(Fill-in)-389(lev)28(el)]TJ/F22 9.9626 Tf 53.553 0 Td [(p)]TJ/F15 9.9626 Tf 8.888 0 Td [(of)-389(the)-389(incomplete)-389(LU)-389(factoriza-)]TJ -62.441 -11.955 Td [(tions.)]TJ -ET -q -1 0 0 1 877.931 656.627 cm -[]0 d 0 J 0.398 w 0 0 m 0 23.91 l S -Q -q -1 0 0 1 300.894 656.428 cm -[]0 d 0 J 0.398 w 0 0 m 577.037 0 l S -Q -q -1 0 0 1 300.894 632.318 cm -[]0 d 0 J 0.398 w 0 0 m 0 23.91 l S -Q -BT -/F45 9.9626 Tf 306.872 647.86 Td [('SUB_ILUTHRS')]TJ -ET -q -1 0 0 1 397.889 632.318 cm -[]0 d 0 J 0.398 w 0 0 m 0 23.91 l S -Q -BT -/F45 9.9626 Tf 403.866 647.86 Td [(real\050)]TJ/F18 9.9626 Tf 26.152 0 Td [(kind)]TJ -ET -q -1 0 0 1 448.96 648.059 cm -[]0 d 0 J 0.398 w 0 0 m 3.055 0 l S -Q -BT -/F18 9.9626 Tf 452.015 647.86 Td [(p)51(ar)51(ameter)]TJ/F45 9.9626 Tf 44.354 0 Td [(\051)]TJ -ET -q -1 0 0 1 507.577 632.318 cm -[]0 d 0 J 0.398 w 0 0 m 0 23.91 l S -Q -BT -/F15 9.9626 Tf 513.555 647.86 Td [(An)28(y)-722(real)-722(n)28(um-)]TJ 0 -11.955 Td [(b)-28(er)]TJ/F25 9.9626 Tf 17.462 0 Td [(\025)]TJ/F15 9.9626 Tf 10.516 0 Td [(0)]TJ -ET -q -1 0 0 1 590.399 632.318 cm -[]0 d 0 J 0.398 w 0 0 m 0 23.91 l S -Q -BT -/F15 9.9626 Tf 596.376 647.86 Td [(0)]TJ -ET -q -1 0 0 1 664.716 632.318 cm -[]0 d 0 J 0.398 w 0 0 m 0 23.91 l S -Q -BT -/F15 9.9626 Tf 670.693 647.86 Td [(Drop)-314(tolerance)]TJ/F22 9.9626 Tf 67.612 0 Td [(t)]TJ/F15 9.9626 Tf 6.726 0 Td [(in)-314(the)-314(ILU\050)]TJ/F22 9.9626 Tf 49.568 0 Td [(p;)-167(t)]TJ/F15 9.9626 Tf 13.038 0 Td [(\051)-314(factorization.)]TJ -ET -q -1 0 0 1 877.931 632.318 cm -[]0 d 0 J 0.398 w 0 0 m 0 23.91 l S -Q -q -1 0 0 1 300.894 632.119 cm -[]0 d 0 J 0.398 w 0 0 m 577.037 0 l S -Q -0 g 0 G -BT -/F15 10.9091 Tf 348.852 600.824 Td [(T)83(able)-333(8:)-444(P)27(arameters)-333(de\014ning)-333(the)-334(smo)-27(other)-334(or)-333(the)-333(details)-334(of)-333(the)-333(one-lev)28(e)-1(l)-333(preconditioner)-333(\050con)28(tin)28(ued\051.)]TJ -0 g 0 G -0 g 0 G -ET -1 0 0 1 292.625 715.095 cm -Q -0 g 0 G -0 g 0 G -0 g 0 G - -endstream -endobj -529 0 obj +434 0 422 54 431 111 445 217 428 423 429 569 436 713 437 865 438 1018 439 1165 +440 1309 441 1455 442 1601 443 1743 447 1888 63 1942 444 1995 454 2101 452 2235 456 2381 +448 2435 453 2492 459 2585 461 2699 449 2753 450 2810 451 2867 458 2924 465 3017 463 3159 +462 3305 467 3456 67 3510 464 3563 471 3734 468 3876 469 4021 473 4168 71 4222 470 4275 +483 4381 481 4571 474 4717 475 4862 476 5007 477 5152 478 5297 479 5444 480 5589 485 5733 +75 5787 482 5840 495 5959 486 6149 487 6294 488 6438 489 6585 490 6729 491 6874 492 7018 +493 7163 497 7308 498 7362 499 7415 500 7469 501 7523 494 7577 512 7696 510 7830 514 7976 +511 8030 517 8123 519 8237 423 8291 516 8350 522 8456 520 8598 504 8744 524 8907 525 8961 +521 9018 527 9176 505 9342 506 9492 507 9644 508 9792 509 9942 529 10104 530 10158 526 10215 +533 10360 531 10494 535 10640 503 10694 532 10752 537 10871 539 10985 540 11039 536 11098 543 11230 +% 434 0 obj << -/Length 3251 +/D [432 0 R /XYZ 92.6 752.957 null] >> -stream -0 g 0 G -0 0 1 rg 0 0 1 RG -BT -/F42 10.9091 Tf 93.6 740.002 Td [(6)]TJ -0 g 0 G - [-378(User)-377(Interf)88(a)23(ce)]TJ/F15 10.9091 Tf 401.542 0 Td [(33)]TJ -0 g 0 G -/F17 11.9552 Tf -401.542 -35.866 Td [(6.3)-1125(Subroutine)-375(build)]TJ -0 g 0 G -0 g 0 G -/F45 10.9091 Tf 128.908 -20.594 Td [(call)-525(p%build\050a,desc_a,info\051)]TJ/F15 10.9091 Tf -128.908 -25.505 Td [(This)-341(routine)-341(build)1(s)-341(the)-341(one-lev)27(el)-340(preconditioner)]TJ/F45 10.9091 Tf 231.009 0 Td [(p)]TJ/F15 10.9091 Tf 9.446 0 Td [(according)-341(to)-341(the)-341(requir)1(e)-1(men)28(ts)-341(made)]TJ -240.455 -13.549 Td [(b)28(y)-340(the)-340(user)-340(through)-340(the)-340(routines)]TJ/F45 10.9091 Tf 159.435 0 Td [(init)]TJ/F15 10.9091 Tf 26.618 0 Td [(and)]TJ/F45 10.9091 Tf 21.285 0 Td [(set)]TJ/F15 10.9091 Tf 20.89 0 Td [(\050see)-340(Sections)]TJ -0 0 1 rg 0 0 1 RG - [-340(6.4)]TJ -0 g 0 G - [-340(and)]TJ -0 0 1 rg 0 0 1 RG - [-340(6.5)]TJ -0 g 0 G - [-340(for)-340(m)28(ultilev)28(el)]TJ -228.228 -13.549 Td [(preconditioners\051.)]TJ/F17 11.9552 Tf 0 -33.873 Td [(Argumen)31(ts)]TJ/F45 10.9091 Tf 22.914 -15.794 Td [(a)-3689(type\050psb_)]TJ/F18 10.9091 Tf 97.516 0 Td [(x)]TJ/F45 10.9091 Tf 6.374 0 Td [(spmat_type\051,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 131.726 0 Td [(.)]TJ -189.645 -13.549 Td [(The)-501(sparse)-501(matrix)-501(structure)-501(con)28(taining)-501(t)1(he)-501(lo)-28(cal)-501(part)-501(of)-501(the)-501(matrix)]TJ 0 -13.549 Td [(to)-470(b)-28(e)-469(preconditioned.)-854(Note)-470(that)]TJ/F18 10.9091 Tf 166.818 0 Td [(x)]TJ/F15 10.9091 Tf 11.5 0 Td [(m)28(ust)-470(b)-28(e)-470(c)28(hosen)-470(according)-470(to)-469(the)]TJ -178.318 -13.55 Td [(real/complex,)-534(single/doub)1(le)-494(precision)-494(v)28(ersion)-493(of)-494(MLD2P4)-493(under)-494(use.)]TJ 0 -13.549 Td [(See)-333(the)-334(PSBLAS)-333(User's)-333(Guide)-334(for)-333(details)-333([)]TJ -1 0 0 rg 1 0 0 RG - [(13)]TJ -0 g 0 G - [(].)]TJ/F45 10.9091 Tf -45.971 -13.549 Td [(desc_a)-1064(type\050psb_desc_type\051,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 223.515 0 Td [(.)]TJ -177.544 -13.549 Td [(The)-354(comm)28(unication)-354(descriptor)-354(of)]TJ/F45 10.9091 Tf 162.835 0 Td [(a)]TJ/F15 10.9091 Tf 5.728 0 Td [(.)-506(See)-354(the)-354(PSBLAS)-354(User's)-353(Guide)-354(for)]TJ -168.563 -13.549 Td [(details)-333([)]TJ -1 0 0 rg 1 0 0 RG - [(13)]TJ -0 g 0 G - [(].)]TJ/F45 10.9091 Tf -45.971 -13.55 Td [(info)-2114(integer,)-525(intent\050out\051)]TJ/F15 10.9091 Tf 160.515 0 Td [(.)]TJ -114.544 -13.549 Td [(Error)-333(co)-28(de.)-444(If)-334(no)-333(error,)-333(0)-334(is)-333(returned.)-444(See)-334(Section)]TJ -0 0 1 rg 0 0 1 RG - [-333(8)]TJ -0 g 0 G - [-333(for)-334(details.)]TJ -51.948 -32.96 Td [(F)83(or)-380(compatibilit)28(y)-381(with)-380(the)-381(pr)1(e)-1(vi)1(ous)-381(v)28(ersions)-381(of)-380(MLD2P4,)-392(this)-381(routine)-380(can)-381(b)-27(e)-381(also)]TJ -16.937 -13.55 Td [(in)28(v)28(ok)27(ed)-333(as)-333(follo)28(ws:)]TJ -0 g 0 G -0 g 0 G -/F45 10.9091 Tf 111.727 -25.504 Td [(call)-525(mld_precbld\050p,what,val,info\051)]TJ/F15 10.9091 Tf -111.727 -25.504 Td [(In)-333(this)-334(case,)-333(the)-333(routine)-334(can)-333(b)-28(e)-333(used)-333(to)-334(build)-333(m)28(ultilev)28(el)-334(preconditi)1(oners)-334(to)-28(o.)]TJ -0 g 0 G -0 g 0 G -ET - -endstream -endobj -427 0 obj +% 422 0 obj << -/Type /ObjStm -/N 100 -/First 891 -/Length 12062 +/D [432 0 R /XYZ 166.644 349.945 null] >> -stream -421 0 425 146 417 200 422 257 429 350 431 464 418 518 419 575 420 632 428 689 -435 782 433 924 432 1070 437 1221 67 1275 434 1328 441 1499 438 1641 439 1786 443 1933 -71 1987 440 2040 453 2146 451 2336 444 2482 445 2627 446 2772 447 2917 448 3062 449 3209 -450 3354 455 3498 75 3552 452 3605 465 3724 456 3914 457 4059 458 4203 459 4350 460 4494 -461 4639 462 4783 463 4928 467 5073 468 5127 469 5180 470 5234 471 5288 464 5342 482 5461 -480 5595 484 5741 481 5795 487 5888 489 6002 393 6056 486 6115 492 6221 490 6363 474 6509 -494 6672 495 6726 491 6784 497 6942 475 7108 476 7258 477 7410 478 7558 479 7708 499 7870 -500 7924 496 7981 503 8126 501 8260 505 8406 473 8460 502 8518 507 8637 509 8751 510 8805 -506 8864 513 8996 511 9130 515 9276 472 9330 512 9388 518 9507 520 9621 394 9675 517 9734 -528 9866 526 10040 521 10186 522 10338 523 10490 524 10644 525 10798 530 10945 79 10999 527 11052 -% 421 0 obj +% 431 0 obj +<< +/Font << /F42 161 0 R /F15 160 0 R /F45 255 0 R /F44 205 0 R >> +/ProcSet [ /PDF /Text ] +>> +% 445 0 obj +<< +/Type /Page +/Contents 446 0 R +/Resources 444 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 384 0 R +/Annots [ 428 0 R 429 0 R 436 0 R 437 0 R 438 0 R 439 0 R 440 0 R 441 0 R 442 0 R 443 0 R ] +>> +% 428 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [220.251 680.424 227.698 692.114] +/A << /S /GoTo /D (figure.2) >> +>> +% 429 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [457.77 666.269 465.218 679.171] +/A << /S /GoTo /D (table.1) >> +>> +% 436 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [404.565 517.228 420.497 530.129] +/A << /S /GoTo /D (subsection.3.5) >> +>> +% 437 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[0 1 0] +/Rect [464.571 492.857 477.472 501.88] +/A << /S /GoTo /D (cite.PSBLASGUIDE) >> +>> +% 438 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [397.562 449.482 405.009 462.383] +/A << /S /GoTo /D (section.6) >> +>> +% 439 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [460.805 409.44 468.252 421.13] +/A << /S /GoTo /D (figure.3) >> +>> +% 440 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [355.295 328.145 362.742 339.835] +/A << /S /GoTo /D (figure.4) >> +>> +% 441 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [360.507 260.399 367.954 272.089] +/A << /S /GoTo /D (figure.3) >> +>> +% 442 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [393.552 260.399 401 272.089] +/A << /S /GoTo /D (figure.4) >> +>> +% 443 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [178.322 233.301 185.769 244.99] +/A << /S /GoTo /D (figure.5) >> +>> +% 447 0 obj +<< +/D [445 0 R /XYZ 85.4 752.957 null] +>> +% 63 0 obj +<< +/D [445 0 R /XYZ 86.4 715.095 null] +>> +% 444 0 obj +<< +/Font << /F15 160 0 R /F42 161 0 R /F17 148 0 R /F45 255 0 R >> +/ProcSet [ /PDF /Text ] +>> +% 454 0 obj +<< +/Type /Page +/Contents 455 0 R +/Resources 453 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 457 0 R +/Annots [ 452 0 R ] +>> +% 452 0 obj << /Type /Annot /Subtype /Link @@ -5455,58 +5280,58 @@ stream /Rect [92.604 739.006 100.627 748.453] /A << /S /GoTo /D (section.5) >> >> -% 425 0 obj +% 456 0 obj << -/D [423 0 R /XYZ 92.6 752.957 null] +/D [454 0 R /XYZ 92.6 752.957 null] >> -% 417 0 obj +% 448 0 obj << -/D [423 0 R /XYZ 143.038 103.443 null] +/D [454 0 R /XYZ 143.038 103.443 null] >> -% 422 0 obj +% 453 0 obj << -/Font << /F42 137 0 R /F15 136 0 R /F45 225 0 R >> +/Font << /F42 161 0 R /F15 160 0 R /F45 255 0 R >> /ProcSet [ /PDF /Text ] >> -% 429 0 obj +% 459 0 obj << /Type /Page -/Contents 430 0 R -/Resources 428 0 R +/Contents 460 0 R +/Resources 458 0 R /MediaBox [0 0 595.276 841.89] -/Parent 426 0 R +/Parent 457 0 R >> -% 431 0 obj +% 461 0 obj << -/D [429 0 R /XYZ 85.4 752.957 null] +/D [459 0 R /XYZ 85.4 752.957 null] >> -% 418 0 obj +% 449 0 obj << -/D [429 0 R /XYZ 231.898 568.121 null] +/D [459 0 R /XYZ 231.898 568.121 null] >> -% 419 0 obj +% 450 0 obj << -/D [429 0 R /XYZ 231.898 340.449 null] +/D [459 0 R /XYZ 231.898 340.449 null] >> -% 420 0 obj +% 451 0 obj << -/D [429 0 R /XYZ 211.883 170.338 null] +/D [459 0 R /XYZ 211.883 170.338 null] >> -% 428 0 obj +% 458 0 obj << -/Font << /F15 136 0 R /F42 137 0 R /F45 225 0 R >> +/Font << /F15 160 0 R /F42 161 0 R /F45 255 0 R >> /ProcSet [ /PDF /Text ] >> -% 435 0 obj +% 465 0 obj << /Type /Page -/Contents 436 0 R -/Resources 434 0 R +/Contents 466 0 R +/Resources 464 0 R /MediaBox [0 0 595.276 841.89] -/Parent 426 0 R -/Annots [ 433 0 R 432 0 R ] +/Parent 457 0 R +/Annots [ 463 0 R 462 0 R ] >> -% 433 0 obj +% 463 0 obj << /Type /Annot /Subtype /Link @@ -5514,7 +5339,7 @@ stream /Rect [92.604 739.006 100.627 748.453] /A << /S /GoTo /D (section.6) >> >> -% 432 0 obj +% 462 0 obj << /Type /Annot /Subtype /Link @@ -5522,29 +5347,29 @@ stream /Rect [483.843 382.76 499.775 395.662] /A << /S /GoTo /D (subsection.6.2) >> >> -% 437 0 obj +% 467 0 obj << -/D [435 0 R /XYZ 92.6 752.957 null] +/D [465 0 R /XYZ 92.6 752.957 null] >> % 67 0 obj << -/D [435 0 R /XYZ 93.6 715.095 null] +/D [465 0 R /XYZ 93.6 715.095 null] >> -% 434 0 obj +% 464 0 obj << -/Font << /F42 137 0 R /F15 136 0 R /F17 124 0 R /F45 225 0 R /F25 227 0 R /F18 277 0 R /F22 195 0 R /F26 333 0 R /F20 334 0 R >> +/Font << /F42 161 0 R /F15 160 0 R /F17 148 0 R /F45 255 0 R /F25 257 0 R /F18 307 0 R /F22 225 0 R /F26 363 0 R /F20 364 0 R >> /ProcSet [ /PDF /Text ] >> -% 441 0 obj +% 471 0 obj << /Type /Page -/Contents 442 0 R -/Resources 440 0 R +/Contents 472 0 R +/Resources 470 0 R /MediaBox [0 0 595.276 841.89] -/Parent 426 0 R -/Annots [ 438 0 R 439 0 R ] +/Parent 457 0 R +/Annots [ 468 0 R 469 0 R ] >> -% 438 0 obj +% 468 0 obj << /Type /Annot /Subtype /Link @@ -5552,7 +5377,7 @@ stream /Rect [443.652 576.211 451.099 589.844] /A << /S /GoTo /D (table.1) >> >> -% 439 0 obj +% 469 0 obj << /Type /Annot /Subtype /Link @@ -5560,29 +5385,29 @@ stream /Rect [395.046 535.563 402.493 549.196] /A << /S /GoTo /D (section.8) >> >> -% 443 0 obj +% 473 0 obj << -/D [441 0 R /XYZ 85.4 752.957 null] +/D [471 0 R /XYZ 85.4 752.957 null] >> % 71 0 obj << -/D [441 0 R /XYZ 86.4 715.095 null] +/D [471 0 R /XYZ 86.4 715.095 null] >> -% 440 0 obj +% 470 0 obj << -/Font << /F15 136 0 R /F42 137 0 R /F17 124 0 R /F45 225 0 R >> +/Font << /F15 160 0 R /F42 161 0 R /F17 148 0 R /F45 255 0 R >> /ProcSet [ /PDF /Text ] >> -% 453 0 obj +% 483 0 obj << /Type /Page -/Contents 454 0 R -/Resources 452 0 R +/Contents 484 0 R +/Resources 482 0 R /MediaBox [0 0 595.276 841.89] -/Parent 426 0 R -/Annots [ 451 0 R 444 0 R 445 0 R 446 0 R 447 0 R 448 0 R 449 0 R 450 0 R ] +/Parent 457 0 R +/Annots [ 481 0 R 474 0 R 475 0 R 476 0 R 477 0 R 478 0 R 479 0 R 480 0 R ] >> -% 451 0 obj +% 481 0 obj << /Type /Annot /Subtype /Link @@ -5590,7 +5415,7 @@ stream /Rect [92.604 739.006 100.627 748.453] /A << /S /GoTo /D (section.6) >> >> -% 444 0 obj +% 474 0 obj << /Type /Annot /Subtype /Link @@ -5598,7 +5423,7 @@ stream /Rect [306.337 563.986 313.784 577.619] /A << /S /GoTo /D (table.2) >> >> -% 445 0 obj +% 475 0 obj << /Type /Annot /Subtype /Link @@ -5606,7 +5431,7 @@ stream /Rect [315.428 563.986 322.875 577.619] /A << /S /GoTo /D (table.8) >> >> -% 446 0 obj +% 476 0 obj << /Type /Annot /Subtype /Link @@ -5614,7 +5439,7 @@ stream /Rect [376.234 511.733 383.681 523.423] /A << /S /GoTo /D (table.2) >> >> -% 447 0 obj +% 477 0 obj << /Type /Annot /Subtype /Link @@ -5622,7 +5447,7 @@ stream /Rect [385.325 511.733 392.772 523.423] /A << /S /GoTo /D (table.8) >> >> -% 448 0 obj +% 478 0 obj << /Type /Annot /Subtype /Link @@ -5630,7 +5455,7 @@ stream /Rect [402.247 469.142 409.694 482.775] /A << /S /GoTo /D (section.8) >> >> -% 449 0 obj +% 479 0 obj << /Type /Annot /Subtype /Link @@ -5638,7 +5463,7 @@ stream /Rect [246.822 387.847 254.269 402.086] /A << /S /GoTo /D (table.2) >> >> -% 450 0 obj +% 480 0 obj << /Type /Annot /Subtype /Link @@ -5646,29 +5471,29 @@ stream /Rect [255.913 387.847 263.36 402.086] /A << /S /GoTo /D (table.8) >> >> -% 455 0 obj +% 485 0 obj << -/D [453 0 R /XYZ 92.6 752.957 null] +/D [483 0 R /XYZ 92.6 752.957 null] >> % 75 0 obj << -/D [453 0 R /XYZ 93.6 715.095 null] +/D [483 0 R /XYZ 93.6 715.095 null] >> -% 452 0 obj +% 482 0 obj << -/Font << /F42 137 0 R /F15 136 0 R /F17 124 0 R /F45 225 0 R /F18 277 0 R >> +/Font << /F42 161 0 R /F15 160 0 R /F17 148 0 R /F45 255 0 R /F18 307 0 R >> /ProcSet [ /PDF /Text ] >> -% 465 0 obj +% 495 0 obj << /Type /Page -/Contents 466 0 R -/Resources 464 0 R +/Contents 496 0 R +/Resources 494 0 R /MediaBox [0 0 595.276 841.89] -/Parent 426 0 R -/Annots [ 456 0 R 457 0 R 458 0 R 459 0 R 460 0 R 461 0 R 462 0 R 463 0 R ] +/Parent 457 0 R +/Annots [ 486 0 R 487 0 R 488 0 R 489 0 R 490 0 R 491 0 R 492 0 R 493 0 R ] >> -% 456 0 obj +% 486 0 obj << /Type /Annot /Subtype /Link @@ -5676,7 +5501,7 @@ stream /Rect [171.802 538.429 179.249 550.118] /A << /S /GoTo /D (table.2) >> >> -% 457 0 obj +% 487 0 obj << /Type /Annot /Subtype /Link @@ -5684,7 +5509,7 @@ stream /Rect [180.892 538.429 188.34 550.118] /A << /S /GoTo /D (table.8) >> >> -% 458 0 obj +% 488 0 obj << /Type /Annot /Subtype /Link @@ -5692,7 +5517,7 @@ stream /Rect [158.797 527.001 166.245 536.569] /A << /S /GoTo /D (section.4) >> >> -% 459 0 obj +% 489 0 obj << /Type /Annot /Subtype /Link @@ -5700,7 +5525,7 @@ stream /Rect [438.34 483.626 445.787 496.527] /A << /S /GoTo /D (table.7) >> >> -% 460 0 obj +% 490 0 obj << /Type /Annot /Subtype /Link @@ -5708,7 +5533,7 @@ stream /Rect [447.431 483.626 454.878 496.527] /A << /S /GoTo /D (table.8) >> >> -% 461 0 obj +% 491 0 obj << /Type /Annot /Subtype /Link @@ -5716,7 +5541,7 @@ stream /Rect [285.485 442.978 292.932 455.88] /A << /S /GoTo /D (table.7) >> >> -% 462 0 obj +% 492 0 obj << /Type /Annot /Subtype /Link @@ -5724,7 +5549,7 @@ stream /Rect [246.252 361.683 253.699 374.585] /A << /S /GoTo /D (table.7) >> >> -% 463 0 obj +% 493 0 obj << /Type /Annot /Subtype /Link @@ -5732,41 +5557,41 @@ stream /Rect [449.707 253.289 457.154 266.191] /A << /S /GoTo /D (table.5) >> >> -% 467 0 obj +% 497 0 obj << -/D [465 0 R /XYZ 85.4 752.957 null] +/D [495 0 R /XYZ 85.4 752.957 null] >> -% 468 0 obj +% 498 0 obj << -/D [465 0 R /XYZ 86.4 671.48 null] +/D [495 0 R /XYZ 86.4 671.48 null] >> -% 469 0 obj +% 499 0 obj << -/D [465 0 R /XYZ 86.4 649.487 null] +/D [495 0 R /XYZ 86.4 649.487 null] >> -% 470 0 obj +% 500 0 obj << -/D [465 0 R /XYZ 86.4 627.495 null] +/D [495 0 R /XYZ 86.4 627.495 null] >> -% 471 0 obj +% 501 0 obj << -/D [465 0 R /XYZ 86.4 591.347 null] +/D [495 0 R /XYZ 86.4 591.347 null] >> -% 464 0 obj +% 494 0 obj << -/Font << /F15 136 0 R /F42 137 0 R /F44 175 0 R /F45 225 0 R /F18 277 0 R >> +/Font << /F15 160 0 R /F42 161 0 R /F44 205 0 R /F45 255 0 R /F18 307 0 R >> /ProcSet [ /PDF /Text ] >> -% 482 0 obj +% 512 0 obj << /Type /Page -/Contents 483 0 R -/Resources 481 0 R +/Contents 513 0 R +/Resources 511 0 R /MediaBox [0 0 595.276 841.89] -/Parent 485 0 R -/Annots [ 480 0 R ] +/Parent 515 0 R +/Annots [ 510 0 R ] >> -% 480 0 obj +% 510 0 obj << /Type /Annot /Subtype /Link @@ -5774,46 +5599,46 @@ stream /Rect [92.604 739.006 100.627 748.453] /A << /S /GoTo /D (section.6) >> >> -% 484 0 obj +% 514 0 obj << -/D [482 0 R /XYZ 92.6 752.957 null] +/D [512 0 R /XYZ 92.6 752.957 null] >> -% 481 0 obj +% 511 0 obj << -/Font << /F42 137 0 R /F15 136 0 R /F18 277 0 R >> +/Font << /F42 161 0 R /F15 160 0 R /F18 307 0 R >> /ProcSet [ /PDF /Text ] >> -% 487 0 obj +% 517 0 obj << /Type /Page -/Contents 488 0 R -/Resources 486 0 R +/Contents 518 0 R +/Resources 516 0 R /MediaBox [0 0 595.276 841.89] -/Parent 485 0 R +/Parent 515 0 R >> -% 489 0 obj +% 519 0 obj << -/D [487 0 R /XYZ 85.4 752.957 null] +/D [517 0 R /XYZ 85.4 752.957 null] >> -% 393 0 obj +% 423 0 obj << -/D [487 0 R /XYZ -3855.021 590.914 null] +/D [517 0 R /XYZ -3855.021 590.914 null] >> -% 486 0 obj +% 516 0 obj << -/Font << /F15 136 0 R /F42 137 0 R /F45 225 0 R /F25 227 0 R >> +/Font << /F15 160 0 R /F42 161 0 R /F45 255 0 R /F25 257 0 R >> /ProcSet [ /PDF /Text ] >> -% 492 0 obj +% 522 0 obj << /Type /Page -/Contents 493 0 R -/Resources 491 0 R +/Contents 523 0 R +/Resources 521 0 R /MediaBox [0 0 595.276 841.89] -/Parent 485 0 R -/Annots [ 490 0 R 474 0 R ] +/Parent 515 0 R +/Annots [ 520 0 R 504 0 R ] >> -% 490 0 obj +% 520 0 obj << /Type /Annot /Subtype /Link @@ -5821,7 +5646,7 @@ stream /Rect [92.604 739.006 100.627 748.453] /A << /S /GoTo /D (section.6) >> >> -% 474 0 obj +% 504 0 obj << /Type /Annot /Subtype /Link @@ -5829,29 +5654,29 @@ stream /Rect [378.191 560.558 387.214 574.456] /A << /S /GoTo /D (cite.VANEK_MANDEL_BREZINA) >> >> -% 494 0 obj +% 524 0 obj << -/D [492 0 R /XYZ 92.6 752.957 null] +/D [522 0 R /XYZ 92.6 752.957 null] >> -% 495 0 obj +% 525 0 obj << -/D [492 0 R /XYZ 489.602 4405.505 null] +/D [522 0 R /XYZ 489.714 324.808 null] >> -% 491 0 obj +% 521 0 obj << -/Font << /F42 137 0 R /F15 136 0 R /F45 225 0 R /F22 195 0 R /F25 227 0 R /F21 336 0 R /F23 331 0 R /F44 175 0 R >> +/Font << /F42 161 0 R /F15 160 0 R /F45 255 0 R /F22 225 0 R /F25 257 0 R /F21 366 0 R /F23 361 0 R /F44 205 0 R >> /ProcSet [ /PDF /Text ] >> -% 497 0 obj +% 527 0 obj << /Type /Page -/Contents 498 0 R -/Resources 496 0 R +/Contents 528 0 R +/Resources 526 0 R /MediaBox [0 0 595.276 841.89] -/Parent 485 0 R -/Annots [ 475 0 R 476 0 R 477 0 R 478 0 R 479 0 R ] +/Parent 515 0 R +/Annots [ 505 0 R 506 0 R 507 0 R 508 0 R 509 0 R ] >> -% 475 0 obj +% 505 0 obj << /Type /Annot /Subtype /Link @@ -5859,7 +5684,7 @@ stream /Rect [305.333 237.711 318.234 246.154] /A << /S /GoTo /D (equation.4.3) >> >> -% 476 0 obj +% 506 0 obj << /Type /Annot /Subtype /Link @@ -5867,7 +5692,7 @@ stream /Rect [305.333 166.335 318.234 183.263] /A << /S /GoTo /D (subsection.4.2) >> >> -% 477 0 obj +% 507 0 obj << /Type /Annot /Subtype /Link @@ -5875,7 +5700,7 @@ stream /Rect [249.4 276.931 263.639 285.374] /A << /S /GoTo /D (equation.4.5) >> >> -% 478 0 obj +% 508 0 obj << /Type /Annot /Subtype /Link @@ -5883,139 +5708,37 @@ stream /Rect [249.4 204.203 263.639 221.132] /A << /S /GoTo /D (subsection.4.2) >> >> -% 479 0 obj -<< -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[0 1 0] -/Rect [239.517 367.769 248.54 381.667] -/A << /S /GoTo /D (cite.VANEK_MANDEL_BREZINA) >> ->> -% 499 0 obj -<< -/D [497 0 R /XYZ 85.4 752.957 null] ->> -% 500 0 obj -<< -/D [497 0 R /XYZ 204.736 540.899 null] ->> -% 496 0 obj -<< -/Font << /F15 136 0 R /F42 137 0 R /F45 225 0 R /F18 277 0 R /F25 227 0 R /F22 195 0 R /F44 175 0 R >> -/ProcSet [ /PDF /Text ] ->> -% 503 0 obj -<< -/Type /Page -/Contents 504 0 R -/Resources 502 0 R -/MediaBox [0 0 595.276 841.89] -/Parent 485 0 R -/Annots [ 501 0 R ] ->> -% 501 0 obj -<< -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [92.604 739.006 100.627 748.453] -/A << /S /GoTo /D (section.6) >> ->> -% 505 0 obj -<< -/D [503 0 R /XYZ 92.6 752.957 null] ->> -% 473 0 obj -<< -/D [503 0 R /XYZ 475.206 4356.566 null] ->> -% 502 0 obj -<< -/Font << /F42 137 0 R /F15 136 0 R /F45 225 0 R /F22 195 0 R /F44 175 0 R >> -/ProcSet [ /PDF /Text ] ->> -% 507 0 obj -<< -/Type /Page -/Contents 508 0 R -/Resources 506 0 R -/MediaBox [0 0 595.276 841.89] -/Parent 485 0 R ->> % 509 0 obj << -/D [507 0 R /XYZ 85.4 752.957 null] ->> -% 510 0 obj -<< -/D [507 0 R /XYZ -3834.398 589.839 null] ->> -% 506 0 obj -<< -/Font << /F15 136 0 R /F42 137 0 R /F45 225 0 R /F22 195 0 R /F25 227 0 R /F18 277 0 R >> -/ProcSet [ /PDF /Text ] ->> -% 513 0 obj -<< -/Type /Page -/Contents 514 0 R -/Resources 512 0 R -/MediaBox [0 0 595.276 841.89] -/Parent 516 0 R -/Annots [ 511 0 R ] ->> -% 511 0 obj -<< -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [92.604 739.006 100.627 748.453] -/A << /S /GoTo /D (section.6) >> ->> -% 515 0 obj -<< -/D [513 0 R /XYZ 92.6 752.957 null] ->> -% 472 0 obj -<< -/D [513 0 R /XYZ 436.101 4328.445 null] ->> -% 512 0 obj -<< -/Font << /F42 137 0 R /F15 136 0 R /F45 225 0 R /F22 195 0 R /F25 227 0 R >> -/ProcSet [ /PDF /Text ] ->> -% 518 0 obj -<< -/Type /Page -/Contents 519 0 R -/Resources 517 0 R -/MediaBox [0 0 595.276 841.89] -/Parent 516 0 R +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[0 1 0] +/Rect [239.517 367.769 248.54 381.667] +/A << /S /GoTo /D (cite.VANEK_MANDEL_BREZINA) >> >> -% 520 0 obj +% 529 0 obj << -/D [518 0 R /XYZ 85.4 752.957 null] +/D [527 0 R /XYZ 85.4 752.957 null] >> -% 394 0 obj +% 530 0 obj << -/D [518 0 R /XYZ -3888.794 615.536 null] +/D [527 0 R /XYZ 204.879 540.899 null] >> -% 517 0 obj +% 526 0 obj << -/Font << /F15 136 0 R /F42 137 0 R /F45 225 0 R /F25 227 0 R /F22 195 0 R /F18 277 0 R >> +/Font << /F15 160 0 R /F42 161 0 R /F45 255 0 R /F18 307 0 R /F25 257 0 R /F22 225 0 R /F44 205 0 R >> /ProcSet [ /PDF /Text ] >> -% 528 0 obj +% 533 0 obj << /Type /Page -/Contents 529 0 R -/Resources 527 0 R +/Contents 534 0 R +/Resources 532 0 R /MediaBox [0 0 595.276 841.89] -/Parent 516 0 R -/Annots [ 526 0 R 521 0 R 522 0 R 523 0 R 524 0 R 525 0 R ] +/Parent 515 0 R +/Annots [ 531 0 R ] >> -% 526 0 obj +% 531 0 obj << /Type /Annot /Subtype /Link @@ -6023,103 +5746,400 @@ stream /Rect [92.604 739.006 100.627 748.453] /A << /S /GoTo /D (section.6) >> >> -% 521 0 obj +% 535 0 obj << -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [385.341 640.765 401.273 653.666] -/A << /S /GoTo /D (subsection.6.4) >> +/D [533 0 R /XYZ 92.6 752.957 null] >> -% 522 0 obj +% 503 0 obj << -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [424.274 640.765 440.206 653.666] -/A << /S /GoTo /D (subsection.6.5) >> +/D [533 0 R /XYZ 475.206 4356.566 null] >> -% 523 0 obj +% 532 0 obj << -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[0 1 0] -/Rect [364.686 526.079 377.588 535.102] -/A << /S /GoTo /D (cite.PSBLASGUIDE) >> +/Font << /F42 161 0 R /F15 160 0 R /F45 255 0 R /F22 225 0 R /F44 205 0 R >> +/ProcSet [ /PDF /Text ] >> -% 524 0 obj +% 537 0 obj << -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[0 1 0] -/Rect [199.125 485.431 212.027 494.454] -/A << /S /GoTo /D (cite.PSBLASGUIDE) >> +/Type /Page +/Contents 538 0 R +/Resources 536 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 515 0 R >> -% 525 0 obj +% 539 0 obj << -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [402.247 454.268 409.694 467.901] -/A << /S /GoTo /D (section.8) >> +/D [537 0 R /XYZ 85.4 752.957 null] >> -% 530 0 obj +% 540 0 obj << -/D [528 0 R /XYZ 92.6 752.957 null] +/D [537 0 R /XYZ -3834.398 589.839 null] >> -% 79 0 obj +% 536 0 obj << -/D [528 0 R /XYZ 93.6 715.095 null] +/Font << /F15 160 0 R /F42 161 0 R /F45 255 0 R /F22 225 0 R /F25 257 0 R /F18 307 0 R >> +/ProcSet [ /PDF /Text ] >> -% 527 0 obj +% 543 0 obj +<< +/Type /Page +/Contents 544 0 R +/Resources 542 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 546 0 R +/Annots [ 541 0 R ] +>> + +endstream +endobj +550 0 obj +<< +/Length 6856 +>> +stream +0 g 0 G +BT +/F15 10.9091 Tf 86.4 740.002 Td [(32)]TJ/F42 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ +0 g 0 G +0 g 0 G +ET +1 0 0 1 292.625 715.095 cm +q +0 -1 1 0 0 0 cm +0 g 0 G +0 g 0 G +0 g 0 G +q +1 0 0 1 8.269 122.254 cm +[]0 d 0 J 0.398 w 0 0 m 577.037 0 l S +Q +q +1 0 0 1 8.269 110.1 cm +[]0 d 0 J 0.398 w 0 0 m 0 11.955 l S +Q +1 0 0 1 -292.625 -715.095 cm +BT +/F45 9.9626 Tf 306.872 828.781 Td [(what)]TJ +ET +q +1 0 0 1 397.889 825.195 cm +[]0 d 0 J 0.398 w 0 0 m 0 11.955 l S +Q +BT +/F42 9.9626 Tf 403.866 828.781 Td [(d)22(a)67(t)66(a)-377(type)]TJ +ET +q +1 0 0 1 507.577 825.195 cm +[]0 d 0 J 0.398 w 0 0 m 0 11.955 l S +Q +BT +/F45 9.9626 Tf 513.555 828.781 Td [(val)]TJ +ET +q +1 0 0 1 590.399 825.195 cm +[]0 d 0 J 0.398 w 0 0 m 0 11.955 l S +Q +BT +/F42 9.9626 Tf 596.376 828.781 Td [(def)89(a)22(ul)67(t)]TJ +ET +q +1 0 0 1 664.716 825.195 cm +[]0 d 0 J 0.398 w 0 0 m 0 11.955 l S +Q +BT +/F42 9.9626 Tf 670.693 828.781 Td [(comments)]TJ +ET +q +1 0 0 1 877.931 825.195 cm +[]0 d 0 J 0.398 w 0 0 m 0 11.955 l S +Q +q +1 0 0 1 300.894 824.996 cm +[]0 d 0 J 0.398 w 0 0 m 577.037 0 l S +Q +q +1 0 0 1 300.894 753.065 cm +[]0 d 0 J 0.398 w 0 0 m 0 71.731 l S +Q +BT +/F45 9.9626 Tf 306.872 816.428 Td [('SUB_RESTR')]TJ +ET +q +1 0 0 1 397.889 753.065 cm +[]0 d 0 J 0.398 w 0 0 m 0 71.731 l S +Q +BT +/F45 9.9626 Tf 403.866 816.428 Td [(character\050len=*\051)]TJ +ET +q +1 0 0 1 507.577 753.065 cm +[]0 d 0 J 0.398 w 0 0 m 0 71.731 l S +Q +BT +/F45 9.9626 Tf 513.555 816.428 Td [('HALO')]TJ 0 -11.955 Td [('NONE')]TJ +ET +q +1 0 0 1 590.399 753.065 cm +[]0 d 0 J 0.398 w 0 0 m 0 71.731 l S +Q +BT +/F45 9.9626 Tf 596.376 816.428 Td [('HALO')]TJ +ET +q +1 0 0 1 664.716 753.065 cm +[]0 d 0 J 0.398 w 0 0 m 0 71.731 l S +Q +BT +/F15 9.9626 Tf 670.693 816.428 Td [(T)28(yp)-28(e)-733(of)-733(restriction)-733(op)-28(erator,)-833(for)-733(Additiv)28(e)]TJ 0 -11.955 Td [(Sc)28(h)28(w)27(arz)-271(only:)]TJ/F45 9.9626 Tf 63.303 0 Td [(HALO)]TJ/F15 9.9626 Tf 23.622 0 Td [(for)-271(taking)-271(in)28(to)-272(accoun)28(t)-271(the)]TJ -86.925 -11.956 Td [(o)28(v)28(e)-1(r)1(lap,)]TJ/F45 9.9626 Tf 37.388 0 Td [(NONE)]TJ/F15 9.9626 Tf 24.242 0 Td [(for)-333(neglecting)-334(it.)]TJ -61.63 -11.955 Td [(Note)-367(that)]TJ/F45 9.9626 Tf 46.337 0 Td [(HALO)]TJ/F15 9.9626 Tf 24.58 0 Td [(m)28(ust)-367(b)-28(e)-367(c)27(hosen)-367(for)-367(the)-367(classi-)]TJ -70.917 -11.955 Td [(cal)-399(Addditiv)28(e)-399(Sc)28(h)28(w)27(ar)1(z)-399(smo)-28(other)-399(and)-399(its)-399(RAS)]TJ 0 -11.955 Td [(v)56(arian)27(t.)]TJ +ET +q +1 0 0 1 877.931 753.065 cm +[]0 d 0 J 0.398 w 0 0 m 0 71.731 l S +Q +q +1 0 0 1 300.894 752.866 cm +[]0 d 0 J 0.398 w 0 0 m 577.037 0 l S +Q +q +1 0 0 1 300.894 680.936 cm +[]0 d 0 J 0.398 w 0 0 m 0 71.731 l S +Q +BT +/F45 9.9626 Tf 306.872 744.298 Td [('SUB_PROL')]TJ +ET +q +1 0 0 1 397.889 680.936 cm +[]0 d 0 J 0.398 w 0 0 m 0 71.731 l S +Q +BT +/F45 9.9626 Tf 403.866 744.298 Td [(character\050len=*\051)]TJ +ET +q +1 0 0 1 507.577 680.936 cm +[]0 d 0 J 0.398 w 0 0 m 0 71.731 l S +Q +BT +/F45 9.9626 Tf 513.555 744.298 Td [('SUM')]TJ 0 -11.955 Td [('NONE')]TJ +ET +q +1 0 0 1 590.399 680.936 cm +[]0 d 0 J 0.398 w 0 0 m 0 71.731 l S +Q +BT +/F45 9.9626 Tf 596.376 744.298 Td [('NONE')]TJ +ET +q +1 0 0 1 664.716 680.936 cm +[]0 d 0 J 0.398 w 0 0 m 0 71.731 l S +Q +BT +/F15 9.9626 Tf 670.693 744.298 Td [(T)28(yp)-28(e)-534(of)-533(prolongation)-534(op)-27(erator,)-584(for)-534(Add)1(itiv)27(e)]TJ 0 -11.955 Td [(Sc)28(h)28(w)27(arz)-253(on)1(ly:)]TJ/F45 9.9626 Tf 63.028 0 Td [(SUM)]TJ/F15 9.9626 Tf 18.209 0 Td [(for)-253(adding)-252(the)-253(con)28(tributions)]TJ -81.237 -11.955 Td [(from)-333(the)-334(o)28(v)28(erlap,)]TJ/F45 9.9626 Tf 78.097 0 Td [(NONE)]TJ/F15 9.9626 Tf 24.242 0 Td [(for)-333(neglecting)-334(them.)]TJ -102.339 -11.955 Td [(Note)-322(that)]TJ/F45 9.9626 Tf 45.431 0 Td [(SUM)]TJ/F15 9.9626 Tf 18.896 0 Td [(m)28(ust)-322(b)-28(e)-321(c)27(hosen)-321(for)-322(the)-322(classical)]TJ -64.327 -11.955 Td [(Additiv)28(e)-436(S)1(c)27(h)28(w)28(arz)-436(smo)-27(other,)-461(and)]TJ/F45 9.9626 Tf 149.166 0 Td [(NONE)]TJ/F15 9.9626 Tf 25.258 0 Td [(for)-435(its)]TJ -174.424 -11.956 Td [(RAS)-333(v)55(arian)28(t.)]TJ +ET +q +1 0 0 1 877.931 680.936 cm +[]0 d 0 J 0.398 w 0 0 m 0 71.731 l S +Q +q +1 0 0 1 300.894 680.737 cm +[]0 d 0 J 0.398 w 0 0 m 577.037 0 l S +Q +q +1 0 0 1 300.894 656.627 cm +[]0 d 0 J 0.398 w 0 0 m 0 23.91 l S +Q +BT +/F45 9.9626 Tf 306.872 672.169 Td [('SUB_FILLIN')]TJ +ET +q +1 0 0 1 397.889 656.627 cm +[]0 d 0 J 0.398 w 0 0 m 0 23.91 l S +Q +BT +/F45 9.9626 Tf 403.866 672.169 Td [(integer)]TJ +ET +q +1 0 0 1 507.577 656.627 cm +[]0 d 0 J 0.398 w 0 0 m 0 23.91 l S +Q +BT +/F15 9.9626 Tf 513.555 672.169 Td [(An)28(y)-333(in)27(teger)]TJ 0 -11.955 Td [(n)28(um)28(b)-28(er)]TJ/F25 9.9626 Tf 36.281 0 Td [(\025)]TJ/F15 9.9626 Tf 10.516 0 Td [(0)]TJ +ET +q +1 0 0 1 590.399 656.627 cm +[]0 d 0 J 0.398 w 0 0 m 0 23.91 l S +Q +BT +/F15 9.9626 Tf 596.376 672.169 Td [(0)]TJ +ET +q +1 0 0 1 664.716 656.627 cm +[]0 d 0 J 0.398 w 0 0 m 0 23.91 l S +Q +BT +/F15 9.9626 Tf 670.693 672.169 Td [(Fill-in)-389(lev)28(el)]TJ/F22 9.9626 Tf 53.553 0 Td [(p)]TJ/F15 9.9626 Tf 8.888 0 Td [(of)-389(the)-389(incomplete)-389(LU)-389(factoriza-)]TJ -62.441 -11.955 Td [(tions.)]TJ +ET +q +1 0 0 1 877.931 656.627 cm +[]0 d 0 J 0.398 w 0 0 m 0 23.91 l S +Q +q +1 0 0 1 300.894 656.428 cm +[]0 d 0 J 0.398 w 0 0 m 577.037 0 l S +Q +q +1 0 0 1 300.894 632.318 cm +[]0 d 0 J 0.398 w 0 0 m 0 23.91 l S +Q +BT +/F45 9.9626 Tf 306.872 647.86 Td [('SUB_ILUTHRS')]TJ +ET +q +1 0 0 1 397.889 632.318 cm +[]0 d 0 J 0.398 w 0 0 m 0 23.91 l S +Q +BT +/F45 9.9626 Tf 403.866 647.86 Td [(real\050)]TJ/F18 9.9626 Tf 26.152 0 Td [(kind)]TJ +ET +q +1 0 0 1 448.96 648.059 cm +[]0 d 0 J 0.398 w 0 0 m 3.055 0 l S +Q +BT +/F18 9.9626 Tf 452.015 647.86 Td [(p)51(ar)51(ameter)]TJ/F45 9.9626 Tf 44.354 0 Td [(\051)]TJ +ET +q +1 0 0 1 507.577 632.318 cm +[]0 d 0 J 0.398 w 0 0 m 0 23.91 l S +Q +BT +/F15 9.9626 Tf 513.555 647.86 Td [(An)28(y)-722(real)-722(n)28(um-)]TJ 0 -11.955 Td [(b)-28(er)]TJ/F25 9.9626 Tf 17.462 0 Td [(\025)]TJ/F15 9.9626 Tf 10.516 0 Td [(0)]TJ +ET +q +1 0 0 1 590.399 632.318 cm +[]0 d 0 J 0.398 w 0 0 m 0 23.91 l S +Q +BT +/F15 9.9626 Tf 596.376 647.86 Td [(0)]TJ +ET +q +1 0 0 1 664.716 632.318 cm +[]0 d 0 J 0.398 w 0 0 m 0 23.91 l S +Q +BT +/F15 9.9626 Tf 670.693 647.86 Td [(Drop)-314(tolerance)]TJ/F22 9.9626 Tf 67.612 0 Td [(t)]TJ/F15 9.9626 Tf 6.726 0 Td [(in)-314(the)-314(ILU\050)]TJ/F22 9.9626 Tf 49.568 0 Td [(p;)-167(t)]TJ/F15 9.9626 Tf 13.038 0 Td [(\051)-314(factorization.)]TJ +ET +q +1 0 0 1 877.931 632.318 cm +[]0 d 0 J 0.398 w 0 0 m 0 23.91 l S +Q +q +1 0 0 1 300.894 632.119 cm +[]0 d 0 J 0.398 w 0 0 m 577.037 0 l S +Q +0 g 0 G +BT +/F15 10.9091 Tf 348.852 600.824 Td [(T)83(able)-333(8:)-444(P)27(arameters)-333(de\014ning)-333(the)-334(smo)-27(other)-334(or)-333(the)-333(details)-334(of)-333(the)-333(one-lev)28(e)-1(l)-333(preconditioner)-333(\050con)28(tin)28(ued\051.)]TJ +0 g 0 G +0 g 0 G +ET +1 0 0 1 292.625 715.095 cm +Q +0 g 0 G +0 g 0 G +0 g 0 G + +endstream +endobj +558 0 obj << -/Font << /F42 137 0 R /F15 136 0 R /F17 124 0 R /F45 225 0 R /F18 277 0 R >> -/ProcSet [ /PDF /Text ] +/Length 2792 >> +stream +0 g 0 G +0 0 1 rg 0 0 1 RG +BT +/F42 10.9091 Tf 93.6 740.002 Td [(6)]TJ +0 g 0 G + [-378(User)-377(Interf)88(a)23(ce)]TJ/F15 10.9091 Tf 401.542 0 Td [(33)]TJ +0 g 0 G +/F17 11.9552 Tf -401.542 -35.866 Td [(6.3)-1125(Metho)-31(d)-375(hierarc)31(h)31(y)]TJ +ET +q +1 0 0 1 230.363 704.336 cm +[]0 d 0 J 0.398 w 0 0 m 4.035 0 l S +Q +BT +/F17 11.9552 Tf 234.398 704.136 Td [(build)]TJ +0 g 0 G +0 g 0 G +/F45 10.9091 Tf -40.526 -20.594 Td [(call)-525(p%hierarchy_build\050a,desc_a,info\051)]TJ/F15 10.9091 Tf -100.272 -25.505 Td [(This)-430(metho)-28(d)-430(bu)1(ilds)-430(the)-430(hierarc)28(h)27(y)-429(of)-430(matrices)-430(and)-430(restriction/prolongation)-430(op)-28(erator)1(s)]TJ 0 -13.549 Td [(for)-436(th)1(e)-436(m)28(ultilev)28(e)-1(l)-435(preconditioner)]TJ/F45 10.9091 Tf 162.128 0 Td [(p)]TJ/F15 10.9091 Tf 5.728 0 Td [(,)-461(according)-436(to)-435(the)-436(requiremen)28(ts)-436(made)-435(b)28(y)-436(the)-435(user)]TJ -167.856 -13.549 Td [(through)-333(the)-334(metho)-27(ds)]TJ/F45 10.9091 Tf 104.031 0 Td [(init)]TJ/F15 10.9091 Tf 26.545 0 Td [(and)]TJ/F45 10.9091 Tf 21.212 0 Td [(set)]TJ/F15 10.9091 Tf 17.182 0 Td [(.)]TJ/F17 11.9552 Tf -168.97 -33.873 Td [(Argumen)31(ts)]TJ/F45 10.9091 Tf 22.914 -15.794 Td [(a)-3689(type\050psb_)]TJ/F18 10.9091 Tf 97.516 0 Td [(x)]TJ/F45 10.9091 Tf 6.374 0 Td [(spmat_type\051,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 131.726 0 Td [(.)]TJ -189.645 -13.549 Td [(The)-501(sparse)-501(matrix)-501(structure)-501(con)28(taining)-501(th)1(e)-501(lo)-28(cal)-501(part)-501(of)-501(the)-501(matrix)]TJ 0 -13.549 Td [(to)-470(b)-28(e)-469(preconditioned.)-854(Note)-470(that)]TJ/F18 10.9091 Tf 166.818 0 Td [(x)]TJ/F15 10.9091 Tf 11.5 0 Td [(m)28(ust)-470(b)-28(e)-470(c)28(hosen)-470(according)-470(to)-469(the)]TJ -178.318 -13.55 Td [(real/complex,)-534(single/doubl)1(e)-494(precision)-494(v)28(ersion)-493(of)-494(MLD2P4)-493(under)-494(use.)]TJ 0 -13.549 Td [(See)-333(the)-334(PSBLAS)-333(User's)-333(Guide)-334(for)-333(details)-333([)]TJ +1 0 0 rg 1 0 0 RG + [(13)]TJ +0 g 0 G + [(].)]TJ/F45 10.9091 Tf -45.971 -13.549 Td [(desc_a)-1064(type\050psb_desc_type\051,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 223.515 0 Td [(.)]TJ -177.544 -13.549 Td [(The)-354(comm)28(unication)-354(descriptor)-354(of)]TJ/F45 10.9091 Tf 162.836 0 Td [(a)]TJ/F15 10.9091 Tf 5.727 0 Td [(.)-506(See)-354(the)-354(PSBLAS)-354(User's)-353(Guide)-354(for)]TJ -168.563 -13.549 Td [(details)-333([)]TJ +1 0 0 rg 1 0 0 RG + [(13)]TJ +0 g 0 G + [(].)]TJ/F45 10.9091 Tf -45.971 -13.55 Td [(info)-2114(integer,)-525(intent\050out\051)]TJ/F15 10.9091 Tf 160.515 0 Td [(.)]TJ -114.544 -13.549 Td [(Error)-333(co)-28(de.)-444(If)-334(no)-333(error,)-333(0)-334(is)-333(returned.)-444(See)-334(Section)]TJ +0 0 1 rg 0 0 1 RG + [-333(8)]TJ +0 g 0 G + [-333(for)-334(details.)]TJ +0 g 0 G +0 g 0 G +ET endstream endobj -536 0 obj +567 0 obj << -/Length 2782 +/Length 4654 >> stream 0 g 0 G BT /F15 10.9091 Tf 86.4 740.002 Td [(34)]TJ/F42 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ 0 g 0 G -/F17 11.9552 Tf -203.265 -35.866 Td [(6.4)-1125(Subroutine)-375(hierarc)31(h)32(y)]TJ +/F17 11.9552 Tf -203.265 -35.866 Td [(6.4)-1125(Metho)-31(d)-375(smo)-32(others)]TJ ET q -1 0 0 1 241.676 704.336 cm +1 0 0 1 228.466 704.336 cm []0 d 0 J 0.398 w 0 0 m 4.035 0 l S Q BT -/F17 11.9552 Tf 245.711 704.136 Td [(build)]TJ +/F17 11.9552 Tf 232.501 704.136 Td [(build)]TJ 0 g 0 G 0 g 0 G -/F45 10.9091 Tf -59.039 -20.594 Td [(call)-525(p%hierarchy_build\050a,desc_a,info\051)]TJ/F15 10.9091 Tf -100.272 -25.505 Td [(This)-286(routine)-287(bu)1(ilds)-287(the)-286(hierarc)28(h)27(y)-286(of)-286(matrices)-287(and)-286(restriction/prolongation)-286(op)-28(erators)-286(for)]TJ 0 -13.549 Td [(the)-249(m)28(ultilev)28(el)-249(preconditioner)]TJ/F45 10.9091 Tf 138.203 0 Td [(p)]TJ/F15 10.9091 Tf 5.727 0 Td [(,)-266(according)-248(to)-249(the)-249(requiremen)28(ts)-249(made)-249(b)28(y)-249(the)-249(user)-248(through)]TJ -143.93 -13.549 Td [(the)-333(routines)]TJ/F45 10.9091 Tf 60.697 0 Td [(init)]TJ/F15 10.9091 Tf 26.545 0 Td [(and)]TJ/F45 10.9091 Tf 21.212 0 Td [(set)]TJ/F15 10.9091 Tf 17.182 0 Td [(.)]TJ/F17 11.9552 Tf -125.636 -33.873 Td [(Argumen)31(ts)]TJ/F45 10.9091 Tf 22.914 -15.794 Td [(a)-3689(type\050psb_)]TJ/F18 10.9091 Tf 97.516 0 Td [(x)]TJ/F45 10.9091 Tf 6.374 0 Td [(spmat_type\051,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 131.726 0 Td [(.)]TJ -189.645 -13.549 Td [(The)-501(sparse)-501(matrix)-501(structure)-501(con)28(taining)-500(the)-501(lo)-28(cal)-501(part)-501(of)-501(the)-501(matrix)]TJ 0 -13.549 Td [(to)-470(b)-28(e)-469(preconditioned.)-854(Note)-470(that)]TJ/F18 10.9091 Tf 166.818 0 Td [(x)]TJ/F15 10.9091 Tf 11.499 0 Td [(m)28(ust)-470(b)-28(e)-470(c)28(hosen)-470(according)-470(to)-469(the)]TJ -178.317 -13.55 Td [(real/complex,)-534(single/doub)1(le)-494(precision)-494(v)28(ersion)-493(of)-494(MLD2P4)-493(under)-494(use.)]TJ 0 -13.549 Td [(See)-333(the)-334(PSBLAS)-333(User's)-333(Guide)-334(for)-333(details)-333([)]TJ +/F45 10.9091 Tf -108.828 -20.594 Td [(call)-525(p%smoothers_build\050a,desc_a,p,info[,amold,vmold,imold]\051)]TJ/F15 10.9091 Tf -37.273 -25.505 Td [(This)-326(metho)-28(d)-326(builds)-327(the)-326(smo)-28(others)-326(and)-327(th)1(e)-327(coarsest-lev)28(el)-327(solv)28(ers)-326(for)-327(the)-326(m)28(ultilev)28(el)-327(pre-)]TJ 0 -13.549 Td [(conditioner)]TJ/F45 10.9091 Tf 57.841 0 Td [(p)]TJ/F15 10.9091 Tf 5.727 0 Td [(,)-430(according)-410(to)-410(the)-411(requiremen)28(ts)-410(made)-411(b)28(y)-410(the)-411(user)-410(through)-410(the)-411(metho)-28(ds)]TJ/F45 10.9091 Tf -63.568 -13.549 Td [(init)]TJ/F15 10.9091 Tf 26.819 0 Td [(and)]TJ/F45 10.9091 Tf 21.486 0 Td [(set)]TJ/F15 10.9091 Tf 17.182 0 Td [(,)-365(and)-358(based)-359(on)-358(the)-358(aggregation)-359(hierarc)28(h)28(y)-359(pro)-27(duced)-359(b)28(y)-358(a)-359(previous)-358(call)-359(to)]TJ/F45 10.9091 Tf -65.487 -13.549 Td [(hierarchy_build)]TJ/F15 10.9091 Tf 89.544 0 Td [(\050see)-333(Sec)-1(tion)]TJ +0 0 1 rg 0 0 1 RG + [-333(6.3)]TJ +0 g 0 G + [(\051.)]TJ/F17 11.9552 Tf -89.544 -33.873 Td [(Argumen)31(ts)]TJ/F45 10.9091 Tf 22.914 -15.794 Td [(a)-3689(type\050psb_)]TJ/F18 10.9091 Tf 97.516 0 Td [(x)]TJ/F45 10.9091 Tf 6.374 0 Td [(spmat_type\051,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 131.726 0 Td [(.)]TJ -189.645 -13.549 Td [(The)-501(sparse)-501(matrix)-501(structure)-501(con)28(taining)-500(the)-501(lo)-28(cal)-501(part)-501(of)-501(the)-501(matrix)]TJ 0 -13.55 Td [(to)-470(b)-28(e)-469(preconditioned.)-854(Note)-470(that)]TJ/F18 10.9091 Tf 166.818 0 Td [(x)]TJ/F15 10.9091 Tf 11.499 0 Td [(m)28(ust)-470(b)-28(e)-470(c)28(hosen)-470(according)-470(to)-469(the)]TJ -178.317 -13.549 Td [(real/complex,)-534(single/doub)1(le)-494(precision)-494(v)28(ersion)-493(of)-494(MLD2P4)-493(under)-494(use.)]TJ 0 -13.549 Td [(See)-333(the)-334(PSBLAS)-333(User's)-333(Guide)-334(for)-333(details)-333([)]TJ 1 0 0 rg 1 0 0 RG [(13)]TJ 0 g 0 G - [(].)]TJ/F45 10.9091 Tf -45.971 -13.549 Td [(desc_a)-1064(type\050psb_desc_type\051,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 223.514 0 Td [(.)]TJ -177.543 -13.549 Td [(The)-354(comm)28(unication)-354(descriptor)-354(of)]TJ/F45 10.9091 Tf 162.835 0 Td [(a)]TJ/F15 10.9091 Tf 5.727 0 Td [(.)-506(See)-354(the)-354(PSBLAS)-354(User's)-354(Gu)1(ide)-354(for)]TJ -168.562 -13.549 Td [(details)-333([)]TJ + [(].)]TJ/F45 10.9091 Tf -45.971 -13.549 Td [(desc_a)-1064(type\050psb_desc_type\051,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 223.514 0 Td [(.)]TJ -177.543 -13.549 Td [(The)-354(comm)28(unication)-354(descriptor)-354(of)]TJ/F45 10.9091 Tf 162.835 0 Td [(a)]TJ/F15 10.9091 Tf 5.727 0 Td [(.)-506(See)-354(the)-354(PSBLAS)-354(User's)-354(Gu)1(ide)-354(for)]TJ -168.562 -13.55 Td [(details)-333([)]TJ 1 0 0 rg 1 0 0 RG [(13)]TJ 0 g 0 G - [(].)]TJ/F45 10.9091 Tf -45.971 -13.55 Td [(info)-2114(integer,)-525(intent\050out\051)]TJ/F15 10.9091 Tf 160.515 0 Td [(.)]TJ -114.544 -13.549 Td [(Error)-333(co)-28(de.)-444(If)-334(no)-333(error,)-333(0)-334(is)-333(returned.)-444(See)-334(Section)]TJ + [(].)]TJ/F45 10.9091 Tf -45.971 -13.549 Td [(info)-2114(integer,)-525(intent\050out\051)]TJ/F15 10.9091 Tf 160.515 0 Td [(.)]TJ -114.544 -13.549 Td [(Error)-333(co)-28(de.)-444(If)-334(no)-333(error,)-333(0)-334(is)-333(returned.)-444(See)-334(Section)]TJ 0 0 1 rg 0 0 1 RG [-333(8)]TJ 0 g 0 G - [-333(for)-334(d)1(e)-1(tail)1(s)-1(.)]TJ + [-333(for)-334(d)1(e)-1(tail)1(s)-1(.)]TJ/F45 10.9091 Tf -45.971 -13.549 Td [(amold)-1589(class\050psb_)]TJ/F18 10.9091 Tf 103.243 0 Td [(x)]TJ/F45 10.9091 Tf 6.374 0 Td [(_base_sparse_mat\051,)-525(intent\050in\051,)-525(optional)]TJ/F15 10.9091 Tf 223.361 0 Td [(.)]TJ -287.007 -13.549 Td [(The)-396(desired)-395(dynamic)-396(t)28(yp)-28(e)-396(for)-395(in)28(ternal)-396(matrix)-396(comp)-27(onen)27(ts;)-426(this)-396(allo)28(ws)]TJ 0 -13.549 Td [(e.g.)-594(running)-383(on)-383(GPUs;)-408(it)-383(needs)-383(not)-383(b)-28(e)-383(the)-383(same)-383(on)-383(all)-384(pr)1(o)-28(cesses)-1(.)-593(See)]TJ 0 -13.55 Td [(the)-333(PSBLAS)-334(User's)-333(Guide)-333(for)-334(d)1(e)-1(tai)1(ls)-334([)]TJ +1 0 0 rg 1 0 0 RG + [(13)]TJ +0 g 0 G + [(].)]TJ/F45 10.9091 Tf -45.971 -13.549 Td [(vmold)-1589(class\050psb_)]TJ/F18 10.9091 Tf 103.243 0 Td [(x)]TJ/F45 10.9091 Tf 6.374 0 Td [(_base_vect_type\051,)-525(intent\050in\051,)-525(optional)]TJ/F15 10.9091 Tf 217.634 0 Td [(.)]TJ -281.28 -13.549 Td [(The)-422(desired)-422(dynamic)-422(t)28(yp)-28(e)-422(for)-422(in)28(ternal)-422(v)28(ector)-422(comp)-28(onen)28(ts;)-466(this)-422(allo)27(ws)]TJ 0 -13.549 Td [(e.g.)-444(running)-334(on)-333(GPUs.)]TJ/F45 10.9091 Tf -45.971 -13.549 Td [(imold)-1589(class\050psb_i_base_vect_type\051,)-525(intent\050in\051,)-525(optional)]TJ/F15 10.9091 Tf 326.604 0 Td [(.)]TJ -280.633 -13.55 Td [(The)-387(desired)-387(dynamic)-388(t)28(yp)-27(e)-388(for)-387(in)28(ternal)-387(in)28(teger)-387(v)27(ector)-387(comp)-28(onen)28(ts;)-414(this)]TJ 0 -13.549 Td [(allo)28(ws)-334(e.g.)-444(running)-333(on)-333(GPUs.)]TJ 0 g 0 G 0 g 0 G ET endstream endobj -546 0 obj +578 0 obj << -/Length 3056 +/Length 5532 >> stream 0 g 0 G @@ -6129,25 +6149,22 @@ BT 0 g 0 G [-378(User)-377(Interf)88(a)23(ce)]TJ/F15 10.9091 Tf 401.542 0 Td [(35)]TJ 0 g 0 G -/F17 11.9552 Tf -401.542 -35.866 Td [(6.5)-1125(Subroutine)-375(smo)-31(others)]TJ -ET -q -1 0 0 1 254.18 704.336 cm -[]0 d 0 J 0.398 w 0 0 m 4.035 0 l S -Q -BT -/F17 11.9552 Tf 258.215 704.136 Td [(build)]TJ +/F17 11.9552 Tf -401.542 -35.866 Td [(6.5)-1125(Metho)-31(d)-375(build)]TJ +0 g 0 G 0 g 0 G +/F45 10.9091 Tf 71.636 -20.594 Td [(call)-525(p%build\050a,desc_a,info[,amold,vmold,imold]\051)]TJ/F15 10.9091 Tf -71.636 -25.505 Td [(This)-239(metho)-28(d)-239(b)1(uilds)-239(the)-239(preconditioner)]TJ/F45 10.9091 Tf 182.605 0 Td [(p)]TJ/F15 10.9091 Tf 8.333 0 Td [(according)-239(to)-239(the)-239(r)1(e)-1(qu)1(ireme)-1(n)28(ts)-239(made)-239(b)28(y)-239(th)1(e)-239(user)]TJ -190.938 -13.549 Td [(through)-391(the)-390(metho)-28(ds)]TJ/F45 10.9091 Tf 105.911 0 Td [(init)]TJ/F15 10.9091 Tf 27.172 0 Td [(and)]TJ/F45 10.9091 Tf 21.839 0 Td [(set)]TJ/F15 10.9091 Tf 21.445 0 Td [(\050see)-391(Sections)]TJ +0 0 1 rg 0 0 1 RG + [-391(6.3)]TJ 0 g 0 G -/F45 10.9091 Tf -70.07 -20.594 Td [(call)-525(p%smoothers_build\050a,desc_a,p,info\051)]TJ/F15 10.9091 Tf -94.545 -25.505 Td [(This)-342(routine)-343(bu)1(ilds)-343(the)-342(smo)-28(others)-342(and)-343(th)1(e)-343(coarsest-lev)28(el)-343(solv)28(ers)-342(for)-342(the)-343(m)28(ultilev)28(el)-343(pr)1(e)-1(-)]TJ 0 -13.549 Td [(conditioner)]TJ/F45 10.9091 Tf 58.012 0 Td [(p)]TJ/F15 10.9091 Tf 5.727 0 Td [(,)-449(according)-426(to)-426(the)-426(requiremen)28(ts)-427(made)-426(b)28(y)-426(the)-426(user)-426(through)-426(the)-426(routines)]TJ/F45 10.9091 Tf -63.739 -13.549 Td [(init)]TJ/F15 10.9091 Tf 26.819 0 Td [(and)]TJ/F45 10.9091 Tf 21.487 0 Td [(set)]TJ/F15 10.9091 Tf 17.181 0 Td [(,)-365(and)-358(based)-359(on)-358(the)-358(aggregation)-359(hierarc)28(h)28(y)-359(pro)-27(duced)-359(b)28(y)-358(a)-359(previous)-358(call)-359(to)]TJ/F45 10.9091 Tf -65.487 -13.549 Td [(hierarchy_build)]TJ/F15 10.9091 Tf 89.545 0 Td [(\050see)-333(Section)]TJ + [-390(and)]TJ 0 0 1 rg 0 0 1 RG - [-334(6.4)]TJ + [-391(6.4)]TJ 0 g 0 G - [(\051.)]TJ/F17 11.9552 Tf -89.545 -33.873 Td [(Argumen)31(ts)]TJ/F45 10.9091 Tf 22.914 -15.794 Td [(a)-3689(type\050psb_)]TJ/F18 10.9091 Tf 97.516 0 Td [(x)]TJ/F45 10.9091 Tf 6.374 0 Td [(spmat_type\051,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 131.726 0 Td [(.)]TJ -189.645 -13.549 Td [(The)-501(sparse)-501(matrix)-501(structure)-501(con)28(taining)-501(t)1(he)-501(lo)-28(cal)-501(part)-501(of)-501(the)-501(matrix)]TJ 0 -13.55 Td [(to)-470(b)-28(e)-469(preconditioned.)-854(Note)-470(that)]TJ/F18 10.9091 Tf 166.818 0 Td [(x)]TJ/F15 10.9091 Tf 11.5 0 Td [(m)28(ust)-470(b)-28(e)-470(c)28(hosen)-470(according)-470(to)-469(the)]TJ -178.318 -13.549 Td [(real/complex,)-534(single/doub)1(le)-494(precision)-494(v)28(ersion)-493(of)-494(MLD2P4)-493(under)-494(use.)]TJ 0 -13.549 Td [(See)-333(the)-334(PSBLAS)-333(User's)-333(Guide)-334(for)-333(details)-333([)]TJ + [-391(for)-391(m)28(ultilev)28(el)-391(precondi-)]TJ -176.367 -13.549 Td [(tioners\051.)-420(It)-261(is)-261(mostly)-261(pro)28(vided)-260(for)-261(bac)28(kw)27(ard)-260(compatibilit)28(y;)-285(indeed,)-275(it)-261(is)-261(in)28(ternally)-261(imple-)]TJ 0 -13.549 Td [(men)28(ted)-222(b)27(y)-222(in)28(v)28(oking)-222(the)-223(t)28(w)28(o)-222(previous)-222(metho)-28(ds)]TJ/F45 10.9091 Tf 215.607 0 Td [(hierarchy_build)]TJ/F15 10.9091 Tf 88.332 0 Td [(and)]TJ/F45 10.9091 Tf 20 0 Td [(smoothers_build)]TJ/F15 10.9091 Tf 85.908 0 Td [(,)]TJ -409.847 -13.549 Td [(whose)-345(nomenclature)-345(w)28(ould)-345(ho)28(w)27(ev)28(er)-345(b)-27(e)-345(s)-1(omewhat)-345(u)1(nnatural)-345(when)-345(dealing)-345(with)-345(simple)]TJ 0 -13.55 Td [(one-lev)28(el)-334(precondition)1(e)-1(r)1(s)-1(.)]TJ/F17 11.9552 Tf 0 -33.873 Td [(Argumen)31(ts)]TJ/F45 10.9091 Tf 22.914 -15.794 Td [(a)-3689(type\050psb_)]TJ/F18 10.9091 Tf 97.516 0 Td [(x)]TJ/F45 10.9091 Tf 6.374 0 Td [(spmat_type\051,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 131.726 0 Td [(.)]TJ -189.645 -13.549 Td [(The)-501(sparse)-501(matrix)-501(structure)-501(con)28(taining)-501(th)1(e)-501(lo)-28(cal)-501(part)-501(of)-501(the)-501(matrix)]TJ 0 -13.549 Td [(to)-470(b)-28(e)-469(preconditioned.)-854(Note)-470(that)]TJ/F18 10.9091 Tf 166.818 0 Td [(x)]TJ/F15 10.9091 Tf 11.5 0 Td [(m)28(ust)-470(b)-28(e)-470(c)28(hosen)-470(according)-470(to)-469(the)]TJ -178.318 -13.549 Td [(real/complex,)-534(single/doubl)1(e)-494(precision)-494(v)28(ersion)-493(of)-494(MLD2P4)-493(under)-494(use.)]TJ 0 -13.549 Td [(See)-333(the)-334(PSBLAS)-333(User's)-333(Guide)-334(for)-333(details)-333([)]TJ 1 0 0 rg 1 0 0 RG [(13)]TJ 0 g 0 G - [(].)]TJ/F45 10.9091 Tf -45.971 -13.549 Td [(desc_a)-1064(type\050psb_desc_type\051,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 223.515 0 Td [(.)]TJ -177.544 -13.549 Td [(The)-354(comm)28(unication)-354(descriptor)-354(of)]TJ/F45 10.9091 Tf 162.835 0 Td [(a)]TJ/F15 10.9091 Tf 5.728 0 Td [(.)-506(See)-354(the)-354(PSBLAS)-354(User's)-353(Guide)-354(for)]TJ -168.563 -13.55 Td [(details)-333([)]TJ + [(].)]TJ/F45 10.9091 Tf -45.971 -13.55 Td [(desc_a)-1064(type\050psb_desc_type\051,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 223.515 0 Td [(.)]TJ -177.544 -13.549 Td [(The)-354(comm)28(unication)-354(descriptor)-354(of)]TJ/F45 10.9091 Tf 162.836 0 Td [(a)]TJ/F15 10.9091 Tf 5.727 0 Td [(.)-506(See)-354(the)-354(PSBLAS)-354(User's)-353(Guide)-354(for)]TJ -168.563 -13.549 Td [(details)-333([)]TJ 1 0 0 rg 1 0 0 RG [(13)]TJ 0 g 0 G @@ -6155,26 +6172,33 @@ BT 0 0 1 rg 0 0 1 RG [-333(8)]TJ 0 g 0 G - [-333(for)-334(details.)]TJ + [-333(for)-334(details.)]TJ/F45 10.9091 Tf -45.971 -13.549 Td [(amold)-1589(class\050psb_)]TJ/F18 10.9091 Tf 103.243 0 Td [(x)]TJ/F45 10.9091 Tf 6.374 0 Td [(_base_sparse_mat\051,)-525(intent\050in\051,)-525(optional)]TJ/F15 10.9091 Tf 223.362 0 Td [(.)]TJ -287.008 -13.55 Td [(The)-396(desired)-395(dynamic)-396(t)28(yp)-28(e)-396(for)-395(in)28(ternal)-396(matrix)-396(comp)-27(onen)27(ts;)-426(this)-396(allo)28(ws)]TJ 0 -13.549 Td [(e.g.)-594(running)-383(on)-383(GPUs;)-408(it)-383(needs)-383(not)-383(b)-28(e)-383(the)-383(same)-383(on)-384(al)1(l)-384(pro)-27(cesse)-1(s.)-593(See)]TJ 0 -13.549 Td [(the)-333(PSBLAS)-334(User's)-333(Guide)-333(for)-334(d)1(e)-1(tai)1(ls)-334([)]TJ +1 0 0 rg 1 0 0 RG + [(13)]TJ +0 g 0 G + [(].)]TJ/F45 10.9091 Tf -45.971 -13.549 Td [(vmold)-1589(class\050psb_)]TJ/F18 10.9091 Tf 103.243 0 Td [(x)]TJ/F45 10.9091 Tf 6.374 0 Td [(_base_vect_type\051,)-525(intent\050in\051,)-525(optional)]TJ/F15 10.9091 Tf 217.634 0 Td [(.)]TJ -281.28 -13.549 Td [(The)-422(desired)-422(dynamic)-422(t)28(yp)-28(e)-422(for)-422(in)28(ternal)-422(v)28(ector)-422(comp)-28(onen)28(ts;)-466(this)-422(allo)27(ws)]TJ 0 -13.55 Td [(e.g.)-444(running)-334(on)-333(GPUs.)]TJ/F45 10.9091 Tf -45.971 -13.549 Td [(imold)-1589(class\050psb_i_base_vect_type\051,)-525(intent\050in\051,)-525(optional)]TJ/F15 10.9091 Tf 326.604 0 Td [(.)]TJ -280.633 -13.549 Td [(The)-387(desired)-387(dynamic)-388(t)28(yp)-27(e)-388(for)-387(in)28(ternal)-387(in)28(teger)-387(v)27(ector)-387(comp)-28(onen)28(ts;)-414(this)]TJ 0 -13.549 Td [(allo)28(ws)-334(e.g.)-444(running)-333(on)-333(GPUs.)]TJ -51.948 -32.961 Td [(F)83(or)-364(compatibilit)27(y)-364(with)-365(the)-365(previous)-365(v)28(ersions)-365(of)-365(MLD2P4,)-372(this)-365(metho)-28(d)-365(can)-365(b)-27(e)-365(also)]TJ -16.937 -13.549 Td [(in)28(v)28(ok)27(ed)-333(as)-333(follo)28(ws:)]TJ +0 g 0 G +0 g 0 G +/F45 10.9091 Tf 54.455 -25.504 Td [(call)-525(mld_precbld\050p,what,val,info[,amold,vmold,imold]\051)]TJ/F15 10.9091 Tf -54.455 -25.505 Td [(The)-333(metho)-28(d)-333(can)-334(b)-28(e)-333(used)-333(to)-334(bu)1(ild)-334(m)28(ultilev)28(el)-333(preconditioners)-334(to)-27(o.)]TJ 0 g 0 G 0 g 0 G ET endstream endobj -551 0 obj +583 0 obj << -/Length 8513 +/Length 8543 >> stream 0 g 0 G BT /F15 10.9091 Tf 86.4 740.002 Td [(36)]TJ/F42 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ 0 g 0 G -/F17 11.9552 Tf -203.265 -35.866 Td [(6.6)-1125(Subroutine)-375(apply)]TJ +/F17 11.9552 Tf -203.265 -35.866 Td [(6.6)-1125(Metho)-31(d)-375(apply)]TJ 0 g 0 G 0 g 0 G -/F45 10.9091 Tf 83.09 -20.594 Td [(call)-525(p%apply\050x,y,desc_a,info)-525([,trans,work]\051)]TJ/F15 10.9091 Tf -83.09 -25.505 Td [(This)-422(r)1(outine)-422(computes)]TJ/F22 10.9091 Tf 113.947 0 Td [(y)]TJ/F15 10.9091 Tf 10.374 0 Td [(=)]TJ/F22 10.9091 Tf 13.119 0 Td [(op)]TJ/F15 10.9091 Tf 10.776 0 Td [(\050)]TJ/F22 10.9091 Tf 4.243 0 Td [(B)]TJ/F26 7.9701 Tf 8.822 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F15 10.9091 Tf 4.733 -3.959 Td [(\051)]TJ/F22 10.9091 Tf 6.06 0 Td [(x)]TJ/F15 10.9091 Tf 6.235 0 Td [(,)-444(where)]TJ/F22 10.9091 Tf 40.377 0 Td [(B)]TJ/F15 10.9091 Tf 13.421 0 Td [(is)-422(a)-421(previously)-421(built)-422(preconditioner,)]TJ -238.693 -13.549 Td [(stored)-296(in)28(to)]TJ/F45 10.9091 Tf 54.129 0 Td [(p)]TJ/F15 10.9091 Tf 5.727 0 Td [(,)-304(and)]TJ/F22 10.9091 Tf 27.15 0 Td [(op)]TJ/F15 10.9091 Tf 14.008 0 Td [(denotes)-296(the)-296(preconditioner)-297(it)1(s)-1(elf)-296(or)-296(its)-296(transp)-28(ose,)-304(accordin)1(g)-297(to)-296(the)]TJ -101.014 -13.549 Td [(v)56(alue)-325(of)]TJ/F45 10.9091 Tf 40.407 0 Td [(trans)]TJ/F15 10.9091 Tf 28.636 0 Td [(.)-441(Note)-325(that,)-326(when)-324(MLD2P4)-324(is)-324(used)-324(with)-325(a)-324(Krylo)28(v)-324(solv)28(er)-325(f)1(rom)-325(PSBLAS,)]TJ/F45 10.9091 Tf -69.043 -13.549 Td [(p%apply)]TJ/F15 10.9091 Tf 44.151 0 Td [(is)-372(called)-372(within)-372(the)-373(PSBLAS)-372(routine)]TJ/F45 10.9091 Tf 180.665 0 Td [(psb_krylov)]TJ/F15 10.9091 Tf 61.332 0 Td [(and)-372(hence)-372(it)-373(is)-372(completely)]TJ -286.148 -13.549 Td [(transparen)28(t)-333(to)-334(the)-333(user.)]TJ/F17 11.9552 Tf 0 -33.873 Td [(Argumen)31(ts)]TJ/F45 10.9091 Tf 22.914 -15.794 Td [(x)]TJ/F18 10.9091 Tf 45.971 0 Td [(typ)51(e)]TJ/F45 10.9091 Tf 19.777 0 Td [(\050)]TJ/F18 10.9091 Tf 5.727 0 Td [(kind)]TJ +/F45 10.9091 Tf 83.09 -20.594 Td [(call)-525(p%apply\050x,y,desc_a,info)-525([,trans,work]\051)]TJ/F15 10.9091 Tf -83.09 -25.505 Td [(This)-407(metho)-28(d)-408(computes)]TJ/F22 10.9091 Tf 115.576 0 Td [(y)]TJ/F15 10.9091 Tf 10.118 0 Td [(=)]TJ/F22 10.9091 Tf 12.862 0 Td [(op)]TJ/F15 10.9091 Tf 10.776 0 Td [(\050)]TJ/F22 10.9091 Tf 4.243 0 Td [(B)]TJ/F26 7.9701 Tf 8.822 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F15 10.9091 Tf 4.733 -3.959 Td [(\051)]TJ/F22 10.9091 Tf 6.06 0 Td [(x)]TJ/F15 10.9091 Tf 6.235 0 Td [(,)-426(where)]TJ/F22 10.9091 Tf 40.031 0 Td [(B)]TJ/F15 10.9091 Tf 13.266 0 Td [(is)-407(a)-408(previously)-407(built)-408(p)1(rec)-1(on)1(ditioner,)]TJ -239.308 -13.549 Td [(stored)-296(in)28(to)]TJ/F45 10.9091 Tf 54.129 0 Td [(p)]TJ/F15 10.9091 Tf 5.727 0 Td [(,)-304(and)]TJ/F22 10.9091 Tf 27.15 0 Td [(op)]TJ/F15 10.9091 Tf 14.008 0 Td [(denotes)-296(the)-296(preconditioner)-297(it)1(s)-1(elf)-296(or)-296(its)-296(transp)-28(ose,)-304(accordin)1(g)-297(to)-296(the)]TJ -101.014 -13.549 Td [(v)56(alue)-325(of)]TJ/F45 10.9091 Tf 40.407 0 Td [(trans)]TJ/F15 10.9091 Tf 28.636 0 Td [(.)-441(Note)-325(that,)-326(when)-324(MLD2P4)-324(is)-324(used)-324(with)-325(a)-324(Krylo)28(v)-324(solv)28(er)-325(f)1(rom)-325(PSBLAS,)]TJ/F45 10.9091 Tf -69.043 -13.549 Td [(p%apply)]TJ/F15 10.9091 Tf 43.976 0 Td [(is)-356(called)-357(with)1(in)-357(the)-356(PSBLAS)-356(metho)-28(d)]TJ/F45 10.9091 Tf 181.711 0 Td [(psb_krylov)]TJ/F15 10.9091 Tf 61.159 0 Td [(and)-356(hence)-356(it)-357(is)-356(completely)]TJ -286.846 -13.549 Td [(transparen)28(t)-333(to)-334(the)-333(user.)]TJ/F17 11.9552 Tf 0 -33.873 Td [(Argumen)31(ts)]TJ/F45 10.9091 Tf 22.914 -15.794 Td [(x)]TJ/F18 10.9091 Tf 45.971 0 Td [(typ)51(e)]TJ/F45 10.9091 Tf 19.777 0 Td [(\050)]TJ/F18 10.9091 Tf 5.727 0 Td [(kind)]TJ ET q 1 0 0 1 201.531 554.373 cm @@ -6220,7 +6244,7 @@ q []0 d 0 J 0.398 w 0 0 m 3.345 0 l S Q BT -/F18 10.9091 Tf 179.372 283.19 Td [(p)51(ar)51(ameter)]TJ/F15 10.9091 Tf 54.627 0 Td [(m)28(ust)-556(b)-27(e)-556(c)28(hosen)-555(ac)-1(cordi)1(ng)-556(to)-555(the)-556(real/complex,)-611(sin-)]TJ -78.714 -13.549 Td [(gle/double)-333(precision)-334(v)28(ersion)-333(of)-333(MLD2P4)-334(und)1(e)-1(r)-333(use.)]TJ -51.949 -32.961 Td [(F)83(or)-380(compatibilit)28(y)-381(with)-380(the)-381(previous)-380(v)28(ersions)-381(of)-380(MLD2P4,)-392(this)-381(routine)-380(can)-381(b)-27(e)-381(also)]TJ -16.936 -13.549 Td [(in)28(v)28(ok)27(ed)-333(as)-333(follo)28(ws:)]TJ +/F18 10.9091 Tf 179.372 283.19 Td [(p)51(ar)51(ameter)]TJ/F15 10.9091 Tf 54.627 0 Td [(m)28(ust)-556(b)-27(e)-556(c)28(hosen)-555(ac)-1(cordi)1(ng)-556(to)-555(the)-556(real/complex,)-611(sin-)]TJ -78.714 -13.549 Td [(gle/double)-333(precision)-334(v)28(ersion)-333(of)-333(MLD2P4)-334(und)1(e)-1(r)-333(use.)]TJ -51.949 -32.961 Td [(F)83(or)-364(c)-1(ompati)1(bilit)27(y)-364(with)-365(the)-365(previous)-365(v)28(ersions)-365(of)-365(MLD2P4,)-372(this)-365(metho)-28(d)-365(can)-365(b)-27(e)-365(also)]TJ -16.936 -13.549 Td [(in)28(v)28(ok)27(ed)-333(as)-333(follo)28(ws:)]TJ 0 g 0 G 0 g 0 G /F45 10.9091 Tf 108.863 -25.505 Td [(call)-525(mld_precaply\050p,what,val,info\051)]TJ @@ -6230,9 +6254,9 @@ ET endstream endobj -557 0 obj +589 0 obj << -/Length 1281 +/Length 1284 >> stream 0 g 0 G @@ -6242,14 +6266,14 @@ BT 0 g 0 G [-378(User)-377(Interf)88(a)23(ce)]TJ/F15 10.9091 Tf 401.542 0 Td [(37)]TJ 0 g 0 G -/F17 11.9552 Tf -401.542 -35.866 Td [(6.7)-1125(Subroutine)-375(free)]TJ +/F17 11.9552 Tf -401.542 -35.866 Td [(6.7)-1125(Metho)-31(d)-375(free)]TJ 0 g 0 G 0 g 0 G -/F45 10.9091 Tf 151.817 -20.594 Td [(call)-525(p%free\050p,info\051)]TJ/F15 10.9091 Tf -151.817 -25.505 Td [(This)-333(routine)-334(deallo)-27(cates)-334(the)-333(preconditioner)-333(data)-334(structur)1(e)]TJ/F45 10.9091 Tf 280.637 0 Td [(p)]TJ/F15 10.9091 Tf 5.727 0 Td [(.)]TJ/F17 11.9552 Tf -286.364 -33.873 Td [(Argumen)31(ts)]TJ/F45 10.9091 Tf 22.914 -15.794 Td [(info)-2114(integer,)-525(intent\050out\051)]TJ/F15 10.9091 Tf 160.515 0 Td [(.)]TJ -114.544 -13.549 Td [(Error)-308(co)-28(de.)-435(If)-308(no)-308(error,)-313(0)-308(is)-308(returned.)-436(See)-308(S)1(e)-1(ction)]TJ +/F45 10.9091 Tf 151.817 -20.594 Td [(call)-525(p%free\050p,info\051)]TJ/F15 10.9091 Tf -151.817 -25.505 Td [(This)-333(metho)-28(d)-333(deallo)-28(cates)-334(the)-333(preconditioner)-333(data)-333(structure)]TJ/F45 10.9091 Tf 282.728 0 Td [(p)]TJ/F15 10.9091 Tf 5.727 0 Td [(.)]TJ/F17 11.9552 Tf -288.455 -33.873 Td [(Argumen)31(ts)]TJ/F45 10.9091 Tf 22.914 -15.794 Td [(info)-2114(integer,)-525(intent\050out\051)]TJ/F15 10.9091 Tf 160.515 0 Td [(.)]TJ -114.544 -13.549 Td [(Error)-308(co)-28(de.)-435(If)-308(no)-308(error,)-313(0)-308(is)-308(returned.)-436(See)-308(S)1(e)-1(ction)]TJ 0 0 1 rg 0 0 1 RG [-307(8)]TJ 0 g 0 G - [-308(for)-308(details.)]TJ -51.948 -32.96 Td [(F)83(or)-380(compatibilit)28(y)-381(with)-380(the)-381(pr)1(e)-1(viou)1(s)-381(v)28(ersions)-381(of)-380(MLD2P4,)-392(this)-381(routine)-380(can)-381(b)-27(e)-381(also)]TJ -16.937 -13.55 Td [(in)28(v)28(ok)27(ed)-333(as)-333(follo)28(ws:)]TJ + [-308(for)-308(details.)]TJ -51.948 -32.96 Td [(F)83(or)-364(com)-1(p)1(atibilit)27(y)-364(with)-365(the)-365(previous)-365(v)28(ersions)-365(of)-365(MLD2P4,)-372(this)-365(metho)-28(d)-365(can)-365(b)-27(e)-365(also)]TJ -16.937 -13.55 Td [(in)28(v)28(ok)27(ed)-333(as)-333(follo)28(ws:)]TJ 0 g 0 G 0 g 0 G /F45 10.9091 Tf 134.636 -25.504 Td [(call)-525(mld_precfree\050p,info\051)]TJ @@ -6259,35 +6283,49 @@ ET endstream endobj -563 0 obj +597 0 obj << -/Length 2148 +/Length 3993 >> stream 0 g 0 G BT /F15 10.9091 Tf 86.4 740.002 Td [(38)]TJ/F42 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ 0 g 0 G -/F17 11.9552 Tf -203.265 -35.866 Td [(6.8)-1125(Subroutine)-375(descr)]TJ +/F17 11.9552 Tf -203.265 -35.866 Td [(6.8)-1125(Metho)-31(d)-375(descr)]TJ +0 g 0 G +0 g 0 G +/F45 10.9091 Tf 131.772 -21.173 Td [(call)-525(p%descr\050info,)-525([iout]\051)]TJ/F15 10.9091 Tf -131.772 -26.697 Td [(This)-349(metho)-28(d)-348(prin)28(ts)-349(a)-349(description)-349(of)-348(the)-349(preconditioner)]TJ/F45 10.9091 Tf 265.591 0 Td [(p)]TJ/F15 10.9091 Tf 9.532 0 Td [(to)-349(the)-349(standar)1(d)-349(output)-349(or)-349(to)]TJ -275.123 -13.549 Td [(a)-355(\014le.)-508(It)-354(m)27(ust)-354(b)-28(e)-355(called)-354(after)]TJ/F45 10.9091 Tf 143.39 0 Td [(hierachy_build)]TJ/F15 10.9091 Tf 84.049 0 Td [(and)]TJ/F45 10.9091 Tf 21.444 0 Td [(smoothers_build)]TJ/F15 10.9091 Tf 85.908 0 Td [(,)-360(or)]TJ/F45 10.9091 Tf 20.552 0 Td [(build)]TJ/F15 10.9091 Tf 28.636 0 Td [(,)-360(ha)28(v)28(e)]TJ -383.979 -13.549 Td [(b)-28(een)-333(called.)]TJ/F17 11.9552 Tf 0 -34.171 Td [(Argumen)31(ts)]TJ/F45 10.9091 Tf 22.914 -16.391 Td [(info)-2114(integer,)-525(intent\050out\051)]TJ/F15 10.9091 Tf 160.515 0 Td [(.)]TJ -114.544 -13.549 Td [(Error)-333(co)-28(de.)-444(If)-334(no)-333(error,)-333(0)-334(is)-333(returned.)-444(See)-334(Section)]TJ +0 0 1 rg 0 0 1 RG + [-333(8)]TJ +0 g 0 G + [-333(for)-334(d)1(e)-1(tail)1(s)-1(.)]TJ/F45 10.9091 Tf -45.971 -13.549 Td [(iout)-2114(integer,)-525(intent\050in\051,)-525(optional)]TJ/F15 10.9091 Tf 212.06 0 Td [(.)]TJ -166.089 -13.549 Td [(The)-376(id)-376(of)-375(the)-376(\014le)-376(where)-376(the)-376(p)1(rec)-1(on)1(ditioner)-376(description)-376(will)-376(b)-27(e)-376(prin)28(ted;)]TJ 0 -13.549 Td [(the)-333(default)-334(i)1(s)-334(the)-333(standard)-333(output.)]TJ -51.949 -33.259 Td [(F)83(or)-364(c)-1(ompati)1(bilit)27(y)-364(with)-365(the)-365(previous)-365(v)28(ersions)-365(of)-365(MLD2P4,)-372(this)-365(metho)-28(d)-365(can)-365(b)-27(e)-365(also)]TJ -16.936 -13.549 Td [(in)28(v)28(ok)27(ed)-333(as)-333(follo)28(ws:)]TJ +0 g 0 G +0 g 0 G +/F45 10.9091 Tf 108.863 -27.293 Td [(call)-525(mld_precdescr\050p,info)-525([,iout]\051)]TJ/F17 11.9552 Tf -108.863 -30.916 Td [(6.9)-1125(Auxiliary)-375(Metho)-31(ds)]TJ/F15 10.9091 Tf 0 -21.174 Td [(V)83(arious)-444(functionali)1(tie)-1(s)-444(are)-444(implemen)28(ted)-444(as)-444(additional)-444(metho)-28(ds)-444(of)-444(the)-444(preconditioner)]TJ 0 -13.549 Td [(ob)-55(jec)-1(t.)]TJ/F44 10.9091 Tf 0 -30.517 Td [(6.9.1)-1150(Metho)-32(d:)-511(dump)]TJ 0 g 0 G 0 g 0 G -/F45 10.9091 Tf 131.772 -20.594 Td [(call)-525(p%descr\050info,)-525([iout]\051)]TJ/F15 10.9091 Tf -131.772 -25.505 Td [(This)-362(routine)-363(prin)28(ts)-362(a)-363(description)-362(of)-363(the)-362(preconditioner)]TJ/F45 10.9091 Tf 264.695 0 Td [(p)]TJ/F15 10.9091 Tf 9.681 0 Td [(to)-362(the)-363(standard)-362(output)-363(or)-362(to)]TJ -274.376 -13.549 Td [(a)-355(\014le.)-508(It)-354(m)27(ust)-354(b)-28(e)-355(called)-354(after)]TJ/F45 10.9091 Tf 143.39 0 Td [(hierachy_build)]TJ/F15 10.9091 Tf 84.049 0 Td [(and)]TJ/F45 10.9091 Tf 21.444 0 Td [(smoothers_build)]TJ/F15 10.9091 Tf 85.908 0 Td [(,)-360(or)]TJ/F45 10.9091 Tf 20.552 0 Td [(build)]TJ/F15 10.9091 Tf 28.636 0 Td [(,)-360(ha)28(v)28(e)]TJ -383.979 -13.549 Td [(b)-28(een)-333(called.)]TJ/F17 11.9552 Tf 0 -33.873 Td [(Argumen)31(ts)]TJ/F45 10.9091 Tf 22.914 -15.794 Td [(info)-2114(integer,)-525(intent\050out\051)]TJ/F15 10.9091 Tf 160.515 0 Td [(.)]TJ -114.544 -13.549 Td [(Error)-333(co)-28(de.)-444(If)-334(no)-333(error,)-333(0)-334(is)-333(returned.)-444(See)-334(Section)]TJ +/F45 10.9091 Tf 0 -34.723 Td [(call)-525(p%dump\050info[,istart,iend,prefix,head,ac,rp,smoother,solver,global_num]\051)]TJ/F15 10.9091 Tf 0 -26.697 Td [(Dump)-333(on)-334(\014l)1(e)-1(.)]TJ/F17 11.9552 Tf 0 -34.171 Td [(Argumen)31(ts)]TJ/F45 10.9091 Tf 22.914 -16.39 Td [(info)-2114(integer,)-525(intent\050out\051)]TJ/F15 10.9091 Tf 160.515 0 Td [(.)]TJ -114.544 -13.549 Td [(Error)-333(co)-28(de.)-444(If)-334(no)-333(error,)-333(0)-334(is)-333(returned.)-444(See)-334(Section)]TJ 0 0 1 rg 0 0 1 RG [-333(8)]TJ 0 g 0 G - [-333(for)-334(d)1(e)-1(tail)1(s)-1(.)]TJ/F45 10.9091 Tf -45.971 -13.549 Td [(iout)-2114(integer,)-525(intent\050in\051,)-525(optional)]TJ/F15 10.9091 Tf 212.06 0 Td [(.)]TJ -166.089 -13.55 Td [(The)-376(id)-376(of)-375(the)-376(\014le)-376(where)-376(the)-376(p)1(rec)-1(on)1(ditioner)-376(description)-376(will)-376(b)-27(e)-376(prin)28(ted;)]TJ 0 -13.549 Td [(the)-333(default)-334(i)1(s)-334(the)-333(standard)-333(output.)]TJ -51.949 -32.96 Td [(F)83(or)-380(compatibilit)28(y)-381(with)-380(the)-381(previous)-380(v)28(ersions)-381(of)-380(MLD2P4,)-392(this)-381(routine)-380(can)-381(b)-27(e)-381(also)]TJ -16.936 -13.55 Td [(in)28(v)28(ok)27(ed)-333(as)-333(follo)28(ws:)]TJ + [-333(for)-334(d)1(e)-1(tail)1(s)-1(.)]TJ/F45 10.9091 Tf -45.971 -13.549 Td [(amold)-1589(class\050psb_)]TJ/F18 10.9091 Tf 103.243 0 Td [(x)]TJ/F45 10.9091 Tf 6.374 0 Td [(_base_sparse_mat\051,)-525(intent\050in\051,)-525(optional)]TJ/F15 10.9091 Tf 223.361 0 Td [(.)]TJ -287.007 -13.55 Td [(The)-396(desired)-395(dynamic)-396(t)28(yp)-28(e)-396(for)-395(in)28(ternal)-396(matrix)-396(comp)-27(onen)27(ts;)-426(this)-396(allo)28(ws)]TJ 0 -13.549 Td [(e.g.)-594(running)-383(on)-383(GPUs;)-408(it)-383(needs)-383(not)-383(b)-28(e)-383(the)-383(same)-383(on)-383(all)-384(pr)1(o)-28(cesses)-1(.)-593(See)]TJ 0 -13.549 Td [(the)-333(PSBLAS)-334(User's)-333(Guide)-333(for)-334(d)1(e)-1(t)1(ails)-334([)]TJ +1 0 0 rg 1 0 0 RG + [(13)]TJ 0 g 0 G + [(].)]TJ/F44 10.9091 Tf -68.885 -29.605 Td [(6.9.2)-1150(Metho)-32(d:)-511(clone)]TJ 0 g 0 G -/F45 10.9091 Tf 108.863 -25.504 Td [(call)-525(mld_precdescr\050p,info)-525([,iout]\051)]TJ +0 g 0 G +/F45 10.9091 Tf 140.362 -21.174 Td [(call)-525(p%clone\050pout,info\051)]TJ 0 g 0 G 0 g 0 G ET endstream endobj -570 0 obj +604 0 obj << -/Length 7499 +/Length 5175 >> stream 0 g 0 G @@ -6296,6 +6334,76 @@ BT /F42 10.9091 Tf 93.6 740.002 Td [(6)]TJ 0 g 0 G [-378(User)-377(Interf)88(a)23(ce)]TJ/F15 10.9091 Tf 401.542 0 Td [(39)]TJ +0 g 0 G + -401.542 -35.866 Td [(Create)-333(a)-334(\050deep\051)-333(cop)28(y)-334(of)-333(the)-333(preconditioner)-333(ob)-56(ject.)]TJ/F17 11.9552 Tf 0 -34.596 Td [(Argumen)31(ts)]TJ/F45 10.9091 Tf 22.914 -17.24 Td [(pout)-2114(type\050mld_)]TJ/F18 10.9091 Tf 97.516 0 Td [(x)]TJ/F45 10.9091 Tf 6.374 0 Td [(prec_type\051,)-525(intent\050out\051)]TJ/F15 10.9091 Tf 131.726 0 Td [(.)]TJ -189.645 -13.549 Td [(The)-437(cop)27(y)-437(of)-437(the)-438(preconditi)1(oner)-438(data)-437(structure.)-757(Note)-437(that)]TJ/F18 10.9091 Tf 289.635 0 Td [(x)]TJ/F15 10.9091 Tf 11.145 0 Td [(m)28(ust)-438(b)-27(e)]TJ -300.78 -13.549 Td [(c)28(hosen)-292(according)-292(to)-291(the)-292(real/complex,)-300(single/double)-292(precision)-292(v)28(ersion)-291(of)]TJ 0 -13.55 Td [(MLD2P4)-333(under)-333(use)-1(.)]TJ/F45 10.9091 Tf -45.971 -13.549 Td [(info)-2114(integer,)-525(intent\050out\051)]TJ/F15 10.9091 Tf 160.515 0 Td [(.)]TJ -114.544 -13.549 Td [(Error)-333(co)-28(de.)-444(If)-334(no)-333(error,)-333(0)-334(is)-333(returned.)-444(See)-334(Section)]TJ +0 0 1 rg 0 0 1 RG + [-333(8)]TJ +0 g 0 G + [-333(for)-334(details.)]TJ/F44 10.9091 Tf -68.885 -32.034 Td [(6.9.3)-1150(Metho)-32(d:)-511(sizeof)]TJ +0 g 0 G +0 g 0 G +/F45 10.9091 Tf 160.408 -22 Td [(sz)-525(=)-1050(p%sizeof\050\051)]TJ/F15 10.9091 Tf -160.408 -28.396 Td [(Return)-333(memory)-334(fo)-27(otprin)28(t)-334(in)-333(b)28(ytes.)]TJ/F44 10.9091 Tf 0 -32.947 Td [(6.9.4)-1150(Metho)-32(d:)-511(allo)-32(cate)]TJ +ET +q +1 0 0 1 226.837 469.376 cm +[]0 d 0 J 0.398 w 0 0 m 3.764 0 l S +Q +BT +/F44 10.9091 Tf 230.6 469.177 Td [(wrk)]TJ +0 g 0 G +0 g 0 G +/F45 10.9091 Tf -28.137 -21.999 Td [(call)-525(p%allocate_wrk\050info[,)-525(vmold]\051)]TJ/F15 10.9091 Tf -108.863 -28.397 Td [(Allo)-28(cate)-375(in)28(ternal)-374(w)27(ork)-374(v)27(ectors.)-568(Eac)27(h)-374(application)-375(of)-375(the)-374(preconditioner)-375(uses)-375(a)-375(n)28(um)28(b)-28(er)]TJ 0 -13.549 Td [(of)-439(w)28(ork)-438(v)27(ectors)-438(whic)27(h)-438(are)-439(allo)-27(c)-1(ated)-438(in)28(ternally)-439(as)-438(nece)-1(ssary;)-491(therefore)-438(allo)-28(cation)-439(and)]TJ 0 -13.55 Td [(deallo)-28(cation)-276(of)-276(memory)-276(o)-28(ccurs)-276(m)28(ultiple)-276(times)-277(du)1(ring)-277(th)1(e)-277(execution)-276(of)-276(a)-276(Krylo)28(v)-276(metho)-28(d.)]TJ 0 -13.549 Td [(In)-272(most)-271(cases)-272(this)-272(strat)1(e)-1(gy)-271(is)-272(p)-27(erfectly)-272(acceptable,)-284(but)-271(on)-272(some)-272(platforms,)-284(most)-271(notably)]TJ 0 -13.549 Td [(GPUs,)-318(memory)-315(allo)-28(cation)-314(is)-314(a)-315(slo)28(w)-315(op)-27(eration,)-318(and)-315(the)-314(default)-315(b)-27(eha)27(viour)-314(w)28(ould)-315(lead)-314(to)]TJ 0 -13.549 Td [(a)-361(slo)28(wdo)28(wn.)-527(This)-361(metho)-28(d)-361(allo)28(ws)-361(to)-361(trade)-361(space)-361(for)-361(time)-361(b)28(y)-361(preallo)-27(c)-1(ati)1(ng)-361(the)-361(in)28(ternal)]TJ 0 -13.549 Td [(w)28(orkspace)-373(outside)-372(of)-373(the)-372(in)28(v)28(o)-28(cation)-373(of)-372(a)-373(Krylo)28(v)-372(metho)-28(d.)-562(When)-372(using)-373(GPUs)-372(or)-373(other)]TJ 0 -13.55 Td [(sp)-28(ecialized)-387(devices,)-400(the)]TJ/F45 10.9091 Tf 115.359 0 Td [(vmold)]TJ/F15 10.9091 Tf 32.859 0 Td [(argumen)28(t)-387(is)-387(also)-387(necess)-1(ar)1(y)-388(to)-387(ensure)-387(the)-387(in)28(ternal)-387(w)28(ork)]TJ -148.218 -13.549 Td [(v)28(ectors)-331(are)-332(of)-331(the)-331(appropriate)-331(dynamic)-331(t)28(yp)-28(e)-331(to)-331(exploit)-331(the)-332(accelerator)-331(hardw)28(are;)-332(when)]TJ 0 -13.549 Td [(allo)-28(cation)-409(o)-28(ccurs)-409(in)27(ternal)1(ly)-410(this)-409(is)-410(tak)28(en)-409(care)-410(of)-409(based)-410(on)-409(the)-409(dynamic)-410(t)28(yp)-28(e)-409(of)-410(th)1(e)]TJ/F45 10.9091 Tf 406.724 0 Td [(x)]TJ/F15 10.9091 Tf -406.724 -13.549 Td [(argumen)28(t)-334(to)-333(the)]TJ/F45 10.9091 Tf 80.94 0 Td [(apply)]TJ/F15 10.9091 Tf 32.272 0 Td [(metho)-28(d.)]TJ/F17 11.9552 Tf -113.212 -34.596 Td [(Argumen)31(ts)]TJ/F45 10.9091 Tf 22.914 -17.241 Td [(info)-2114(integer,)-525(intent\050out\051)]TJ/F15 10.9091 Tf 160.515 0 Td [(.)]TJ -114.544 -13.549 Td [(Error)-333(co)-28(de.)-444(If)-334(no)-333(error,)-333(0)-334(is)-333(returned.)-444(See)-334(Section)]TJ +0 0 1 rg 0 0 1 RG + [-333(8)]TJ +0 g 0 G + [-333(for)-334(details.)]TJ/F45 10.9091 Tf -45.971 -13.549 Td [(vmold)-1589(class\050psb_)]TJ/F18 10.9091 Tf 103.243 0 Td [(x)]TJ/F45 10.9091 Tf 6.374 0 Td [(_base_vect_type\051,)-525(intent\050in\051,)-525(optional)]TJ/F15 10.9091 Tf 217.634 0 Td [(.)]TJ -281.28 -13.549 Td [(The)-422(desired)-422(dynamic)-422(t)28(yp)-28(e)-422(for)-422(in)28(ternal)-422(v)28(ector)-422(comp)-28(onen)28(ts;)-466(this)-422(allo)27(ws)]TJ 0 -13.549 Td [(e.g.)-444(running)-334(on)-333(GPUs.)]TJ/F44 10.9091 Tf -68.885 -32.034 Td [(6.9.5)-1150(Metho)-32(d:)-511(free)]TJ +ET +q +1 0 0 1 205.345 145.421 cm +[]0 d 0 J 0.398 w 0 0 m 3.764 0 l S +Q +BT +/F44 10.9091 Tf 209.108 145.222 Td [(wrk)]TJ +0 g 0 G +0 g 0 G +/F45 10.9091 Tf 30.582 -22 Td [(call)-525(p%free_wrk\050info\051)]TJ +0 g 0 G +0 g 0 G +ET + +endstream +endobj +609 0 obj +<< +/Length 658 +>> +stream +0 g 0 G +BT +/F15 10.9091 Tf 86.4 740.002 Td [(40)]TJ/F42 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ +0 g 0 G +/F15 10.9091 Tf -203.265 -35.866 Td [(Deallo)-28(cate)-333(in)28(ternal)-334(w)28(ork)-333(v)28(ectors.)]TJ/F17 11.9552 Tf 0 -33.873 Td [(Argumen)31(ts)]TJ/F45 10.9091 Tf 22.914 -15.794 Td [(info)-2114(integer,)-525(intent\050out\051)]TJ/F15 10.9091 Tf 160.515 0 Td [(.)]TJ -114.544 -13.549 Td [(Error)-333(co)-28(de.)-444(If)-334(no)-333(error,)-333(0)-334(is)-333(returned.)-444(See)-334(Section)]TJ +0 0 1 rg 0 0 1 RG + [-333(8)]TJ +0 g 0 G + [-333(for)-334(d)1(e)-1(tail)1(s)-1(.)]TJ +0 g 0 G +0 g 0 G +ET + +endstream +endobj +616 0 obj +<< +/Length 7499 +>> +stream +0 g 0 G +0 0 1 rg 0 0 1 RG +BT +/F42 10.9091 Tf 93.6 740.002 Td [(6)]TJ +0 g 0 G + [-378(User)-377(Interf)88(a)23(ce)]TJ/F15 10.9091 Tf 401.542 0 Td [(41)]TJ 0 g 0 G /F17 14.3462 Tf -401.542 -35.866 Td [(7)-1125(Adding)-375(new)-375(smo)-31(other)-375(and)-375(solv)31(er)-375(ob)-62(j)-1(ects)-374(to)-375(M)-1(LD2P4)]TJ/F15 10.9091 Tf 0 -24.352 Td [(Dev)28(elop)-28(ers)-414(can)-413(add)-414(completely)-413(new)-414(smo)-28(other)-414(an)1(d/or)-414(solv)28(er)-414(classes)-414(deriv)28(ed)-413(from)-414(the)]TJ 0 -13.549 Td [(base)-240(ob)-55(jects)-240(in)-239(the)-240(libr)1(ary)-240(\050see)-240(Remark)-239(2)-240(in)-239(Section)]TJ 0 0 1 rg 0 0 1 RG @@ -6330,14 +6438,14 @@ ET endstream endobj -574 0 obj +620 0 obj << /Length 1207 >> stream 0 g 0 G BT -/F15 10.9091 Tf 86.4 740.002 Td [(40)]TJ/F42 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ +/F15 10.9091 Tf 86.4 740.002 Td [(42)]TJ/F42 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ 0 g 0 G 0 g 0 G 0 g 0 G @@ -6348,7 +6456,7 @@ ET endstream endobj -580 0 obj +626 0 obj << /Length 1780 >> @@ -6358,7 +6466,7 @@ stream BT /F42 10.9091 Tf 93.6 740.002 Td [(8)]TJ 0 g 0 G - [-378(Err)22(o)1(r)-378(handling)]TJ/F15 10.9091 Tf 401.542 0 Td [(41)]TJ + [-378(Err)22(o)1(r)-378(handling)]TJ/F15 10.9091 Tf 401.542 0 Td [(43)]TJ 0 g 0 G /F17 14.3462 Tf -401.542 -35.866 Td [(8)-1125(Error)-375(Handling)]TJ/F15 10.9091 Tf 0 -24.352 Td [(The)-352(error)-353(handling)-352(in)-352(MLD2P4)-353(is)-352(based)-352(on)-353(the)-352(PSBLAS)-352(error)-353(handlin)1(g.)-502(Error)-352(condi-)]TJ 0 -13.549 Td [(tions)-235(are)-235(signaled)-235(via)-235(an)-235(in)28(teger)-235(argumen)27(t)]TJ/F45 10.9091 Tf 197.254 0 Td [(info)]TJ/F15 10.9091 Tf 22.908 0 Td [(;)-268(whenev)28(er)-235(an)-235(error)-235(condition)-235(is)-235(detected,)]TJ -220.162 -13.549 Td [(an)-256(error)-255(trace)-256(stac)28(k)-256(is)-256(built)-255(b)28(y)-256(the)-256(library)-255(up)-256(to)-255(the)-256(top-lev)28(el,)-272(u)1(s)-1(er-callabl)1(e)-256(routine.)-419(This)]TJ 0 -13.549 Td [(routine)-415(will)-414(then)-415(decide,)-435(according)-414(to)-415(the)-415(user)-414(preferences,)-435(whether)-415(the)-414(e)-1(r)1(ror)-415(should)]TJ 0 -13.55 Td [(b)-28(e)-319(handled)-319(b)28(y)-319(terminating)-320(the)-319(program)-319(or)-319(b)28(y)-320(r)1(e)-1(tu)1(rning)-320(th)1(e)-320(error)-319(condition)-319(to)-319(the)-319(user)]TJ 0 -13.549 Td [(co)-28(de,)-457(whic)28(h)-432(will)-432(then)-432(tak)28(e)-432(action,)-457(and)-432(whether)-432(an)-432(error)-432(message)-432(should)-432(b)-28(e)-432(prin)28(ted.)]TJ 0 -13.549 Td [(These)-418(option)1(s)-418(ma)28(y)-418(b)-27(e)-418(set)-418(b)28(y)-417(using)-418(th)1(e)-418(PSBLAS)-417(error)-418(handlin)1(g)-418(routines;)-459(for)-418(further)]TJ 0 -13.549 Td [(details)-333(see)-334(the)-333(PSBLAS)-333(User's)-334(Guide)-333([)]TJ 1 0 0 rg 1 0 0 RG @@ -6371,14 +6479,14 @@ ET endstream endobj -584 0 obj +631 0 obj << /Length 3978 >> stream 0 g 0 G BT -/F15 10.9091 Tf 86.4 740.002 Td [(42)]TJ/F42 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ +/F15 10.9091 Tf 86.4 740.002 Td [(44)]TJ/F42 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ 0 g 0 G /F17 14.3462 Tf -203.265 -35.866 Td [(A)-1125(License)]TJ/F15 10.9091 Tf 0 -22.758 Td [(The)-333(MLD2P4)-334(is)-333(freely)-333(distributable)-333(under)-334(the)-333(follo)28(wing)-333(cop)27(yri)1(gh)27(t)-333(terms:)]TJ 0 g 0 G @@ -6390,218 +6498,252 @@ ET endstream endobj -588 0 obj +635 0 obj << /Length 6503 >> stream 0 g 0 G BT -/F42 10.9091 Tf 93.6 740.002 Td [(References)]TJ/F15 10.9091 Tf 401.542 0 Td [(43)]TJ -0 g 0 G -/F17 14.3462 Tf -401.542 -35.866 Td [(References)]TJ -0 g 0 G -/F15 10.9091 Tf 5.455 -25.347 Td [([1])]TJ -0 g 0 G - [-500(P)83(.)-289(R.)-290(Amesto)28(y)83(,)-298(C.)-290(Ashcraft,)-298(O.)-290(Boiteau,)-298(A.)-289(B)-1(u)1(ttari,)-299(J.)-289(L'Excellen)27(t,)-298(C.)-289(W)83(eisb)-28(ec)28(k)28(er,)]TJ/F18 10.9091 Tf 16.969 -13.549 Td [(Impr)51(oving)-344(multifr)51(ontal)-345(metho)51(ds)-344(by)-345(me)51(ans)-344(of)-345(blo)51(ck)-344(low-r)51(ank)-345(r)51(epr)52(esent)-1(ations)]TJ/F15 10.9091 Tf 355.304 0 Td [(,)-322(SIAM)]TJ -355.304 -13.549 Td [(Journal)-486(on)-487(Scien)28(ti\014c)-487(Computing,)-524(v)27(ol)1(ume)-487(37)-487(\0503\051,)-524(2015,)-525(A1452{A1474.)-487(See)-486(also)]TJ/F45 10.9091 Tf 0 -13.549 Td [(http://mumps.enseeiht.fr)]TJ/F15 10.9091 Tf 137.454 0 Td [(.)]TJ -0 g 0 G - -154.423 -24.564 Td [([2])]TJ -0 g 0 G - [-500(M.)-272(Brezina,)-284(P)83(.)-272(V)84(an)27(\024)473(ek,)]TJ/F18 10.9091 Tf 123.379 0 Td [(A)-301(Black-Box)-302(I)1(ter)51(ative)-302(Solver)-301(Base)51(d)-301(on)-302(a)-301(Two-L)51(evel)-301(Schwarz)]TJ -106.41 -13.549 Td [(Metho)51(d)]TJ/F15 10.9091 Tf 34.594 0 Td [(,)-333(Computing,)-334(63,)-333(1999,)-333(233{263.)]TJ -0 g 0 G - -51.563 -24.564 Td [([3])]TJ -0 g 0 G - [-500(W.)-342(L.)-342(Briggs,)-344(V.)-342(E.)-342(Henson,)-344(S.)-342(F.)-341(Mc)-1(Cor)1(m)-1(ic)28(k,)]TJ/F18 10.9091 Tf 244.734 0 Td [(A)-366(Multigr)1(id)-366(T)77(utorial,)-368(Se)51(c)51(ond)-365(E)-1(di)1(-)]TJ -227.765 -13.549 Td [(tion)]TJ/F15 10.9091 Tf 18.679 0 Td [(,)-333(SIAM,)-334(2000.)]TJ -0 g 0 G - -35.648 -24.564 Td [([4])]TJ -0 g 0 G - [-500(A.)-306(Buttari,)-312(P)84(.)-306(D'Am)27(bra,)-311(D.)-306(di)-306(Sera\014no,)-312(S.)-306(Filipp)-28(one,)]TJ/F18 10.9091 Tf 272.057 0 Td [(Extending)-333(PSBLAS)-333(to)-333(Bui)1(ld)]TJ -255.088 -13.549 Td [(Par)51(al)-51(lel)-359(Schwarz)-360(Pr)51(e)52(c)51(onditioners)]TJ/F15 10.9091 Tf 156.737 0 Td [(,)-335(in)-335(J.)-335(Dongarra,)-336(K.)-335(Madsen,)-335(J.)-335(W)83(asniewski,)-335(edi-)]TJ -156.737 -13.549 Td [(tors,)-305(Pro)-28(ceedings)-297(of)-298(P)83(ARA)-297(04)-298(W)83(orkshop)-297(on)-298(State)-298(of)-297(the)-298(Art)-298(in)-297(Scien)27(ti\014c)-297(Comput-)]TJ 0 -13.549 Td [(ing,)-333(Lecture)-334(Notes)-333(in)-333(Computer)-334(Science,)-333(Springer,)-333(2005,)-333(593{602.)]TJ -0 g 0 G - -16.969 -24.564 Td [([5])]TJ -0 g 0 G - [-500(A.)-380(Buttari,)-392(P)84(.)-381(D')1(Am)27(bra,)-391(D.)-381(di)-380(Sera\014no,)-391(S.)-380(Filipp)-28(one,)]TJ/F18 10.9091 Tf 279.591 0 Td [(2LEV-D2P4:)-546(a)-401(p)51(ackage)-401(of)]TJ -262.622 -13.549 Td [(high-p)51(erformanc)51(e)-423(pr)51(e)51(c)51(onditioners)-424(for)-423(scienti\014c)-424(and)-424(engine)52(ering)-424(applic)51(ations)]TJ/F15 10.9091 Tf 364.505 0 Td [(,)-423(Ap-)]TJ -364.505 -13.549 Td [(plicable)-445(Algebra)-445(in)-445(Engineering,)-473(Comm)28(unications)-445(and)-445(Computing,)-472(18)-445(\0503\051)-445(2007,)]TJ 0 -13.55 Td [(223{239.)]TJ -0 g 0 G - -16.969 -24.563 Td [([6])]TJ -0 g 0 G - [-500(X.)-410(C.)-410(Cai,)-430(M.)-410(Sarkis,)]TJ/F18 10.9091 Tf 126.22 0 Td [(A)-428(R)51(estricte)51(d)-429(A)51(dditive)-428(Schwarz)-429(Pr)51(e)52(c)51(onditioner)-429(for)-428(Gener)51(al)]TJ -109.251 -13.549 Td [(Sp)51(arse)-337(Line)51(ar)-337(Sys)1(t)-1(em)1(s)]TJ/F15 10.9091 Tf 107.029 0 Td [(,)-315(SIAM)-311(Journal)-310(on)-311(Scien)28(ti\014c)-310(C)-1(ompu)1(ting,)-316(21)-310(\0502\051,)-315(1999,)-315(792{)]TJ -107.029 -13.55 Td [(797.)]TJ -0 g 0 G - -16.969 -24.563 Td [([7])]TJ -0 g 0 G - [-500(P)83(.)-366(D'Am)28(bra,)-375(S.)-367(Filipp)-27(one,)-375(D.)-367(di)-366(Sera\014no,)]TJ/F18 10.9091 Tf 220.753 0 Td [(On)-388(the)-389(Development)-388(of)-388(PS)-1(B)1(L)-1(AS-b)52(ase)51(d)]TJ -203.784 -13.549 Td [(Par)51(al)-51(lel)-380(Two-level)-379(Schwarz)-380(Pr)51(e)51(c)51(onditioners)]TJ/F15 10.9091 Tf 206.489 0 Td [(,)-363(Applied)-357(Numerical)-358(Mathematics,)-363(El-)]TJ -206.489 -13.55 Td [(sevier)-333(Science)-1(,)-333(57)-333(\05011-12\051,)-333(2007,)-334(1181-1196.)]TJ -0 g 0 G - -16.969 -24.563 Td [([8])]TJ -0 g 0 G - [-500(P)83(.)-352(D'Am)28(bra,)-357(D.)-352(di)-352(Sera\014no,)-356(S.)-352(Filipp)-28(one,)]TJ/F18 10.9091 Tf 219.527 0 Td [(MLD2P4:)-495(a)-375(Package)-375(of)-375(Par)51(al)-51(lel)-375(Multi-)]TJ -202.558 -13.55 Td [(level)-312(A)26(lgebr)51(aic)-312(Domain)-312(De)51(c)51(omp)51(osition)-312(Pr)51(e)51(c)51(onditioners)-312(in)-312(F)77(ortr)51(an)-312(95)]TJ/F15 10.9091 Tf 324.852 0 Td [(,)-294(A)28(CM)-283(T)83(rans.)]TJ -324.852 -13.549 Td [(Math.)-333(Soft)28(w.,)-334(37\0503\051,)-333(2010,)-333(art.)-334(30.)]TJ -0 g 0 G - -16.969 -24.563 Td [([9])]TJ -0 g 0 G - [-500(T.)-398(A.)-399(Da)28(vis,)]TJ/F18 10.9091 Tf 81.911 0 Td [(A)26(lgorithm)-418(832:)-580(UMF)1(P)76(A)26(CK)-418(-)-417(an)-418(Unsymmetric-p)51(attern)-417(Multifr)51(ontal)]TJ -64.942 -13.55 Td [(Metho)51(d)-307(with)-307(a)-308(Col)1(umn)-308(Pr)51(e)1(-or)51(dering)-307(St)-1(r)52(ate)51(gy)]TJ/F15 10.9091 Tf 211.246 0 Td [(,)-289(A)27(CM)-278(T)83(ran)1(s)-1(action)1(s)-279(on)-278(Mathematical)]TJ -211.246 -13.549 Td [(Soft)28(w)28(are,)-334(30,)-333(2004,)-333(196{199.)-334(\050See)-333(also)]TJ/F45 10.9091 Tf 184.031 0 Td [(http://www.cise.ufl.edu/~davis/)]TJ/F15 10.9091 Tf 177.543 0 Td [(\051)]TJ -0 g 0 G - -383.998 -24.564 Td [([10])]TJ -0 g 0 G - [-500(J.)-381(W.)-381(Demmel,)-393(S.)-381(C.)-381(Eisenstat,)-393(J.)-381(R.)-382(Gil)1(b)-28(ert,)-393(X.)-381(S.)-381(Li,)-393(J.)-381(W.)-381(H.)-382(Li)1(u,)]TJ/F18 10.9091 Tf 364.973 0 Td [(A)-402(sup)51(er)1(n)-1(-)]TJ -342.549 -13.549 Td [(o)51(dal)-452(appr)51(o)51(ach)-452(to)-453(sp)51(ar)1(se)-453(p)51(artial)-452(pivoting)]TJ/F15 10.9091 Tf 192.083 0 Td [(,)-462(SIAM)-436(Journal)-436(on)-436(Matrix)-436(Analysis)-436(and)]TJ -192.083 -13.549 Td [(Applications,)-333(20)-334(\0503\051,)-333(1999,)-333(720{755.)]TJ -0 g 0 G - -22.424 -24.564 Td [([11])]TJ -0 g 0 G - [-500(J.)-443(J.)-444(Dongarra,)-470(J.)-444(Du)-443(Croz,)-471(I.)-444(S)1(.)-444(Du\013,)-471(S.)-443(Hammarling,)]TJ/F18 10.9091 Tf 301.5 0 Td [(A)-459(set)-459(of)-459(L)51(evel)-459(3)-459(Basic)]TJ -279.076 -13.549 Td [(Line)51(ar)-313(A)26(lgebr)51(a)-313(Subpr)51(o)51(gr)51(ams)]TJ/F15 10.9091 Tf 132.739 0 Td [(,)-294(A)27(CM)-284(T)83(ransactions)-285(on)-284(Mathematical)-285(Soft)28(w)27(ar)1(e)-1(,)-294(16)-285(\0501\051)]TJ -132.739 -13.549 Td [(1990,)-333(1{17.)]TJ -0 g 0 G -0 g 0 G -ET - -endstream -endobj -593 0 obj -<< -/Length 7130 ->> -stream -0 g 0 G -BT -/F15 10.9091 Tf 86.4 740.002 Td [(44)]TJ/F42 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ -0 g 0 G -0 g 0 G -/F15 10.9091 Tf -203.265 -35.866 Td [([12])]TJ -0 g 0 G - [-500(J.)-450(J.)-450(Dongarra,)-479(J.)-450(Du)-450(Croz,)-480(S.)-450(Hammarling,)-479(R.)-450(J.)-450(Hanson,)]TJ/F18 10.9091 Tf 320.772 0 Td [(A)26(n)-466(extende)51(d)-465(set)-465(of)]TJ -298.348 -13.549 Td [(F)26(OR)76(TRAN)-355(Basic)-355(Line)51(ar)-356(A)26(lgebr)51(a)-355(Subpr)51(o)51(gr)51(ams)]TJ/F15 10.9091 Tf 221.802 0 Td [(,)-331(A)28(CM)-331(T)83(ransactions)-331(on)-330(Mathemat-)]TJ -221.802 -13.549 Td [(ical)-333(Soft)28(w)27(are,)-333(14)-333(\0501\051)-334(1988,)-333(1{17.)]TJ -0 g 0 G - -22.424 -21.087 Td [([13])]TJ -0 g 0 G - [-500(S.)-1026(Filip)1(p)-28(one,)-1199(A.)-1026(Buttari,)]TJ/F18 10.9091 Tf 177.354 0 Td [(PSBLAS)-994(3.5.0)-995(User's)-995(Guide.)-994(A)-995(R)52(efer)51(enc)51(e)]TJ -154.93 -13.55 Td [(Guide)-1084(for)-1084(the)-1084(Par)51(al)-51(lel)-1084(Sp)51(ar)1(se)-1084(BLAS)-1084(Libr)51(ar)1(y)]TJ/F15 10.9091 Tf 257.737 0 Td [(,)-1320(2012,)-1320(a)28(v)55(ailable)-1122(from)]TJ/F45 10.9091 Tf -257.737 -13.549 Td [(https://github.com/sfilippone/psblas3/tree/master/docs)]TJ/F15 10.9091 Tf 309.269 0 Td [(.)]TJ -0 g 0 G - -331.693 -21.087 Td [([14])]TJ +/F42 10.9091 Tf 93.6 740.002 Td [(References)]TJ/F15 10.9091 Tf 401.542 0 Td [(45)]TJ 0 g 0 G - [-500(S.)-330(Filipp)-28(one,)-330(A.)-330(B)-1(u)1(ttari,)]TJ/F18 10.9091 Tf 143.238 0 Td [(Obje)51(ct-Oriente)51(d)-354(T)76(e)51(chniques)-354(for)-355(Sp)51(arse)-355(Matrix)-355(Com)1(puta-)]TJ -120.814 -13.549 Td [(tions)-424(in)-423(F)77(ortr)51(an)-424(2003)]TJ/F15 10.9091 Tf 104.62 0 Td [(.)-405(A)28(CM)-405(T)83(r)1(ansac)-1(tion)1(s)-405(on)-405(on)-405(Mathematical)-405(Soft)28(w)28(are,)-423(38)-405(\0504\051,)]TJ -104.62 -13.549 Td [(2012,)-333(art.)-334(23.)]TJ +/F17 14.3462 Tf -401.542 -35.866 Td [(References)]TJ 0 g 0 G - -22.424 -21.088 Td [([15])]TJ +/F15 10.9091 Tf 5.455 -25.347 Td [([1])]TJ 0 g 0 G - [-500(S.)-312(Filip)1(p)-28(one,)-316(M.)-312(Cola)-56(j)1(anni,)]TJ/F18 10.9091 Tf 155.667 0 Td [(PSBLAS:)-338(A)-338(Libr)51(ary)-338(for)-337(Par)51(al)-51(lel)-338(Line)51(ar)-338(A)26(lgebr)51(a)-338(Com-)]TJ -133.243 -13.549 Td [(putation)-284(on)-284(Sp)51(arse)-284(Matric)51(es)]TJ/F15 10.9091 Tf 131.984 0 Td [(,)-269(A)28(CM)-253(T)83(ransactions)-253(on)-253(Mathematical)-253(Soft)27(w)28(are,)-269(26)-253(\0504\051,)]TJ -131.984 -13.549 Td [(2000,)-333(527{550.)]TJ + [-500(P)83(.)-289(R.)-290(Amesto)28(y)83(,)-298(C.)-290(Ashcraft,)-298(O.)-290(Boiteau,)-298(A.)-289(B)-1(u)1(ttari,)-299(J.)-289(L'Excellen)27(t,)-298(C.)-289(W)83(eisb)-28(ec)28(k)28(er,)]TJ/F18 10.9091 Tf 16.969 -13.549 Td [(Impr)51(oving)-344(multifr)51(ontal)-345(metho)51(ds)-344(by)-345(me)51(ans)-344(of)-345(blo)51(ck)-344(low-r)51(ank)-345(r)51(epr)52(esent)-1(ations)]TJ/F15 10.9091 Tf 355.304 0 Td [(,)-322(SIAM)]TJ -355.304 -13.549 Td [(Journal)-486(on)-487(Scien)28(ti\014c)-487(Computing,)-524(v)27(ol)1(ume)-487(37)-487(\0503\051,)-524(2015,)-525(A1452{A1474.)-487(See)-486(also)]TJ/F45 10.9091 Tf 0 -13.549 Td [(http://mumps.enseeiht.fr)]TJ/F15 10.9091 Tf 137.454 0 Td [(.)]TJ 0 g 0 G - -22.424 -21.088 Td [([16])]TJ + -154.423 -24.564 Td [([2])]TJ 0 g 0 G - [-500(W.)-413(Gropp,)-433(S.)-413(Huss-Lederman,)-433(A.)-413(Lumsdaine,)-433(E)1(.)-413(Lusk,)-433(B.)-413(Nitzb)-28(erg,)-433(W.)-413(Saphir,)]TJ 22.424 -13.549 Td [(M.)-349(Snir,)]TJ/F18 10.9091 Tf 43.142 0 Td [(MPI:)-372(The)-372(Complete)-372(R)51(efer)51(enc)51(e.)-372(V)77(olume)-372(2)-373(-)-372(The)-372(MPI-2)-372(Extensions)]TJ/F15 10.9091 Tf 318.187 0 Td [(,)-353(MIT)]TJ -361.329 -13.549 Td [(Press,)-333(1998.)]TJ + [-500(M.)-272(Brezina,)-284(P)83(.)-272(V)84(an)27(\024)473(ek,)]TJ/F18 10.9091 Tf 123.379 0 Td [(A)-301(Black-Box)-302(I)1(ter)51(ative)-302(Solver)-301(Base)51(d)-301(on)-302(a)-301(Two-L)51(evel)-301(Schwarz)]TJ -106.41 -13.549 Td [(Metho)51(d)]TJ/F15 10.9091 Tf 34.594 0 Td [(,)-333(Computing,)-334(63,)-333(1999,)-333(233{263.)]TJ 0 g 0 G - -22.424 -21.087 Td [([17])]TJ + -51.563 -24.564 Td [([3])]TJ 0 g 0 G - [-500(C.)-347(L.)-347(La)28(wson,)-351(R.)-347(J.)-347(Hanson,)-350(D.)-347(Kincaid,)-350(F.)-347(T.)-347(Krogh,)]TJ/F18 10.9091 Tf 287.094 0 Td [(Basic)-370(Line)51(ar)-371(A)26(lgebr)51(a)-370(Sub-)]TJ -264.67 -13.549 Td [(pr)51(o)51(gr)51(ams)-395(for)-396(F)26(OR)77(TRAN)-396(usage)]TJ/F15 10.9091 Tf 149.357 0 Td [(,)-385(A)28(CM)-374(T)83(ransactions)-374(on)-375(Mathematical)-374(Soft)28(w)28(are,)-385(5)]TJ -149.357 -13.55 Td [(\0503\051,)-333(1979,)-334(308{323.)]TJ + [-500(W.)-342(L.)-342(Briggs,)-344(V.)-342(E.)-342(Henson,)-344(S.)-342(F.)-341(Mc)-1(Cor)1(m)-1(ic)28(k,)]TJ/F18 10.9091 Tf 244.734 0 Td [(A)-366(Multigr)1(id)-366(T)77(utorial,)-368(Se)51(c)51(ond)-365(E)-1(di)1(-)]TJ -227.765 -13.549 Td [(tion)]TJ/F15 10.9091 Tf 18.679 0 Td [(,)-333(SIAM,)-334(2000.)]TJ 0 g 0 G - -22.424 -21.087 Td [([18])]TJ + -35.648 -24.564 Td [([4])]TJ 0 g 0 G - [-500(X.)-408(S.)-408(Li,)-427(J.)-408(W)1(.)-408(De)-1(mmel,)]TJ/F18 10.9091 Tf 147.871 0 Td [(Sup)51(erLU)]TJ -ET -q -1 0 0 1 276.516 415.221 cm -[]0 d 0 J 0.398 w 0 0 m 3.345 0 l S -Q -BT -/F18 10.9091 Tf 279.861 415.022 Td [(DIST:)-426(A)-427(Sc)51(alable)-426(Distribute)51(d-memory)-426(Sp)51(arse)]TJ -171.037 -13.549 Td [(Dir)51(e)51(ct)-342(Solver)-343(for)-342(Unsymmetric)-342(Line)51(ar)-343(Systems)]TJ/F15 10.9091 Tf 222.383 0 Td [(,)-320(A)28(CM)-317(T)83(ran)1(s)-1(actions)-316(on)-317(Mathemat-)]TJ -222.383 -13.549 Td [(ical)-333(Soft)28(w)27(are,)-333(29)-333(\0502\051,)-334(2003,)-333(110{140.)]TJ + [-500(A.)-306(Buttari,)-312(P)84(.)-306(D'Am)27(bra,)-311(D.)-306(di)-306(Sera\014no,)-312(S.)-306(Filipp)-28(one,)]TJ/F18 10.9091 Tf 272.057 0 Td [(Extending)-333(PSBLAS)-333(to)-333(Bui)1(ld)]TJ -255.088 -13.549 Td [(Par)51(al)-51(lel)-359(Schwarz)-360(Pr)51(e)52(c)51(onditioners)]TJ/F15 10.9091 Tf 156.737 0 Td [(,)-335(in)-335(J.)-335(Dongarra,)-336(K.)-335(Madsen,)-335(J.)-335(W)83(asniewski,)-335(edi-)]TJ -156.737 -13.549 Td [(tors,)-305(Pro)-28(ceedings)-297(of)-298(P)83(ARA)-297(04)-298(W)83(orkshop)-297(on)-298(State)-298(of)-297(the)-298(Art)-298(in)-297(Scien)27(ti\014c)-297(Comput-)]TJ 0 -13.549 Td [(ing,)-333(Lecture)-334(Notes)-333(in)-333(Computer)-334(Science,)-333(Springer,)-333(2005,)-333(593{602.)]TJ 0 g 0 G - -22.424 -21.088 Td [([19])]TJ + -16.969 -24.564 Td [([5])]TJ 0 g 0 G - [-500(Y.)-466(Nota)27(y)84(,)-500(P)83(.)-466(S.)-467(V)83(assilevski,)]TJ/F18 10.9091 Tf 163.479 0 Td [(R)51(e)51(cursive)-480(Krylov-b)51(ase)51(d)-480(multigrid)-480(cycles)]TJ/F15 10.9091 Tf 191.67 0 Td [(,)-500(Numerical)]TJ -332.725 -13.549 Td [(Linear)-333(Algebra)-334(with)-333(Applications,)-333(15)-333(\0505\051,)-334(2008,)-333(473{487.)]TJ + [-500(A.)-380(Buttari,)-392(P)84(.)-381(D')1(Am)27(bra,)-391(D.)-381(di)-380(Sera\014no,)-391(S.)-380(Filipp)-28(one,)]TJ/F18 10.9091 Tf 279.591 0 Td [(2LEV-D2P4:)-546(a)-401(p)51(ackage)-401(of)]TJ -262.622 -13.549 Td [(high-p)51(erformanc)51(e)-423(pr)51(e)51(c)51(onditioners)-424(for)-423(scienti\014c)-424(and)-424(engine)52(ering)-424(applic)51(ations)]TJ/F15 10.9091 Tf 364.505 0 Td [(,)-423(Ap-)]TJ -364.505 -13.549 Td [(plicable)-445(Algebra)-445(in)-445(Engineering,)-473(Comm)28(unications)-445(and)-445(Computing,)-472(18)-445(\0503\051)-445(2007,)]TJ 0 -13.55 Td [(223{239.)]TJ 0 g 0 G - -22.424 -21.087 Td [([20])]TJ + -16.969 -24.563 Td [([6])]TJ 0 g 0 G - [-500(Y.)-333(Saad,)]TJ/F18 10.9091 Tf 66.97 0 Td [(Iter)51(ative)-358(metho)52(ds)-358(for)-358(sp)51(arse)-358(l)1(ine)51(ar)-358(systems)]TJ/F15 10.9091 Tf 202.98 0 Td [(,)-333(2nd)-334(editi)1(on,)-334(SIAM,)-333(2003.)]TJ + [-500(X.)-410(C.)-410(Cai,)-430(M.)-410(Sarkis,)]TJ/F18 10.9091 Tf 126.22 0 Td [(A)-428(R)51(estricte)51(d)-429(A)51(dditive)-428(Schwarz)-429(Pr)51(e)52(c)51(onditioner)-429(for)-428(Gener)51(al)]TJ -109.251 -13.549 Td [(Sp)51(arse)-337(Line)51(ar)-337(Sys)1(t)-1(em)1(s)]TJ/F15 10.9091 Tf 107.029 0 Td [(,)-315(SIAM)-311(Journal)-310(on)-311(Scien)28(ti\014c)-310(C)-1(ompu)1(ting,)-316(21)-310(\0502\051,)-315(1999,)-315(792{)]TJ -107.029 -13.55 Td [(797.)]TJ 0 g 0 G - -269.95 -21.088 Td [([21])]TJ + -16.969 -24.563 Td [([7])]TJ 0 g 0 G - [-500(B.)-505(Smith,)-549(P)84(.)-506(Bjorstad,)-548(W.)-506(Gropp,)]TJ/F18 10.9091 Tf 200.295 0 Td [(Domain)-516(De)51(c)51(omp)51(osition:)-776(Par)51(al)-51(lel)-516(Multilevel)]TJ -177.871 -13.549 Td [(Metho)51(ds)-432(for)-432(El)-51(liptic)-433(Partial)-432(Di\013er)51(ential)-432(Equations)]TJ/F15 10.9091 Tf 244.309 0 Td [(,)-434(Cam)27(bridge)-414(Univ)28(ersit)28(y)-415(Pr)1(e)-1(ss,)]TJ -244.309 -13.549 Td [(1996.)]TJ + [-500(P)83(.)-366(D'Am)28(bra,)-375(S.)-367(Filipp)-27(one,)-375(D.)-367(di)-366(Sera\014no,)]TJ/F18 10.9091 Tf 220.753 0 Td [(On)-388(the)-389(Development)-388(of)-388(PS)-1(B)1(L)-1(AS-b)52(ase)51(d)]TJ -203.784 -13.549 Td [(Par)51(al)-51(lel)-380(Two-level)-379(Schwarz)-380(Pr)51(e)51(c)51(onditioners)]TJ/F15 10.9091 Tf 206.489 0 Td [(,)-363(Applied)-357(Numerical)-358(Mathematics,)-363(El-)]TJ -206.489 -13.55 Td [(sevier)-333(Science)-1(,)-333(57)-333(\05011-12\051,)-333(2007,)-334(1181-1196.)]TJ 0 g 0 G - -22.424 -21.087 Td [([22])]TJ + -16.969 -24.563 Td [([8])]TJ 0 g 0 G - [-500(M.)-317(Snir,)-321(S.)-317(Otto,)-321(S.)-317(Huss-Lederman,)-321(D.)-317(W)83(alk)28(er,)-321(J.)-317(Dongarra,)]TJ/F18 10.9091 Tf 317.503 0 Td [(MPI:)-343(The)-343(Complete)]TJ -295.079 -13.55 Td [(R)51(efer)51(enc)51(e.)-357(V)76(olume)-357(1)-358(-)-358(The)-358(MPI)-357(Cor)51(e)]TJ/F15 10.9091 Tf 179.356 0 Td [(,)-333(second)-334(edition,)-333(MIT)-333(Press,)-334(1998.)]TJ + [-500(P)83(.)-352(D'Am)28(bra,)-357(D.)-352(di)-352(Sera\014no,)-356(S.)-352(Filipp)-28(one,)]TJ/F18 10.9091 Tf 219.527 0 Td [(MLD2P4:)-495(a)-375(Package)-375(of)-375(Par)51(al)-51(lel)-375(Multi-)]TJ -202.558 -13.55 Td [(level)-312(A)26(lgebr)51(aic)-312(Domain)-312(De)51(c)51(omp)51(osition)-312(Pr)51(e)51(c)51(onditioners)-312(in)-312(F)77(ortr)51(an)-312(95)]TJ/F15 10.9091 Tf 324.852 0 Td [(,)-294(A)28(CM)-283(T)83(rans.)]TJ -324.852 -13.549 Td [(Math.)-333(Soft)28(w.,)-334(37\0503\051,)-333(2010,)-333(art.)-334(30.)]TJ 0 g 0 G - -201.78 -21.087 Td [([23])]TJ + -16.969 -24.563 Td [([9])]TJ 0 g 0 G - [-500(K.)-303(St)-27()527(ub)-27(en,)]TJ/F18 10.9091 Tf 77.278 0 Td [(A)26(n)-330(Intr)51(o)51(duction)-329(to)-330(A)25(l)1(gebr)51(aic)-330(Multigrid)]TJ/F15 10.9091 Tf 183.285 0 Td [(,)-309(in)-302(A.)-303(Sc)28(h)-28()528(uller,)-309(U.)-303(T)84(rotten)27(b)-27(erg,)]TJ -238.139 -13.549 Td [(C.)-333(Oosterlee,)-334(Multigrid,)-333(Academic)-333(Press,)-334(2001.)]TJ + [-500(T.)-398(A.)-399(Da)28(vis,)]TJ/F18 10.9091 Tf 81.911 0 Td [(A)26(lgorithm)-418(832:)-580(UMF)1(P)76(A)26(CK)-418(-)-417(an)-418(Unsymmetric-p)51(attern)-417(Multifr)51(ontal)]TJ -64.942 -13.55 Td [(Metho)51(d)-307(with)-307(a)-308(Col)1(umn)-308(Pr)51(e)1(-or)51(dering)-307(St)-1(r)52(ate)51(gy)]TJ/F15 10.9091 Tf 211.246 0 Td [(,)-289(A)27(CM)-278(T)83(ran)1(s)-1(action)1(s)-279(on)-278(Mathematical)]TJ -211.246 -13.549 Td [(Soft)28(w)28(are,)-334(30,)-333(2004,)-333(196{199.)-334(\050See)-333(also)]TJ/F45 10.9091 Tf 184.031 0 Td [(http://www.cise.ufl.edu/~davis/)]TJ/F15 10.9091 Tf 177.543 0 Td [(\051)]TJ 0 g 0 G - -22.424 -21.087 Td [([24])]TJ + -383.998 -24.564 Td [([10])]TJ 0 g 0 G - [-500(R.)-408(S.)-408(T)83(uminaro,)-427(C.)-408(T)84(ong,)]TJ/F18 10.9091 Tf 152.548 0 Td [(Par)51(al)-51(lel)-426(Smo)51(othe)51(d)-427(A)51(ggr)51(e)51(gati)1(o)-1(n)-426(Multigrid:)-597(A)51(ggr)51(e)51(gation)]TJ -130.124 -13.55 Td [(Str)51(ate)51(gies)-369(on)-370(Massively)-369(Par)51(al)-51(lel)-370(Machines)]TJ/F15 10.9091 Tf 200.325 0 Td [(,)-349(in)-346(J.)-347(Donn)1(e)-1(l)1(le)-1(y)84(,)-349(e)-1(d)1(itor,)-350(Pro)-27(c)-1(eedin)1(gs)-347(of)]TJ -200.325 -13.549 Td [(Sup)-28(erComputing)-333(2000,)-333(Dallas,)-334(2000.)]TJ + [-500(J.)-381(W.)-381(Demmel,)-393(S.)-381(C.)-381(Eisenstat,)-393(J.)-381(R.)-382(Gil)1(b)-28(ert,)-393(X.)-381(S.)-381(Li,)-393(J.)-381(W.)-381(H.)-382(Li)1(u,)]TJ/F18 10.9091 Tf 364.973 0 Td [(A)-402(sup)51(er)1(n)-1(-)]TJ -342.549 -13.549 Td [(o)51(dal)-452(appr)51(o)51(ach)-452(to)-453(sp)51(ar)1(se)-453(p)51(artial)-452(pivoting)]TJ/F15 10.9091 Tf 192.083 0 Td [(,)-462(SIAM)-436(Journal)-436(on)-436(Matrix)-436(Analysis)-436(and)]TJ -192.083 -13.549 Td [(Applications,)-333(20)-334(\0503\051,)-333(1999,)-333(720{755.)]TJ 0 g 0 G - -22.424 -21.087 Td [([25])]TJ + -22.424 -24.564 Td [([11])]TJ 0 g 0 G - [-500(P)83(.)-293(V)84(an)27(\024)473(ek,)-302(J.)-293(Mandel,)-301(M.)-293(Brezina,)]TJ/F18 10.9091 Tf 183.276 0 Td [(A)26(lgebr)51(aic)-321(Multigrid)-321(by)-321(Smo)51(othe)52(d)-321(A)51(ggr)51(e)51(gation)-321(for)]TJ -160.852 -13.549 Td [(Se)51(c)51(ond)-358(and)-357(F)76(ourth)-357(Or)51(der)-358(El)-51(liptic)-358(Pr)51(oblems)]TJ/F15 10.9091 Tf 205.92 0 Td [(,)-333(Computing,)-333(56)-334(\0503\051)-333(1996,)-333(179{196.)]TJ + [-500(J.)-443(J.)-444(Dongarra,)-470(J.)-444(Du)-443(Croz,)-471(I.)-444(S)1(.)-444(Du\013,)-471(S.)-443(Hammarling,)]TJ/F18 10.9091 Tf 301.5 0 Td [(A)-459(set)-459(of)-459(L)51(evel)-459(3)-459(Basic)]TJ -279.076 -13.549 Td [(Line)51(ar)-313(A)26(lgebr)51(a)-313(Subpr)51(o)51(gr)51(ams)]TJ/F15 10.9091 Tf 132.739 0 Td [(,)-294(A)27(CM)-284(T)83(ransactions)-285(on)-284(Mathematical)-285(Soft)28(w)27(ar)1(e)-1(,)-294(16)-285(\0501\051)]TJ -132.739 -13.549 Td [(1990,)-333(1{17.)]TJ 0 g 0 G 0 g 0 G ET endstream endobj -538 0 obj +547 0 obj << /Type /ObjStm /N 100 /First 892 -/Length 15485 +/Length 11496 >> stream -535 0 531 150 532 304 533 458 537 605 83 659 534 712 545 831 543 997 539 1143 -540 1295 541 1448 542 1602 547 1749 87 1803 544 1856 550 1975 548 2109 552 2256 91 2310 -549 2363 556 2534 554 2676 553 2822 558 2968 95 3022 555 3075 562 3181 560 3315 564 3462 -99 3516 561 3569 569 3675 567 3825 565 3971 566 4123 571 4275 103 4329 568 4383 573 4515 -575 4629 572 4683 579 4776 577 4918 576 5064 581 5218 107 5272 578 5326 583 5432 585 5546 -111 5600 582 5654 587 5760 589 5874 115 5928 270 5982 201 6036 197 6089 317 6141 318 6195 -373 6249 319 6303 218 6357 269 6411 271 6465 248 6519 586 6573 592 6692 594 6806 249 6860 -253 6914 204 6968 203 7022 251 7076 250 7129 272 7183 200 7237 337 7291 199 7345 252 7399 -198 7453 316 7507 202 7561 591 7615 595 7721 596 8417 597 8485 598 8789 599 8917 600 9271 -601 9291 602 9663 603 10327 604 10970 605 11360 606 11952 607 12562 608 13069 609 13714 610 14309 -% 535 0 obj +541 0 545 146 502 200 542 259 549 378 551 492 424 546 548 605 557 737 555 895 +552 1041 553 1195 554 1349 559 1496 79 1550 556 1603 566 1722 560 1888 561 2040 562 2193 +563 2347 564 2494 568 2647 83 2701 565 2754 577 2873 575 3055 569 3201 570 3352 571 3504 +572 3658 573 3812 574 3959 579 4113 87 4167 576 4220 582 4339 580 4473 584 4620 91 4674 +581 4727 588 4898 586 5040 585 5186 590 5332 95 5386 587 5439 596 5545 592 5695 593 5842 +594 5989 598 6142 99 6196 103 6249 107 6303 111 6357 595 6411 603 6543 601 6693 599 6839 +600 6986 605 7133 115 7187 119 7241 123 7295 602 7349 608 7481 606 7615 610 7762 607 7816 +615 7922 613 8072 611 8218 612 8370 617 8522 127 8576 614 8630 619 8762 621 8876 618 8930 +625 9023 623 9165 622 9311 627 9465 131 9519 624 9573 630 9679 632 9793 135 9847 629 9901 +634 10007 636 10121 139 10175 300 10229 231 10283 227 10336 347 10388 348 10442 403 10496 349 10550 +% 541 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [92.604 739.006 100.627 748.453] +/A << /S /GoTo /D (section.6) >> +>> +% 545 0 obj +<< +/D [543 0 R /XYZ 92.6 752.957 null] +>> +% 502 0 obj +<< +/D [543 0 R /XYZ -3644.284 247.981 null] +>> +% 542 0 obj +<< +/Font << /F42 161 0 R /F15 160 0 R /F45 255 0 R /F22 225 0 R /F25 257 0 R >> +/ProcSet [ /PDF /Text ] +>> +% 549 0 obj << /Type /Page -/Contents 536 0 R -/Resources 534 0 R +/Contents 550 0 R +/Resources 548 0 R /MediaBox [0 0 595.276 841.89] -/Parent 516 0 R -/Annots [ 531 0 R 532 0 R 533 0 R ] +/Parent 546 0 R >> -% 531 0 obj +% 551 0 obj +<< +/D [549 0 R /XYZ 85.4 752.957 null] +>> +% 424 0 obj +<< +/D [549 0 R /XYZ -3888.794 615.536 null] +>> +% 548 0 obj +<< +/Font << /F15 160 0 R /F42 161 0 R /F45 255 0 R /F25 257 0 R /F22 225 0 R /F18 307 0 R >> +/ProcSet [ /PDF /Text ] +>> +% 557 0 obj +<< +/Type /Page +/Contents 558 0 R +/Resources 556 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 546 0 R +/Annots [ 555 0 R 552 0 R 553 0 R 554 0 R ] +>> +% 555 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [92.604 739.006 100.627 748.453] +/A << /S /GoTo /D (section.6) >> +>> +% 552 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[0 1 0] -/Rect [357.486 526.079 370.387 535.102] +/Rect [364.686 526.079 377.588 535.102] /A << /S /GoTo /D (cite.PSBLASGUIDE) >> >> -% 532 0 obj +% 553 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[0 1 0] -/Rect [191.925 485.431 204.826 494.454] +/Rect [199.125 485.431 212.027 494.454] /A << /S /GoTo /D (cite.PSBLASGUIDE) >> >> -% 533 0 obj +% 554 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [395.046 454.268 402.493 467.901] +/Rect [402.247 454.268 409.694 467.901] /A << /S /GoTo /D (section.8) >> >> -% 537 0 obj +% 559 0 obj +<< +/D [557 0 R /XYZ 92.6 752.957 null] +>> +% 79 0 obj +<< +/D [557 0 R /XYZ 93.6 715.095 null] +>> +% 556 0 obj +<< +/Font << /F42 161 0 R /F15 160 0 R /F17 148 0 R /F45 255 0 R /F18 307 0 R >> +/ProcSet [ /PDF /Text ] +>> +% 566 0 obj +<< +/Type /Page +/Contents 567 0 R +/Resources 565 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 546 0 R +/Annots [ 560 0 R 561 0 R 562 0 R 563 0 R 564 0 R ] +>> +% 560 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [235.009 613.666 250.941 626.568] +/A << /S /GoTo /D (subsection.6.3) >> +>> +% 561 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[0 1 0] +/Rect [357.486 512.53 370.387 521.553] +/A << /S /GoTo /D (cite.PSBLASGUIDE) >> +>> +% 562 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[0 1 0] +/Rect [191.925 471.882 204.826 480.905] +/A << /S /GoTo /D (cite.PSBLASGUIDE) >> +>> +% 563 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [395.046 440.719 402.493 454.352] +/A << /S /GoTo /D (section.8) >> +>> +% 564 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[0 1 0] +/Rect [338.092 390.587 350.993 399.61] +/A << /S /GoTo /D (cite.PSBLASGUIDE) >> +>> +% 568 0 obj << -/D [535 0 R /XYZ 85.4 752.957 null] +/D [566 0 R /XYZ 85.4 752.957 null] >> % 83 0 obj << -/D [535 0 R /XYZ 86.4 715.095 null] +/D [566 0 R /XYZ 86.4 715.095 null] >> -% 534 0 obj +% 565 0 obj << -/Font << /F15 136 0 R /F42 137 0 R /F17 124 0 R /F45 225 0 R /F18 277 0 R >> +/Font << /F15 160 0 R /F42 161 0 R /F17 148 0 R /F45 255 0 R /F18 307 0 R >> /ProcSet [ /PDF /Text ] >> -% 545 0 obj +% 577 0 obj << /Type /Page -/Contents 546 0 R -/Resources 544 0 R +/Contents 578 0 R +/Resources 576 0 R /MediaBox [0 0 595.276 841.89] -/Parent 516 0 R -/Annots [ 543 0 R 539 0 R 540 0 R 541 0 R 542 0 R ] +/Parent 546 0 R +/Annots [ 575 0 R 569 0 R 570 0 R 571 0 R 572 0 R 573 0 R 574 0 R ] >> -% 543 0 obj +% 575 0 obj << /Type /Annot /Subtype /Link @@ -6609,61 +6751,77 @@ stream /Rect [92.604 739.006 100.627 748.453] /A << /S /GoTo /D (section.6) >> >> -% 539 0 obj +% 569 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [242.209 613.666 258.141 626.568] +/Rect [334.588 640.765 350.52 653.666] +/A << /S /GoTo /D (subsection.6.3) >> +>> +% 570 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [374.629 640.765 390.561 653.666] /A << /S /GoTo /D (subsection.6.4) >> >> -% 540 0 obj +% 571 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[0 1 0] -/Rect [364.686 512.53 377.588 521.553] +/Rect [364.686 485.431 377.588 494.454] /A << /S /GoTo /D (cite.PSBLASGUIDE) >> >> -% 541 0 obj +% 572 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[0 1 0] -/Rect [199.125 471.882 212.027 480.905] +/Rect [199.125 444.784 212.027 453.807] /A << /S /GoTo /D (cite.PSBLASGUIDE) >> >> -% 542 0 obj +% 573 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [402.247 440.719 409.694 454.352] +/Rect [402.247 413.621 409.694 427.254] /A << /S /GoTo /D (section.8) >> >> -% 547 0 obj +% 574 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[0 1 0] +/Rect [345.292 363.489 358.194 372.511] +/A << /S /GoTo /D (cite.PSBLASGUIDE) >> +>> +% 579 0 obj << -/D [545 0 R /XYZ 92.6 752.957 null] +/D [577 0 R /XYZ 92.6 752.957 null] >> % 87 0 obj << -/D [545 0 R /XYZ 93.6 715.095 null] +/D [577 0 R /XYZ 93.6 715.095 null] >> -% 544 0 obj +% 576 0 obj << -/Font << /F42 137 0 R /F15 136 0 R /F17 124 0 R /F45 225 0 R /F18 277 0 R >> +/Font << /F42 161 0 R /F15 160 0 R /F17 148 0 R /F45 255 0 R /F18 307 0 R >> /ProcSet [ /PDF /Text ] >> -% 550 0 obj +% 582 0 obj << /Type /Page -/Contents 551 0 R -/Resources 549 0 R +/Contents 583 0 R +/Resources 581 0 R /MediaBox [0 0 595.276 841.89] -/Parent 516 0 R -/Annots [ 548 0 R ] +/Parent 546 0 R +/Annots [ 580 0 R ] >> -% 548 0 obj +% 580 0 obj << /Type /Annot /Subtype /Link @@ -6671,29 +6829,125 @@ stream /Rect [395.046 386.522 402.493 400.155] /A << /S /GoTo /D (section.8) >> >> -% 552 0 obj +% 584 0 obj +<< +/D [582 0 R /XYZ 85.4 752.957 null] +>> +% 91 0 obj +<< +/D [582 0 R /XYZ 86.4 715.095 null] +>> +% 581 0 obj +<< +/Font << /F15 160 0 R /F42 161 0 R /F17 148 0 R /F45 255 0 R /F22 225 0 R /F26 363 0 R /F20 364 0 R /F18 307 0 R /F23 361 0 R >> +/ProcSet [ /PDF /Text ] +>> +% 588 0 obj +<< +/Type /Page +/Contents 589 0 R +/Resources 587 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 591 0 R +/Annots [ 586 0 R 585 0 R ] +>> +% 586 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [92.604 739.006 100.627 748.453] +/A << /S /GoTo /D (section.6) >> +>> +% 585 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [399.894 589.76 407.341 603.393] +/A << /S /GoTo /D (section.8) >> +>> +% 590 0 obj +<< +/D [588 0 R /XYZ 92.6 752.957 null] +>> +% 95 0 obj +<< +/D [588 0 R /XYZ 93.6 715.095 null] +>> +% 587 0 obj +<< +/Font << /F42 161 0 R /F15 160 0 R /F17 148 0 R /F45 255 0 R >> +/ProcSet [ /PDF /Text ] +>> +% 596 0 obj +<< +/Type /Page +/Contents 597 0 R +/Resources 595 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 591 0 R +/Annots [ 592 0 R 593 0 R 594 0 R ] +>> +% 592 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [395.046 559.996 402.493 573.629] +/A << /S /GoTo /D (section.8) >> +>> +% 593 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [395.046 223.562 402.493 237.195] +/A << /S /GoTo /D (section.8) >> +>> +% 594 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[0 1 0] +/Rect [338.092 173.43 350.993 182.453] +/A << /S /GoTo /D (cite.PSBLASGUIDE) >> +>> +% 598 0 obj +<< +/D [596 0 R /XYZ 85.4 752.957 null] +>> +% 99 0 obj +<< +/D [596 0 R /XYZ 86.4 715.095 null] +>> +% 103 0 obj +<< +/D [596 0 R /XYZ 86.4 431.215 null] +>> +% 107 0 obj << -/D [550 0 R /XYZ 85.4 752.957 null] +/D [596 0 R /XYZ 86.4 365.879 null] >> -% 91 0 obj +% 111 0 obj << -/D [550 0 R /XYZ 86.4 715.095 null] +/D [596 0 R /XYZ 86.4 153.691 null] >> -% 549 0 obj +% 595 0 obj << -/Font << /F15 136 0 R /F42 137 0 R /F17 124 0 R /F45 225 0 R /F22 195 0 R /F26 333 0 R /F20 334 0 R /F18 277 0 R /F23 331 0 R >> +/Font << /F15 160 0 R /F42 161 0 R /F17 148 0 R /F45 255 0 R /F44 205 0 R /F18 307 0 R >> /ProcSet [ /PDF /Text ] >> -% 556 0 obj +% 603 0 obj << /Type /Page -/Contents 557 0 R -/Resources 555 0 R +/Contents 604 0 R +/Resources 602 0 R /MediaBox [0 0 595.276 841.89] -/Parent 559 0 R -/Annots [ 554 0 R 553 0 R ] +/Parent 591 0 R +/Annots [ 601 0 R 599 0 R 600 0 R ] >> -% 554 0 obj +% 601 0 obj << /Type /Annot /Subtype /Link @@ -6701,67 +6955,79 @@ stream /Rect [92.604 739.006 100.627 748.453] /A << /S /GoTo /D (section.6) >> >> -% 553 0 obj +% 599 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [399.894 589.76 407.341 603.393] +/Rect [402.247 579.493 409.694 593.126] +/A << /S /GoTo /D (section.8) >> +>> +% 600 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [402.247 212.842 409.694 226.475] /A << /S /GoTo /D (section.8) >> >> -% 558 0 obj +% 605 0 obj << -/D [556 0 R /XYZ 92.6 752.957 null] +/D [603 0 R /XYZ 92.6 752.957 null] >> -% 95 0 obj +% 115 0 obj << -/D [556 0 R /XYZ 93.6 715.095 null] +/D [603 0 R /XYZ 93.6 561.815 null] >> -% 555 0 obj +% 119 0 obj << -/Font << /F42 137 0 R /F15 136 0 R /F17 124 0 R /F45 225 0 R >> +/D [603 0 R /XYZ 93.6 481.328 null] +>> +% 123 0 obj +<< +/D [603 0 R /XYZ 93.6 154.517 null] +>> +% 602 0 obj +<< +/Font << /F42 161 0 R /F15 160 0 R /F17 148 0 R /F45 255 0 R /F18 307 0 R /F44 205 0 R >> /ProcSet [ /PDF /Text ] >> -% 562 0 obj +% 608 0 obj << /Type /Page -/Contents 563 0 R -/Resources 561 0 R +/Contents 609 0 R +/Resources 607 0 R /MediaBox [0 0 595.276 841.89] -/Parent 559 0 R -/Annots [ 560 0 R ] +/Parent 591 0 R +/Annots [ 606 0 R ] >> -% 560 0 obj +% 606 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [395.046 562.662 402.493 576.295] +/Rect [395.046 635.859 402.493 649.492] /A << /S /GoTo /D (section.8) >> >> -% 564 0 obj -<< -/D [562 0 R /XYZ 85.4 752.957 null] ->> -% 99 0 obj +% 610 0 obj << -/D [562 0 R /XYZ 86.4 715.095 null] +/D [608 0 R /XYZ 85.4 752.957 null] >> -% 561 0 obj +% 607 0 obj << -/Font << /F15 136 0 R /F42 137 0 R /F17 124 0 R /F45 225 0 R >> +/Font << /F15 160 0 R /F42 161 0 R /F17 148 0 R /F45 255 0 R >> /ProcSet [ /PDF /Text ] >> -% 569 0 obj +% 615 0 obj << /Type /Page -/Contents 570 0 R -/Resources 568 0 R +/Contents 616 0 R +/Resources 614 0 R /MediaBox [0 0 595.276 841.89] -/Parent 559 0 R -/Annots [ 567 0 R 565 0 R 566 0 R ] +/Parent 591 0 R +/Annots [ 613 0 R 611 0 R 612 0 R ] >> -% 567 0 obj +% 613 0 obj << /Type /Annot /Subtype /Link @@ -6769,7 +7035,7 @@ stream /Rect [92.604 739.006 100.627 748.453] /A << /S /GoTo /D (section.6) >> >> -% 565 0 obj +% 611 0 obj << /Type /Annot /Subtype /Link @@ -6777,7 +7043,7 @@ stream /Rect [334.005 662.511 349.937 675.413] /A << /S /GoTo /D (subsection.6.2) >> >> -% 566 0 obj +% 612 0 obj << /Type /Annot /Subtype /Link @@ -6785,46 +7051,46 @@ stream /Rect [394.361 145.502 410.293 157.191] /A << /S /GoTo /D (subsection.6.2) >> >> -% 571 0 obj +% 617 0 obj << -/D [569 0 R /XYZ 92.6 752.957 null] +/D [615 0 R /XYZ 92.6 752.957 null] >> -% 103 0 obj +% 127 0 obj << -/D [569 0 R /XYZ 93.6 715.095 null] +/D [615 0 R /XYZ 93.6 715.095 null] >> -% 568 0 obj +% 614 0 obj << -/Font << /F42 137 0 R /F15 136 0 R /F17 124 0 R /F25 227 0 R /F45 225 0 R /F18 277 0 R >> +/Font << /F42 161 0 R /F15 160 0 R /F17 148 0 R /F25 257 0 R /F45 255 0 R /F18 307 0 R >> /ProcSet [ /PDF /Text ] >> -% 573 0 obj +% 619 0 obj << /Type /Page -/Contents 574 0 R -/Resources 572 0 R +/Contents 620 0 R +/Resources 618 0 R /MediaBox [0 0 595.276 841.89] -/Parent 559 0 R +/Parent 591 0 R >> -% 575 0 obj +% 621 0 obj << -/D [573 0 R /XYZ 85.4 752.957 null] +/D [619 0 R /XYZ 85.4 752.957 null] >> -% 572 0 obj +% 618 0 obj << -/Font << /F15 136 0 R /F42 137 0 R /F45 225 0 R >> +/Font << /F15 160 0 R /F42 161 0 R /F45 255 0 R >> /ProcSet [ /PDF /Text ] >> -% 579 0 obj +% 625 0 obj << /Type /Page -/Contents 580 0 R -/Resources 578 0 R +/Contents 626 0 R +/Resources 624 0 R /MediaBox [0 0 595.276 841.89] -/Parent 559 0 R -/Annots [ 577 0 R 576 0 R ] +/Parent 628 0 R +/Annots [ 623 0 R 622 0 R ] >> -% 577 0 obj +% 623 0 obj << /Type /Annot /Subtype /Link @@ -6832,7 +7098,7 @@ stream /Rect [92.604 739.006 100.627 748.453] /A << /S /GoTo /D (section.8) >> >> -% 576 0 obj +% 622 0 obj << /Type /Annot /Subtype /Link @@ -6840,219 +7106,171 @@ stream /Rect [277.347 583.943 290.248 592.966] /A << /S /GoTo /D (cite.PSBLASGUIDE) >> >> -% 581 0 obj -<< -/D [579 0 R /XYZ 92.6 752.957 null] ->> -% 107 0 obj -<< -/D [579 0 R /XYZ 93.6 715.095 null] ->> -% 578 0 obj +% 627 0 obj << -/Font << /F42 137 0 R /F15 136 0 R /F17 124 0 R /F45 225 0 R >> -/ProcSet [ /PDF /Text ] ->> -% 583 0 obj -<< -/Type /Page -/Contents 584 0 R -/Resources 582 0 R -/MediaBox [0 0 595.276 841.89] -/Parent 559 0 R ->> -% 585 0 obj -<< -/D [583 0 R /XYZ 85.4 752.957 null] +/D [625 0 R /XYZ 92.6 752.957 null] >> -% 111 0 obj +% 131 0 obj << -/D [583 0 R /XYZ 86.4 715.095 null] +/D [625 0 R /XYZ 93.6 715.095 null] >> -% 582 0 obj +% 624 0 obj << -/Font << /F15 136 0 R /F42 137 0 R /F17 124 0 R /F45 225 0 R >> +/Font << /F42 161 0 R /F15 160 0 R /F17 148 0 R /F45 255 0 R >> /ProcSet [ /PDF /Text ] >> -% 587 0 obj +% 630 0 obj << /Type /Page -/Contents 588 0 R -/Resources 586 0 R +/Contents 631 0 R +/Resources 629 0 R /MediaBox [0 0 595.276 841.89] -/Parent 590 0 R ->> -% 589 0 obj -<< -/D [587 0 R /XYZ 92.6 752.957 null] ->> -% 115 0 obj -<< -/D [587 0 R /XYZ 93.6 722.069 null] ->> -% 270 0 obj -<< -/D [587 0 R /XYZ 93.6 697.846 null] ->> -% 201 0 obj -<< -/D [587 0 R /XYZ 93.6 630.21 null] ->> -% 197 0 obj -<< -/D [587 0 R /XYZ 93.6 592.4 null] ->> -% 317 0 obj -<< -/D [587 0 R /XYZ 93.6 554.287 null] ->> -% 318 0 obj -<< -/D [587 0 R /XYZ 93.6 489.076 null] ->> -% 373 0 obj -<< -/D [587 0 R /XYZ 93.6 425.986 null] ->> -% 319 0 obj -<< -/D [587 0 R /XYZ 93.6 374.324 null] ->> -% 218 0 obj -<< -/D [587 0 R /XYZ 93.6 319.935 null] ->> -% 269 0 obj -<< -/D [587 0 R /XYZ 93.6 268.273 null] +/Parent 628 0 R >> -% 271 0 obj +% 632 0 obj << -/D [587 0 R /XYZ 93.6 216.611 null] +/D [630 0 R /XYZ 85.4 752.957 null] >> -% 248 0 obj +% 135 0 obj << -/D [587 0 R /XYZ 93.6 164.948 null] +/D [630 0 R /XYZ 86.4 715.095 null] >> -% 586 0 obj +% 629 0 obj << -/Font << /F42 137 0 R /F15 136 0 R /F17 124 0 R /F18 277 0 R /F45 225 0 R >> +/Font << /F15 160 0 R /F42 161 0 R /F17 148 0 R /F45 255 0 R >> /ProcSet [ /PDF /Text ] >> -% 592 0 obj +% 634 0 obj << /Type /Page -/Contents 593 0 R -/Resources 591 0 R +/Contents 635 0 R +/Resources 633 0 R /MediaBox [0 0 595.276 841.89] -/Parent 590 0 R ->> -% 594 0 obj -<< -/D [592 0 R /XYZ 85.4 752.957 null] ->> -% 249 0 obj -<< -/D [592 0 R /XYZ 86.4 715.095 null] ->> -% 253 0 obj -<< -/D [592 0 R /XYZ 86.4 670.542 null] ->> -% 204 0 obj -<< -/D [592 0 R /XYZ 86.4 622.659 null] ->> -% 203 0 obj -<< -/D [592 0 R /XYZ 86.4 574.776 null] ->> -% 251 0 obj -<< -/D [592 0 R /XYZ 86.4 526.59 null] +/Parent 628 0 R >> -% 250 0 obj +% 636 0 obj << -/D [592 0 R /XYZ 86.4 478.405 null] +/D [634 0 R /XYZ 92.6 752.957 null] >> -% 272 0 obj +% 139 0 obj << -/D [592 0 R /XYZ 86.4 429.613 null] +/D [634 0 R /XYZ 93.6 722.069 null] >> -% 200 0 obj +% 300 0 obj << -/D [592 0 R /XYZ 86.4 381.427 null] +/D [634 0 R /XYZ 93.6 697.846 null] >> -% 337 0 obj +% 231 0 obj << -/D [592 0 R /XYZ 86.4 346.791 null] +/D [634 0 R /XYZ 93.6 630.21 null] >> -% 199 0 obj +% 227 0 obj << -/D [592 0 R /XYZ 86.4 325.703 null] +/D [634 0 R /XYZ 93.6 592.4 null] >> -% 252 0 obj +% 347 0 obj << -/D [592 0 R /XYZ 86.4 280.245 null] +/D [634 0 R /XYZ 93.6 554.287 null] >> -% 198 0 obj +% 348 0 obj << -/D [592 0 R /XYZ 86.4 243.487 null] +/D [634 0 R /XYZ 93.6 489.076 null] >> -% 316 0 obj +% 403 0 obj << -/D [592 0 R /XYZ 86.4 208.851 null] +/D [634 0 R /XYZ 93.6 425.986 null] >> -% 202 0 obj +% 349 0 obj << -/D [592 0 R /XYZ 86.4 160.665 null] +/D [634 0 R /XYZ 93.6 374.324 null] >> -% 591 0 obj + +endstream +endobj +640 0 obj << -/Font << /F15 136 0 R /F42 137 0 R /F18 277 0 R /F45 225 0 R >> -/ProcSet [ /PDF /Text ] +/Length 7130 >> -% 595 0 obj -[458.3 458.3 416.7 416.7 472.2 472.2 472.2 472.2 583.3 583.3 472.2 472.2 333.3 555.6 577.8 577.8 597.2 597.2 736.1 736.1 527.8 527.8 583.3 583.3 583.3 583.3 750 750 750 750 1044.4 1044.4 791.7 791.7 583.3 583.3 638.9 638.9 638.9 638.9 805.6 805.6 805.6 805.6 1277.8 1277.8 811.1 811.1 875 875 666.7 666.7 666.7 666.7 666.7 666.7 888.9 888.9 888.9 888.9 888.9 888.9 888.9 666.7 875 875 875 875 611.1 611.1 833.3 1111.1 472.2 555.6 1111.1 1511.1 1111.1 1511.1 1111.1 1511.1 1055.6 944.4 472.2 833.3 833.3 833.3 833.3 833.3 1444.4 1277.8 555.6 1111.1 1111.1 1111.1 1111.1 1111.1 944.4 1277.8 555.6 1000 1444.4 555.6 1000 1444.4 472.2 472.2 527.8 527.8 527.8 527.8 666.7 666.7 1000 1000] -% 596 0 obj -[935.2 351.8 416.7 351.8 611.1 611.1 611.1 611.1 611.1] -% 597 0 obj -[379.6 963 638.9 963 638.9 658.7 924.1 926.6 883.7 998.3 899.8 775 952.9 999.5 547.7 681.6 1025.7 846.3 1161.6 967.1 934.1 780 966.5 922.1 756.7 731.1 838.1 729.6 1150.9 1001.4 726.4 837.7 509.3 509.3 509.3 1222.2 1222.2 518.5 674.9 547.7 559.1 642.5 589 600.7 607.7 725.7 445.6 511.6 660.9] -% 598 0 obj -[826.4 295.1 354.2 295.1 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 295.1 295.1 295.1 826.4] -% 599 0 obj -[826.4 295.1 826.4 531.3 826.4 531.3 826.4 826.4 826.4 826.4 826.4 826.4 826.4 1062.5 531.3 531.3 826.4 826.4 826.4 826.4 826.4 826.4 826.4 826.4 826.4 826.4 826.4 826.4 1062.5 1062.5 826.4 826.4 1062.5 1062.5 531.3 531.3 1062.5 1062.5 1062.5 826.4 1062.5 1062.5 649.3 649.3 1062.5 1062.5 1062.5 826.4 288.2 1062.5 708.3 708.3 944.5 944.5 0] -% 600 0 obj -[722.2] -% 601 0 obj -[295.1 826.4 531.3 826.4 531.3 559.7 795.8 801.4 757.3 871.7 778.7 672.4 827.9 872.8 460.7 580.4 896 722.6 1020.4 843.3 806.2 673.6 835.7 800.2 646.2 618.6 718.8 618.8 1002.4 873.9 615.8 720 413.2 413.2 413.2 1062.5 1062.5 434 564.4 454.5 460.2 546.7 492.9 510.4 505.6 612.3 361.7 429.7 553.2 317.1 939.8 644.7 513.5 534.8 474.4 479.5 491.3 383.7 615.2 517.4] -% 602 0 obj -[613.3 562.2 587.8 881.7 894.4 306.7 332.2 511.1 511.1 511.1 511.1 511.1 831.3 460 536.7 715.6 715.6 511.1 882.8 985 766.7 255.6 306.7 514.4 817.8 769.1 817.8 766.7 306.7 408.9 408.9 511.1 766.7 306.7 357.8 306.7 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 306.7 306.7 306.7 766.7 511.1 511.1 766.7 743.3 703.9 715.6 755 678.3 652.8 773.6 743.3 385.6 525 768.9 627.2 896.7 743.3 766.7 678.3 766.7 729.4 562.2 715.6 743.3 743.3 998.9 743.3 743.3 613.3 306.7 514.4 306.7 511.1 306.7 306.7 511.1 460 460 511.1 460 306.7 460 511.1 306.7 306.7 460 255.6 817.8 562.2 511.1 511.1 460 421.7 408.9 332.2 536.7 460 664.4 463.9 485.6 408.9] -% 603 0 obj -[777.8 277.8 777.8 500 777.8 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 500 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 1000 777.8 777.8 1000 1000 500 500 1000 1000 1000 777.8 1000 1000 611.1 611.1 1000 1000 1000 777.8 275 1000 666.7 666.7 888.9 888.9 0 0 555.6 555.6 666.7 500 722.2 722.2 777.8 777.8 611.1 798.5 656.8 526.5 771.4 527.8 718.7 594.9 844.5 544.5 677.8 762 689.7 1200.9 820.5 796.1 695.6 816.7 847.5 605.6 544.6 625.8 612.8 987.8 713.3 668.3 724.7 666.7 666.7 666.7 666.7 666.7 611.1 611.1 444.4 444.4 444.4 444.4 500 500 388.9 388.9 277.8 500 500 611.1 500 277.8 833.3] -% 604 0 obj -[525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] -% 605 0 obj -[469.4 353.9 576.2 583.3 602.5 494 437.5 570 517 571.4 437.2 540.3 595.8 625.7 651.4 622.5 466.3 591.4 828.1 517 362.8 654.2 1000 1000 1000 1000 277.8 277.8 500 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 500 777.8 500 530.9 750 758.5 714.7 827.9 738.2 643.1 786.2 831.3 439.6 554.5 849.3 680.6 970.1 803.5 762.8 642 790.6 759.3 613.2 584.4 682.8 583.3 944.4 828.5 580.6 682.6 388.9 388.9 388.9 1000 1000 416.7 528.6 429.2 432.8 520.5 465.6 489.6 477 576.2 344.5 411.8 520.6 298.4 878 600.2 484.7 503.1 446.4 451.2 468.7 361.1 572.5 484.7 715.9 571.5 490.3 465] -% 606 0 obj -[638.9 638.9 958.3 958.3 319.4 351.4 575 575 575 575 575 869.4 511.1 597.2 830.6 894.4 575 1041.7 1169.4 894.4 319.4 350 602.8 958.3 575 958.3 894.4 319.4 447.2 447.2 575 894.4 319.4 383.3 319.4 575 575 575 575 575 575 575 575 575 575 575 319.4 319.4 350 894.4 543.1 543.1 894.4 869.4 818.1 830.6 881.9 755.5 723.6 904.2 900 436.1 594.4 901.4 691.7 1091.7 900 863.9 786.1 863.9 862.5 638.9 800 884.7 869.4 1188.9 869.4 869.4 702.8 319.4 602.8 319.4 575 319.4 319.4 559 638.9 511.1 638.9 527.1 351.4 575 638.9 319.4 351.4 606.9 319.4 958.3 638.9 575 638.9 606.9 473.6 453.6 447.2 638.9 606.9 830.6] -% 607 0 obj -[319.4 436.1 436.1 552.8 844.4 319.4 377.8 319.4 552.8 552.8 552.8 552.8 552.8 552.8 552.8 552.8 552.8 552.8 552.8 319.4 319.4 844.4 844.4 844.4 523.6 844.4 813.9 770.8 786.1 829.2 741.7 712.5 851.4 813.9 405.6 566.7 843 683.3 988.9 813.9 844.4 741.7 844.4 800 611.1 786.1 813.9 813.9 1105.5 813.9 813.9 669.4 319.4 552.8 319.4 552.8 319.4 319.4 613.3 580 591.1 624.4 557.8 535.6 641.1 613.3 302.2 424.4 635.6 513.3 746.7 613.3 635.6 557.8 635.6 602.2 457.8 591.1 613.3 613.3 835.6 613.3 613.3] -% 608 0 obj -[722.2 583.3 555.6 555.6 833.3 833.3 277.8 305.6 500 500 500 500 500 750 444.4 500 722.2 777.8 500 902.8 1013.9 777.8 277.8 277.8 500 833.3 500 833.3 777.8 277.8 388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 277.8 777.8 472.2 472.2 777.8 750 708.3 722.2 763.9 680.6 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.6 777.8 736.1 555.6 722.2 750 750 1027.8 750 750 611.1 277.8 500 277.8 500 277.8 277.8 500 555.6 444.4 555.6 444.4 305.6 500 555.6 277.8 305.6 527.8 277.8 833.3 555.6 500 555.6 527.8 391.7 394.4 388.9 555.6 527.8 722.2 527.8 527.8 444.4 500 1000 500 500 500] -% 609 0 obj -[544 544 816 816 272 299.2 489.6 489.6 489.6 489.6 489.6 734 435.2 489.6 707.2 761.6 489.6 883.8 992.6 761.6 272 272 489.6 816 489.6 816 761.6 272 380.8 380.8 489.6 761.6 272 326.4 272 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 272 272 272 761.6 462.4 462.4 761.6 734 693.4 707.2 747.8 666.2 639 768.3 734 353.2 503 761.2 611.8 897.2 734 761.6 666.2 761.6 720.6 544 707.2 734 734 1006 734 734 598.4 272 489.6 272 489.6 272 272 489.6 544 435.2 544 435.2 299.2 489.6 544 272 299.2 516.8 272 816 544 489.6 544 516.8 380.8 386.2 380.8 544 516.8 707.2 516.8 516.8] -% 610 0 obj -[726.9 688.4 700 738.4 663.4 638.4 756.7 726.9 376.9 513.4 751.9 613.4 876.9 726.9 750 663.4 750 713.4 550 700 726.9 726.9 976.9 726.9 726.9 600 300 500 300 500 300 300 500 450 450 500 450 300 450 500 300 300 450 250 800 550 500 500 450 412.5 400 325 525 450 650 450 475] +stream +0 g 0 G +BT +/F15 10.9091 Tf 86.4 740.002 Td [(46)]TJ/F42 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ +0 g 0 G +0 g 0 G +/F15 10.9091 Tf -203.265 -35.866 Td [([12])]TJ +0 g 0 G + [-500(J.)-450(J.)-450(Dongarra,)-479(J.)-450(Du)-450(Croz,)-480(S.)-450(Hammarling,)-479(R.)-450(J.)-450(Hanson,)]TJ/F18 10.9091 Tf 320.772 0 Td [(A)26(n)-466(extende)51(d)-465(set)-465(of)]TJ -298.348 -13.549 Td [(F)26(OR)76(TRAN)-355(Basic)-355(Line)51(ar)-356(A)26(lgebr)51(a)-355(Subpr)51(o)51(gr)51(ams)]TJ/F15 10.9091 Tf 221.802 0 Td [(,)-331(A)28(CM)-331(T)83(ransactions)-331(on)-330(Mathemat-)]TJ -221.802 -13.549 Td [(ical)-333(Soft)28(w)27(are,)-333(14)-333(\0501\051)-334(1988,)-333(1{17.)]TJ +0 g 0 G + -22.424 -21.087 Td [([13])]TJ +0 g 0 G + [-500(S.)-1026(Filip)1(p)-28(one,)-1199(A.)-1026(Buttari,)]TJ/F18 10.9091 Tf 177.354 0 Td [(PSBLAS)-994(3.5.0)-995(User's)-995(Guide.)-994(A)-995(R)52(efer)51(enc)51(e)]TJ -154.93 -13.55 Td [(Guide)-1084(for)-1084(the)-1084(Par)51(al)-51(lel)-1084(Sp)51(ar)1(se)-1084(BLAS)-1084(Libr)51(ar)1(y)]TJ/F15 10.9091 Tf 257.737 0 Td [(,)-1320(2012,)-1320(a)28(v)55(ailable)-1122(from)]TJ/F45 10.9091 Tf -257.737 -13.549 Td [(https://github.com/sfilippone/psblas3/tree/master/docs)]TJ/F15 10.9091 Tf 309.269 0 Td [(.)]TJ +0 g 0 G + -331.693 -21.087 Td [([14])]TJ +0 g 0 G + [-500(S.)-330(Filipp)-28(one,)-330(A.)-330(B)-1(u)1(ttari,)]TJ/F18 10.9091 Tf 143.238 0 Td [(Obje)51(ct-Oriente)51(d)-354(T)76(e)51(chniques)-354(for)-355(Sp)51(arse)-355(Matrix)-355(Com)1(puta-)]TJ -120.814 -13.549 Td [(tions)-424(in)-423(F)77(ortr)51(an)-424(2003)]TJ/F15 10.9091 Tf 104.62 0 Td [(.)-405(A)28(CM)-405(T)83(r)1(ansac)-1(tion)1(s)-405(on)-405(on)-405(Mathematical)-405(Soft)28(w)28(are,)-423(38)-405(\0504\051,)]TJ -104.62 -13.549 Td [(2012,)-333(art.)-334(23.)]TJ +0 g 0 G + -22.424 -21.088 Td [([15])]TJ +0 g 0 G + [-500(S.)-312(Filip)1(p)-28(one,)-316(M.)-312(Cola)-56(j)1(anni,)]TJ/F18 10.9091 Tf 155.667 0 Td [(PSBLAS:)-338(A)-338(Libr)51(ary)-338(for)-337(Par)51(al)-51(lel)-338(Line)51(ar)-338(A)26(lgebr)51(a)-338(Com-)]TJ -133.243 -13.549 Td [(putation)-284(on)-284(Sp)51(arse)-284(Matric)51(es)]TJ/F15 10.9091 Tf 131.984 0 Td [(,)-269(A)28(CM)-253(T)83(ransactions)-253(on)-253(Mathematical)-253(Soft)27(w)28(are,)-269(26)-253(\0504\051,)]TJ -131.984 -13.549 Td [(2000,)-333(527{550.)]TJ +0 g 0 G + -22.424 -21.088 Td [([16])]TJ +0 g 0 G + [-500(W.)-413(Gropp,)-433(S.)-413(Huss-Lederman,)-433(A.)-413(Lumsdaine,)-433(E)1(.)-413(Lusk,)-433(B.)-413(Nitzb)-28(erg,)-433(W.)-413(Saphir,)]TJ 22.424 -13.549 Td [(M.)-349(Snir,)]TJ/F18 10.9091 Tf 43.142 0 Td [(MPI:)-372(The)-372(Complete)-372(R)51(efer)51(enc)51(e.)-372(V)77(olume)-372(2)-373(-)-372(The)-372(MPI-2)-372(Extensions)]TJ/F15 10.9091 Tf 318.187 0 Td [(,)-353(MIT)]TJ -361.329 -13.549 Td [(Press,)-333(1998.)]TJ +0 g 0 G + -22.424 -21.087 Td [([17])]TJ +0 g 0 G + [-500(C.)-347(L.)-347(La)28(wson,)-351(R.)-347(J.)-347(Hanson,)-350(D.)-347(Kincaid,)-350(F.)-347(T.)-347(Krogh,)]TJ/F18 10.9091 Tf 287.094 0 Td [(Basic)-370(Line)51(ar)-371(A)26(lgebr)51(a)-370(Sub-)]TJ -264.67 -13.549 Td [(pr)51(o)51(gr)51(ams)-395(for)-396(F)26(OR)77(TRAN)-396(usage)]TJ/F15 10.9091 Tf 149.357 0 Td [(,)-385(A)28(CM)-374(T)83(ransactions)-374(on)-375(Mathematical)-374(Soft)28(w)28(are,)-385(5)]TJ -149.357 -13.55 Td [(\0503\051,)-333(1979,)-334(308{323.)]TJ +0 g 0 G + -22.424 -21.087 Td [([18])]TJ +0 g 0 G + [-500(X.)-408(S.)-408(Li,)-427(J.)-408(W)1(.)-408(De)-1(mmel,)]TJ/F18 10.9091 Tf 147.871 0 Td [(Sup)51(erLU)]TJ +ET +q +1 0 0 1 276.516 415.221 cm +[]0 d 0 J 0.398 w 0 0 m 3.345 0 l S +Q +BT +/F18 10.9091 Tf 279.861 415.022 Td [(DIST:)-426(A)-427(Sc)51(alable)-426(Distribute)51(d-memory)-426(Sp)51(arse)]TJ -171.037 -13.549 Td [(Dir)51(e)51(ct)-342(Solver)-343(for)-342(Unsymmetric)-342(Line)51(ar)-343(Systems)]TJ/F15 10.9091 Tf 222.383 0 Td [(,)-320(A)28(CM)-317(T)83(ran)1(s)-1(actions)-316(on)-317(Mathemat-)]TJ -222.383 -13.549 Td [(ical)-333(Soft)28(w)27(are,)-333(29)-333(\0502\051,)-334(2003,)-333(110{140.)]TJ +0 g 0 G + -22.424 -21.088 Td [([19])]TJ +0 g 0 G + [-500(Y.)-466(Nota)27(y)84(,)-500(P)83(.)-466(S.)-467(V)83(assilevski,)]TJ/F18 10.9091 Tf 163.479 0 Td [(R)51(e)51(cursive)-480(Krylov-b)51(ase)51(d)-480(multigrid)-480(cycles)]TJ/F15 10.9091 Tf 191.67 0 Td [(,)-500(Numerical)]TJ -332.725 -13.549 Td [(Linear)-333(Algebra)-334(with)-333(Applications,)-333(15)-333(\0505\051,)-334(2008,)-333(473{487.)]TJ +0 g 0 G + -22.424 -21.087 Td [([20])]TJ +0 g 0 G + [-500(Y.)-333(Saad,)]TJ/F18 10.9091 Tf 66.97 0 Td [(Iter)51(ative)-358(metho)52(ds)-358(for)-358(sp)51(arse)-358(l)1(ine)51(ar)-358(systems)]TJ/F15 10.9091 Tf 202.98 0 Td [(,)-333(2nd)-334(editi)1(on,)-334(SIAM,)-333(2003.)]TJ +0 g 0 G + -269.95 -21.088 Td [([21])]TJ +0 g 0 G + [-500(B.)-505(Smith,)-549(P)84(.)-506(Bjorstad,)-548(W.)-506(Gropp,)]TJ/F18 10.9091 Tf 200.295 0 Td [(Domain)-516(De)51(c)51(omp)51(osition:)-776(Par)51(al)-51(lel)-516(Multilevel)]TJ -177.871 -13.549 Td [(Metho)51(ds)-432(for)-432(El)-51(liptic)-433(Partial)-432(Di\013er)51(ential)-432(Equations)]TJ/F15 10.9091 Tf 244.309 0 Td [(,)-434(Cam)27(bridge)-414(Univ)28(ersit)28(y)-415(Pr)1(e)-1(ss,)]TJ -244.309 -13.549 Td [(1996.)]TJ +0 g 0 G + -22.424 -21.087 Td [([22])]TJ +0 g 0 G + [-500(M.)-317(Snir,)-321(S.)-317(Otto,)-321(S.)-317(Huss-Lederman,)-321(D.)-317(W)83(alk)28(er,)-321(J.)-317(Dongarra,)]TJ/F18 10.9091 Tf 317.503 0 Td [(MPI:)-343(The)-343(Complete)]TJ -295.079 -13.55 Td [(R)51(efer)51(enc)51(e.)-357(V)76(olume)-357(1)-358(-)-358(The)-358(MPI)-357(Cor)51(e)]TJ/F15 10.9091 Tf 179.356 0 Td [(,)-333(second)-334(edition,)-333(MIT)-333(Press,)-334(1998.)]TJ +0 g 0 G + -201.78 -21.087 Td [([23])]TJ +0 g 0 G + [-500(K.)-303(St)-27()527(ub)-27(en,)]TJ/F18 10.9091 Tf 77.278 0 Td [(A)26(n)-330(Intr)51(o)51(duction)-329(to)-330(A)25(l)1(gebr)51(aic)-330(Multigrid)]TJ/F15 10.9091 Tf 183.285 0 Td [(,)-309(in)-302(A.)-303(Sc)28(h)-28()528(uller,)-309(U.)-303(T)84(rotten)27(b)-27(erg,)]TJ -238.139 -13.549 Td [(C.)-333(Oosterlee,)-334(Multigrid,)-333(Academic)-333(Press,)-334(2001.)]TJ +0 g 0 G + -22.424 -21.087 Td [([24])]TJ +0 g 0 G + [-500(R.)-408(S.)-408(T)83(uminaro,)-427(C.)-408(T)84(ong,)]TJ/F18 10.9091 Tf 152.548 0 Td [(Par)51(al)-51(lel)-426(Smo)51(othe)51(d)-427(A)51(ggr)51(e)51(gati)1(o)-1(n)-426(Multigrid:)-597(A)51(ggr)51(e)51(gation)]TJ -130.124 -13.55 Td [(Str)51(ate)51(gies)-369(on)-370(Massively)-369(Par)51(al)-51(lel)-370(Machines)]TJ/F15 10.9091 Tf 200.325 0 Td [(,)-349(in)-346(J.)-347(Donn)1(e)-1(l)1(le)-1(y)84(,)-349(e)-1(d)1(itor,)-350(Pro)-27(c)-1(eedin)1(gs)-347(of)]TJ -200.325 -13.549 Td [(Sup)-28(erComputing)-333(2000,)-333(Dallas,)-334(2000.)]TJ +0 g 0 G + -22.424 -21.087 Td [([25])]TJ +0 g 0 G + [-500(P)83(.)-293(V)84(an)27(\024)473(ek,)-302(J.)-293(Mandel,)-301(M.)-293(Brezina,)]TJ/F18 10.9091 Tf 183.276 0 Td [(A)26(lgebr)51(aic)-321(Multigrid)-321(by)-321(Smo)51(othe)52(d)-321(A)51(ggr)51(e)51(gation)-321(for)]TJ -160.852 -13.549 Td [(Se)51(c)51(ond)-358(and)-357(F)76(ourth)-357(Or)51(der)-358(El)-51(liptic)-358(Pr)51(oblems)]TJ/F15 10.9091 Tf 205.92 0 Td [(,)-333(Computing,)-333(56)-334(\0503\051)-333(1996,)-333(179{196.)]TJ +0 g 0 G +0 g 0 G +ET endstream endobj -613 0 obj +659 0 obj << -/Length1 2121 -/Length2 17358 +/Length1 2154 +/Length2 17514 /Length3 0 -/Length 19479 +/Length 19668 >> stream %!PS-AdobeFont-1.0: CMBX10 003.002 @@ -7072,7 +7290,7 @@ FontDirectory/CMBX10 known{/CMBX10 findfont dup/UniqueID known{dup 11 dict begin /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /GSGTRH+CMBX10 def +/FontName /WOELMG+CMBX10 def /FontBBox {-56 -250 1164 750 }readonly def /PaintType 0 def /FontInfo 9 dict dup begin @@ -7109,6 +7327,7 @@ dup 85 /U put dup 97 /a put dup 98 /b put dup 99 /c put +dup 58 /colon put dup 100 /d put dup 101 /e put dup 56 /eight put @@ -7139,6 +7358,7 @@ dup 50 /two put dup 117 /u put dup 118 /v put dup 119 /w put +dup 122 /z put readonly def currentdict end currentfile eexec @@ -7171,50 +7391,53 @@ G? d"{#XY% r)p;l_h L;R%)z7{`\v|o}QoAP+iїeAn 6\oi06X5g~;ٽ)zQ_D3oݵM4}N8>Fl#m FGv5M4`+5"/qHb|- qEH?Z#o!T>>gNGE:-\2΋0UXh n395}ڎ0&D;eչSElxSyz'?b k BdDG)S9è+Gi&}h.J4Ũ !'TZ&Ų畤8셛F\2^ —v'c),0s'to/L+.ϵvot~<,}¼ #HIj0uYVQ i95%L_@=ՃLjc7.dtX8wIn憧bHؒtޛ;19 x攓=&}s[]lĹmpOvMh|M0hX&M{ŖSbj'%VV`M[wo^@j/xڞ361X׸?F2z! 0PlmSC'wNB& <|l*IszLp~@@%Zg! <{MLs5'.??*P`،zh!W~7;ЍNkbP~VUԳ.H  foU ~y߆w#$9pVjY׵xɵw=^_TV>GoOI-oǁNlkwY_Wc$2?'f#" ucn똛 0Bh:sP' * tӑɼ.t\Kl}e-[v/͍ ]UƊϽɝfB֝e U*Q1SG3.kHDTfx-L[W͉uB Ԥ/mzo`r%DQ['9J}/m3QJE|LLAsdGҷy9-ۑ bw'͏ilu~m.U"~N-m\ݩuUL+^ |5.2|"].Mcs%'5͓Ucu 2" -ӗp^Ub{VQ]rV[ =­g9=_!kr"_u&hꢵNZ˗cX]ϟnYiVT -_xX1X8{S=@Uɂ'qPqU]7a[xnPזLˇKdP؍ -vR| WDbi磣"򄇭ytR@q(ʚjbT߭5VL-GpF>zr:KhMA||!w>D>6R -aW] -Д\Wn e5'}2%)Q,4? v,қ;AeE: ybI/B{>1r1c&kQ5^$'XgZ o%#s;ƍ$=AL-GuJ`| (iOincnGȞApC@k<In9V6cн5tBfD&GWPE&<<74P([pyR /-n_tGg}(z) #d7:W! a%;LA7#Lc#]L0 \վcAɈQ$3cc2gɃ+? ^Sۦ ^(}5PLo^׽a -!, KUQTc'g\ -U?dcvZBWb: --٫DFOń)u4!\7H/lZ'51k΢b/2G 4 UBl}eDM!#dnզpt]vV%4Mtj6#]W$ 3]u/+([U 9GmAv2!}SO] 3]e 3`̛ jײǻ풕KnN Xʔq{ -MonDˎq<#)ꋜU#{(ûDcM$h++.MwM=uHb9yQ\;Qi Js6Bw+/75;_M@ -OAR b37Pr^RQ.vU! DhAxecy6O7:LLuqBn!xh1ow4S^"Rt/e+!2`5}#NM2*.#!ѺQ굝e*.&>B=8P. a`/آ@D] 2XtN <ˌ($&NJ>\K+@1O$b.F5%<}V'2z^ȭ5mT3V5 qfVqS<;=:/؛Ŀ;Ӏ+Ȧ~G[8o#˓̅t0%%2< Ëg(;/;Z&7/V#v$.xX27hAe]i.\b]돪d5%>xu2ʴ$w8'RM̷\.`@$h{$ȭfH"^@ѪU<_NĞȋIyo(w^#qKED V ~qA]7p_8҉t-x&Ygd? -@:Ow|Pbc;bUME=0)Btj妻rpO!uqu $(&[X9K˧BQ̝M=CGp8VЉ_צxU;CHr,ܪ.~rjA}O`,BCPsCIiM&NR"<=uJ~%'xfK 6Y8aV, nf坏d6$l)M"DS0zM4)JZcb}`kxSu浺c$Vk|f+Sۋ\4SY)L<`⻢?\xu* -OofJ%[7̕[qio+GvQdþհ窲AT@LWC>^M90s ;Y%d҃r<[4s$̂o] B 38< yi_=@X Y]CiRcj> 3x<~b&y%hĥp?=Nz9Vj UկBNEF4/#7{@? phV2Śs*z v|Wq/({ Apːz۔LEXJg @D1cL:*|o&񚄓MGIZb=Aj㳧 DIଅ>Ml7Ѵ2) 0dU%>3}J:dy-&rt3In`D{<%3a\Ěj`WU,kQfB(w - guFG鈖DDY<"{gvB/`T7xގ" t7. )cFB-J%c؝lu(iT3#y9iUDo$chAWVECdE_.Qbֆll'7 "{&|YgZK!miDRvC"(cb:q*5 =MLSPƤsnr6NŁ0T8a}__EW+tWpgib3%A9)Ỷt8}+>nqõE;(gjܺ~\#<&%-p&"ֿwD xhOΨV=tugjU} ?ѩ`<W@a/Zn4Ul)#thwb$(~m*| -{ΔNV"0Šӛ~;^R  wH'O%I_^RJ]$З|Z&rቯŌcI rF7w@گqg2ל>Ct1Ik$H׳\?J3n!bd=VX׌mefCENz!Gl`5~_@v]3my,ׂ1zUkahMJmVa}; -n 9"Ε:~Y^+TmPN'R&aiv-o_iY:nxKKW4| .NK"{4T+G<K4j@PX @qE׮JHBnI*H3fDZG.1y| f%hگ46J"BŌnsiG;WG'}cV{h<|mnDcVr_=1 --ebt&FAyIE\^jDVqt-(ސa#ۥH0[dЕ2~ٵq:GJXco,XV-P%}I`Ck5`Ϣ7})4hxW,:U}Iay>ͧC-ۺpA腵 - ?כ5t0/pEK: 5?@ƞiz#l͘)4&ki5x,b*ؓ0Bv'w*hNUy1F |I-3c`l#ʛϲ"PuaCrDڿNPIgeƒ<5uHVDsfmKI͊rgoL -GDg%{<{?cXFX/U~վ7"7y._0:/0OaF7hv:լJ 56O$Wvg=Iؒ_+%NN4>iǷy D(u],Q7k~޽ѣvRNy@hSɅn{@_f{\YޘXfj@Z,?]3 Ǧ\VkUpOcՋ80ZDtLca;Q$͢BC>i"e6*U"bQ2r>7_6@otfs8}9?lδ#`9W,;vlrx_w+ C{̱ x@\tt2Ń@klUb|hc?H#cݏvBCve= Snw/moml e>@1tNT6bVh|Ss'ߺBmߝܖԸ|@PA y]Rdar6vpq7g軹orߢMeW Oߑ>k9TXrs e=cO2/QLN4_nػy -sKe `ErX|Dl_Hhi~#h%V@D‰E%)"9 A%zb?|ڵ;V .K563 `AG$iܼ#M|n JyWc]"Buc2 (]5IoEYĹ iZ2<s0(rxd^=!w6YIO8UE2ʵť-ξs '4tJn6IzfwޯD^Ň.G2\VnyOL daɫq&4VaB[!|4Xr"ܿ21Nx"h%ݭct 9e%- OkPH%MSJFl}AVұO:fom~$D [ʯ؂D DŽ/.7̌"zH[1^(t=1SWdt^X.?MD7>{DmtAWm=%dCyƩ{? Y#a`T< j=[](NQE1-Hsꌟ]uݤ,&>Bk %n;\1v;af:N̄u|S:$&x@u)/0t%S@qU1rN{L -/ SMk3#mncJ18un@8} - -5ie>Ӡn_`<ߒ;@'QkYp~^ @ }S%ΒFsc  [R6L{![tvOJJHH|o]A((z%Q7X:RG3mCNrsblZl''tCOp =ES -Z_ڎ?#] p ]g`Q;aT&#֕@ -*sV;+EE(e\ٗKv]YwvNr1d+ -7? G w}ǑIf]+Wj8agmPfbM$Yv2y/>a -yYކ#bٖKY5& *29 - 4sջ]u."3 ؐҼn(MBVVA±\|#oWWr)/[\rɪfWM\%UuUros;\l0\zpq5j6؅-H!J?Aѵ-a W_l=]?ߵ9_r,Oc]$rt<^}`,qǺDSUW;ȕI>?e`[w$[\4 m9܆tV3+Itk N|BQQl<..O;v@72N:1r_hwFM!Yu?UQ*LA`<ۑ+֩e/yĩX hQ҄جdVl(UMDvjwS32[SU3PzB- +mzYLy(0s>fnjM/^E*` xr|tLBCM_֠%7>Ep^qJK_r\4N6ߑ@Gw`g/cH%3,[m$rGԞ6"1i +k7'}w7 pfGIo~M>G%lEJlQ̒`fk@Ia^C5Hp}3B-8م+/5m>kDNoy7XQ:DEe)4ka;ǘ":A$6~s@OC8̥f]il |'춗c؏M 2!;0,蕞 C'"2(Kw+7@OeִlIY~ 'ȑ\5BtemwelJծ$9drzlLd;񹠉q }t_IDBc.6~'$V1&TM;8 <2,i $!xb,Taȗ%BY?[un`M~h/=$0 (z {e=!,-tg( +2>Z 7I)ϣ;fWA'7R˵7`ɕ0 1b_B̪ă;R$󰮕V+=5=lH$e=m.XqaP,;2LP"b@uźL=7GI2Y ƽisDa~q=* {o.$~Jj“{*t5#;prk7ӱ+߶tUVScd*n+0/eVzZf婩͊ȲxZǾʐcw%`kx\-N-b T] o//p~/{rGB` w + 6VPE a&b_SX|a?IΫ6Un>6?rkNVVN38&OI;kx7߬,utW_D>L3Vd|{P<3@qKP)c0 +dxW!x@DP2>e"tXkB<2]Hh * +ob`"vwFl2`?&vua(KRo P Q +q +FDF/vT,58D5<`Q6)`A~p*:ķgIztn7uƥyJL)UԖ]eܤ#6 +3R8p ƻ][u`ٕӂ +߃98?/qDD8άbqU@rJSLUwt`󸎗<Ep V~~cӇ2W ٙkN!I3IȢC1 ]$7jۚbDžyM꽌Rmݑ}Ȍ"ܽK&)Ⱘ Y$d}d!nd~j%M}-Ƚ + dRH-ua4V5q^ }jW1߼Yp.l +Z-Ov.Cgljͻ_ש2_HJAEbL`~,B*ωا#nY;%(HJ'BɊOQ*n XYXW;U`F9 +85ٽ0b(^D +ٗa(6TKq&[|q rVTUoKG0?0whX>LJ,vђk@؞ Kn|vs( ]7H!ٜ o;mAoW^QLh)Y~S!TlR)/xo +SZUjwchQZ]8&\z4NXH W\c.b :l0)rߛ `muiy1+ȥq8HQgocđuI#YWRT=AE<0üLlFRzSVq=( +[V—*S- Ni&zzdo'>  Åw7 (⠥ǔ]e3/@AȷHڏ;UQ} `eJXH_KA +B^lW(W@NewpX{Y>:Y T`Iha^|K|j8C@}$zhCZ 8 +GܯB#S3f~!S1WC/[4uH"9" L1C +a8l}E,Wn9ɤC_EH"rMohePcA'lإ);SX͉*@VM9ݒxֶOp-<3V@^(')`pY؞1ʙhXGho;h/lxt%HM͆n[ .`y P(R\*+;'3ؔb)ZckJsݿ@.B#e`i|S( sحKWD9k=ϰX4 L R^8}|Z Jgs3v@F6W !>?A:3ۭdق|E͛mj;WzmΥC*rH]BuF]̶]: ߌ_Bo;7cpX]4Cux"1 ,6f 6mxQSMCeScjcĀr:,ivK`flv?Sq#B1ǡ+iR%P [#^vG,\h1Q92CyB^^Z.k]~B[/+f ^:B D|/SepR,30ȌL\غ?C1K] )CJ^˳ՖZežqwapMNh|%1lw}XuN"8 V}m= $kқc Q,Jqw} o3k\񺚌2QzJB[dT0G#9ZEWdg_Ek QΌb;J1 BMveXvUS%mD {C@\N̦F-Oxo,zL4ma/`{Plm>&PɊΌ#"Gwp/S,<"j7IK. A SDj/B~nȖ +暊e:]dӤ ƙҙdyxgV ?:"A tTG6|t {48ZGVBȼYEW~DHn FvAG/{)dfև:~S{KxDo┋wWy\FF9:&d/鮎0f:a#vw~cGڏek]c&dI惷c6Jpʰ-^zRC=_9T23|.$;{b|>tBg&iǀ +Z2[70Ib]TmSMlS#@厞jRzʹ~.Ęg3$Q4^MMW1/y0C3`xUEBZ9{3 $P ̊Ό;&Lg KڏO6ȠtsЬoF?AŊ\o +9XpgC^`&3!,7fSJ Zc?gJ$06G2G^ +A)6+5Xzc4ʅtʬ3aB`xkIA|zQxwB[>h><bc _sj0M9 QD]7vs$s5!yIi.A7]e@Ew.{""2O ?vG5.@'t({,2@6 +s%5CZwI/p`ްxa>I;H&['ȓ]KsLz+0ΠVq ^,b`1rGs=Bج&"0p_9g^$<7+>rdπnX4/b2oKbJ9 CP[ 0B!OY$pWưw-ϻ iJpV# 7 0?l˳[2<-_˛0;|1 }_LM22qNR+ED]=ˉ>Þ\ԡe;w6鰉p:ރgu1vU sbE[OvDƑge65gMh6Y! $u# WfG꥿SlYf.]C~q1)?x nSV_˜'+KJO~A|޿cXt&r朥DBTZ0+6fob"w_ ^ĥ9u[y F +9XW +4n8nF$s2 3@$8 b% [MFnV11Tu!X@P!"G ۺny~4cgaN9;epjM5FRG'{.}J˦AƑD2i[}M372WOEL'ZJTQMڵgyZ'?c^vU]{2.÷jSba < M7 NJǛ&4}w+WEx;")p@\N~ZjEtWE]QF)A!`ey +5zEgٽvUEXݮV2lG;櫽LЍmxص.g`[aiUaVD,\rg: ASPzaCvqmvIFw*>`)Z +V^_ܥ8*#@|9m-՞nEXPKr: b9JA4}n@WVGUӜ9o~+]YbiB(>#q/h WtyH .9Ev`J#J?n ^ͫ+|\_Ef6oDޥWFm(;<11᝱h*?)kaCc\Ӏ;guXd"21|Y%}u܅Q8{K6MZg*4"351 yMv]o'Tv;&D֛ +aVRT>MSLA]fa4yU4|-BFڶ6yAEs6oi ;X?]Y*)Q3XAv"ns|^^!'B9 ٧ SMDυsK`ԕRD(~J# @"NкS ~Pc3 1AzD`bYG8[\,IƵ^O``9vifƚd ypVR#FXD&)η/lp(ud woAiжxƒ3LpA}=Z з)+xJn5²&}>hҰ鞲ӱ%oK)np#h+l^p?@\QЀI,:ɠ^눃0Z<*zg C*D߾QE^K2 [!DzPc(M}-Haw~eEvuP,o+O%!tszGT#3p[YAt^`@(ZPSfˑ}dyJr8KIYxzkMt7tydj0^jN@6[ȸaCCUEP&!jʾ`u l2mB#[YdWR$$tɗ|2,p3ڭay8&\'<dУ3tkFvqziHAk$6;v{M!B{vV0Bl +0 =!|<=r{dEJ*4&Ue} >O bBnP隘!dn +ݥj|so4 剉E9:Z.* }J~?_y +;rnL0iZzu=u'~IA PFAj@$ u3xqX endstream endobj -615 0 obj +661 0 obj << -/Length1 2163 -/Length2 15247 +/Length1 2180 +/Length2 15410 /Length3 0 -/Length 17410 +/Length 17590 >> stream %!PS-AdobeFont-1.0: CMBX12 003.002 @@ -7234,7 +7457,7 @@ FontDirectory/CMBX12 known{/CMBX12 findfont dup/UniqueID known{dup 11 dict begin /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /ZNEEDW+CMBX12 def +/FontName /XCHSJH+CMBX12 def /FontBBox {-53 -251 1139 750 }readonly def /PaintType 0 def /FontInfo 9 dict dup begin @@ -7285,6 +7508,7 @@ dup 107 /k put dup 108 /l put dup 109 /m put dup 110 /n put +dup 57 /nine put dup 111 /o put dup 49 /one put dup 112 /p put @@ -7333,47 +7557,34 @@ R 5~`31>pajdoT&]J[[@ǿ&#F8i ^9<we+-lBdv>B2p["j FSoa9"1ܟ`IC"9²xG@,ty ďuo1H?$YM;oia=ۓe%H-+XH "'$wfS"o3"fŕ -?JЂ.~e/@CowK*VeMU&~7;V^"&%~޷$6v%? "1(ʲv#Z)H2A{*5a4h+`KPY#LDE#@]8.| qML$ZMgurB2Y {rqf^grB0y7J,/(^uI7L5f8G ;-1mg%&E0#3i; "m_f9NA?~!5mK~F7 /*-xމ/,Yy81(ޝJsߞ4kFx`NA\ -XLqT0%]*VWALҿv wL8mv|cPϨ+HP1'LSe޹%' -ƒ7+r4RE&7B؞Dg<&? -[0+sKt5p%$qntoOM<=(Ck@>R˯s0pN߲\u6410H :E1:_]تpM9V;i=m|?#0wW-͖☈<5V -l$MoWpG)r}aU sK"k`$)NDcxXŁe;03hfK,tRJ6"D{k˷\ -e^ۦrf⡁R[S Q-kV4b;v؆-{&vUf||w3-o2]s'=m33,QSF7FrݥDFܗ'SSu BL<1öCW3ȆP -Ptc :8F\5Qtڗf)"iA:8~ oãSPD0ryaj|y,* m֡ wE# m=J6Ey@;q?nsU;Mt1|6{[v`*~Aݽd)'[\wj˲rm"Wruٓ$j_uܐ`|tu~˗o3]P'OpS>^9MMo6M*Q-uF4$ED?QvIQJ87iW're L[4$-H3fO qa=%h KHx - -|r$JQ& 'fl"-J̆a jӔ0C 6=c~xG\@O7u)CZ"m>gyfWz5t -:i~@a|(!NELq`?].d1 H-p2hcBiՐcQ)gW;63IZ=7iG h`^`vv@sI$d:.q%2HON9q,A빶M12$VPq<Q&m5tYa%J:%^_)WU{SF Mxvqd,^6y:#C1Xe --DL#`((ʛnEJԼq͌N$Jͽ ?fj1 -uWWjW 'IDne玬D;-؏!I;51IH#E!oc~ˤr' }sيBt0fGBR(JXV c.mQ8@<J*mNC'U݀74TưpF@/bÈr\`']ʁ-Z1U֖!䙅%c.zX:驊Aa~|%P.T5ed49aHғp󓋂~A-^X*e u|#!CM:v5 oCK)J+R!-'@]%NY  -tYT<kIq>Us{$$pSK;& q@(&EbopixO,johR8s~*!r2/ߜ\c9dnJA -nď")9cTsA ?IDω0{GA~oYFxϫY]à&"kAhMWC6قg*H?4s j&4CYrH19ǂ02ˮzHuz;_RIФIR_|!u<}#Xrw{Ⱦ1^S?RjX3;U2`kj^_) gy^bdU#iI#ٶ2% sу"ӑR6(R0~UcsDL}̋Yl'9qp`j -yTlZE텑}zk*;fhgSxvJ\8 -p/+6GfxfwEa;m-S$8-Xnj"GݖVNl?|T-"<0V2AjK1.Ck<Ųż5 Ӑݺq_{OWHcrfMeU"p -xRkXOiܥiVКye re_-Y#,'7Ik Ltb(CDYvɅq|A)J#lgZCD[[%fjiQre&xi@#ulpzKطz`8X+LMF"=ה+Ȅ}ϧjT$t  mZwxx65q[e@+:EdH۱dWaR\T(2* /D8"F1!vpC4Ddly.xPADE4e=e4ˌWKJ 30>RsԽq-QknHeKF=q|l*G֭D)ZmiױS_6ܸhR"{%Vǩ+OԢb" y -V.xF7T C<9] Bv`ٚip2P ЪqSoS$)PI.됝LB<ZW!jCLy4I6 -6syaޡNk>R+vd *hN,S5:^v -̨A :#ܙlxxESx -/Oa, 1{ڥCJExxQjA?fO}GDǃŒ52[19"ʂUw}ԙ 1GOI8YE)(ζ_xZTpSnhnL dfEH9#UI3 !uk< pT|S/-Nm7obOr>Q<2 *,[`Alr 3WmYQX1GtӓM$dʲ%3#0/W-H~^o1I+Pt󄸅k sVQ) [n/2}&Mq|+wA6j([3}*(Yd\%L5xx=?bEY 2YeAt*_|Pgc\^Z]R^H:XdO\o#עT5@his& W%-ME;)gg'^|*FPmJE @z Kp=k - gqaZ(P1n.37S&g;k%UW[B9+m> w2P{٥EQ~LF7JTz^#@ٸtR aLhyCP[-P_]#2<ߥG ;ez[i8W MlJ6Iۚ# _6Ƭ<6 ێA; uXA9Б:Ds \-C˝%lq~:|wΦ}9=vRY#Q$~ ֵ鎟!6qF/EišhdX&]f8Pn nm4S uz4 ndm>RR-w{_; \Ulœ=6{9j;bfbU# LUhȂ쾼x\Wh'9Iv%mw TKq{ .D’XXV[ 2-4}vNeaBwN0=*Ci}3ZMfН@ڃz;St;΍5כ-E]RlM4qzo ɦ޴)q GoP^sY,Yv:"أmxeVI]S{JG 818}t77}7u -Ÿ>>Ɉ -.QDZu2Zx!d%% -տ{P~8PU)R -Э(k# H9oz -.XNOMc -պtfBg99 dz+Yld)DY=9ˊ;Z>tZLu׹BoAyMz a/\eP``G'^ꯔZ1EJSAAY4ѯ-A0H!bbi5]'+| .Te0a\/!#φ Ԗm*R,eĈZ?E` % JKL!t0AXPldhP!vxgy#j;=䐤C9P| -5RTENT/8Z`[A|JR1% K!">O6aIFnkyb[-}O%K4Ł)m} *Zu<FĐ!L1=h$Ȱms*VL+.y nd6us:6>Q3-،@m[';(6-C+3"nmsS{l#LS]09rt|۾(T6C8 {' Q7ۍ%TW34fs*}uUӅzgH;qcØ{O{37t\}"?)z}v4zk_&_`ןZ^f6 VűLd7e}3¹^QK@7󅵹C?jV`|@<-X+Dd!B;@'$ ˗.r}R/ѳo]r\ˍ|:}_}]k\Vde^1 0=vꦼ#ez1.ܵk}a0-|t/+D堼Hrk{O#4!0Nפ7`l/f\_cd|~Ř )֏i/_L5@u1D-'|@mw_cӛt׽6OUU5!zwr>_F֠3SΊo]I ,W zf1f.l=ʏ5@>VũI e'[H8Iӂ<ųNes;cÍmتŨDMՄ3N9n Lp; } Wr;:4&<`IV?w`'ZOU>ׄCdkI b(ĂM?^?z&RylWHVO9")$rʟfMs?Y'YFrA0@A]:oW.e1"گC`}`a=`,,n1>aKcVO{;U7Rj-lD Rz۪Y&FFL,!0]yv̴)sjw3tBXn"4 #CT10߀ »',[N@5a#CkTϹf16#>,,5̿n{x%JXtVc_VBD  -)!ۚRWj[V5:Dme|-nԦ4v}{"J**áb41P̝ȼ&3}QJt(H.V/B!ƙ#6י  ~Ҧ:5?KvQz%6 hR$>B f0ڿcB>:HhANm=dӈ%MҏFٚ1Q>;S\aR,SrBT[~vc^0(3"#6 폺O̧JN ˻H`CIr>b@!P4]4 {|UȀTJxW![ B.̛gtHaȺnJ|W*B\~A΍wVJՏ\nLD('@"!kX&8n7E AWΦ~}&|2K{"wJi7 ̃5uiȾ, ?􀂄p|U%$aO`$VEXY>x[]~i^dtFPyQ#R h@ȭ3抇w'ſ:tFgG"fQO4l#vR!-U[i#HXݕ6HM]<N*&&w ;mYc6aQzkR j`1?w0=ӑ$Nd=Mqk8+pz .qǵ(`_ՙ,F5e l ZZdm "$ gE( sӰЅFuזx2= - Ͼֱw\K׳q۶ݶ/{5)BA -9p K(Q'V[whVƧP +?JЂ.~e/@CowK*VeMU&~7;V^"&%~޷$6v%? "1(ʲv#Z)H2A{*5a4h+`KPY"fgE|%SV>@9 igּfKxX\t85?EK~\ *~:Q&R숱mF{72epU5B<#$ө!֣' +N'6me+2wகn xV46NQIu +2qZaO3) WԐ.Gd_*-Zi0TbJCZfJsz]d)}F319H 9{ӽnt"z`fXi o5U?Et_4i=E=ʷD\"T)P,HWP ++B v}nhhU:Tuj{qGIhj[$ۙQ0!{FrvQm(Lsg Ȃgei@}XeGYnL+h2 X=bW}>R^*T-},'W{L_'b4!̉%y2Ѯ\d`xk7Fh[ ή@[ 0{VQ P!cn@v[?9 t1$®CRB2jNR{ǹDCJv@VB+z!y(3,C޵ґw[ ԝz:F>ekǴbka߽{]9dz ysWX2G|:n1L r"?nFf?E=Qi]xb;: \= Ȏo:՝1TR leI.61+6?& aVPT[*]lC}Q{#TC ]_6i(cEFb,^ ى$)V^Mڂʢ._Ƅn!nĞ"1vF6!ώr]'z_C8* Sf|ᗠX"Tz<umàT7Nuo n!sXE(uQ>&l>#NINtV-,Pv>̞}_!kvKd?*g QpPp@@:;QafӘF>dQQ55zNfQ$pvC6eZ׾vSlzP>ksxYkٻʙIA1$z4ԈC"Í?kY'4)`vBzTn쁕>h0-_x6pIfO=q@-nȑ2q9Cz,>i@t Āձs!<3&L'!sҜ4*pP"'E{nL82ҝǞx3}P/?Gi)e'dR AXZ+R + otQ)6]Uݸ: )k\=񘫀~ F%3ֈ$'3/Cj:ƮraT |Ca,﷘j|["-.0WlEi3irn+>nd`w,Y"D%EnFdm' ~KipdJ 3 3?7\/N Z@<ѳ!ٗ+)ZI1 0՜!f@qdD+E)H5V s2 e=Ig\ POzHT; 8>ap"P䎊=:}{<НD<$-y4C0dHW΃f=PS + hūlxopq: <^M޲.8^P]Ycpȳc(}) ̍ &IVckxzyN h FVlH(uy$(/s9|C>2AŽzN!(3薪q@xs, +/!-NF8{LN,UtsBN{aq#]25a#E!>b: +QRRz,aWcR9FRK> RV/ªo=Y,]Cv:V > |]^g>[QEȎ+<<͋z|,-pMCyҧ^rmFw%پ +̉؁J﷘:qJP1%1m)h +.:zL,a)[XrPt.dGo"[!& 9L;>%piUDɆf\R-٪8Ŧ?|'>?aZ,J#3(o.dotD[Hȼ֒=Hl$>}ˬ9FgV1 ˌKJίuͬpV?\>!NK\Yj Nhe O4[2 i2p2 E|JPy',Xw `Y{"Qf#6!z)3A̘r9bmp- eFOڊwm>L/HgAɲ2lȼ6Ϋ^qY0-HGkǮC5?Nw[^=iBжYigiR !)PL<9~Rp ]9 .|)y)d Os!o{*W;}n˷LMR"ⲉӫLWU V}4aƜO|hKtdU$ m:{84;~L0 |B`M4yg:Ẍ́MzAPbjK?Д2Dcvg3ӌ|s>8,/" +b{,O`XR85UQ`2uj#@~MrN8sԗ< cnThR ]>9>;u#U-*Zh"Jl (P1f9M`m. C(iu6r<'9vG":\0?Gnp劯Mea*('='ͮt!(JCE"4@&6-($Q y)b=O /4Ӳ5eU{'* Ðb<5Ayz>v46K)Dpj=J@ +qA(޲_FMO=u]R"ӱ{Ju?,(/_\+J_^OX-cTŌ.+StzBɦ<Ҥ¤]|;Rd&+ +z|er#;XJ^R3{0UpADL[*-Qa^N~%pCwٴ+?]sn5`v>wv-.a#wq8+TR r$h_l!VDеצ>?pD^RA&~=p.BOXY3W 6)i&o*THm}rR6Mh/BgG!3LGƇmy䀤%̐|peqHhJ<Lf_y"'W>bzr;}Q0OD*v,f d4zm}S AzRK%Rv.Ag4x^,YvXk_2QHDŬZow%]j!ZvT5#:]֨G^m>/fLuh06*Tsto'/,E\#"Dv~0XطU)X^WD:sΫ lyվyXY, gE8}Y{Z>^QF_q&8| >ڸs`rYcylӻbee7@Av2+4c%rs; U'vD:_{絝% WA[iY\!d +Z3qi8֊td9(Q -C % 6 b aTxEksx~0ݑ.nCG Aqw4!iBEv6H=,)ܫoLZϞQ XS69bbypw㘤Wa +{@-66-SX">"p8oZ,VդB1&4)j$PUL\MDEs!'$.[rEN-d?=@NsqGFK3Ũbִ^ŕL&j` ?ʔ +֑\WR)cJK)`S{&[yGn{8/(1&گNA>cSr e)؁c }|7}RsrمǤdN+;NtDFT`YeǦ6Faq-\%a~PSM1Z0g=8-="+W%~s1fTp팒;+BX?,~ %h퀱o!]B{S܍M! ¿yJQG;'8kf%/fu Ll`k C_vqʷO` 4SP!CQ m Zs*(} ۷w8Qv0앨Dty$@jwi3sg,'RڣI,R#cpwVKE:jI}IV]D Iq^uU~,oVFEX.pzCALƷ#, [?v /zmęM'S" `͚C^KA1J̓2?gR?|"ձ1rA/RvL +nxz V!jQ;%)6"h gUsͳ_}wqx⫻\UMɃ3oΪ0 >'kݼ*".T1\ZM/44NpHG(`nQf_t1?hM1[(f}FTLaxczvimai+ǔq hs]ެ(DןJW1$UMhO|,pN\<>AݮߚQj^ä/& :gu-3`{e>}n:%Iי{_I#omm; +; SfLhqOzJĆNax8^fI+E<%*_p'(3YR73~(fXH7ƒgNwi6PHb%LxD@?jp[:sJUn:br +gL(H hUQ60Y3"\d7e1/=OD2@vy/pXF=Tbf2y (04i}lHs7MOÚa?rdz/r)&Du9tgx5r nigqh X .|! 9cw ɛbRkD]<v7Ǐ 0Ky7Z99[6W[|GvLK۝*/p_7Ug^Z| >-k,: /mp' Hb7A1q[e[ɛP`D♈azM40bN|MY<QJG$Mxș/ۿ,v{BE'V+a~ N"K-󥐥zkIB3[]E[5wv|?1E`| g!&6]#&_MPw.t ĹچSVH'ú' c؅?Tpt9K2Y |oQ%pe2kɩFfSfS/r$ܬݢwG3 %MX6 ѺƀլC۷!$ڠq;'; +UlX&_H7K(C~@hTT EIGx6$amD͑6Mzhޤb7[ȼ"ٔROkQpD߂XYPKL:&Z IZ ūH\Ec9g/ʵ,Ik3̹1܃zZĉVbaw )!v 1ru|[Z9Z}+,$xRKރH7jR[U endstream endobj -617 0 obj +663 0 obj << /Length1 2067 /Length2 14426 @@ -7527,7 +7738,7 @@ L Cp#mRuWVf}/fsgB9ŰˆQa!X|n`p"I!\9DC931 endstream endobj -619 0 obj +665 0 obj << /Length1 1539 /Length2 6948 @@ -7607,7 +7818,7 @@ W KdN늦)^bI|_|Kż7mf:="<dڄ`Pc9$++wgD' endstream endobj -621 0 obj +667 0 obj << /Length1 1946 /Length2 13085 @@ -7750,7 +7961,7 @@ r%lw > endstream endobj -623 0 obj +669 0 obj << /Length1 1418 /Length2 6498 @@ -7827,7 +8038,7 @@ JVz 9 ju,ʏl_P!V%*<"-" 8q, {Pv:v endstream endobj -625 0 obj +671 0 obj << /Length1 1594 /Length2 8979 @@ -7930,7 +8141,7 @@ E 6lӂ >X4HswP>Oд@ w_93/ endstream endobj -627 0 obj +673 0 obj << /Length1 2717 /Length2 23393 @@ -8162,7 +8373,7 @@ V, 8ǁ1Y}M~2w^fǸMI/,3=(5ǩcCuTP!C+QSf +Y kL1bV\ĠO=ڋC!X!͋1=ӝx>sJsecnOf iD q K @ _q߯Н\>3$GO ;PT:LZ˄"C1/1-6z,efb.K;9ZP?ljXigR%(W635EZqZ֣ezcyg! 2EMR}Z~;r`]{_ IyO!JZ:>3f(R4}Afh,M'6ܭLia'4Anr 2vl@P?C+7;uױ^`IAsۮ(\k^0P?=˼{.~4,.}Nm*L%~ W/q>*:C¬^oĪcO=|,7l0ѳq Ą-@Mbǜ7iFCAlL( PGIݗk endstream endobj -639 0 obj +685 0 obj << /Length1 2278 /Length2 19476 @@ -8789,7 +9000,7 @@ ZPQb \ r2dqw.pd;`h"џ>H H+-`Mqfpiw/e20N"AQqv8tuT.WZc;}F/vwN$;ߋde~`Y8Yl/IS1a6H^ް}4M6((iKB!_u3_aLtw29bWSM5Br 9\;})ܢe7P 26ֲ>UA1oB9nx> hK 6˼* endstream endobj -641 0 obj +687 0 obj << /Length1 1786 /Length2 11772 @@ -8911,7 +9122,7 @@ fv mfj[-⍃~oAu39Q:אb?jjNKm5 LFqLQcqĮ*,w`1S҈wdP سРfUw&?☄#F0~LN !? >evĘ*_VW\7ń qr A;=rmori]%f;}!sM#=8H#Uv||rEl,^3T:EEoIHy<&QM$0dJ_ihRdTI8;חڭ8lڵ"͓VjbwܣPV^:jߧ"f`f-who5v\PS endstream endobj -643 0 obj +689 0 obj << /Length1 2769 /Length2 19845 @@ -9119,7 +9330,7 @@ bV wtYD7yۤWg.Cه˸|)ydIX%VݷC<9B*{~)Σv9HX<%M7s`.C endstream endobj -645 0 obj +691 0 obj << /Length1 1306 /Length2 1345 @@ -9169,30 +9380,156 @@ currentfile eexec jY r["Nh,KC"m` \338t5(;LrS Ua{Pjx$ǔ(mR ֖ alC_-cI#g6R2ѷE09Vm4w%{-Oֆ@ѷoBJG5 rgH(ütiJ&lR:UF,/SĈfՁ: P8A9ӨVq5;ӜΒzAuuw$A^Y M/ ^v" endstream endobj -612 0 obj +637 0 obj << /Type /ObjStm /N 100 -/First 919 -/Length 17366 +/First 934 +/Length 20264 >> stream -611 0 614 632 616 981 618 1345 620 1682 622 1991 624 2312 626 2535 628 2783 630 3330 -632 3680 634 3906 636 4136 638 4508 640 4760 642 5148 644 5421 646 5991 175 6203 124 6342 -137 6481 349 6621 195 6759 335 6898 331 7036 136 7174 126 7312 336 7450 334 7586 227 7722 -333 7860 277 7996 125 8135 225 8274 332 8413 127 8551 196 8663 283 8775 354 8887 426 8999 -485 9111 516 9223 559 9335 590 9447 647 9527 648 9640 649 9729 650 9794 116 9862 112 9934 -108 10020 104 10106 100 10191 96 10262 92 10345 88 10427 84 10509 80 10591 76 10673 72 10755 -68 10824 64 10944 60 11000 56 11118 52 11187 48 11269 44 11338 40 11456 36 11525 32 11607 -28 11689 24 11771 20 11840 16 11958 12 12039 8 12119 4 12184 651 12276 652 12444 653 12601 -654 12801 655 13008 656 13241 657 13455 658 13657 659 13846 660 14013 661 14178 662 14342 663 14507 -664 14670 665 14833 666 14996 667 15155 668 15335 669 15510 670 15712 671 15927 672 16142 673 16320 -% 611 0 obj +248 0 299 54 301 108 278 162 633 216 639 335 641 449 279 503 283 557 234 611 +233 665 281 719 280 772 302 826 230 880 367 934 229 988 282 1042 228 1096 346 1150 +232 1204 638 1258 642 1364 643 2060 644 2128 645 2432 646 2560 647 2914 648 2934 649 3306 +650 3970 651 4613 652 5003 653 5595 654 6223 655 6730 656 7375 657 7970 658 8254 660 8886 +662 9243 664 9612 666 9949 668 10258 670 10579 672 10802 674 11050 676 11597 678 11947 680 12173 +682 12403 684 12775 686 13027 688 13415 690 13688 692 14258 205 14470 148 14609 161 14748 379 14888 +225 15026 365 15165 361 15303 160 15441 150 15579 366 15717 364 15853 257 15989 363 16127 307 16263 +149 16402 255 16541 362 16680 151 16818 226 16930 314 17042 384 17154 457 17266 515 17378 546 17490 +591 17602 628 17714 693 17810 694 17923 695 18012 696 18077 140 18145 136 18217 132 18303 128 18389 +124 18474 120 18548 116 18636 112 18724 108 18812 104 18886 100 18998 96 19083 92 19166 88 19248 +% 248 0 obj +<< +/D [634 0 R /XYZ 93.6 319.935 null] +>> +% 299 0 obj +<< +/D [634 0 R /XYZ 93.6 268.273 null] +>> +% 301 0 obj +<< +/D [634 0 R /XYZ 93.6 216.611 null] +>> +% 278 0 obj +<< +/D [634 0 R /XYZ 93.6 164.948 null] +>> +% 633 0 obj +<< +/Font << /F42 161 0 R /F15 160 0 R /F17 148 0 R /F18 307 0 R /F45 255 0 R >> +/ProcSet [ /PDF /Text ] +>> +% 639 0 obj +<< +/Type /Page +/Contents 640 0 R +/Resources 638 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 628 0 R +>> +% 641 0 obj +<< +/D [639 0 R /XYZ 85.4 752.957 null] +>> +% 279 0 obj +<< +/D [639 0 R /XYZ 86.4 715.095 null] +>> +% 283 0 obj +<< +/D [639 0 R /XYZ 86.4 670.542 null] +>> +% 234 0 obj +<< +/D [639 0 R /XYZ 86.4 622.659 null] +>> +% 233 0 obj +<< +/D [639 0 R /XYZ 86.4 574.776 null] +>> +% 281 0 obj +<< +/D [639 0 R /XYZ 86.4 526.59 null] +>> +% 280 0 obj +<< +/D [639 0 R /XYZ 86.4 478.405 null] +>> +% 302 0 obj +<< +/D [639 0 R /XYZ 86.4 429.613 null] +>> +% 230 0 obj +<< +/D [639 0 R /XYZ 86.4 381.427 null] +>> +% 367 0 obj +<< +/D [639 0 R /XYZ 86.4 346.791 null] +>> +% 229 0 obj +<< +/D [639 0 R /XYZ 86.4 325.703 null] +>> +% 282 0 obj +<< +/D [639 0 R /XYZ 86.4 280.245 null] +>> +% 228 0 obj +<< +/D [639 0 R /XYZ 86.4 243.487 null] +>> +% 346 0 obj +<< +/D [639 0 R /XYZ 86.4 208.851 null] +>> +% 232 0 obj +<< +/D [639 0 R /XYZ 86.4 160.665 null] +>> +% 638 0 obj +<< +/Font << /F15 160 0 R /F42 161 0 R /F18 307 0 R /F45 255 0 R >> +/ProcSet [ /PDF /Text ] +>> +% 642 0 obj +[458.3 458.3 416.7 416.7 472.2 472.2 472.2 472.2 583.3 583.3 472.2 472.2 333.3 555.6 577.8 577.8 597.2 597.2 736.1 736.1 527.8 527.8 583.3 583.3 583.3 583.3 750 750 750 750 1044.4 1044.4 791.7 791.7 583.3 583.3 638.9 638.9 638.9 638.9 805.6 805.6 805.6 805.6 1277.8 1277.8 811.1 811.1 875 875 666.7 666.7 666.7 666.7 666.7 666.7 888.9 888.9 888.9 888.9 888.9 888.9 888.9 666.7 875 875 875 875 611.1 611.1 833.3 1111.1 472.2 555.6 1111.1 1511.1 1111.1 1511.1 1111.1 1511.1 1055.6 944.4 472.2 833.3 833.3 833.3 833.3 833.3 1444.4 1277.8 555.6 1111.1 1111.1 1111.1 1111.1 1111.1 944.4 1277.8 555.6 1000 1444.4 555.6 1000 1444.4 472.2 472.2 527.8 527.8 527.8 527.8 666.7 666.7 1000 1000] +% 643 0 obj +[935.2 351.8 416.7 351.8 611.1 611.1 611.1 611.1 611.1] +% 644 0 obj +[379.6 963 638.9 963 638.9 658.7 924.1 926.6 883.7 998.3 899.8 775 952.9 999.5 547.7 681.6 1025.7 846.3 1161.6 967.1 934.1 780 966.5 922.1 756.7 731.1 838.1 729.6 1150.9 1001.4 726.4 837.7 509.3 509.3 509.3 1222.2 1222.2 518.5 674.9 547.7 559.1 642.5 589 600.7 607.7 725.7 445.6 511.6 660.9] +% 645 0 obj +[826.4 295.1 354.2 295.1 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 295.1 295.1 295.1 826.4] +% 646 0 obj +[826.4 295.1 826.4 531.3 826.4 531.3 826.4 826.4 826.4 826.4 826.4 826.4 826.4 1062.5 531.3 531.3 826.4 826.4 826.4 826.4 826.4 826.4 826.4 826.4 826.4 826.4 826.4 826.4 1062.5 1062.5 826.4 826.4 1062.5 1062.5 531.3 531.3 1062.5 1062.5 1062.5 826.4 1062.5 1062.5 649.3 649.3 1062.5 1062.5 1062.5 826.4 288.2 1062.5 708.3 708.3 944.5 944.5 0] +% 647 0 obj +[722.2] +% 648 0 obj +[295.1 826.4 531.3 826.4 531.3 559.7 795.8 801.4 757.3 871.7 778.7 672.4 827.9 872.8 460.7 580.4 896 722.6 1020.4 843.3 806.2 673.6 835.7 800.2 646.2 618.6 718.8 618.8 1002.4 873.9 615.8 720 413.2 413.2 413.2 1062.5 1062.5 434 564.4 454.5 460.2 546.7 492.9 510.4 505.6 612.3 361.7 429.7 553.2 317.1 939.8 644.7 513.5 534.8 474.4 479.5 491.3 383.7 615.2 517.4] +% 649 0 obj +[613.3 562.2 587.8 881.7 894.4 306.7 332.2 511.1 511.1 511.1 511.1 511.1 831.3 460 536.7 715.6 715.6 511.1 882.8 985 766.7 255.6 306.7 514.4 817.8 769.1 817.8 766.7 306.7 408.9 408.9 511.1 766.7 306.7 357.8 306.7 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 306.7 306.7 306.7 766.7 511.1 511.1 766.7 743.3 703.9 715.6 755 678.3 652.8 773.6 743.3 385.6 525 768.9 627.2 896.7 743.3 766.7 678.3 766.7 729.4 562.2 715.6 743.3 743.3 998.9 743.3 743.3 613.3 306.7 514.4 306.7 511.1 306.7 306.7 511.1 460 460 511.1 460 306.7 460 511.1 306.7 306.7 460 255.6 817.8 562.2 511.1 511.1 460 421.7 408.9 332.2 536.7 460 664.4 463.9 485.6 408.9] +% 650 0 obj +[777.8 277.8 777.8 500 777.8 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 500 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 1000 777.8 777.8 1000 1000 500 500 1000 1000 1000 777.8 1000 1000 611.1 611.1 1000 1000 1000 777.8 275 1000 666.7 666.7 888.9 888.9 0 0 555.6 555.6 666.7 500 722.2 722.2 777.8 777.8 611.1 798.5 656.8 526.5 771.4 527.8 718.7 594.9 844.5 544.5 677.8 762 689.7 1200.9 820.5 796.1 695.6 816.7 847.5 605.6 544.6 625.8 612.8 987.8 713.3 668.3 724.7 666.7 666.7 666.7 666.7 666.7 611.1 611.1 444.4 444.4 444.4 444.4 500 500 388.9 388.9 277.8 500 500 611.1 500 277.8 833.3] +% 651 0 obj +[525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] +% 652 0 obj +[469.4 353.9 576.2 583.3 602.5 494 437.5 570 517 571.4 437.2 540.3 595.8 625.7 651.4 622.5 466.3 591.4 828.1 517 362.8 654.2 1000 1000 1000 1000 277.8 277.8 500 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 500 777.8 500 530.9 750 758.5 714.7 827.9 738.2 643.1 786.2 831.3 439.6 554.5 849.3 680.6 970.1 803.5 762.8 642 790.6 759.3 613.2 584.4 682.8 583.3 944.4 828.5 580.6 682.6 388.9 388.9 388.9 1000 1000 416.7 528.6 429.2 432.8 520.5 465.6 489.6 477 576.2 344.5 411.8 520.6 298.4 878 600.2 484.7 503.1 446.4 451.2 468.7 361.1 572.5 484.7 715.9 571.5 490.3 465] +% 653 0 obj +[638.9 638.9 958.3 958.3 319.4 351.4 575 575 575 575 575 869.4 511.1 597.2 830.6 894.4 575 1041.7 1169.4 894.4 319.4 350 602.8 958.3 575 958.3 894.4 319.4 447.2 447.2 575 894.4 319.4 383.3 319.4 575 575 575 575 575 575 575 575 575 575 575 319.4 319.4 350 894.4 543.1 543.1 894.4 869.4 818.1 830.6 881.9 755.5 723.6 904.2 900 436.1 594.4 901.4 691.7 1091.7 900 863.9 786.1 863.9 862.5 638.9 800 884.7 869.4 1188.9 869.4 869.4 702.8 319.4 602.8 319.4 575 319.4 319.4 559 638.9 511.1 638.9 527.1 351.4 575 638.9 319.4 351.4 606.9 319.4 958.3 638.9 575 638.9 606.9 473.6 453.6 447.2 638.9 606.9 830.6 606.9 606.9 511.1] +% 654 0 obj +[319.4 436.1 436.1 552.8 844.4 319.4 377.8 319.4 552.8 552.8 552.8 552.8 552.8 552.8 552.8 552.8 552.8 552.8 552.8 319.4 319.4 844.4 844.4 844.4 523.6 844.4 813.9 770.8 786.1 829.2 741.7 712.5 851.4 813.9 405.6 566.7 843 683.3 988.9 813.9 844.4 741.7 844.4 800 611.1 786.1 813.9 813.9 1105.5 813.9 813.9 669.4 319.4 552.8 319.4 552.8 319.4 319.4 613.3 580 591.1 624.4 557.8 535.6 641.1 613.3 302.2 424.4 635.6 513.3 746.7 613.3 635.6 557.8 635.6 602.2 457.8 591.1 613.3 613.3 835.6 613.3 613.3] +% 655 0 obj +[722.2 583.3 555.6 555.6 833.3 833.3 277.8 305.6 500 500 500 500 500 750 444.4 500 722.2 777.8 500 902.8 1013.9 777.8 277.8 277.8 500 833.3 500 833.3 777.8 277.8 388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 277.8 777.8 472.2 472.2 777.8 750 708.3 722.2 763.9 680.6 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.6 777.8 736.1 555.6 722.2 750 750 1027.8 750 750 611.1 277.8 500 277.8 500 277.8 277.8 500 555.6 444.4 555.6 444.4 305.6 500 555.6 277.8 305.6 527.8 277.8 833.3 555.6 500 555.6 527.8 391.7 394.4 388.9 555.6 527.8 722.2 527.8 527.8 444.4 500 1000 500 500 500] +% 656 0 obj +[544 544 816 816 272 299.2 489.6 489.6 489.6 489.6 489.6 734 435.2 489.6 707.2 761.6 489.6 883.8 992.6 761.6 272 272 489.6 816 489.6 816 761.6 272 380.8 380.8 489.6 761.6 272 326.4 272 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 272 272 272 761.6 462.4 462.4 761.6 734 693.4 707.2 747.8 666.2 639 768.3 734 353.2 503 761.2 611.8 897.2 734 761.6 666.2 761.6 720.6 544 707.2 734 734 1006 734 734 598.4 272 489.6 272 489.6 272 272 489.6 544 435.2 544 435.2 299.2 489.6 544 272 299.2 516.8 272 816 544 489.6 544 516.8 380.8 386.2 380.8 544 516.8 707.2 516.8 516.8] +% 657 0 obj +[726.9 688.4 700 738.4 663.4 638.4 756.7 726.9 376.9 513.4 751.9 613.4 876.9 726.9 750 663.4 750 713.4 550 700 726.9 726.9 976.9 726.9 726.9 600 300 500 300 500 300 300 500 450 450 500 450 300 450 500 300 300 450 250 800 550 500 500 450 412.5 400 325 525 450 650 450 475] +% 658 0 obj [625 625 937.5 937.5 312.5 343.7 562.5 562.5 562.5 562.5 562.5 849.5 500 574.1 812.5 875 562.5 1018.5 1143.5 875 312.5 342.6 581 937.5 562.5 937.5 875 312.5 437.5 437.5 562.5 875 312.5 375 312.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 312.5 312.5 342.6 875 531.2 531.2 875 849.5 799.8 812.5 862.3 738.4 707.2 884.3 879.6 419 581 880.8 675.9 1067.1 879.6 844.9 768.5 844.9 839.1 625 782.4 864.6 849.5 1162 849.5 849.5 687.5 312.5 581 312.5 562.5 312.5 312.5 546.9 625 500 625 513.3 343.7 562.5 625 312.5 343.7 593.7 312.5 937.5 625 562.5 625 593.7 459.5 443.8 437.5 625 593.7 812.5 593.7 593.7] -% 614 0 obj +% 660 0 obj << /Type /FontDescriptor -/FontName /GSGTRH+CMBX10 +/FontName /WOELMG+CMBX10 /Flags 4 /FontBBox [-56 -250 1164 750] /Ascent 694 @@ -9201,13 +9538,13 @@ stream /ItalicAngle 0 /StemV 114 /XHeight 444 -/CharSet (/A/B/C/D/E/F/G/H/I/K/L/M/N/O/P/R/S/U/a/b/c/d/e/eight/f/fi/five/four/g/h/i/j/k/l/m/n/nine/o/one/p/period/r/s/seven/six/t/three/two/u/v/w) -/FontFile 613 0 R +/CharSet (/A/B/C/D/E/F/G/H/I/K/L/M/N/O/P/R/S/U/a/b/c/colon/d/e/eight/f/fi/five/four/g/h/i/j/k/l/m/n/nine/o/one/p/period/r/s/seven/six/t/three/two/u/v/w/z) +/FontFile 659 0 R >> -% 616 0 obj +% 662 0 obj << /Type /FontDescriptor -/FontName /ZNEEDW+CMBX12 +/FontName /XCHSJH+CMBX12 /Flags 4 /FontBBox [-53 -251 1139 750] /Ascent 694 @@ -9216,10 +9553,10 @@ stream /ItalicAngle 0 /StemV 109 /XHeight 444 -/CharSet (/A/B/C/D/E/F/G/H/I/L/M/O/P/R/S/U/a/b/c/d/e/eight/f/fi/five/four/g/h/hyphen/i/j/k/l/m/n/o/one/p/period/q/quoteright/r/s/seven/six/t/three/two/u/v/w/x/y) -/FontFile 615 0 R +/CharSet (/A/B/C/D/E/F/G/H/I/L/M/O/P/R/S/U/a/b/c/d/e/eight/f/fi/five/four/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/period/q/quoteright/r/s/seven/six/t/three/two/u/v/w/x/y) +/FontFile 661 0 R >> -% 618 0 obj +% 664 0 obj << /Type /FontDescriptor /FontName /EYIYGL+CMCSC10 @@ -9232,9 +9569,9 @@ stream /StemV 72 /XHeight 431 /CharSet (/A/B/C/D/E/G/I/L/M/O/P/R/S/U/a/b/c/d/e/eight/f/five/four/g/h/i/k/l/m/n/o/one/p/parenleft/quoteright/r/s/six/t/three/two/u/v/w/y) -/FontFile 617 0 R +/FontFile 663 0 R >> -% 620 0 obj +% 666 0 obj << /Type /FontDescriptor /FontName /YJJMFD+CMEX10 @@ -9247,9 +9584,9 @@ stream /StemV 47 /XHeight 431 /CharSet (/braceleftbigg/bracerightbigg/parenleftbig/parenrightbig/radicalBig/summationdisplay/summationtext) -/FontFile 619 0 R +/FontFile 665 0 R >> -% 622 0 obj +% 668 0 obj << /Type /FontDescriptor /FontName /VFYBNB+CMMI10 @@ -9262,9 +9599,9 @@ stream /StemV 72 /XHeight 431 /CharSet (/A/B/D/I/L/M/P/R/S/U/a/b/comma/e/greater/i/j/k/l/less/m/n/o/omega/p/period/r/rho/slash/t/theta/u/v/w/x/y/z) -/FontFile 621 0 R +/FontFile 667 0 R >> -% 624 0 obj +% 670 0 obj << /Type /FontDescriptor /FontName /PNUTJM+CMMI6 @@ -9277,9 +9614,9 @@ stream /StemV 85 /XHeight 431 /CharSet (/comma/i/k) -/FontFile 623 0 R +/FontFile 669 0 R >> -% 626 0 obj +% 672 0 obj << /Type /FontDescriptor /FontName /TWBVYQ+CMMI8 @@ -9292,9 +9629,9 @@ stream /StemV 78 /XHeight 431 /CharSet (/A/C/F/S/T/comma/e/i/j/k/l/m/n/r/v) -/FontFile 625 0 R +/FontFile 671 0 R >> -% 628 0 obj +% 674 0 obj << /Type /FontDescriptor /FontName /DKEMOU+CMR10 @@ -9307,9 +9644,9 @@ stream /StemV 69 /XHeight 431 /CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/Omega/P/R/S/T/U/V/W/X/Y/a/b/bracketleft/bracketright/c/caron/colon/comma/d/dieresis/e/eight/endash/equal/f/ff/ffi/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/macron/n/nine/o/one/p/parenleft/parenright/period/plus/q/quotedblleft/quotedblright/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/v/w/x/y/z/zero) -/FontFile 627 0 R +/FontFile 673 0 R >> -% 630 0 obj +% 676 0 obj << /Type /FontDescriptor /FontName /SNVSAK+CMR12 @@ -9322,9 +9659,9 @@ stream /StemV 65 /XHeight 431 /CharSet (/A/C/I/J/K/L/N/R/S/U/V/a/colon/comma/d/e/f/fi/g/hyphen/i/l/m/n/o/one/p/period/quotedblleft/quotedblright/r/s/seven/t/three/two/u/v/w/y/zero) -/FontFile 629 0 R +/FontFile 675 0 R >> -% 632 0 obj +% 678 0 obj << /Type /FontDescriptor /FontName /VROLGE+CMR6 @@ -9337,9 +9674,9 @@ stream /StemV 83 /XHeight 431 /CharSet (/one/plus/three) -/FontFile 631 0 R +/FontFile 677 0 R >> -% 634 0 obj +% 680 0 obj << /Type /FontDescriptor /FontName /ABQBBP+CMR8 @@ -9352,9 +9689,9 @@ stream /StemV 76 /XHeight 431 /CharSet (/equal/one/plus/two) -/FontFile 633 0 R +/FontFile 679 0 R >> -% 636 0 obj +% 682 0 obj << /Type /FontDescriptor /FontName /NSLWFJ+CMSY10 @@ -9367,9 +9704,9 @@ stream /StemV 40 /XHeight 431 /CharSet (/N/bar/bardbl/braceleft/braceright/bullet/element/equivalence/floorleft/floorright/greaterequal/minus/negationslash/propersubset/propersuperset/radical/union) -/FontFile 635 0 R +/FontFile 681 0 R >> -% 638 0 obj +% 684 0 obj << /Type /FontDescriptor /FontName /JHSYKM+CMSY8 @@ -9382,9 +9719,9 @@ stream /StemV 46 /XHeight 431 /CharSet (/infinity/minus/multiply/negationslash) -/FontFile 637 0 R +/FontFile 683 0 R >> -% 640 0 obj +% 686 0 obj << /Type /FontDescriptor /FontName /FPIMLF+CMTI10 @@ -9397,9 +9734,9 @@ stream /StemV 68 /XHeight 431 /CharSet (/A/B/C/D/E/F/G/I/K/L/M/N/O/P/R/S/T/U/V/a/b/c/colon/comma/d/e/eight/f/ff/fi/five/four/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/period/q/quoteright/r/s/t/three/two/u/v/w/x/y/z/zero) -/FontFile 639 0 R +/FontFile 685 0 R >> -% 642 0 obj +% 688 0 obj << /Type /FontDescriptor /FontName /YRQLNB+CMTI12 @@ -9412,9 +9749,9 @@ stream /StemV 63 /XHeight 431 /CharSet (/A/B/D/L/M/P/S/T/a/b/c/d/e/f/g/h/i/k/l/m/n/o/p/r/s/t/u/v/y) -/FontFile 641 0 R +/FontFile 687 0 R >> -% 644 0 obj +% 690 0 obj << /Type /FontDescriptor /FontName /SBOMTR+CMTT10 @@ -9427,9 +9764,9 @@ stream /StemV 69 /XHeight 431 /CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/a/asciitilde/asterisk/b/backslash/bracketleft/bracketright/c/colon/comma/d/dollar/e/eight/equal/exclam/f/five/four/g/greater/h/hyphen/i/j/k/l/less/m/n/nine/o/one/p/parenleft/parenright/percent/period/plus/q/quotedbl/quoteleft/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero) -/FontFile 643 0 R +/FontFile 689 0 R >> -% 646 0 obj +% 692 0 obj << /Type /FontDescriptor /FontName /QDTWCG+MSBM10 @@ -9442,280 +9779,327 @@ stream /StemV 40 /XHeight 463 /CharSet (/R) -/FontFile 645 0 R +/FontFile 691 0 R >> -% 175 0 obj +% 205 0 obj << /Type /Font /Subtype /Type1 -/BaseFont /GSGTRH+CMBX10 -/FontDescriptor 614 0 R +/BaseFont /WOELMG+CMBX10 +/FontDescriptor 660 0 R /FirstChar 12 -/LastChar 119 -/Widths 606 0 R +/LastChar 122 +/Widths 653 0 R >> -% 124 0 obj +% 148 0 obj << /Type /Font /Subtype /Type1 -/BaseFont /ZNEEDW+CMBX12 -/FontDescriptor 616 0 R +/BaseFont /XCHSJH+CMBX12 +/FontDescriptor 662 0 R /FirstChar 12 /LastChar 121 -/Widths 611 0 R +/Widths 658 0 R >> -% 137 0 obj +% 161 0 obj << /Type /Font /Subtype /Type1 /BaseFont /EYIYGL+CMCSC10 -/FontDescriptor 618 0 R +/FontDescriptor 664 0 R /FirstChar 39 /LastChar 121 -/Widths 607 0 R +/Widths 654 0 R >> -% 349 0 obj +% 379 0 obj << /Type /Font /Subtype /Type1 /BaseFont /YJJMFD+CMEX10 -/FontDescriptor 620 0 R +/FontDescriptor 666 0 R /FirstChar 0 /LastChar 113 -/Widths 595 0 R +/Widths 642 0 R >> -% 195 0 obj +% 225 0 obj << /Type /Font /Subtype /Type1 /BaseFont /VFYBNB+CMMI10 -/FontDescriptor 622 0 R +/FontDescriptor 668 0 R /FirstChar 18 /LastChar 122 -/Widths 605 0 R +/Widths 652 0 R >> -% 335 0 obj +% 365 0 obj << /Type /Font /Subtype /Type1 /BaseFont /PNUTJM+CMMI6 -/FontDescriptor 624 0 R +/FontDescriptor 670 0 R /FirstChar 59 /LastChar 107 -/Widths 597 0 R +/Widths 644 0 R >> -% 331 0 obj +% 361 0 obj << /Type /Font /Subtype /Type1 /BaseFont /TWBVYQ+CMMI8 -/FontDescriptor 626 0 R +/FontDescriptor 672 0 R /FirstChar 59 /LastChar 118 -/Widths 601 0 R +/Widths 648 0 R >> -% 136 0 obj +% 160 0 obj << /Type /Font /Subtype /Type1 /BaseFont /DKEMOU+CMR10 -/FontDescriptor 628 0 R +/FontDescriptor 674 0 R /FirstChar 10 /LastChar 127 -/Widths 608 0 R +/Widths 655 0 R >> -% 126 0 obj +% 150 0 obj << /Type /Font /Subtype /Type1 /BaseFont /SNVSAK+CMR12 -/FontDescriptor 630 0 R +/FontDescriptor 676 0 R /FirstChar 12 /LastChar 121 -/Widths 609 0 R +/Widths 656 0 R >> -% 336 0 obj +% 366 0 obj << /Type /Font /Subtype /Type1 /BaseFont /VROLGE+CMR6 -/FontDescriptor 632 0 R +/FontDescriptor 678 0 R /FirstChar 43 /LastChar 51 -/Widths 596 0 R +/Widths 643 0 R >> -% 334 0 obj +% 364 0 obj << /Type /Font /Subtype /Type1 /BaseFont /ABQBBP+CMR8 -/FontDescriptor 634 0 R +/FontDescriptor 680 0 R /FirstChar 43 /LastChar 61 -/Widths 598 0 R +/Widths 645 0 R >> -% 227 0 obj +% 257 0 obj << /Type /Font /Subtype /Type1 /BaseFont /NSLWFJ+CMSY10 -/FontDescriptor 636 0 R +/FontDescriptor 682 0 R /FirstChar 0 /LastChar 112 -/Widths 603 0 R +/Widths 650 0 R >> -% 333 0 obj +% 363 0 obj << /Type /Font /Subtype /Type1 /BaseFont /JHSYKM+CMSY8 -/FontDescriptor 638 0 R +/FontDescriptor 684 0 R /FirstChar 0 /LastChar 54 -/Widths 599 0 R +/Widths 646 0 R >> -% 277 0 obj +% 307 0 obj << /Type /Font /Subtype /Type1 /BaseFont /FPIMLF+CMTI10 -/FontDescriptor 640 0 R +/FontDescriptor 686 0 R /FirstChar 11 /LastChar 122 -/Widths 602 0 R +/Widths 649 0 R >> -% 125 0 obj +% 149 0 obj << /Type /Font /Subtype /Type1 /BaseFont /YRQLNB+CMTI12 -/FontDescriptor 642 0 R +/FontDescriptor 688 0 R /FirstChar 65 /LastChar 121 -/Widths 610 0 R +/Widths 657 0 R >> -% 225 0 obj +% 255 0 obj << /Type /Font /Subtype /Type1 /BaseFont /SBOMTR+CMTT10 -/FontDescriptor 644 0 R +/FontDescriptor 690 0 R /FirstChar 33 /LastChar 126 -/Widths 604 0 R +/Widths 651 0 R >> -% 332 0 obj +% 362 0 obj << /Type /Font /Subtype /Type1 /BaseFont /QDTWCG+MSBM10 -/FontDescriptor 646 0 R +/FontDescriptor 692 0 R /FirstChar 82 /LastChar 82 -/Widths 600 0 R +/Widths 647 0 R >> -% 127 0 obj +% 151 0 obj << /Type /Pages /Count 6 -/Parent 647 0 R -/Kids [119 0 R 129 0 R 133 0 R 139 0 R 171 0 R 178 0 R] +/Parent 693 0 R +/Kids [143 0 R 153 0 R 157 0 R 163 0 R 201 0 R 208 0 R] >> -% 196 0 obj +% 226 0 obj << /Type /Pages /Count 6 -/Parent 647 0 R -/Kids [192 0 R 216 0 R 222 0 R 242 0 R 264 0 R 274 0 R] +/Parent 693 0 R +/Kids [222 0 R 246 0 R 252 0 R 272 0 R 294 0 R 304 0 R] >> -% 283 0 obj +% 314 0 obj << /Type /Pages /Count 6 -/Parent 647 0 R -/Kids [280 0 R 285 0 R 290 0 R 295 0 R 312 0 R 327 0 R] +/Parent 693 0 R +/Kids [310 0 R 316 0 R 321 0 R 326 0 R 343 0 R 357 0 R] >> -% 354 0 obj +% 384 0 obj << /Type /Pages /Count 6 -/Parent 647 0 R -/Kids [346 0 R 361 0 R 370 0 R 383 0 R 402 0 R 414 0 R] +/Parent 693 0 R +/Kids [376 0 R 391 0 R 400 0 R 413 0 R 432 0 R 445 0 R] >> -% 426 0 obj +% 457 0 obj << /Type /Pages /Count 6 -/Parent 647 0 R -/Kids [423 0 R 429 0 R 435 0 R 441 0 R 453 0 R 465 0 R] +/Parent 693 0 R +/Kids [454 0 R 459 0 R 465 0 R 471 0 R 483 0 R 495 0 R] >> -% 485 0 obj +% 515 0 obj << /Type /Pages /Count 6 -/Parent 647 0 R -/Kids [482 0 R 487 0 R 492 0 R 497 0 R 503 0 R 507 0 R] +/Parent 693 0 R +/Kids [512 0 R 517 0 R 522 0 R 527 0 R 533 0 R 537 0 R] >> -% 516 0 obj +% 546 0 obj << /Type /Pages /Count 6 -/Parent 648 0 R -/Kids [513 0 R 518 0 R 528 0 R 535 0 R 545 0 R 550 0 R] +/Parent 694 0 R +/Kids [543 0 R 549 0 R 557 0 R 566 0 R 577 0 R 582 0 R] >> -% 559 0 obj +% 591 0 obj << /Type /Pages /Count 6 -/Parent 648 0 R -/Kids [556 0 R 562 0 R 569 0 R 573 0 R 579 0 R 583 0 R] +/Parent 694 0 R +/Kids [588 0 R 596 0 R 603 0 R 608 0 R 615 0 R 619 0 R] >> -% 590 0 obj +% 628 0 obj << /Type /Pages -/Count 2 -/Parent 648 0 R -/Kids [587 0 R 592 0 R] +/Count 4 +/Parent 694 0 R +/Kids [625 0 R 630 0 R 634 0 R 639 0 R] >> -% 647 0 obj +% 693 0 obj << /Type /Pages /Count 36 -/Parent 649 0 R -/Kids [127 0 R 196 0 R 283 0 R 354 0 R 426 0 R 485 0 R] +/Parent 695 0 R +/Kids [151 0 R 226 0 R 314 0 R 384 0 R 457 0 R 515 0 R] >> -% 648 0 obj +% 694 0 obj << /Type /Pages -/Count 14 -/Parent 649 0 R -/Kids [516 0 R 559 0 R 590 0 R] +/Count 16 +/Parent 695 0 R +/Kids [546 0 R 591 0 R 628 0 R] >> -% 649 0 obj +% 695 0 obj << /Type /Pages -/Count 50 -/Kids [647 0 R 648 0 R] +/Count 52 +/Kids [693 0 R 694 0 R] >> -% 650 0 obj +% 696 0 obj << /Type /Outlines /First 4 0 R /Last 4 0 R /Count 1 >> +% 140 0 obj +<< +/Title 141 0 R +/A 138 0 R +/Parent 4 0 R +/Prev 136 0 R +>> +% 136 0 obj +<< +/Title 137 0 R +/A 134 0 R +/Parent 4 0 R +/Prev 132 0 R +/Next 140 0 R +>> +% 132 0 obj +<< +/Title 133 0 R +/A 130 0 R +/Parent 4 0 R +/Prev 128 0 R +/Next 136 0 R +>> +% 128 0 obj +<< +/Title 129 0 R +/A 126 0 R +/Parent 4 0 R +/Prev 68 0 R +/Next 132 0 R +>> +% 124 0 obj +<< +/Title 125 0 R +/A 122 0 R +/Parent 104 0 R +/Prev 120 0 R +>> +% 120 0 obj +<< +/Title 121 0 R +/A 118 0 R +/Parent 104 0 R +/Prev 116 0 R +/Next 124 0 R +>> % 116 0 obj << /Title 117 0 R /A 114 0 R -/Parent 4 0 R +/Parent 104 0 R /Prev 112 0 R +/Next 120 0 R >> % 112 0 obj << /Title 113 0 R /A 110 0 R -/Parent 4 0 R +/Parent 104 0 R /Prev 108 0 R /Next 116 0 R >> @@ -9723,17 +10107,18 @@ stream << /Title 109 0 R /A 106 0 R -/Parent 4 0 R -/Prev 104 0 R +/Parent 104 0 R /Next 112 0 R >> % 104 0 obj << /Title 105 0 R /A 102 0 R -/Parent 4 0 R -/Prev 68 0 R -/Next 108 0 R +/Parent 68 0 R +/Prev 100 0 R +/First 108 0 R +/Last 124 0 R +/Count -5 >> % 100 0 obj << @@ -9741,6 +10126,7 @@ stream /A 98 0 R /Parent 68 0 R /Prev 96 0 R +/Next 104 0 R >> % 96 0 obj << @@ -9766,6 +10152,32 @@ stream /Prev 84 0 R /Next 92 0 R >> + +endstream +endobj +729 0 obj +<< + /Title (MultiLevel Domain Decomposition Parallel Preconditioners Package based on PSBLAS, V. 2.1) /Subject (MultiLevel Domain Decomposition Parallel Preconditioners Package) /Keywords (Parallel Numerical Software, Algebraic Multilevel Preconditioners, Sparse Iterative Solvers, PSBLAS, MPI) /Creator (pdfLaTeX) /Producer ($Id: userguide.tex 2008-04-08 Pasqua D'Ambra, Daniela di Serafino, Salvatore Filippone$) /Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.17)/Keywords() +/CreationDate (D:20180111104601Z) +/ModDate (D:20180111104601Z) +/Trapped /False +/PTEX.Fullbanner (This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) kpathsea version 6.2.2) +>> +endobj +697 0 obj +<< +/Type /ObjStm +/N 52 +/First 430 +/Length 7383 +>> +stream +84 0 80 82 76 164 72 246 68 315 64 435 60 491 56 609 52 678 48 760 +44 829 40 947 36 1016 32 1098 28 1180 24 1262 20 1331 16 1449 12 1530 8 1610 +4 1675 698 1767 699 1935 700 2092 701 2292 702 2499 703 2732 704 2946 705 3148 706 3337 +707 3504 708 3669 709 3833 710 3998 711 4161 712 4324 713 4489 714 4648 715 4819 716 4999 +717 5191 718 5406 719 5621 720 5854 721 6067 722 6230 723 6339 724 6446 725 6551 726 6657 +727 6747 728 6780 % 84 0 obj << /Title 85 0 R @@ -9803,10 +10215,10 @@ stream /A 66 0 R /Parent 4 0 R /Prev 60 0 R -/Next 104 0 R +/Next 128 0 R /First 72 0 R -/Last 100 0 R -/Count -8 +/Last 104 0 R +/Count -9 >> % 64 0 obj << @@ -9934,210 +10346,194 @@ stream << /Title 5 0 R /A 1 0 R -/Parent 650 0 R +/Parent 696 0 R /First 8 0 R -/Last 116 0 R +/Last 140 0 R /Count -11 >> -% 651 0 obj +% 698 0 obj << -/Names [(Doc-Start) 123 0 R (Item.1) 350 0 R (Item.10) 468 0 R (Item.11) 469 0 R (Item.12) 470 0 R (Item.13) 471 0 R] +/Names [(Doc-Start) 147 0 R (Item.1) 380 0 R (Item.10) 498 0 R (Item.11) 499 0 R (Item.12) 500 0 R (Item.13) 501 0 R] /Limits [(Doc-Start) (Item.13)] >> -% 652 0 obj +% 699 0 obj << -/Names [(Item.2) 351 0 R (Item.3) 352 0 R (Item.4) 386 0 R (Item.5) 387 0 R (Item.6) 388 0 R (Item.7) 389 0 R] +/Names [(Item.2) 381 0 R (Item.3) 382 0 R (Item.4) 416 0 R (Item.5) 417 0 R (Item.6) 418 0 R (Item.7) 419 0 R] /Limits [(Item.2) (Item.7)] >> -% 653 0 obj +% 700 0 obj << -/Names [(Item.8) 390 0 R (Item.9) 391 0 R (appendix.A) 111 0 R (cite.BREZINA_VANEK) 201 0 R (cite.Briggs2000) 197 0 R (cite.CAI_SARKIS) 373 0 R] +/Names [(Item.8) 420 0 R (Item.9) 421 0 R (appendix.A) 135 0 R (cite.BREZINA_VANEK) 231 0 R (cite.Briggs2000) 227 0 R (cite.CAI_SARKIS) 403 0 R] /Limits [(Item.8) (cite.CAI_SARKIS)] >> -% 654 0 obj +% 701 0 obj << -/Names [(cite.MLD2P4_TOMS) 218 0 R (cite.MPI1) 252 0 R (cite.MPI2) 251 0 R (cite.MUMPS) 270 0 R (cite.Notay2008) 200 0 R (cite.PSBLAS3) 204 0 R] +/Names [(cite.MLD2P4_TOMS) 248 0 R (cite.MPI1) 282 0 R (cite.MPI2) 281 0 R (cite.MUMPS) 300 0 R (cite.Notay2008) 230 0 R (cite.PSBLAS3) 234 0 R] /Limits [(cite.MLD2P4_TOMS) (cite.PSBLAS3)] >> -% 655 0 obj +% 702 0 obj << -/Names [(cite.PSBLASGUIDE) 253 0 R (cite.SUPERLU) 271 0 R (cite.SUPERLUDIST) 272 0 R (cite.Saad_book) 337 0 R (cite.Stuben_01) 198 0 R (cite.TUMINARO_TONG) 316 0 R] +/Names [(cite.PSBLASGUIDE) 283 0 R (cite.SUPERLU) 301 0 R (cite.SUPERLUDIST) 302 0 R (cite.Saad_book) 367 0 R (cite.Stuben_01) 228 0 R (cite.TUMINARO_TONG) 346 0 R] /Limits [(cite.PSBLASGUIDE) (cite.TUMINARO_TONG)] >> -% 656 0 obj +% 703 0 obj << -/Names [(cite.UMFPACK) 269 0 R (cite.VANEK_MANDEL_BREZINA) 202 0 R (cite.aaecc_07) 318 0 R (cite.apnum_07) 319 0 R (cite.blas1) 250 0 R (cite.blas2) 249 0 R] +/Names [(cite.UMFPACK) 299 0 R (cite.VANEK_MANDEL_BREZINA) 232 0 R (cite.aaecc_07) 348 0 R (cite.apnum_07) 349 0 R (cite.blas1) 280 0 R (cite.blas2) 279 0 R] /Limits [(cite.UMFPACK) (cite.blas2)] >> -% 657 0 obj +% 704 0 obj << -/Names [(cite.blas3) 248 0 R (cite.dd2_96) 199 0 R (cite.para_04) 317 0 R (cite.psblas_00) 203 0 R (equation.1.1) 194 0 R (equation.4.2) 330 0 R] +/Names [(cite.blas3) 278 0 R (cite.dd2_96) 229 0 R (cite.para_04) 347 0 R (cite.psblas_00) 233 0 R (equation.1.1) 224 0 R (equation.4.2) 360 0 R] /Limits [(cite.blas3) (equation.4.2)] >> -% 658 0 obj +% 705 0 obj << -/Names [(equation.4.3) 353 0 R (equation.4.4) 364 0 R (equation.4.5) 365 0 R (figure.1) 338 0 R (figure.2) 417 0 R (figure.3) 418 0 R] +/Names [(equation.4.3) 383 0 R (equation.4.4) 394 0 R (equation.4.5) 395 0 R (figure.1) 368 0 R (figure.2) 448 0 R (figure.3) 449 0 R] /Limits [(equation.4.3) (figure.3)] >> -% 659 0 obj +% 706 0 obj << -/Names [(figure.4) 419 0 R (figure.5) 420 0 R (page.1) 122 0 R (page.10) 297 0 R (page.11) 314 0 R (page.12) 329 0 R] +/Names [(figure.4) 450 0 R (figure.5) 451 0 R (page.1) 146 0 R (page.10) 328 0 R (page.11) 345 0 R (page.12) 359 0 R] /Limits [(figure.4) (page.12)] >> -% 660 0 obj +% 707 0 obj << -/Names [(page.13) 348 0 R (page.14) 363 0 R (page.15) 372 0 R (page.16) 385 0 R (page.17) 404 0 R (page.18) 416 0 R] +/Names [(page.13) 378 0 R (page.14) 393 0 R (page.15) 402 0 R (page.16) 415 0 R (page.17) 434 0 R (page.18) 447 0 R] /Limits [(page.13) (page.18)] >> -% 661 0 obj +% 708 0 obj << -/Names [(page.19) 425 0 R (page.2) 131 0 R (page.20) 431 0 R (page.21) 437 0 R (page.22) 443 0 R (page.23) 455 0 R] +/Names [(page.19) 456 0 R (page.2) 155 0 R (page.20) 461 0 R (page.21) 467 0 R (page.22) 473 0 R (page.23) 485 0 R] /Limits [(page.19) (page.23)] >> -% 662 0 obj +% 709 0 obj << -/Names [(page.24) 467 0 R (page.25) 484 0 R (page.26) 489 0 R (page.27) 494 0 R (page.28) 499 0 R (page.29) 505 0 R] +/Names [(page.24) 497 0 R (page.25) 514 0 R (page.26) 519 0 R (page.27) 524 0 R (page.28) 529 0 R (page.29) 535 0 R] /Limits [(page.24) (page.29)] >> -% 663 0 obj +% 710 0 obj << -/Names [(page.3) 224 0 R (page.30) 509 0 R (page.31) 515 0 R (page.32) 520 0 R (page.33) 530 0 R (page.34) 537 0 R] +/Names [(page.3) 254 0 R (page.30) 539 0 R (page.31) 545 0 R (page.32) 551 0 R (page.33) 559 0 R (page.34) 568 0 R] /Limits [(page.3) (page.34)] >> -% 664 0 obj +% 711 0 obj << -/Names [(page.35) 547 0 R (page.36) 552 0 R (page.37) 558 0 R (page.38) 564 0 R (page.39) 571 0 R (page.4) 244 0 R] +/Names [(page.35) 579 0 R (page.36) 584 0 R (page.37) 590 0 R (page.38) 598 0 R (page.39) 605 0 R (page.4) 274 0 R] /Limits [(page.35) (page.4)] >> -% 665 0 obj -<< -/Names [(page.40) 575 0 R (page.41) 581 0 R (page.42) 585 0 R (page.43) 589 0 R (page.44) 594 0 R (page.5) 266 0 R] -/Limits [(page.40) (page.5)] ->> -% 666 0 obj +% 712 0 obj << -/Names [(page.6) 276 0 R (page.7) 282 0 R (page.8) 287 0 R (page.9) 292 0 R (page.i) 135 0 R (page.ii) 141 0 R] -/Limits [(page.6) (page.ii)] +/Names [(page.40) 610 0 R (page.41) 617 0 R (page.42) 621 0 R (page.43) 627 0 R (page.44) 632 0 R (page.45) 636 0 R] +/Limits [(page.40) (page.45)] >> -% 667 0 obj +% 713 0 obj << -/Names [(page.iii) 173 0 R (page.iv) 180 0 R (section*.1) 7 0 R (section*.2) 174 0 R (section*.3) 226 0 R (section*.4) 115 0 R] -/Limits [(page.iii) (section*.4)] +/Names [(page.46) 641 0 R (page.5) 296 0 R (page.6) 306 0 R (page.7) 312 0 R (page.8) 318 0 R (page.9) 323 0 R] +/Limits [(page.46) (page.9)] >> -% 668 0 obj +% 714 0 obj << -/Names [(section.1) 11 0 R (section.2) 15 0 R (section.3) 19 0 R (section.4) 43 0 R (section.5) 59 0 R (section.6) 67 0 R] -/Limits [(section.1) (section.6)] +/Names [(page.i) 159 0 R (page.ii) 165 0 R (page.iii) 203 0 R (page.iv) 210 0 R (section*.1) 7 0 R (section*.2) 204 0 R] +/Limits [(page.i) (section*.2)] >> -% 669 0 obj +% 715 0 obj << -/Names [(section.7) 103 0 R (section.8) 107 0 R (subsection.3.1) 23 0 R (subsection.3.2) 27 0 R (subsection.3.3) 31 0 R (subsection.3.4) 35 0 R] -/Limits [(section.7) (subsection.3.4)] +/Names [(section*.3) 256 0 R (section*.4) 139 0 R (section.1) 11 0 R (section.2) 15 0 R (section.3) 19 0 R (section.4) 43 0 R] +/Limits [(section*.3) (section.4)] >> -% 670 0 obj +% 716 0 obj << -/Names [(subsection.3.5) 39 0 R (subsection.4.1) 47 0 R (subsection.4.2) 51 0 R (subsection.4.3) 55 0 R (subsection.5.1) 63 0 R (subsection.6.1) 71 0 R] -/Limits [(subsection.3.5) (subsection.6.1)] +/Names [(section.5) 59 0 R (section.6) 67 0 R (section.7) 127 0 R (section.8) 131 0 R (subsection.3.1) 23 0 R (subsection.3.2) 27 0 R] +/Limits [(section.5) (subsection.3.2)] >> -% 671 0 obj +% 717 0 obj << -/Names [(subsection.6.2) 75 0 R (subsection.6.3) 79 0 R (subsection.6.4) 83 0 R (subsection.6.5) 87 0 R (subsection.6.6) 91 0 R (subsection.6.7) 95 0 R] -/Limits [(subsection.6.2) (subsection.6.7)] +/Names [(subsection.3.3) 31 0 R (subsection.3.4) 35 0 R (subsection.3.5) 39 0 R (subsection.4.1) 47 0 R (subsection.4.2) 51 0 R (subsection.4.3) 55 0 R] +/Limits [(subsection.3.3) (subsection.4.3)] >> -% 672 0 obj +% 718 0 obj << -/Names [(subsection.6.8) 99 0 R (table.1) 392 0 R (table.2) 393 0 R (table.3) 495 0 R (table.4) 500 0 R (table.5) 473 0 R] -/Limits [(subsection.6.8) (table.5)] +/Names [(subsection.5.1) 63 0 R (subsection.6.1) 71 0 R (subsection.6.2) 75 0 R (subsection.6.3) 79 0 R (subsection.6.4) 83 0 R (subsection.6.5) 87 0 R] +/Limits [(subsection.5.1) (subsection.6.5)] >> -% 673 0 obj +% 719 0 obj << -/Names [(table.6) 510 0 R (table.7) 472 0 R (table.8) 394 0 R (title.0) 3 0 R] -/Limits [(table.6) (title.0)] +/Names [(subsection.6.6) 91 0 R (subsection.6.7) 95 0 R (subsection.6.8) 99 0 R (subsection.6.9) 103 0 R (subsubsection.6.9.1) 107 0 R (subsubsection.6.9.2) 111 0 R] +/Limits [(subsection.6.6) (subsubsection.6.9.2)] >> - -endstream -endobj -682 0 obj +% 720 0 obj << - /Title (MultiLevel Domain Decomposition Parallel Preconditioners Package based on PSBLAS, V. 2.1) /Subject (MultiLevel Domain Decomposition Parallel Preconditioners Package) /Keywords (Parallel Numerical Software, Algebraic Multilevel Preconditioners, Sparse Iterative Solvers, PSBLAS, MPI) /Creator (pdfLaTeX) /Producer ($Id: userguide.tex 2008-04-08 Pasqua D'Ambra, Daniela di Serafino, Salvatore Filippone$) /Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.17)/Keywords() -/CreationDate (D:20171026184207+02'00') -/ModDate (D:20171026184207+02'00') -/Trapped /False -/PTEX.Fullbanner (This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) kpathsea version 6.2.2) +/Names [(subsubsection.6.9.3) 115 0 R (subsubsection.6.9.4) 119 0 R (subsubsection.6.9.5) 123 0 R (table.1) 422 0 R (table.2) 423 0 R (table.3) 525 0 R] +/Limits [(subsubsection.6.9.3) (table.3)] >> -endobj -675 0 obj +% 721 0 obj << -/Type /ObjStm -/N 7 -/First 54 -/Length 769 +/Names [(table.4) 530 0 R (table.5) 503 0 R (table.6) 540 0 R (table.7) 502 0 R (table.8) 424 0 R (title.0) 3 0 R] +/Limits [(table.4) (title.0)] >> -stream -674 0 676 109 677 216 678 321 679 419 680 509 681 542 -% 674 0 obj +% 722 0 obj << -/Kids [651 0 R 652 0 R 653 0 R 654 0 R 655 0 R 656 0 R] +/Kids [698 0 R 699 0 R 700 0 R 701 0 R 702 0 R 703 0 R] /Limits [(Doc-Start) (cite.blas2)] >> -% 676 0 obj +% 723 0 obj << -/Kids [657 0 R 658 0 R 659 0 R 660 0 R 661 0 R 662 0 R] +/Kids [704 0 R 705 0 R 706 0 R 707 0 R 708 0 R 709 0 R] /Limits [(cite.blas3) (page.29)] >> -% 677 0 obj +% 724 0 obj << -/Kids [663 0 R 664 0 R 665 0 R 666 0 R 667 0 R 668 0 R] -/Limits [(page.3) (section.6)] +/Kids [710 0 R 711 0 R 712 0 R 713 0 R 714 0 R 715 0 R] +/Limits [(page.3) (section.4)] >> -% 678 0 obj +% 725 0 obj << -/Kids [669 0 R 670 0 R 671 0 R 672 0 R 673 0 R] -/Limits [(section.7) (title.0)] +/Kids [716 0 R 717 0 R 718 0 R 719 0 R 720 0 R 721 0 R] +/Limits [(section.5) (title.0)] >> -% 679 0 obj +% 726 0 obj << -/Kids [674 0 R 676 0 R 677 0 R 678 0 R] +/Kids [722 0 R 723 0 R 724 0 R 725 0 R] /Limits [(Doc-Start) (title.0)] >> -% 680 0 obj +% 727 0 obj << -/Dests 679 0 R +/Dests 726 0 R >> -% 681 0 obj +% 728 0 obj << /Type /Catalog -/Pages 649 0 R -/Outlines 650 0 R -/Names 680 0 R +/Pages 695 0 R +/Outlines 696 0 R +/Names 727 0 R /PageMode/UseOutlines/PageLabels<>2<>6<>]>> -/OpenAction 118 0 R +/OpenAction 142 0 R >> endstream endobj -683 0 obj +730 0 obj << /Type /XRef -/Index [0 684] -/Size 684 +/Index [0 731] +/Size 731 /W [1 3 1] -/Root 681 0 R -/Info 682 0 R -/ID [ ] -/Length 3420 +/Root 728 0 R +/Info 729 0 R +/ID [<3B2795D39A9AF96D47CBF4AED86408E8> <3B2795D39A9AF96D47CBF4AED86408E8>] +/Length 3655 >> stream -2[>dLEdKdJ'dI<dH  -=dG  LdF MdE`dDadC;dB;dA;d@;3d?;Cd>;ad= d<!"d;#$ d:%&bd9'(d8)*d7+,d6-.d5/0d412%d334.d2562d1786d09:;?<=dd dd#B@AFCDddIG=HKLMNOPQRSTUVWXYZ[\]^_`abcJd?S    - T~dd$9PNL8RHG !"s>%$)#&d!(d+,-./02456789>*;13:AEJIOFABCDEFHI@N?KGJ?7@KQOPdSUR"Td%XVWZ\Y.[^b]d_;;;;;;;;; ; -; ; ;;c; Q:;=;;;;;;;;u;;dd"ddddM;$;;; ;!;";;);;#d;%;&;';(d&;+;,;-;.;/;4;*~;0;1;2;7;8;6;:;5 ;9<;<;=;>;?;@;A;M;N;J;;)<;B;D;E;F;G;H;I;S7X;O;P;Q;V;W;L;T;KJo;R;X;Y;Z;[;\;];^;_;b;Uo;`;csd'    -ߧ &!#$%&'()*0"+,-./TK;@ABCD241:3d(85E6:>9T<=G?|EFILHJPMBNORUQSd)YVW\]^_`[cZaBK  -  Me Y{d*K"#!& $)'r(,+/*e-301B4[5d+SCDTUVWXYZ[\]^_`abcd4dhddd()dcDddCdd Nd -lId d d rd%d[*ddd,d-d.d/dMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdc   - +;&JQ&9N  +O  ^ _ 9 9 9  +9* 9,9E9U  !"&#$2%&#'(#)*#"}c+,#'}b-.#-}a/0#4}`12#5}_34#6}^56#7}]78#>}\9:#?}[;<#@}Z=>#K}Y?@#T}XAB#X}WCD#\}VEFGKHI}9}F}@}INLMROP}?}:US=TWXYZ[\]^_`abc  +   V}8W !"#$%(X_'}<}J#_}}}#^}} +} *+,-./01234)w}76;58}G:}C=>?@ABDFGHIJKP<MCEL}}} } }}STUVWXZ[R`Q]Y\}#]}} cab}E999J9v!}K99*999 +9:V9 9 99 M9 99999999999999!9\9}#`#a#c9#9$9%9&9'9(9-9"|9)9+}>}H}D}B}=}A}9690919293949/9;9.95};9798999:}L9=9>9?9@9A9F9<ք9B9C9D9I9J9H9L9G&9K#b9N9O9P9Q9R9S9_9`9\9M0B9T9V9W9X9Y9Z9[I#9a9b9c9^9]Qs&  +   (|}M!w#$'"U%*+,-./0)3(156789:;<B4!=>?@A#]MRSTUVDFC@E}NJGKbHLPKZ\NOYQWX[^ZE\b_`a##c#}O##!h## +# # # ##}}}}}}}}}}}} }!}"}#}$}%}&Z0}'h}(})-S}*N}+},G}-}.9Y}/t}0}1x}2\}3&}4L}5}6ژ}7}R}S}T}U 7 !"#$%&'()*+,-./0123 4 T endstream endobj startxref -592138 +611548 %%EOF diff --git a/docs/src/gettingstarted.tex b/docs/src/gettingstarted.tex index 6a0daf68..f9565355 100644 --- a/docs/src/gettingstarted.tex +++ b/docs/src/gettingstarted.tex @@ -48,8 +48,8 @@ by the routine \verb|smoothers_build|. If the selected preconditioner is one-level, it is built in a single step, performed by the routine \verb|bld|. \item \emph{Apply the preconditioner at each iteration of a Krylov solver.} - This is performed by the routine \verb|aply|. When using the PSBLAS Krylov solvers, - this step is completely transparent to the user, since \verb|aply| is called + This is performed by the method \verb|apply|. When using the PSBLAS Krylov solvers, + this step is completely transparent to the user, since \verb|apply| is called by the PSBLAS routine implementing the Krylov solver (\verb|psb_krylov|). \item \emph{Free the preconditioner data structure}. This is performed by the routine \verb|free|. This step is complementary to step 1 and should @@ -66,7 +66,7 @@ Examples showing the basic use of MLD2P4 are reported in Section~\ref{sec:exampl \begin{tabular}{|l|p{1.8cm}|p{8.2cm}|} \hline \textsc{type} & \textsc{string} & \textsc{default preconditioner} \\ \hline -No preconditioner &\verb|'NOPREC'|& Considered only to use the PSBLAS +No preconditioner &\verb|'NONE'|& Considered to use the PSBLAS Krylov solvers with no preconditioner. \\ \hline Diagonal & \verb|'DIAG'| or \verb|'JACOBI'| & Diagonal preconditioner. For any zero diagonal entry of the matrix to be preconditioned, diff --git a/docs/src/userinterface.tex b/docs/src/userinterface.tex index a2f366d3..0e3de52d 100644 --- a/docs/src/userinterface.tex +++ b/docs/src/userinterface.tex @@ -2,19 +2,20 @@ \markboth{\textsc{MLD2P4 User's and Reference Guide}} {\textsc{\ref{sec:userinterface} User Interface}} -The basic user interface of MLD2P4 consists of eight routines. The six -routines \verb|init|, \verb|set|, -\verb|hierarchy_build|, \verb|smoothers_build|, -\verb|bld|, and \verb|apply| encapsulate all the -functionalities for the setup and the application of any multilevel and one-level -preconditioner implemented in the package. -The routine \verb|free| deallocates the preconditioner data structure, while +The basic user interface of MLD2P4 consists of eight methods. The six +methods \verb|init|, \verb|set|, \verb|build|, +\verb|hierarchy_build|, \verb|smoothers_build| and \verb|apply| +encapsulate all the functionalities for the setup and the application +of any multilevel and one-level preconditioner implemented in the +package. +The method \verb|free| deallocates the preconditioner data structure, while \verb|descr| prints a description of the preconditioner setup by the user. +For backward compatibility, methods are also accessible as +stand-alone subroutines. -All the routines are available as methods of the preconditioner object. -For each routine, the same user interface is overloaded with +For each method, the same user interface is overloaded with respect to the real/ complex case and the single/double precision; -arguments with appropriate data types must be passed to the routine, +arguments with appropriate data types must be passed to the method, i.e., \begin{itemize} \item the sparse matrix data structure, containing the matrix to be @@ -35,18 +36,18 @@ i.e., according to the precision of the sparse matrix and preconditioner data structures (see Section~\ref{sec:precset}). \end{itemize} -A description of each routine is given in the remainder of this section. +A description of each method is given in the remainder of this section. \clearpage -\subsection{Subroutine init\label{sec:precinit}} +\subsection{Method init\label{sec:precinit}} \begin{center} \verb|call p%init(ptype,info)| \end{center} \noindent -This routine allocates and initializes the preconditioner +This method allocates and initializes the preconditioner \verb|p|, according to the preconditioner type chosen by the user. {\vskip1.5\baselineskip\noindent\large\bfseries Arguments} \smallskip @@ -71,7 +72,7 @@ This routine allocates and initializes the preconditioner \end{tabular} \vskip1.5\baselineskip -For compatibility with the previous versions of MLD2P4, this routine can be also invoked +For compatibility with the previous versions of MLD2P4, this method can be also invoked as follows: \begin{center} @@ -81,14 +82,14 @@ as follows: \clearpage -\subsection{Subroutine set\label{sec:precset}} +\subsection{Method set\label{sec:precset}} \begin{center} \verb|call p%set(what,val,info [,ilev, ilmax, pos])| \end{center} \noindent -This routine sets the parameters defining the preconditioner \verb|p|. More +This method sets the parameters defining the preconditioner \verb|p|. More precisely, the parameter identified by \verb|what| is assigned the value contained in \verb|val|. @@ -139,7 +140,7 @@ contained in \verb|val|. \end{tabular} \vskip1.5\baselineskip -For compatibility with the previous versions of MLD2P4, this routine can be also invoked +For compatibility with the previous versions of MLD2P4, this method can be also invoked as follows: \begin{center} @@ -623,60 +624,55 @@ level (continued).\label{tab:p_coarse_1}} (continued).\label{tab:p_smoother_1}} \esideways + \clearpage -\subsection{Subroutine build\label{sec:precbld}} +\subsection{Method hierarchy\_build\label{sec:hier_bld}} \begin{center} -\verb|call p%build(a,desc_a,info)|\\ +\verb|call p%hierarchy_build(a,desc_a,info)|\\ \end{center} \noindent -This routine builds the one-level preconditioner \verb|p| according to the requirements -made by the user through the routines \verb|init| and \verb|set| -(see Sections~\ref{sec:hier_bld} and~\ref{sec:smooth_bld} for multilevel preconditioners). +This method builds the hierarchy of matrices and restriction/prolongation +operators for the multilevel preconditioner \verb|p|, according to the requirements +made by the user through the methods \verb|init| and \verb|set|. {\vskip1.5\baselineskip\noindent\large\bfseries Arguments} \smallskip \begin{tabular}{p{1.2cm}p{12cm}} -\verb|a| & \verb|type(psb_|\emph{x}\verb|spmat_type), intent(in)|. \\ +\verb|a| & \verb|type(psb_|\emph{x}\verb|spmat_type), intent(in)|. \\ & The sparse matrix structure containing the local part of the matrix to be preconditioned. Note that \emph{x} must be chosen according - to the real/complex, single/double precision version of MLD2P4 under use. + to the real/complex, +single/double precision version of MLD2P4 under use. 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)|.\\ +%\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} -\vskip1.5\baselineskip -For compatibility with the previous versions of MLD2P4, this routine can be also invoked -as follows: - -\begin{center} -\verb|call mld_precbld(p,what,val,info)| -\end{center} - -\noindent -In this case, the routine can be used to build multilevel preconditioners too. \clearpage -\subsection{Subroutine hierarchy\_build\label{sec:hier_bld}} - +\subsection{Method smoothers\_build\label{sec:smooth_bld}} + + \begin{center} -\verb|call p%hierarchy_build(a,desc_a,info)|\\ +\verb|call p%smoothers_build(a,desc_a,p,info[,amold,vmold,imold])|\\ \end{center} \noindent -This routine builds the hierarchy of matrices and restriction/prolongation -operators for the multilevel preconditioner \verb|p|, according to the requirements -made by the user through the routines \verb|init| and \verb|set|. +This method builds the smoothers and the coarsest-level solvers for the +multilevel preconditioner \verb|p|, according to the requirements made by +the user through the methods \verb|init| and \verb|set|, and based on the aggregation +hierarchy produced by a previous call to \verb|hierarchy_build| +(see Section~\ref{sec:hier_bld}). {\vskip1.5\baselineskip\noindent\large\bfseries Arguments} \smallskip @@ -684,40 +680,51 @@ made by the user through the routines \verb|init| and \verb|set|. \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. + 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|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.\\ +\verb|amold| & \verb|class(psb_|\emph{x}\verb|_base_sparse_mat), intent(in), optional|. \\ + & The desired dynamic type for internal matrix + components; this allows e.g. running on GPUs; it needs not be the + same on all processes. See the PSBLAS User's Guide for + details \cite{PSBLASGUIDE}. \\ + \verb|vmold| & \verb|class(psb_|\emph{x}\verb|_base_vect_type), intent(in), optional|. \\ + & The desired dynamic type for internal vector + components; this allows e.g. running on GPUs. \\ + \verb|imold| & \verb|class(psb_i_base_vect_type), intent(in), optional|. \\ + & The desired dynamic type for internal integer vector + components; this allows e.g. running on GPUs. \\ \end{tabular} - \clearpage -\subsection{Subroutine smoothers\_build\label{sec:smooth_bld}} - - +\subsection{Method build\label{sec:precbld}} + \begin{center} -\verb|call p%smoothers_build(a,desc_a,p,info)|\\ +\verb|call p%build(a,desc_a,info[,amold,vmold,imold])|\\ \end{center} \noindent -This routine builds the smoothers and the coarsest-level solvers for the -multilevel preconditioner \verb|p|, according to the requirements made by -the user through the routines \verb|init| and \verb|set|, and based on the aggregation -hierarchy produced by a previous call to \verb|hierarchy_build| -(see Section~\ref{sec:hier_bld}). +This method builds the preconditioner \verb|p| according to the requirements +made by the user through the methods \verb|init| and \verb|set| +(see Sections~\ref{sec:hier_bld} and~\ref{sec:smooth_bld} for +multilevel preconditioners). It is mostly provided for backward +compatibility; indeed, it is internally implemented by invoking the +two previous methods \verb|hierarchy_build| and +\verb|smoothers_build|, whose nomenclature would however be somewhat +unnatural when dealing with simple one-level preconditioners. {\vskip1.5\baselineskip\noindent\large\bfseries Arguments} \smallskip \begin{tabular}{p{1.2cm}p{12cm}} -\verb|a| & \verb|type(psb_|\emph{x}\verb|spmat_type), intent(in)|. \\ +\verb|a| & \verb|type(psb_|\emph{x}\verb|spmat_type), intent(in)|. \\ & The sparse matrix structure containing the local part of the matrix to be preconditioned. Note that \emph{x} must be chosen according to the real/complex, single/double precision version of MLD2P4 under use. @@ -726,26 +733,49 @@ hierarchy produced by a previous call to \verb|hierarchy_build| & 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.\\ +% & 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.\\ +\verb|amold| & \verb|class(psb_|\emph{x}\verb|_base_sparse_mat), intent(in), optional|. \\ + & The desired dynamic type for internal matrix + components; this allows e.g. running on GPUs; it needs not be the + same on all processes. See the PSBLAS User's Guide for + details \cite{PSBLASGUIDE}. \\ + \verb|vmold| & \verb|class(psb_|\emph{x}\verb|_base_vect_type), intent(in), optional|. \\ + & The desired dynamic type for internal vector + components; this allows e.g. running on GPUs. \\ + \verb|imold| & \verb|class(psb_i_base_vect_type), intent(in), optional|. \\ + & The desired dynamic type for internal integer vector + components; this allows e.g. running on GPUs. \\ \end{tabular} +\vskip1.5\baselineskip +For compatibility with the previous versions of MLD2P4, this method can be also invoked +as follows: + +\begin{center} +\verb|call mld_precbld(p,what,val,info[,amold,vmold,imold])| +\end{center} + +\noindent +The method can be used to build multilevel preconditioners too. + + \clearpage -\subsection{Subroutine apply\label{sec:precapply}} +\subsection{Method apply\label{sec:precapply}} \begin{center} \verb|call p%apply(x,y,desc_a,info [,trans,work])|\\ \end{center} \noindent -This routine computes $y = op(B^{-1})\, x$, where $B$ is a previously built +This method computes $y = op(B^{-1})\, x$, where $B$ is a previously built preconditioner, stored into \verb|p|, and $op$ denotes the preconditioner itself or its transpose, according to the value of \verb|trans|. Note that, when MLD2P4 is used with a Krylov solver from PSBLAS, -\verb|p%apply| is called within the PSBLAS routine \verb|psb_krylov| +\verb|p%apply| is called within the PSBLAS method \verb|psb_krylov| and hence it is completely transparent to the user. {\vskip1.5\baselineskip\noindent\large\bfseries Arguments} \smallskip @@ -781,7 +811,7 @@ and hence it is completely transparent to the user. \end{tabular} \vskip1.5\baselineskip -For compatibility with the previous versions of MLD2P4, this routine can be also invoked +For compatibility with the previous versions of MLD2P4, this method can be also invoked as follows: \begin{center} @@ -790,14 +820,14 @@ as follows: \clearpage -\subsection{Subroutine free\label{sec:precfree}} +\subsection{Method free\label{sec:precfree}} \begin{center} \verb|call p%free(p,info)|\\ \end{center} \noindent -This routine deallocates the preconditioner data structure \verb|p|. +This method deallocates the preconditioner data structure \verb|p|. {\vskip1.5\baselineskip\noindent\large\bfseries Arguments} \smallskip @@ -810,7 +840,7 @@ This routine deallocates the preconditioner data structure \verb|p|. \end{tabular} \vskip1.5\baselineskip -For compatibility with the previous versions of MLD2P4, this routine can be also invoked +For compatibility with the previous versions of MLD2P4, this method can be also invoked as follows: \begin{center} @@ -820,14 +850,14 @@ as follows: \clearpage -\subsection{Subroutine descr\label{sec:precdescr}} +\subsection{Method descr\label{sec:precdescr}} \begin{center} \verb|call p%descr(info, [iout])|\\ \end{center} \noindent -This routine prints a description of the preconditioner \verb|p| to the standard output or +This method prints a description of the preconditioner \verb|p| to the standard output or to a file. It must be called after \verb|hierachy_build| and \verb|smoothers_build|, or \verb|build|, have been called. @@ -845,7 +875,7 @@ or \verb|build|, have been called. \end{tabular} \vskip1.5\baselineskip -For compatibility with the previous versions of MLD2P4, this routine can be also invoked +For compatibility with the previous versions of MLD2P4, this method can be also invoked as follows: \begin{center} @@ -853,6 +883,136 @@ as follows: \end{center} +\subsection{Auxiliary Methods\label{sec:auxil}} +Various functionalities are implemented as additional methods of the +preconditioner object. + +\subsubsection{Method: dump} + +\begin{center} +\verb|call p%dump(info[,istart,iend,prefix,head,ac,rp,smoother,solver,global_num])|\\ +\end{center} + +\noindent +Dump on file. + +{\vskip1.5\baselineskip\noindent\large\bfseries Arguments} \smallskip + +\begin{tabular}{p{1.2cm}p{12cm}} +%\verb|p| & \verb|type(mld_|\emph{x}\verb|prec_type), intent(inout)|.\\ +% & The preconditioner data structure. Note that \emph{x} must be chosen according +% to the real/complex, single/double precision 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.\\ +\verb|amold| & \verb|class(psb_|\emph{x}\verb|_base_sparse_mat), intent(in), optional|. \\ + & The desired dynamic type for internal matrix + components; this allows e.g. running on GPUs; it needs not be the + same on all processes. See the PSBLAS User's Guide for + details \cite{PSBLASGUIDE}. \\ +\end{tabular} + + +\subsubsection{Method: clone} + +\begin{center} +\verb|call p%clone(pout,info)|\\ +\end{center} + +\noindent +Create a (deep) copy of the preconditioner object. + +{\vskip1.5\baselineskip\noindent\large\bfseries Arguments} \smallskip + +\begin{tabular}{p{1.2cm}p{12cm}} +\verb|pout| & \verb|type(mld_|\emph{x}\verb|prec_type), intent(out)|.\\ + & The copy of 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} + + + +\subsubsection{Method: sizeof} + +\begin{center} +\verb|sz = p%sizeof()|\\ +\end{center} + +\noindent +Return memory footprint in bytes. + +% {\vskip1.5\baselineskip\noindent\large\bfseries Arguments} \smallskip + +% \begin{tabular}{p{1.2cm}p{12cm}} +% %\verb|p| & \verb|type(mld_|\emph{x}\verb|prec_type), intent(inout)|.\\ +% % & The preconditioner data structure. Note that \emph{x} must be chosen according +% % to the real/complex, single/double precision 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} + +\subsubsection{Method: allocate\_wrk} + +\begin{center} +\verb|call p%allocate_wrk(info[, vmold])|\\ +\end{center} + +\noindent +Allocate internal work vectors. Each application of the preconditioner +uses a number of work vectors which are allocated internally as +necessary; therefore allocation and deallocation of memory occurs +multiple times during the execution of a Krylov method. In most cases +this strategy is perfectly acceptable, but +on some platforms, most notably GPUs, memory allocation is +a slow operation, and the default behaviour would lead to a +slowdown. This method allows to trade space for time by preallocating +the internal workspace outside of the invocation of a Krylov +method. When using GPUs or other specialized devices, the \verb|vmold| +argument is also necessary to ensure the internal work vectors are of +the appropriate dynamic type to exploit the accelerator hardware; when +allocation occurs internally this is taken care of based on the dynamic +type of the \verb|x| argument to the \verb|apply| method. + +{\vskip1.5\baselineskip\noindent\large\bfseries Arguments} \smallskip + +\begin{tabular}{p{1.2cm}p{12cm}} +%\verb|p| & \verb|type(mld_|\emph{x}\verb|prec_type), intent(inout)|.\\ +% & The preconditioner data structure. Note that \emph{x} must be chosen according +% to the real/complex, single/double precision 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.\\ + \verb|vmold| & \verb|class(psb_|\emph{x}\verb|_base_vect_type), intent(in), optional|. \\ + & The desired dynamic type for internal vector + components; this allows e.g. running on GPUs. \\ +\end{tabular} + + + +\subsubsection{Method: free\_wrk} + +\begin{center} +\verb|call p%free_wrk(info)|\\ +\end{center} + +\noindent +Deallocate internal work vectors. + +{\vskip1.5\baselineskip\noindent\large\bfseries Arguments} \smallskip + +\begin{tabular}{p{1.2cm}p{12cm}} +%\verb|p| & \verb|type(mld_|\emph{x}\verb|prec_type), intent(inout)|.\\ +% & The preconditioner data structure. Note that \emph{x} must be chosen according +% to the real/complex, single/double precision 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} + + + + + %%% Local Variables: %%% mode: latex %%% TeX-master: "userguide"