Professional Documents
Culture Documents
Iterative Methods For Linear Systems: Course Website
Iterative Methods For Linear Systems: Course Website
Course Website
https://sites.google.com/view/kporwal/teaching/mtl107
Iterative Methods for Linear Systems
d÷
-
" 10-0*00
104×104
* dit
Ax=b, A nonsingular n ⇥ n.
fun:c Job
I
Iterative method: Starting from initial guess x0 , generate iterates
x 1 , x 2 , ..., x k , ..., hopefully converging to solution x.
But why not simply use LU decomposition, or
x=A \b in Matlab ?
The matrix size n must be large, and the matrix A must be
somehow special to consider iterative methods. "
10
A is very Big
=) LU is
large
Ocn )
> → n
expensive
.
?⃝
Comparison of direct and iterative linear solvers
'
Ji AI
Direct solvers
box
1. Computation is numerically stable in many relevant cases.
2. Can solve economically for several right-hand sides.
3. Accuracy can be improved via ‘iterative refinement.’
4. ‘Essentially’ a black box. =
cannot .
Direct solvers
1. Inverse Iteration
2. Determinants
3. Many linear systems with the same matrix A
4. ‘Difficult’ applications (e.g. circuit simulation)
Iterative solvers
1. Inexact Newton-Methods
2. Many linear systems with ‘slightly changing’ matrices
3. Matrix-free applications (e.g. matvec product via FFT)
4. Very large problems
Stationary iterative methods: Motivation
x⇤ = xk + e k
ek is the error.
rk is the residual.
Aek = Ax⇤
D
Axk = b Axk = rk
r
.
②
x⇤ = xk + A
r 1
k
I'm
Of course, the above assumption prevents us from solving this for
the error ek .
Stationary iterative methods: Motivation (cont.)
rk = b Axk
1
xk+1 = xk + M rk
M is called a preconditioner.
Stationary iterative methods: Motivation (cont.)
Procedure:
I
rk = b Axk Compute residual
Mzk = rk Solve with preconditioner
xk+1 = xk + zk Update approximate
Remarks:
I In step 1, we have to multiply a matrix with a vector. In
practice: we need to have a procedure that computes y Ax.
I In step 2, we have to solve a system of equations with the
preconditioner which is “by definition” relatively easy to do.
This step is usually the most expensive one.
Stationary iterative methods: Theory
Definition
Let A be nonsingular. Then A = M -N, with M nonsingular, is
called a matrix splitting.
We consider the iteration M
- '
Hsiu't
014+1 :
m
-
'
b-
1
xk+1 = xk + M rk () Mxk+1 = Nxk + b.
"
m ( ra )
-
'
=
m-i-b-A.si , )
Note:
I If M 1 = A 1 , then one-step convergence: xk+1 = A 1 b.
I In practice, M 1 should be a good (but cheaper to invert)
approximation to A 1 (‘preconditioner’).
Formulation as fixed-point iteration
1 1
xk+1 = xk + M rk = M (Mxk + rk )
•
1
=M ((M
-
A)xk + b)
1 1
=M Nxk + M b
=) xk+1 = G xk + c fixed point iteration
G =M 1N =I M 1A is called the iteration matrix.
Theorem
The error satisfies ek+1 = G ek . si
"
: Gsi # c
Exercise
=-D
>
Theorem
Let A = M-N be a matrix splitting with M invertible. Then,
1. The iteration
Mxk+1 = Nxk + b
converges for any x(0) if and only if
1 1
⇢(G ) < 1, G =M N=I M A.
I
'
=
GI
>
+
c. I
( GB )
"
=
'
I' =
CI
-
G)
G)
-
exists and
"
G) Gta 't
-
4- -
= It - -
=
Eai
j=o
Proof SCG )< 1 => all the
=
eigenvalues are
strictly less than
one
-
GÉ= Jd .
'
to Gsi
>
=
I
'
(I 9) -
I :O
"
can not have
non -
zero Sokka
-1
=s
(I -
G) exists
BEIT .
If SCGJCI ⇐
It Ghai =o or It G "=o
k→•
ue¥tw
"→
that ..
Sn= It at -
gh
( I -
G) Sn= I -
gmhhti
Gh )
"
It (I -
G) Sn=1tfI -
n→D not
It Sn I It anti
G)
-
(
= ' =
I -
n→a
- so
n
=
I
-1
→
It 5h G)
=
( I -
n→o
III. Assume SCGKL
4=-93-1 exists .
Inti : Cs Jiu
I
t
GÑW=c→
=
GCGI'm t
-
E)
'
E
=
Garsia ,
+ ai *
'
( Ghi Gh F
:
=
Guido F)
-
+ - -
(Ef )É
"
It I'm =
n→8
"
=
(I -
G) E
satisfy
'
I which
I. =a +É
then SCGKI -
>
⇐ It Ghz =D
6*8
Consider É and define 5io= É -
É
Éu+ I'm )
'
É -
,
: GCI -
Jio )
'
=
GCI -
=Gz
'
It CI -
Jinn )=0
k→D >
It Gh I =D
4-so
= ,
g( G) 21
"
It 119 I → 0
m¥
Convergence rate
1
k⇡
log10 ⇢(G )
1
rate = ⇡ log10 ⇢(G )
k
The rate is higher (faster convergence), the smaller ⇢.
Remarks
T¥
triangular and U is strictly upper triangular. Let E = D + L.
0 1 0 1 0
7 3 1 7 0 0 7 0
A= @ 3 10 2 A =) D = @ 0 10 0 A ,E = @ 3 10
1 7 15 0 0 15 1 7
1
Jacobi iteration: xk+1 = xk + D 1 rk -
Gauss-Siedel iteration: xk+1 = xk + E 1 rk
I >
Fun ( Asia
'
5in
-
+ D-
=
D-
'
I
Is)
¥¥É☒t¥t
-
'
D- ca
-
-
Jacob
5in Ñ
'
u+ , = -1 D-
f ri = 5- A#u
= 5in + D-
'
( 5 -
CD.IL.tv )Ñu )
¥u
D÷b D- ( Ltu )Ñu
'
=
+ -
Fi
'
-
Eun = Éu 1- ( Dtl)
=
5in 1- ④ + c)
"
( I -
AÑÉU )
5in +
(☐t_É ) ( D¥L5YDtLt§
=
-
sin
5in
cDtHÑu
=
Jacobi example
÷
7x1 = 3 10x2 x3 ,
Ten
10x
-
2 = 4 + 3x1 2x3 ,
.
15x3 = 2 x1 7x2
Evaluate right hand side at current iterate k and left hand side as
unknown at step k + 1:
00
7x1 = 3 10x2 x3 , (0.1)
10x2 3x1 = 4 2x3 , (0.2)
15x3 + x1 + 7x2 = 2 (0.3)
Evaluate right hand side at current iterate k and left hand side as
unknown at step k + 1:
8-
(k+1) 1 (k+1) (k)
x2 = (4 + 3x1 2x3 ) (0.5)
10
(k+1) 1 (k+1) (k+2)
x3 = (2 x1 7x2 ) (0.6)
15
(0.7)
If aij < 0
i=fj and aii so
"
"←"
"" "
"
Iii ) r CSCG ;) <
Slag )
(iii ) SIG ; )=fCGg ) = 0
Civ ) SCG ;) SC Gg ) I
-
: -