7.1. Fe Discretization of a Parabolic Equation
Consider the parabolic PDE
u is the pressure of the fluid,
the elastic storage,
K the (SPD) hydraulic conductivity tensor. This equation is used to model water pumping in the Beijing plan to predict land subsidence in that area [
45]. The 3D computational domain turns out to be very heterogeneous and geometrically irregular as sketched in
Figure 3:
FE discretization in space needs highly irregular tetrahedra, which, combined with the high heterogeneity of the medium, gives raise to an ill-conditioned discretized diffusion matrix. After FE discretization a system of ODEs is left:
where
A is the SPD stiffness matrix,
B is the SPD mass matrix. The right-hand-side account for source terms and Neumann boundary conditions. Using a time marching scheme (e.g., Crank-Nicolson for stiff problems) yields a sequence of linear systems
The discretized FE matrices have both
n = 589,661 and a number of nonzeros
= 8,833,795. We now report the results of a complete simulation which took
steps. The near steady state is reached after
T = 36,000 days. Initially we set
(days). Then we incremented the timesteps as
This formula allows the timestep size to constantly increase and to take its largest value approaching the steady state solution. The initial preconditioner was evaluated employing the Matlab function ichol with
- (1)
droptol applied to to enhance diagonal dominance; this resulted in a triangular Cholesky factor with density and
- (2)
droptol applied to (density ).
We solved the first linear system to a high accuracy to assess as accurately as possible the leftmost eigenvectors. Using the residual to measure the accuracy of the approximate eigenvectors we found:
Case (1). 179 PCG iterations for the first linear system; .
Case (2). 370 PCG iterations for the first linear system; .
This set of vectors is then used to construct deflation, tuned and spectral preconditioners for all the subsequent linear systems in the sequence (with exit test on relative residual and tolerance tol ).
The results are summarized in
Table 6. The eigenvectors estimated during the first linear system are adequate to accelerate the subsequent iterations for both the tuned and spectral approaches which provide an improvement in both iteration number and CPU time. Note also that the time per iteration is only slightly increased with respect to the “no update” case.
Instead, the PCG residuals obtained with the deflation preconditioner in some instances stagnate before reaching the exit test. The lack of robustness of the deflation approach is also observed in Reference [
5] where the authors suggest a reorthogonalization of the residuals at the price of increasing costs per iteration and also Reference [
26] in the framework of iterative eigensolvers. Regarding tuned preconditioners, SR1 is definitely superior to the BFGS approach due to its lower computational cost.
In
Figure 4, left, we plot the number of iterations needed by the “no update” and tuned preconditioners for every system in the sequence compared also with the scaled
values (blue lines) as indicators of the increasing condition number of the coefficient matrices. On the right plot the behavior of the tuned vs spectral preconditioners is displayed, showing the substantial equivalence between the two approaches. Note finally that the PCG solver with the tuned preconditioner is almost insensitive to the increasing condition number of the matrices, displaying a number of iterations roughly constant throughout the timesteps.
7.2. Iterative Eigensolvers
When computing the smallest or a number of the interior eigenvalues of a large and sparse matrix, most iterative solvers require the solution of a shifted linear system of the type
This is true for instance in the shift-invert Arnoldi method, in the inverse power iteration, in the Rayleigh Quotient iteration. A related linear system is also to be solved within the
correction equation in the Jacobi-Davidson method. Other gradient-based methods such as the Locally Optimal Block PCG method (LOBPCG) [
46] or the Deflation-Accelerated Conjugate Gradient method (DACG) [
47] implicitly solve a shifted linear system. The sequence of linear systems are characterized by a constant or a slowly varying parameter
so informations on matrix
A or on the pencil
can be profitably used for all the sequence.
We denote as
its eigenvalues and
the corresponding eigenvectors. Our aim is to investigate the efficiency of the SR1 tuned preconditioner in the acceleration of the so-called correction equation in the simplified Jacobi-Davidson (JD) method [
48,
49].
To assess eigenpair
a number of linear systems have to be solved of the form
The PCG method is proved to converge if applied to systems (
13) as the Jacobian
is shown to be SPD in the subspace orthogonal to
[
22,
49]. Following the works in [
27,
50], which are based on a two-stage algorithm, the columns of
W are orthonormal
approximate eigenvectors of
A provided by a gradient method, DACG [
47], satisfying
These vectors are also used as initial guesses for the Newton phase. To update a given initial preconditioner for
we use the next approximate eigenvectors
to define an SR1 tuned preconditioner as
We recall the following result stated in ([
27], Lemma 3.1):
Lemma 1. Let a block tuned preconditioner satisfying condition (17). In the hypothesis (15) each column of that is, , is an approximate eigenvector of satisfying The effect of applying a tuned preconditioner to is to set a number of eigenvalues of to a value that is close to one only under the conditions that the eigenvalues are well separated, that is, , which is not always the case in realistic problems.
In order to define a more effective preconditioner for shifted linear systems one can allow the preconditioned matrix
to have eigenvalues different from one corresponding to the columns of matrix
W. In Reference [
50] a generalized block tuned (GBT) preconditioner is defined:
Definition 3. Given a preconditioner , an matrix W with full column rank, and a diagonal matrix , a generalized block tuned preconditioner for matrix A is a matrix P obtained by correcting with a low-rank matrix depending on and Γ
and satisfying The generalized SR1 preconditioner is defined as
Note that the above preconditioner is not in general symmetric as small matrix
is not and hence its use would prevent convergence either of the DACG eigensolver or the inner PCG iteration within the Newton method. However, this drawback can be circumvented when
represents the matrix of the (approximate) eigenvectors corresponding to the diagonal matrix with the eigenvalues of
A:
. In such case we can approximate
as
so restoring symmetry. This modified preconditioner
satisfies only approximately the tuning property as
The following theorem states that it is however possible to have
p eigenvalues of the preconditioned matrix
very close to one depending on how the columns of matrix
W approximate the eigenvectors of
A. We also define the reciprocal of the relative separation between pairs of eigenvalues as
Theorem 3. Let matrix be as in (17), an approximate GBT preconditioner satisfying condition (21), with , then each column of is an approximate eigenvector of corresponding to the approximate eigenvalue The eigenvalues can be very close to one depending on the initial tolerance as stated in Corollary 1, under reasonable additional hypotheses
Corollary 1. Let such that, for all : From Corollary 1 it is clear that can be made arbitrarily close to one by appropriately reducing the tolerance . As an example, if , then all are expected to be in
In Reference [
50] (Theorem 2) is also stated that the eigenvalues of the preconditioned projected Jacobian matrix (
13) are characterized in the same way as stated in Theorem 3, that is, that for a suitable function
, increasing in
where
a generalized block tuned preconditioner,
.
To limit the cost of the application of the low-rank correction it is customary to fix the maximum number of columns of matrix , parameter . Conversely, it is required to enlarge it when assessing eigenpairs with . The first DACG stage is hence used to compute an extra number of approximated eigenpairs. In this way the number of columns of is .
The construction (C) of
and its application (A) as
are sketched below. MVP = matrix-vector products,
:,j+1:j+
) and
j+1:j+
, j+1:j+
).
Phase | When | What | Relevant Cost |
C | once and for all |
| MVPs and applications of dot products. |
C | for every eigenpair |
| daxpys |
A | at each iteration |
| dot products 1 system solve of size 1 application of , daxpys |
We report from Reference [
50] the results of the described preconditioner in the computation of the 20 smallest eigenpairs of matrix
thermomec, which is available in the SuiteSparse Matrix Collection at
https://sparse.tamu.edu/. This is a challenging test due to the high clustering of its smallest eigenvalues. The CPU times (in seconds) refer to running a Fortran 90 code on a 2 x Intel Xeon CPU E5645 at 2.40 GHz (six core) and with 4 GB RAM for each core. The exit test is on the relative eigenresidual:
, with
defined in (
14).
The results of the runs are displayed in
Table 7 where the number of iterations (and CPU time) of the initial DACG method are reported as well as the cumulative number of iterations (and CPU time) needed for solving all the linear systems (
13) within the Newton iteration for the 20 eigenpairs. Especially the second (Newton) phase takes great advantage by the GBT preconditioner as also accounted for by
Figure 5 shows the number of iterations taken by the Newton phase with the fixed IC, SR1 tuned and GBT preconditioners, together the (scaled)
, which is a measure of the condition number of the inner linear systems.
The almost constant GBT curve confirms the property of this preconditioner which makes the number of iterations nearly independent on the relative separation between consecutive eigenvalues.