Title: Preconditioning Symmetric Indefinite Systems with Maximum Weight Matching
1Preconditioning Symmetric Indefinite Systems with
Maximum Weight Matching
- Han Chen Lin Tan
- Dept. of Computer Science
- University of California, Santa Barbara
- March 10, 2004
2Outline
- The Problem
- Motivations
- Maximum Weight Matching
- Results
- Conclusions and Future Work
3The Problem
- Consider a large sparse linear system
- Ax b (1)
- where A is symmetric and indefinite
- Our goal is to develop general purpose
preconditioners for Krylov subspace methods for
solving (1) using maximum weight matching
4The Problem (cont.)
- The most widely used Krylov methods
- MINRES
- SYMMLQ
- Simplified QMR(SQMR)
- But what about preconditioning?
5The Problem (cont.)
- Consider for instance left preconditioning
- MINRES and SYMMLQ require M to be SPD
- SQMR is the simplification of QMR that takes
advantage of the symmetric. SQMR is the only safe
solver for a general symmetric preconditioner M.
(A Matlab function sqmr is written based on
Matlabs qmr.) - Use a nonsymmetric solver like GMRES or BiCGSTAB
? less efficient
6Motivations
- Symmetric indefinite systems naturally arise in
many important applications - Structural analysis
- Acoustics
- Electromagnetics
- Fluid flow Stokes
- Mixed FEM for elliptic equations
- Optimization (KKT)
- Control
- Etc.
- In contrast to the positive definite case, few
widely applicable techniques of preconditioning
exist.
7 SymPerm Symmetric permutation
Maximum Weight Matching
- Find nonsymmetric max weight matching (MC64)
- Find disjoint cycles in the nonsymmetric matching
- Break up long cycles ( length gt 3 )
- Permute A symmetrically s.t. A LDLT
- L is the lower triangular of A
- D is a block diagonal with small symmetric blocks
- Solve (1) by using D as a preconditioner in SQMR
8 Symmetric matrix and graph
Maximum Weight Matching
3
1
5
2
3
4
1
4
5
2
3
4
2
1
5
G(A)
A
- Hollow vertex zero diagonal element
9 Symmetric matrix, nonsymmetric matching
Maximum Weight Matching
- Perfect matching in A disjoint directed
cycles - that cover every vertex of G
- P 2,5,3,1,4 ( nonsymmetric )
- A(,P) Max weight Matching, but not symmetric
10 Symmetric matrix, symmetric matching
Maximum Weight Matching
3
1
5
2
3
4
1
4
5
2
3
4
2
1
5
G(A)
A
- Theorem (easy) Any even cycle can be
converted to a set of 2-cycles without
decreasing the weight of the matching - Q 1,2,5,4,3 ( symmetric )
- A(Q,Q) Max weight matching, and symmetric
11 What about odd cycles?
Maximum Weight Matching
1
1
5
2
3
4
1
5
2
2
3
4
3
4
5
G(A)
A
- Breaking up odd cycles may decrease weight
- P 2,3,4,5,1 ( nonsymmetric )
- A(,P) Max weight matching, but not symmetric
12 What about odd cycles?
Maximum Weight Matching
1
1
5
2
3
4
1
5
2
2
3
4
3
4
5
G(A)
A
- Breaking up odd cycles may decrease weight
- Q 1,2,3,4,5 ( symmetric )
- A(Q,Q) symmetric, may lose some weight
13 SymPerm Symmetric permutation
Maximum Weight Matching
- Find nonsymmetric max weight matching (MC64)
- Find disjoint cycles in the nonsymmetric matching
- Break up long cycles
- Even cycle 2 ways to break (equivalent)
- Odd cycle n ways to break ( which is better? Max
Weight) - Factor A LDLT
- L is lower triangular of A
- D is block diagonal with small symmetric blocks
- Solve (1) by using D as preconditioner in SQMR
14 Break long odd cycles n 5
Maximum Weight Matching
Max Diagonal Element
Can break up odd cycles of length more than k and
keep weight at least (k1)/(k2) times max.
15Results
- Optimal control (Boeing)
- 871 positive eigenvalues
- 794 negative eigenvalues
- Condest1.3e6
SQMR converges very slowly (1e4 iterations).
16Results (cont.)
- 77 1x1 pivots
- 794 2x2 pivots
- Use C as a preconditioner for Axb?
SQMR still converges very slowly.
- The 1x1/2x2 diagonal D of C is singular. Cant
use D as a preconditioner. Cant use the block
SSOR preconditioner.
17Results (cont.)
- SQMR converges still slowly.
- Use M as a preconditioner for ?
Failed. M is singular!
18Results (cont.)
- Optimization (RAL)
- 583 positive eigenvalues
- 776 negative eigenvalues
- Condest2e17
SQMR converges after 291 iterations. (QMR
stagnated.)
19Results (cont.)
- 199 1x1 pivots
- 580 2x2 pivots
- SQMR didnt converge after 3000 iterations, with
C and D as preconditioners.
- Solving Cxb also stagnated, with and without
preconditioner D.
- Since D is nonsingular, the block SSOR
preconditioner can be used.
20Results (cont.)
Block SSOR preconditioning
where L is strictly lower triangular and D is
block diagonal with 1x1 and 2x2 blocks. The
preconditioner is then
For SAWPATH, SQMR stagnated with the block SSOR
preconditioner.
21Results (cont.)
- Symmetrized WATT
- 128 positive eigenvalues
- 1728 negative eigenvalues
- Condest 5.4e9
- SQMR converges after 295 iterations.
- Identical after symmetric permutation.
Symmetrized WATT already has the max weight
matching of 1x1 pivots on its diagonal! - Preconditioning with D yields a faster
convergence (117 iterations).
22Results (cont.)
- 10 other symmetric indefinite sparse
matrices from Harwell-Boeing ASH292,BCSPWR01,BCSP
WR05,BCSSTK08,CAN_1054,DWT_869,LSHP1009, etc. - Most of the Ds are singular and cannot be used
as preconditioners, and the block SSOR
preconditioners cannot be used either. - Solving Cyb is not any faster.
- Preconditioning with C makes SQMR converge slower
or stagnate. - D is a good preconditioner only when A already
has the MWM on its diagonal and the
symmetric/non-symmetric permutation doesnt make
any change to it.
23Conclusions
- Use of MWM for symmetric permutation makes pivot
blocks contiguous. - Preconditioning with the permuted matrix C
doesnt help. - Most of the block diagonal matrices D of the
permutated matrix are singular. - D can be a good preconditioner only when the
permuted matrix has only 1x1 pivots.
24Future work
- LDL factorization using MWM and symmetric
permutation. - Use of larger block sizes, e.g. 1x1, 2x2 and 3x3
blocks.