cse 245: computer aided circuit simulation and verification
DESCRIPTION
CSE 245: Computer Aided Circuit Simulation and Verification. Matrix Computations: Iterative Methods (II) Chung-Kuan Cheng. Outline. Introduction Direct Methods Iterative Methods Formulations Projection Methods Krylov Space Methods Preconditioned Iterations Multigrid Methods - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/1.jpg)
CSE 245: Computer Aided Circuit Simulation and Verification
Matrix Computations: Iterative Methods (II)
Chung-Kuan Cheng
![Page 2: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/2.jpg)
2
Outline IntroductionDirect Methods Iterative Methods Formulations Projection Methods Krylov Space Methods Preconditioned Iterations Multigrid Methods Domain Decomposition Methods
![Page 3: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/3.jpg)
3
Introduction
Direct MethodLU Decomposition
Iterative Methods
Jacobi
Gauss-Seidel
Conjugate GradientGMRES
Multigrid
Domain Decomposition
PreconditioningGeneral and Robust but can be complicated ifN>= 1M
Excellent choice for SPD matricesRemain an art for arbitrary matrices
![Page 4: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/4.jpg)
4
Formulation Error in A norm Matrix A is SPD (Symmetric and Positive
Definite Minimal Residue Matrix A can be arbitrary
![Page 5: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/5.jpg)
5
Formulation: Error in A normMin (x-x*)TA(x-x*), where Ax* =b, and A is
SPD.Min E(x)=1/2 xTAx-bTxSearch space: x=x0+Vywhere x0 is an initial solution, matrix Vnxm has m bases of subspace K vector ym contains the m variables.
![Page 6: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/6.jpg)
6
Solution: Error in A normMin E(x)=1/2 xTAx-bTx,Search space: x=x0+Vy, r=b-Ax1. VTAV is nonsingular if A is SPD, V is full
ranked2. y=(VTAV)-1VTr0
3. x=x0+V(VTAV)-1VTr0
4. VTr=05. E(x)=E(x0)-1/2 r0
TV(VTAV)-1VTr0
![Page 7: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/7.jpg)
7
Solution: Error in A normFor any V’=VW, where V is nxm and W is a
nonsingular mxm matrix, the solution x remains the same.
Search space: x=x0+V’y, r=b-Ax1. V’TAV’ is nonsingular if A is SPD & V is full
ranked2. x=x0+V’(V’TAV’)-1V’Tr0
3. =x0+V(VTAV)-1VTr0
4. V’Tr=WTVTr=05. E(x)=E(x0)-1/2 r0
TV(VTAV)-1VTr0
![Page 8: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/8.jpg)
8
Steepest Descent: Error in A normMin E(x)=1/2 xTAx-bTx,Gradient: Ax-b= -rSet x=x0+yr0
1. r0TAr0 is nonsingular if A is SPD
2. y=(r0TAr0)-1r0
Tr0
3. x=x0+r0(r0TAr0)-1r0
Tr0
4. r0Tr=0
5. E(x)=E(x0)-1/2 (r0Tr0)2/(r0
TAr0)
![Page 9: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/9.jpg)
9
Lanczos: Error in A normMin E(x)=1/2 xTAx-bTx,Set x=x0+Vy1. v1=r0
2. vi is in K{r0, A, i}3. V=[v1,v2, …,vm] is orthogonal4. AV=VHm+vm+1 em
T
5. VTAV=Hm
Note since A is SPD, Hm is Tm Tridiagonal
![Page 10: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/10.jpg)
10
Conjugate Gradient: Error in A normMin E(x)=1/2 xTAx-bTx,Set x=x0+Vy1. v1=r0
2. vi is in K{r0, A, i}3. V=[v1,v2, …,vm] is orthogonal in A
norm, i.e. VTAV= [diag(viTAvi)]
4. yi= (viTAvi)-1
![Page 11: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/11.jpg)
11
Formulation: ResidualMin |r|2=|b-Ax|2, for an arbitrary square
matrix AMin R(x)=(b-Ax)T(b-Ax)Search space: x=x0+Vywhere x0 is an initial solution, matrix Vnxm has m bases of subspace K vector ym contains the m variables.
![Page 12: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/12.jpg)
12
Solution: ResidualMin R(x)=(b-Ax)T(b-Ax)Search space: x=x0+Vy1. VTATAV is nonsingular if A is
nonsingular and V is full ranked.2. y=(VTATAV)-1VTATr0
3. x=x0+V(VTATAV)-1VTATr0
4. VTATr= 05. R(x)=R(x0)-r0
TAV(VTATAV)-1VTATr0
![Page 13: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/13.jpg)
13
Steepest Descent: ResidualMin R(x)=(b-Ax)T(b-Ax)Gradient: -2AT(b-Ax)=-2ATrLet x=x0+yATr01. VTATAV is nonsingular if A is
nonsingular where V=ATr0.2. y=(VTATAV)-1VTATr03. x=x0+V(VTATAV)-1VTATr04. VTATr= 05. R(x)=R(x0)-r0
TAV(VTATAV)-1VTATr0
![Page 14: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/14.jpg)
14
GMRES: ResidualMin R(x)=(b-Ax)T(b-Ax)Gradient: -2AT(b-Ax)=-2ATrLet x=x0+yATr0
1. v1=r0
2. vi is in K{r0, A, i}3. V=[v1,v2, …,vm] is orthogonal4. AV=VHm+vm+1 em
T=Vm+1HHm
5. x=x0+V(VTATAV)-1VTATr06. =x0+V(HHm
THHm)-1 HHmTe1|r0|2
![Page 15: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/15.jpg)
15
Conjugate Residual: ResidualMin R(x)=(b-Ax)T(b-Ax)Gradient: -2AT(b-Ax)=-2ATrLet x=x0+yATr0
1. v1=r0
2. vi is in K{r0, A, i}3. (AV)TAV= D Diagonal Matrix4. x=x0+V(VTATAV)-1VTATr0
5. =x0+VD-1VTATr0
![Page 16: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/16.jpg)
16
Conjugate Gradient Method Steepest Descent
Repeat search direction Why take exact one step
for each direction?
Search direction of Steepestdescent method
![Page 17: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/17.jpg)
Orthogonal Direction
)()(
)()(
)(
)()()()(
)1()(
)()()()1(
0)(
0
iT
i
iT
i
dd
edi
iiiTi
iTi
iiii
a
daed
ed
daxx
We don’t know !!!
)1()1()0( ,, nddd Pick orthogonal search direction:
)(ie
We like to leave the error of xi+1 orthogonal to the search direction di, i.e.
![Page 18: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/18.jpg)
18
Orthogonal A-orthogonal Instead of orthogonal search direction, we make search
direction A –orthogonal (conjugate)0)()( i
Tj Add
![Page 19: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/19.jpg)
Search Step Size
0)()()( )()1()1()1()1( iT
iidadT
iidad dxfxxfxf
)()(
)()(
)(
)()()()()(
)()()()(
)()1(
)()1(
)()(
0))((
0)(
0
iT
i
iT
i
Add
dri
iT
iiiT
i
iT
iii
iT
i
iT
i
a
dAdadAxb
ddaxAb
dAxb
dr
![Page 20: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/20.jpg)
Iteration finish in n steps
1
0)()0(
n
jjjde Initial error:
)(
)(
)(
)()()()()0()(
)()(
)()(
)()(
1
0)()()0()(
)()(
)0()(
kAdd
Aed
Add
daeAd
Add
Aedk
kTkkj
Tk
jj
Tk
a
AddAddeAd
kT
k
kT
k
kT
k
k
iii
Tk
kT
k
Tk
1
)()(
1
0)()(
1
0)()(
1
0)()()0()(
n
ijjj
i
jjj
n
jjj
i
jjji
da
dada
daee
A-orthogonal
The error component at direction djis eliminated at step j. After n steps,all errors are eliminated.
![Page 21: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/21.jpg)
Conjugate Search Direction How to construct A-orthogonal search
directions, given a set of n linear independent vectors.
Since the residue vector in steepest descent method is orthogonal, a good candidate to start with
110 ,,, nrrr
![Page 22: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/22.jpg)
Construct Search Direction -1 In Steepest Descent Method
New residue is just a linear combination of previous residue and
Let
)()()()()()()1()1( )( iiiiiiii AdardaeAAer
)(,0)()( jirr jTi
)(ir)1( iAd
},,,{ 110 ii rrrspanD
ii Dd )1(We have
},,,,{
},,,,{
)0(1
)0(2
)0()0(
)0(1
)0(2
)0()0(
rArAArrspan
dAdAAddspanDi
ii
Krylov SubSpace: repeatedly applying a matrix to a vector
![Page 23: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/23.jpg)
Construct Search Direction -2)0()0( rd let
1
0)()()(
i
kkikii drd For i > 0
101
01
)1()1(
)()(
)1(
)1(
)(
1
)()(1
)()(1
)()(
)1()()()()()()(
)()()()()()1()(
jiji
otherwisejirrjirr
Adr
rrrrAdra
Adrarrrr
iTi
iTi
i
i
i
Add
rra
ij
iTia
iTia
jTi
jTij
Tij
Tij
jTijj
Tij
Ti
![Page 24: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/24.jpg)
Construct Search Direction -3
)1()()()( iiii drd
)1,()( iii let
then
)1()1(
)()(
)1()2()1()1()1(
)()(
)1()1(
)()(
)1()1(
)()(
)1(
1
iTi
iTi
iTiii
Ti
iTi
iTi
iTi
iTi
iTi
ii
rrrr
rdrrrr
rdrr
Addrr
a
can get next direction from the previous one, without saving them all.
![Page 25: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/25.jpg)
Conjugate Gradient Algorithm
)()1()1()1(
)1(
)()()1()1(
)()()()1(
)(
)0()0()0(
)()(
)1()1(
)()(
)()(
iiii
rr
rri
iiii
iiii
Add
rri
drd
Adarr
daxx
a
Axbrd
iT
i
iT
i
iT
i
iT
i
Given x0, iterate until residue is smaller than error tolerance
![Page 26: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/26.jpg)
26
Conjugate gradient: Convergence In exact arithmetic, CG converges in n steps
(completely unrealistic!!) Accuracy after k steps of CG is related to: consider polynomials of degree k that is equal to
1 at step 0. how small can such a polynomial be at all the
eigenvalues of A? Eigenvalues close together are good. Condition number: κ(A) = ||A||2 ||A-1||2 = λmax(A) /
λmin(A) Residual is reduced by a constant factor by
O(κ1/2(A)) iterations of CG.
![Page 27: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/27.jpg)
27
Other Krylov subspace methods Nonsymmetric linear systems:
GMRES: for i = 1, 2, 3, . . . find xi Ki (A, b) such that ri = (Axi – b) Ki (A, b)But, no short recurrence => save old vectors => lots more space (Usually “restarted” every k iterations to use less space.)
BiCGStab, QMR, etc.:Two spaces Ki (A, b) and Ki (AT, b) w/ mutually orthogonal bases Short recurrences => O(n) space, but less robust
Convergence and preconditioning more delicate than CG Active area of current research
Eigenvalues: Lanczos (symmetric), Arnoldi (nonsymmetric)
![Page 28: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/28.jpg)
28
Preconditioners Suppose you had a matrix B such that:
1. condition number κ(B-1A) is small2. By = z is easy to solve
Then you could solve (B-1A)x = B-1b instead of Ax = b
B = A is great for (1), not for (2) B = I is great for (2), not for (1) Domain-specific approximations sometimes work B = diagonal of A sometimes works
Better: blend in some direct-methods ideas. . .
![Page 29: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/29.jpg)
29
Preconditioned conjugate gradient iteration
x0 = 0, r0 = b, d0 = B-1 r0, y0 = B-1 r0
for k = 1, 2, 3, . . .αk = (yT
k-1rk-1) / (dTk-1Adk-1) step length
xk = xk-1 + αk dk-1 approx solution
rk = rk-1 – αk Adk-1 residual
yk = B-1 rk preconditioning solve
βk = (yTk rk) / (yT
k-1rk-1) improvement
dk = yk + βk dk-1 search direction One matrix-vector multiplication per iteration One solve with preconditioner per iteration
![Page 30: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/30.jpg)
Outline Iterative Method Stationary Iterative Method (SOR,
GS,Jacob) Krylov Method (CG, GMRES) Multigrid Method
![Page 31: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/31.jpg)
What is the multigrid A multilevel iterative method to solve Ax=b
Originated in PDEs on geometric grids Expend the multigrid idea to
unstructured problem – Algebraic MG Geometric multigrid for presenting
the basic ideas of the multigrid method.
![Page 32: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/32.jpg)
The model problem
+ v1 v2 v3 v4 v5 v6 v7 v8vs
0000000
21121
121121
121121
12112
8
7
6
5
4
3
2
1 sv
vvvvvvvv
Ax = b
![Page 33: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/33.jpg)
Simple iterative method x(0) -> x(1) -> … -> x(k) Jacobi iteration
Matrix form : x(k) = Rjx(k-1) + Cj
General form: x(k) = Rx(k-1) + C (1) Stationary: x* = Rx* + C (2)
))(/1(1
)(1
1
)()1(
n
ij
kjik
i
j
kjikiii
ki xaxabax
![Page 34: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/34.jpg)
Error and Convergence
Definition: error e = x* - x (3) residual r = b – Ax (4)
e, r relation: Ae = r (5) ((3)+(4))e(1) = x*-x(1) = Rx* + C – Rx(0) – C =Re(0) Error equation e(k) = Rke(0) (6) ((1)+(2)+(3))
Convergence: 0lim )(
k
ke
![Page 35: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/35.jpg)
Error of diffenent frequency Wavenumber k and frequency
= k/n
• High frequency error is more oscillatory between points
k= 1
k= 4 k= 2
![Page 36: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/36.jpg)
Iteration reduce low frequency error efficiently Smoothing iteration reduce high
frequency error efficiently, but not low frequency error
Error
Iterations
k = 1
k = 2
k = 4
![Page 37: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/37.jpg)
Multigrid – a first glance Two levels : coarse and fine grid
1 2 3 4 5 6 7 8
1 2 3 4 A2hx2h=b2h
Ahxh=bhh
Ax=b
2h
![Page 38: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/38.jpg)
Idea 1: the V-cycle iteration
Also called the nested iteration
A2hx2h = b2h A2hx2h = b2h
h
2h
Ahxh = bh
Iterate =>
)0(2holdx
)0(2hnewx
Start with
Prolongation: )0(2hnewx
)0(holdx Restriction: )0(h
newx)1(2h
oldx
Iterate to get )0(hnewx
Question 1: Why we need the coarse grid ?
![Page 39: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/39.jpg)
Prolongation Prolongation (interpolation) operator
xh = x2h
1 2 3 4 5 6 7 8
1 2 3 4
hhI2
hhI2
21
21
21
21
21
21
21
2
1
1
1
1
hhI
![Page 40: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/40.jpg)
Restriction Restriction operator
xh = x2hhhI2
hhI2
1 2 3 4 5 6 7 8
1 2 3 4
010010
01001
2hhI
![Page 41: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/41.jpg)
Smoothing The basic iterations in each level
In ph: xphold xph
new
Iteration reduces the error, makes the error smooth geometrically.So the iteration is called smoothing.
![Page 42: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/42.jpg)
Why multilevel ? Coarse lever iteration is cheap. More than this… Coarse level smoothing reduces the error
more efficiently than fine level in some way .
Why ? ( Question 2 )
![Page 43: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/43.jpg)
Error restriction Map error to coarse grid will make the
error more oscillatory
K = 4, = /2
K = 4, =
![Page 44: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/44.jpg)
Idea 2: Residual correction
Known current solution x Solve Ax=b eq. to MG do NOT map x directly between levels Map residual equation to coarse level
1. Calculate rh
2. b2h= Ih2h rh ( Restriction )3. eh = Ih2h
x2h ( Prolongation )4. xh = xh + eh
**
* exxrAeSolve
![Page 45: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/45.jpg)
Why residual correction ? Error is smooth at fine level, but the
actual solution may not be. Prolongation results in a smooth error
in fine level, which is suppose to be a good evaluation of the fine level error.
If the solution is not smooth in fine level, prolongation will introduce more high frequency error.
![Page 46: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/46.jpg)
`
Revised V-cycle with idea 2 Smoothing on xh
Calculate rh
b2h= Ih2h rh
Smoothing on x2h
eh = Ih2h x2h
Correct: xh = xh + eh
Restriction
Prolongation
2h h
![Page 47: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/47.jpg)
What is A2h
Galerkin condition
hh
hhh
h IAIA 222
hhhhhh
hhh
hhh
hhhh
hhhhhh
h
bxArIxIAI
rxIAeAxIe22222
22
22
22
![Page 48: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/48.jpg)
Going to multilevels
V-cycle and W-cycle
Full Multigrid V-cycle
h
2h
4h
h
2h
4h
8h
![Page 49: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/49.jpg)
Performance of Multigrid Complexity comparison
Gaussian elimination O(N2)Jacobi iteration O(N2log)Gauss-Seidel O(N2log)SOR O(N3/2log)Conjugate gradient O(N3/2log)Multigrid ( iterative ) O(Nlog)Multigrid ( FMG ) O(N)
![Page 50: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/50.jpg)
Summary of MG ideasImportant ideas of MG1. Hierarchical iteration2. Residual correction3. Galerkin condition4. Smoothing the error:
high frequency : fine grid low frequency : coarse grid
![Page 51: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/51.jpg)
AMG :for unstructured grids Ax=b, no regular grid structure Fine grid defined from A
1
2
3 4
5 6
311000130010102001
000411010131001113
A
![Page 52: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/52.jpg)
Three questions for AMG How to choose coarse grid How to define the smoothness of
errors How are interpolation and
prolongation done
![Page 53: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/53.jpg)
How to choose coarse grid Idea: C/F splitting As few coarse grid
point as possible For each F-node, at
least one of its neighbor is a C-node
Choose node with strong coupling to other nodes as C-node
1
2
3 4
5 6
![Page 54: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/54.jpg)
How to define the smoothness of error AMG fundamental concept: Smooth error = small residuals ||r|| << ||e||
![Page 55: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/55.jpg)
How are Prolongation and Restriction done Prolongation is based on smooth error
and strong connections
Common practice: I
![Page 56: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/56.jpg)
AMG Prolongation (2)
![Page 57: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/57.jpg)
AMG Prolongation (3)
Thh
hh ICI )( 22
Restriction :
![Page 58: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/58.jpg)
Summary Multigrid is a multilevel iterative
method. Advantage: scalable If no geometrical grid is available, try
Algebraic multigrid method
![Page 59: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/59.jpg)
59
Pivoting
LU
GMRES,
BiCGSTAB, …
Cholesky
Conjugate gradient
MultiGrid
DirectA = LU
Iterativey’ = Ay
Non-symmetric
Symmetricpositivedefinite
More Robust Less Storage (if sparse)
More Robust
More General
The landscape of Solvers
![Page 60: CSE 245: Computer Aided Circuit Simulation and Verification](https://reader035.vdocuments.net/reader035/viewer/2022081507/56815d9f550346895dcbc6d4/html5/thumbnails/60.jpg)
60
References G.H. Golub and C.F. Van Loan, Matrix
Computataions, Third Edition, Johns Hopkins, 1996
Y. Saad, Iterative Methods for Sparse Linear Systems, Second Edition, SIAM, 2003.