Download presentation
Presentation is loading. Please wait.
1
Symmetric Weighted Matching for Indefinite Systems Iain Duff, RAL and CERFACS John Gilbert, MIT and UC Santa Barbara June 21, 2002
2
Symmetric indefinite systems: Block LDL T Optimization, interior eigenvalues,... Factor A = L * D * L’ L is unit lower triangular D is block diagonal with small symmetric blocks
3
Symmetric indefinite systems: Block LDL T Optimization, interior eigenvalues,... Factor A = L * D * L’ L is unit lower triangular D is block diagonal with small symmetric blocks Static pivoting after preprocessing by weighted matching
4
TRAJ06B optimal control (Boeing) condest = 1.4e6 inertia = (794, 0, 871)
5
TRAJ06B permuted optimal control (Boeing) condest = 1.4e6 inertia = (794, 0, 871) 794 2-by-2 pivots, 77 1-by-1 pivots
6
TRAJ06B factor, solve, iterative refinement optimal control (Boeing) condest = 1.4e6 inertia = (794, 0, 871) 794 2-by-2 pivots, 77 1-by-1 pivots factor nz = 29,842 max |L| = 550 iterations = 2 rel residual = 3.7e-14 [AGL] nz = 40,589 GESP nz = 53,512 GEPP nz = 432,202
7
Symmetric matrix and graph 1 2 3 4 5 15234 1 5 2 3 4 G(A)A Hollow vertex = zero diagonal element
8
Symmetric matrix, nonsymmetric matching 1 2 3 4 5 15234 1 5 2 3 4 G(A)A Perfect matching in A = disjoint directed cycles that cover every vertex of G
9
1 2 3 4 5 15234 1 5 2 3 4 G(A)A Theorem (easy): Any even cycle can be converted to a set of 2-cycles without decreasing the weight of the matching Symmetric matrix, symmetric matching
10
What about odd cycles? Breaking up odd cycles may decrease weight 4 3 1 5 2 15234 1 5 2 3 4 G(A)A
11
What about odd cycles? 4 3 1 5 2 15234 1 5 2 3 4 G(A)A Breaking up odd cycles may decrease weight Can break up odd cycles of length more than k and keep weight at least (k+1)/(k+2) times max
12
What about odd cycles? 4 3 1 5 2 15234 1 5 2 3 4 G(A)A Breaking up odd cycles may decrease weight Can break up odd cycles of length more than k and keep weight at least (k+1)/(k+2) times max But, may need to defer singular pivots
13
BlockPerm: Static block pivot permutation Find nonsymmetric max weight matching (MC64) Break up long cycles Permute symmetrically to make pivot blocks contiguous Permute blocks symmetrically for low fill (approx minimum degree) Move any singular pivots to end (caused by odd cycles or structural rank deficiency) Factor A = L*D*L’ without row/col interchanges (possibly fixing up bad pivots) Solve, and improve solution by iterative refinement
14
SAWPATH optimization (RAL) condest = 2e17 inertia = (776, 0, 583) 580 2-by-2 pivots, 199 1-by-1 pivots factor nz = 5,988 max |L| = 9e14 iterations = 1 rel residual = 4.4e-9 MA57 nz = 8,355 (best u) GESP nz = 34,060 GEPP nz = 331,344
15
LASER optimization inertia = (1000, 2, 2000) 1000 2-by-2 pivots, 1002 1-by-1 pivots (2 singular) factor nz = 7,563 max |L| = 1.6 iterations = 0 rel residual = 6.8e-17 GESP nz = 11,001 GEPP nz = 10,565 (rank wrong)
16
DUFF320 optimization (RAL) inertia = (100, 120, 100) 100 2-by-2 pivots (3 singular) 120 1-by-1 pivots (all singular) factor nz = 685 max |L| = 3.4e8 iterations = 2 rel residual = 3.0 MA57 nz = 2,848 GESP nz = 1,583 GEPP nz = 1,500 (no solve)
17
DUFF320, take 2: Magic permutation optimization (RAL) inertia = (100, 120, 100) 100 2-by-2 pivots (none singular) 120 1-by-1 pivots (all singular)
18
DUFF320, take 2: Magic permutation optimization (RAL) inertia = (100, 120, 100) 100 2-by-2 pivots (none singular) 120 1-by-1 pivots (all singular) factor nz = 722 max |L| = 1.0 iterations = 0 rel residual = 0.0
19
DUFF320, take 3: Identity block optimization (RAL) inertia = (100, 0, 220) 100 2-by-2 pivots 120 1-by-1 pivots factor nz = 1907 max |L| = 1 iterations = 1 rel residual = 1.7e-15 GESP nz = 2,929 GEPP nz = 3,554
20
Questions Judicious dynamic pivoting (e.g. MA57) Preconditioning iterative methods Combinatorial methods to seek good block diagonal directly (high weight, well-conditioned, sparse) Symmetric equilibration / scaling Better fixups for poor static pivots “We’ll hope to get some boundedness from hyperbolic sines” [Burns & Demmel 2002]
21
Questions Judicious dynamic pivoting (e.g. MA57) Preconditioning iterative methods Combinatorial methods to seek good block diagonal directly (high weight, well-conditioned, sparse) Symmetric equilibration / scaling Better fixups for poor static pivots “We’ll hope to get some boundedness from hyperbolic sines” [Burns & Demmel 2002]
22
BCSSTK24 structures (Boeing) condest = 6e11 inertia = (0, 0, 3562) no 2-by-2 pivots, 3562 1-by-1 pivots factor nz = 289,191 max |L| = 410 iterations = 2 rel residual = 2.2e-16 AGL nz = 299,000 Cholesky nz = 289,191 GEPP nz = 1,217,475
23
DUFF320, take 2: Magic permutation optimization (RAL) inertia = (100, 120, 100) 100 2-by-2 pivots (none singular) 120 1-by-1 pivots (all singular)
24
DUFF33 optimization (RAL) inertia = (9, 15, 9) 9 2-by-2 pivots (1 singular) 15 1-by-1 pivots (all singular) factor nz = 62 max |L| = 7.0e7 iterations = 1 rel residual = 3.0 MA57 nz = GESP nz = GEPP nz =
25
DUFF33, take 2: Magic permutation optimization (RAL) inertia = (9, 15, 9) 9 2-by-2 pivots (none singular) 15 1-by-1 pivots (all singular) factor nz = 51 max |L| = 1.0 iterations = 0 rel residual = 0.0
26
DUFF33, take 2: L with magic permutation optimization (RAL) inertia = (9, 15, 9) 9 2-by-2 pivots (none singular) 15 1-by-1 pivots (all singular) factor nz = 51 max |L| = 1.0 iterations = 0 rel residual = 0.0
27
DUFF33, take 2: D with magic permutation optimization (RAL) inertia = (9, 15, 9) 9 2-by-2 pivots (none singular) 15 1-by-1 pivots (all singular) factor nz = 51 max |L| = 1.0 iterations = 0 rel residual = 0.0
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.