Department of Computer Science, University of Illinois at Urbana-Champaign Probing for Schur Complements and Preconditioning Generalized Saddle-Point Problems Eric de Sturler, [email protected], http://www-faculty.cs.uiuc.edu/~sturler Optimization Technology Center, Northwestern University, October 6, 2004 Collaborators Jörg Liesen, TU Berlin Chris Siefert, Mike Parks, UIUC Armand Beaudoin, UIUC: metal deformation Lihua Zhu, UIUC: metal deformation Alla Sheffer, UBC: surface parameterization Overview Crash course on Krylov subspace methods Saddle-point problems Preconditioners Preconditioning Matrices with Nonzero (2,2) Block Approximating the Schur complement Probing Numerical results Numerical Example: Surface Parameterization Oseen Problem (lid driven cavity) Metal Deformation Conclusions Krylov Methods Crash Course Consider Ax = b . Given x 0 and r0 = b − Ax 0 , compute optimal update from K m (A, r0 ) ≡ span {r0 , Ar0 , …, Am −1r0 }: min z ∈K m (A,r0 ) b − A (x 0 + z ) 2 ⇔ min z ∈K m (A,r0 ) r0 − Az 2 Let K m = ⎡⎢r0 Ar0 A2r0 Am −1r0 ⎤⎥ , then z = K m ζ , ⎣ ⎦ and we must solve the following least squares problem AK m ζ ≈ r0 ⇔ ⎡Ar A2r 0 ⎢⎣ 0 Am r0 ⎤⎥ ζ ≈ r0 ⎦ Do this accurately and efficiently every iteration for increasing m . Arnoldi recurrence: H AVm = Vm +1 H m , where v1 = r0 / r0 2 , Vm +1Vm +1 = I m +1 , and range (Vm +1 ) = range (K m +1 ) r0 − AVm ym 2 = Vm +1e1 r0 2 −Vm +1 H m ym 2 = e1 r0 2 − H m ym 2 Krylov Methods Crash Course Consider Ax = b , and relate convergence to polynomials. x m = x 0 + z m where z m ∈ span{r0 , Ar0 , A2r0 , …, Am −1r0 } rm = r0 − Az m ∈ span{r0 , Ar0 , …, Am r0 } Assume A = U ΛU min z ∈K m (A,r0 ) −1 (diagonalizable), then residual at step m r0 − Az = min pm (A) r0 ≤ r0 U U −1 min max pm (λ ) pm (0)=1 pm (0)=1 λ ∈Λ(A) For normal matrix this bound is sharp. For highly nonnormal matrix this bound may not be useful. κ (U ) small: convergence determined by minimal polynomial Clustered eigenvalues yield fast convergence: preconditioning Eigenvalues surrounding origin yields very poor convergence. Krylov Methods Crash Course 1. A = diag (1,2, 3, …,100) 2. A = diag (−1, −100,1,2, …, 49, 52, ,100) 3. A = diag (−99, −97, …, −1,1, 3, …, 97, 99) GMRES/MINRES 2 0 -2 log10|r|-4 -6 1 -8 3 2 -10 -12 -14 0 20 40 60 #iterations 80 100 120 Generalized Saddle-point Problems We consider systems of the type ⎛A BT ⎞ ⎛x ⎞ ⎛ f ⎞ ⎟⎟ ⎜ ⎟ ⎜ ⎟ ⎜⎜ = ⎜ ⎟⎟ ⎟ ⎜⎜C 0 ⎟⎜ ⎟ y ⎟⎟ ⎜⎝ ⎠ ⎜⎝g ⎠⎟ ⎝ ⎠ and ⎛A BT ⎞ ⎛x ⎞ ⎛ f ⎞ ⎟⎟ ⎜ ⎟ ⎜ ⎟ ⎜⎜ = ⎜ ⎟⎟ ⎟ ⎜⎜C D ⎟⎜ ⎟ y ⎟⎟ ⎜⎝ ⎠ ⎜⎝g ⎠⎟ ⎝ ⎠ Systems of this type arise in a variety of problems: ¾ Constrained optimization problems o FETI (type) methods (Mike Parks) o Surface parameterization ¾ Systems of PDEs with continuity constraints o o o o Navier-Stokes Potential flow in porous media Polycrystal plasticity – metal deformation Electrostatics / electromagnetics Preconditioners Various preconditioners have been proposed Block diagonal preconditioner Constraint Block preconditioner upper triangular ‘Ideal version’ leads to small number of nonzero eigenvalues, and hence fast convergence for Krylov methods In general we use an approximation to these ideal versions (otherwise too expensive) Typically involve Schur complement type matrix Preconditioners Significant body of work by Elman, Golub, Wathen, Benzi, Silvester, Gould, Nocedal, Hribar, Simoncini, Perugia, BP, … Use splitting A = F − E (dS&L): ⎛F −1 ⎞ ⎛F − E ⎟⎟ ⎜ ⎜⎜ ⎟⎟ ⎜⎜ ⎜⎜ − 1 (CF −1BT ) ⎠⎟ ⎜⎝ C ⎜⎝ M = (CF B BT ⎞⎟ ⎛⎜I − S ⎟⎟ = ⎜ 0 ⎠⎟⎟ ⎜⎝⎜ M N ⎞⎟ ⎟⎟ 0 ⎠⎟ T −1 −1 T , C N = F B , MN = I , (NM ) = NM ) −1 ⎛0 ⎞ Oblique projection:NM = U 1 U 2 ⎜⎜ I ⎟⎟ U 1 U 2 ⎝ ⎠ −1 2 ( ) ( ) Principal angles ( ωi = cos ϕi ) between null (NM ) and range (NM ) play important role in eigenvalue bounds. Preconditioners N ⎞⎟ ⎛x ⎞ ⎛⎜ fˆ⎞⎟ ⎟⎟ ⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟ 0 ⎠⎟ ⎝⎜y ⎠⎟ ⎜⎜⎝gˆ⎠⎟⎟ 1 ⎛1 + ωmax ⎞ 2 ⎟⎟ S , λ ∈ {1, (1 ± 5 ) / 2} Eigenvalues: λS − λ ≤ 1.5 ⎜⎜ ⎝⎜ 1 − ωmax ⎠⎟⎟ ⎛I − S Preconditioned system: ⎜⎜⎜ ⎜⎝ M Further splitting gives fixed point iteration that depends only on x : x k +1 = (I − NM ) Sx k + f Solves related system (I − (I − NM ) S ) x = f Eigenvalues 1 − λR ≤ (1 − ω −1 2 2 max ) S Preconditioners This approach is applicable to general problems; for details and analysis see dS&L 2002. ¾Eigenvalue bounds for general problems ¾Regarding related system o Smaller system to solve o Good bounds on eigenvalues, single cluster o Shows bounds always better than for block diag. prec. o Satisfies constraints o Extends constraint preconditioners to general matrices and is more efficient (CPU and memory). Problem is that (this type of) iteration involves (CF B −1 which may be expensive to compute and iterate with. In that case, we must look for alternatives. T −1 ) , Invariance Property (also nonzero (2,2)) ⎛ A ˆ = ⎜⎜ A ⎜⎜R C ⎝ 1 B R2 ⎞⎟ ⎟⎟, 0 ⎠⎟⎟ T ⎛F −1 ⎜⎜ Preconditioner: ⎜ ⎜⎜ 0 ⎝ ⎞ ⎟⎟ ⎟ −1 ⎟ −1 T (R1CF B R2 ) ⎠⎟⎟ 0 ⎛I − S N ⎞ ⎟⎟ ⎜⎜ −1 − 1 T −1 −1 T ⎟⎟, where N = F B R2 and M = R2 (CF B ) C ⎜⎜ 0 ⎠⎟⎟ ⎜⎝ M MN = R2−1MNR2 = I ,NM = NM (oblique) projection. This matrix has exactly the same eigenvalues (and bounds) as the original matrix with block diagonal preconditioner. Also leads to the same fixed point iteration/related system (I − (I − NM )S ) x = (I − (I − NM )S ) x = f Surface Parameterization Example: Texture Mapping Angle-based Flattening Solve mesh flattening as constrained optimization problem. Minimize relative deformation of angles, 2 2 α − φ / φ ∑ ( i, j i, j ) i, j , i, j Subject to constraints on valid 2D mesh 1. Angles between 0 and π (orientation), hardly ever a problem (dealt with algorithmically) 2. Angles in triangle sum to π , 3. Angles around interior node sum to 2π , 4. Triangles at an interior node need to agree on edge lengths: nonlinear constraint. T min ∑ (αi, j − φi , j ) / φ subject to ⎡⎢g 2 (α) g 3 (α) g 4 (α)⎤⎥ = 0 ⎣ ⎦ i, j 2 i, j Critical point of Lagrangian L (α, λ ) = F (α ) + λT g (α) Nonlinear System Critical point of L(, ) = F( ) + Tg( ): ∫ , L(, ) = 0 Newton iteration: ∫ 2, L(, ) = −∫ , L(, ) ∫ 2 [F( ) + T g( )] [∫ g( )] T Jacobian: = ( ) ∫ g 0 A + G k B T C Tk B 0 0 (symmetric and indefinite) Ck 0 0 j A = diag 2w i and G k depends only on g (4 ) ( ) B depends only on g (2 ) ( ) and hence is constant (zero,one) C k depends on g (3 ) and g (4 ) and is partially constant (g (3 ) ) Preconditioning Consider the following choice of blocks ⎡ A BT ⎤ ⎡F − Ek C kT ⎤ ⎡Gk ⎢ ⎥ with F = ⎢ ⎥ and E = ⎢ k ⎢ C ⎥ ⎢ ⎥ ⎢0 B 0 0 k ⎢⎣ ⎥⎦ ⎢⎣ ⎥⎦ ⎢⎣ 0⎤ ⎥. 0⎥⎥ ⎦ Explicit inverse of F known (very good splitting). ⎡I − Sk ⎢ ⎢ M k ⎢⎣ N k ⎤ ⎡x ⎤ ⎡ f ⎤ ⎥⎢ ⎥ = ⎢ ⎥ 0 ⎥⎥ ⎢⎣y ⎥⎦ ⎢⎣g ⎥⎦ ⎦ and 1 (I − (I − N k M k )Sk ) x = f ⎛1 + ωmax ⎞ 2 −1 2 2 ⎟ S λS − λ ≤ 1.5 ⎜⎜ ⎟⎟ S and 1 − λR ≤ (1 − ωmax ) ⎝⎜ 1 − ωmax ⎠⎟ Scaling Constraints Scale constraints g 3 (α) and g 4 (α) by ε and precondition: ⎡I − εSk Block diagonal preconditioner: ⎢⎢ −1 ⎢⎣ ε M k εN k ⎤ ⎡x ⎤ ⎡ f ⎤ ⎥ ⎥⎢ ⎥ = ⎢ ⎢ ⎥ 0 ⎥⎥ ⎢⎣y ⎥⎦ ⎢ ε−1g ⎥ ⎦ ⎣ ⎦ Related system (after splitting): (I − ε (I − N k M k ) Sk ) x = f Eigenvalue bounds for the scaled system: 1 ⎛1 + ωmax ⎞ 2 Block diagonal preconditioner: λS − λ ≤ 1.5ε ⎜⎜ ⎟⎟⎟ S ⎜⎝ 1 − ωmax ⎠⎟ Related 1 − λR ≤ ε (1 − ω −1 2 2 max ) S Very fast convergence even for modest ε , (but Newton …) Convergence “Three Balls” GMRES convergence (no scaling) 10 10 10 10 10 10 0 no prec right prec. B(S) (I-F) -2 -4 -6 -8 -10 20 40 60 80 100 Convergence “Three Balls” 10 Computed ||r n||/||r 0 || 10 10 10 10 0 GMRES convergence with scaling no prec right prec. B(S) (I-F) -2 -4 -6 =1 -8 = 0.1 = 1 10 = 0.1 -10 10 20 30 40 50 Eigenvalues of B(S) =1 0 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 3 3.5 0 0.5 1 1.5 2 2.5 3 3.5 0 0.5 1 1.5 2 2.5 3 3.5 = 0.1 0 -1.5 -1 -0.5 = 0.01 0 -1.5 -1 -0.5 Eigenvalues of Related System =1 0 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 0.9 1 1.1 1.2 1.3 1.4 0.9 1 1.1 1.2 1.3 1.4 = 0.1 0 0.7 0.8 = 0.01 0 0.7 0.8 Preconditioners – nonzero (2,2) First, we consider saddle-point problems with nonzero (2,2) block, such as stabilized finite element discretizations. Block-diagonal preconditioner from splitting (1,1) block ⎞ 0 ⎛F − E BT ⎞ ⎜⎛F −1 ⎟ ⎟⎟ → ⎜ ⎜⎜ − 1 ⎟ D ⎠⎟ ⎜⎜ 0 − (D − CF −1BT ) ⎟⎟ ⎜⎝ C ⎝ ⎠ ⎛ fˆ⎞ ⎛I − S N ⎞ x ⎟⎟ y = ⎜⎜ ⎟⎟, Preconditioned system: ⎜⎜ M Q ⎠⎟ ⎜⎝gˆ⎠⎟ ⎝ 2 where MN = I + Q and (NM ) = NM + NQM () Further splitting leads to fixed point iteration and a smaller related system: (I − (I − NM ) S ) x = f Preconditioners – nonzero (2,2) ⎛I − S N ⎞ ⎟⎟? Eigenvalues of B (S ) = ⎜⎜ M Q ⎝ ⎠⎟ ⎧ 2⎫ ⎛ I N⎞ ⎪ ⎪ 1 1 ⎪ ⎟ ⎜ B (0) = ⎜M Q ⎟⎟ : λ ∈ ⎨1, (1 + δj ) ± 1 + (1 + δj ) ⎪ ⎬ ⎝ ⎠ ⎪ ⎪ 4 ⎪ 2 ⎪ ⎩ ⎭ where δj is an eigenvalue of Q and typically small. Let null (NM ) → U 1 and other eigenvectors NM → U 2 = U 2Θ Eigenvalues of B (S ) from perturbation of B (0): 1 ⎛1 + ωmax ⎞ 2 ⎟⎟ S λS − λ ≤ 2γκΘ ⎜⎜ ⎝⎜ 1 − ωmax ⎠⎟⎟ (typically γκΘ modest) (I − (I − NM )S ): 1 − λR ≤ (1 + ω1δ + ω1δκΘ )(1 − ω −1 2 2 max ) S Approximating the Schur complement Replace Schur complement type matrix by approximation: ⎛F −1 0 ⎞ ⎛F −1 0 ⎞ ⎟⎟ by ⎜ ⎟⎟, where S −1 is approximated directly ⎜⎜ ⎜⎜ −1 ⎟ F ⎜⎜⎝ 0 S F−1 ⎠⎟⎟ 0 S ⎟ ⎜⎝ F ⎠ ⎛I − S Preconditioned system ⎜⎜ M ⎜⎝ 2 N ⎞⎟ 0 ⎠⎟⎟ ⎛I − S N ⎞ ⎟⎟ or ⎜⎜ M ⎜⎝ 2 Q2 ⎠⎟ where N = F −1BT , M 2 = S F−1C , M 2N = S F−1S F ≡ I + E , and 2 (NM 2 ) = N (I + E ) M 2 = NM 2 + N EM 2 ⎛I − S N ⎞ ⎛ I ⎟⎟ = ⎜ Bounds: ⎜⎜ M ⎜⎝ 2 Q2 ⎠⎟ ⎝⎜⎜M N ⎞⎟ ⎛ S ⎜⎜ − ⎟ Q ⎠⎟ ⎝⎜EM 0 ⎞⎟ EQ ⎠⎟⎟ Approximating the Schur complement ⎛I − S N ⎞ ⎛ I ⎟⎟ = ⎜ B (S , E ) = ⎜⎜ M ⎜⎝ 2 Q2 ⎠⎟ ⎝⎜⎜M N ⎞⎟ ⎛ S ⎜⎜ − ⎟ Q ⎠⎟ ⎝⎜−EM 0 ⎞⎟ −EQ ⎠⎟⎟ Eigenvalues of B (S , E ) from perturbation of B (0, 0): 1 λS ,E ⎛1 + ωmax ⎞ 2 ˆV E − λ ≤ γκΘ ⎜⎜ ⎟⎟⎟ S + γκ ⎜⎝ 1 − ωmax ⎠⎟ ˆ V modest) (typically γκΘ and γκ When D = 0 (and hence Q,Q2 = 0 ) 1 λS ,E ⎛1 + ωmax ⎞ 2 2 ⎟ ⎜ − λ ≤ 2⎜ E ⎟⎟ S + ⎜⎝ 1 − ωmax ⎠⎟ 5 Approximating the Schur complement Splitting as before leads to exactly the same related system. ⎛I − S N ⎞ ⎛ I ⎟⎟ = ⎜ New splitting: ⎜⎜ M ⎜⎝ 2 Q2 ⎠⎟ ⎝⎜⎜M 2 ⎞ ⎛S 0 ⎞ N ⎟⎟ − ⎜ ⎟⎟ M 2N − I ⎠⎟ ⎝⎜⎜ 0 E ⎠⎟ ⎛f ⎞ −N E ⎞⎟ x ⎜⎜ ⎟⎟ = ⎟ I + E ⎠⎟⎟ y ⎜⎝g ⎠⎟⎟ ⎛I − (I − NM 2 ) S Linear system: ⎜⎜ −M 2S ⎜⎝ () Eigenvalues cluster around 1. 1 − λR ≤ 1 + N 2 1 + M2 2 max ( S , E ) We lose advantages of smaller system and satisfying the constraints. Probing for the Schur Complement Approximate − (D − CF B −1 T −1 ) without having (D − CF −1BT ) Probing (Chan&Mathew’92): reconstruct matrix with small bandwidth from products with selected vectors and invert. Based on rapid decay from diagonal in matrix (1D interface). We use decay of F −1 on mesh with structure of C , BT , D to select pattern of large coefficients in matrix to probe for Construct set of vectors to minimize lumping other coeff.s Cheap to use multiple orderings and combine inverses of matrices with small bandwidth (convergence not great) Better to approximate matrix structure for multidimensional problem directly and use incomplete decomposition Oseen problem, driven cavity Software by Elman, Silvester, Wathen, Ramage System (A nonsymmetric): ⎡ A BT ⎤ ⎡x ⎤ ⎡ f ⎤ ⎢ ⎥⎢ ⎥ = ⎢ ⎥ ⎢B −βC ⎥ ⎢y ⎥ ⎢g ⎥ ⎣⎢ ⎦⎥ ⎣ ⎦ ⎣ ⎦ viscosity ν=1/10 and stabilization β=1/4 Basic Splittings of (1,1) Block 0.6 Unpreconditioned Diagonal Prec. Tridiagonal Prec. 0.4 0.2 Imag. 0 −0.2 −0.4 −0.6 −0.8 −0.5 0 0.5 1 Real 1.5 2 Oseen problem Not constrained to ‘structured’ splittings A=F-E Multigrid cycle is a (complicated) splitting Use number of V-cycles for F-1. Useful because we can study convergence and eigenvalue (bounds) for sequence of problems with decreasing ||S||. Likewise, we can analyze the effect of approximations to the Schur complement (not as easy) 1 V-cycle, Related System: Eigenvalues 0.1 0.05 0 −0.05 −0.1 −0.15 −0.2 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 2 V-cycles, Related System: Eigenvalues 0.1 0.05 0 −0.05 −0.1 −0.15 −0.2 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 4 V-cycles, Related System: Eigenvalues 0.1 0.05 0 −0.05 −0.1 −0.15 −0.2 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 6 V-cycles, Related System: Eigenvalues 0.1 0.05 0 −0.05 −0.1 −0.15 −0.2 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 Exact Schur Complement Convergence for block-diagonal preconditioner for various numbers of V-cycles for the splitting 0 10 1 V−Cycle 2 V−Cycles 3 V−Cycles 4 V−Cycles 5 V−Cycles 6 V−Cycles −2 10 −4 k 0 ||r ||/||r || 10 −6 10 −8 10 −10 10 5 10 15 20 25 Iteration 30 35 40 45 Inexact Schur Complement - ILU(1.e-4) Convergence for block-diagonal preconditioner for various numbers of V-cycles for the splitting 0 10 1 V−Cycle 2 V−Cycles 3 V−Cycles 4 V−Cycles 5 V−Cycles 6 V−Cycles −2 10 −4 ||rk||/||r0|| 10 −6 10 −8 10 −10 10 5 10 15 20 25 30 Iteration 35 40 45 50 Exact Schur Complement Convergence for related system using various numbers of V-cycles for the splitting 0 10 1 V−Cycle 2 V−Cycles 3 V−Cycles 4 V−Cycles 5 V−Cycles 6 V−Cycles −2 10 −4 ||rk||/||r0|| 10 −6 10 −8 10 −10 10 2 4 6 8 Iteration 10 12 14 Inexact Schur Complement - ILU(1.e-4) Convergence for related system using various numbers of V-cycles for the splitting 0 10 1 V−Cycle 2 V−Cycles 3 V−Cycles 4 V−Cycles 5 V−Cycles 6 V−Cycles −2 10 −4 k 0 ||r ||/||r || 10 −6 10 −8 10 −10 10 2 4 6 8 Iteration 10 12 14 Exact Schur Complement Eigenvalue perturbations and bounds for block-diagonal preconditioner using various numbers of V-Cycles for splitting Exact Schur Complement Eigenvalue perturbations and bounds for related system using various numbers of V-Cycles for splitting without κ ( Θ ) Inexact Schur Complement – ILU Convergence for block-diagonal preconditioner using various accuracies for Schur Complement ILU 0 10 ILU(1e−3) ILU(1e−4) ILU(1e−5) ILU(1e−6) −2 10 −4 ||rk||/||r0|| 10 −6 10 −8 10 −10 10 5 10 15 Iteration 20 25 30 Inexact Schur Complement - ILU Convergence for related system using various accuracies for Schur Complement ILU 0 10 ILU(1e−3) ILU(1e−4) ILU(1e−5) ILU(1e−6) −2 10 −4 k 0 ||r ||/||r || 10 −6 10 −8 10 −10 10 1 2 3 4 Iteration 5 6 7
© Copyright 2026 Paperzz