Title: Support Graph Preconditioning
1Support Graph Preconditioning
- Define a preconditioner B for matrix A
- Explicitly compute the factorization B LU
- Choose nonzero structure of B to make factoring
cheap (using combinatorial tools from direct
methods) - Prove bounds on condition number using both
algebraic and combinatorial tools
- New analytic tools, some new preconditioners
- Can use existing direct-methods software
- - Current theory and techniques limited
2Graphs and Sparse Matrices Cholesky
factorization
Fill new nonzeros in factor
Symmetric Gaussian elimination for j 1 to n
add edges between js higher-numbered
neighbors
G(A)chordal
G(A)
3Spanning Tree Preconditioner Vaidya
G(A)
G(B)
- A is symmetric positive definite with negative
off-diagonal nzs - B is a maximum-weight spanning tree for A (with
diagonal modified to preserve row sums) - factor B in O(n) space and O(n) time
- applying the preconditioner costs O(n) time per
iteration
4Spanning Tree Preconditioner Vaidya
G(A)
G(B)
- support each edge of A by a path in B
- dilation(A edge) length of supporting path in B
- congestion(B edge) of supported A edges
- p max congestion, q max dilation
- condition number ?(B-1A) bounded by pq (at most
O(n2))
5Spanning Tree Preconditioner Vaidya
G(A)
G(B)
- can improve congestion and dilation by adding a
few strategically chosen edges to B - cost of factorsolve is O(n1.75), or O(n1.2) if A
is planar - in experiments by Chen Toledo, often better
than drop-tolerance MIC for 2D problems, but not
for 3D.
6Support Graphs after
Gremban/Miller/Zagha
- Intuition from resistive networks How much
must you amplify B to provide the conductivity of
A? - The support of B for A is s(A, B) mint
xT(tB A)x ? 0 for all x, all t ? t - In the SPD case, s(A, B) max? Ax ?Bx
?max(A, B) - Theorem If A, B are SPD then ?(B-1A) s(A, B)
s(B, A)
7Splitting and Congestion/Dilation Lemmas
- Split A A1 A2 Ak and B B1 B2
Bk - Ai and Bi are positive semidefinite
- Typically they correspond to pieces of the graphs
of A and B (edge, path, small subgraph) - Lemma s(A, B) ? maxi s(Ai , Bi)
- Lemma s(edge, path) ? (worst weight ratio)
(path length) - In the MST case
- Ai is an edge and Bi is a path, to give s(A, B) ?
pq - Bi is an edge and Ai is the same edge, to give
s(B, A) ? 1
8Algebraic framework
- The support of B for A is s(A, B) mint
xT(tB A)x ? 0 for all x, all t ? t - In the SPD case, s(A, B) max? Ax ?Bx
?max(A, B) - If A, B are SPD then ?(B-1A) s(A, B) s(B, A)
- Boman/Hendrickson If VWU, then
s(UUT, VVT) ? W22
9Algebraic framework
Boman/Hendrickson
- Lemma If VWU, then s(UUT, VVT) ?
W22 - Proof
- take t ? W22 ?max(WWT)
max y?0 yTWWTy / yTy - then yT (tI - WWT) y ? 0 for all y
- letting y VTx gives xT (tVVT - UUT) x
? 0 for all x - recall s(A, B) mint xT(tB A)x ? 0 for
all x, all t ? t - thus s(UUT, VVT) ? W22
10s(A, B) ? W22 ? W? x W1
(max row sum) x (max col sum) ? (max
congestion) x (max dilation)
11Support-graph analysis of modified incomplete
Cholesky
- B has positive (dotted) edges that cancel fill
- B has same row sums as A
- Strategy Use the negative edges of B to support
both the negative edges of A and the positive
edges of B.
12Supporting positive edges of B
- Every dotted (positive) edge in B is supported by
two paths in B - Each solid edge of B supports one or two dotted
edges - Tune fractions to support each dotted edge
exactly - 1/(2?n 2) of each solid edge is left over to
support an edge of A
13Analysis of MIC Summary
- Each edge of A is supported by the leftover
1/(2?n 2) fraction of the same edge of B. - Therefore s(A, B) ? 2?n 2
- Easy to show s(B, A) ? 1
- For this 2D model problem, condition number is
O(n1/2) - Similar argument in 3D gives condition number
O(n1/3) or O(n2/3) (depending on boundary
conditions)
14Open problems I
- Other subgraph constructions for better bounds on
W22 ? - For example Boman,
- W22 ? WF2 sum(wij2) sum of
(weighted) dilations, - and Alon, Karp, Peleg, West show there exists a
spanning tree with average weighted dilation
exp(O((log n loglog n)1/2)) o(n? ) - this gives condition number O(n1?) and solution
time O(n1.5?), - compared to Vaidya O(n1.75) with augmented
spanning tree - Is there a construction that minimizes W22
directly?
15Open problems II
- Make spanning tree methods more effective in 3D?
- Vaidya gives O(n1.75) in general, O(n1.2) in 2D
- Issue 2D uses bounded excluded minors, not just
separators - Spanning tree methods for more general matrices?
- All SPD matrices? (Boman, Chen, Hendrickson,
Toledo different matroid for all diagonally
dominant SPD matrices) - Finite element problems? (Boman
Element-by-element preconditioner for bilinear
quadrilateral elements) - Analyze a multilevel method in general?
16Complexity of linear solvers
Time to solve model problem (Poissons equation)
on regular mesh
17Complexity of direct methods
Time and space to solve any problem on any
well-shaped finite element mesh