Linear Equation
matrix
n
x
m
:
;
A
x
b
Ax
=
=
?
vector
-n
:
vector
-m
:
matrix
n
x
m
:
x
b
A
Computational Physics by Agus Naba, Ph.D.- UB 1Example
i
1R
1R
2i
2i
3V
1V
2R
3R
5(
)
(
)
(
1
)
2
2
(
1
)
3
3
1
0
1
1
=
−
−
+
−
=
+
−
+
−
+
i
i
R
i
i
R
V
R
i
(
)
(
)
(
)
(
)
0
0
5
2
3
4
3
3
1
3
2
5
3
2
2
1
2
=
−
+
+
−
=
−
−
+
−
R
i
i
R
i
R
i
i
V
R
i
i
R
i
i
Computational Physics by Agus Naba, Ph.D.- UB
−
=
−
+
−
−
−
+
+
2 3 2 3 1 1 1V
V
i
i
R
R
R
R
R
R
R
R
R
=
−
−
+
+
−
+
−
0
2 3 2 5 4 3 5 3 5 5 2 2V
i
i
R
R
R
R
R
R
R
R
R
Existence & Uniqueness
Existence and Uniqueness of a solution Ax=b
depend on whether the matrix A is singular or
nonsingular.
Nonsingular Matrix satisfies the following:
Nonsingular Matrix satisfies the following:
•A has an inverse, i.e., A
-1
such that AA
-1
=I
•Det(A)
≠
0
•Rank(A)=n
•For any vector z
≠
0, Az
≠
0
Computational Physics by Agus Naba, Ph.D.- UB
Jika matriks A adalah nonsingular, maka A
punya inverse A
-1
, dan Ax=b selalu
mempunyai solusi unik, untuk setiap b
Jika matriks A adalah singular, maka solusi
Ax=b bergantung pada b, bisa ada atau
Example 1
1
2
1
3
2
x
+
x
=
b
2
2
1
1
2
1
4
5
3
2
b
x
x
b
x
x
=
+
=
+
Computational Physics by Agus Naba, Ph.D.- UB 7b
Ax
=
=
=
2
1
2
1
4
5
3
2
b
b
x
x
Solusi x adalah unik karena A adalah nonsingular,
berapapun b.
Example 2
1
2
1
3
2
x
+
x
=
b
2
2
1
1
2
1
6
4
3
2
b
x
x
b
x
x
=
+
=
+
Computational Physics by Agus Naba, Ph.D.- UB 9b
Ax
=
=
=
2
1
2
1
6
4
3
2
b
b
x
x
Karena A adalah singular, solusi
x
mungkin ada
mungkin tidak !, bergantung pada b.
Jika b=[4 7]
T
, tidak ada solusi untuk x.
Jika b=[4 8]
T
, maka solusinya:
γ
(
)
γ
−
γ
=
3
2
4
/
x
Computational Physics by Agus Naba, Ph.D.- UB
Problem Transformations
(
MA
)
Mb
A
M
Mb
A
b
z
Mb
MAz
b
A
x
b
Ax
1
1
1
1
=
=
=
>
=
=
=
−
−
−
−
−
si
Transforma
-;
1
(
)
x
z
b
A
Mb
M
A
Mb
MA
z
1
1
1
=
=
=
=
−
−
−
Transformasi tidak mengubah solusi, malah
bahkan bisa mempermudah menemukan solusi
Example: Permutation
=
2 1 3 3 2 10
1
0
0
0
1
1
0
0
v
v
v
v
v
v
P
Matrik permutasi P selalu nonsingular, dan berlaku P
-1= P
T.
( )
Pz
x
x
P
b
A
P
b
AP
z
b
APz
1 1 1=
=
=
=
=
− − − − 1Computational Physics by Agus Naba, Ph.D.- UB
Example: Diagonal Scaling
Matriks diagonal D= {
dij}
: semua elemen d
ij= 0 untuk i
≠
j.
b
ADz
=
( )
Dz
x
x
D
b
A
D
b
AD
z
b
ADz
1
1
1
=
=
=
=
=
−
−
−
−
1
Triangular Linear Systems
−
=
−
−
−
1
6
3
1
0
0
6
4
0
2
2
1
2 1x
x
x
0
0
−
1
x
31
Triangular Matrix
x
3
=-1; x
2
=3; x
1
=-1
Jika A adalah matrix triangular, solusi lebih mudah ditemukan !
→
→
→
→
Lakukan transformasi matrik A menjadi matriks triangular !
Computational Physics by Agus Naba, Ph.D.- UB
Triangular Matrix Types
• Lower Triangular Matrix L={l
ij
}: semua
elemen diatas elemen diagonal bernilai nol,
yaitu l
ij
= 0 untuk i < j
• Upper Triangular Matrix U={l
ij
}: semua
• Upper Triangular Matrix U={l
ij
}: semua
elemen dibawah elemen diagonal bernilai nol,
yaitu l
ij
= 0 untuk i > j
NB: Matrix L dan U dapat dipermutasikan
menjadi U dan L dengan matrix permutasi
yang sesuai
Forward Substitution
• Dilakukan dalam memecahkan problem Lx = b dengan
persamaan berikut:
---Pseudocode---(
b
l
x
)
/
l
i
,
,
n
.
x
l
/
b
x
i ii j ij j i i2
L
1 1 11 1 1=
=
−
∑
=
− =---Pseudocode---for j = 1 to n
{loop over columns}
if l
jj
=0 then stop
{stop if matrix is singular}
x
j
=b
j
/ l
jj
{compute solution component}
for i=j+1 to n
b
i
=b
i
– l
ij
x
j
{update right-hand side}
end
end
Computational Physics by Agus Naba, Ph.D.- UB
Backward Substitution
• Dilakukan dalam memecahkan problem Ux = b dengan
persamaan berikut:
---Pseudocode---(
b
u
x
)
/
u
i
n
,
,
.
x
l
/
b
x
n ii i j ij j i i nn n n1
1
1L
−
=
∑
−
=
=
+ =---Pseudocode---for j = n to 1
{loop over columns}
if u
ij
=0 then stop {stop if matrix is singular}
x
j
=b
j
/ u
jj
{compute solution component}
for i=1 to j-1
Elementary Elimination Matrix
(Gaussian Transformation)
Dipakai untuk mentransformasi sembarang matriks menjadi
matriks triangular
0
0
0
1
a
1a
1M
M
M
O
M
M
O
M
L
L
multiplier
disebut
1
0
0
1
0
0
0
1
0
0
0
1
0
1 1n
,
,
k
i
,
a
/
a
m
a
a
a
a
m
m
k i i k n k k n k kL
M
M
M
M
L
L
M
O
M
M
O
M
L
L
L
L
M
O
M
M
O
M
+
=
=
=
−
−
=
+ +a
M
Computational Physics by Agus Naba, Ph.D.- UB
Properties of M
• M
k
: lower triangular matrix, nonsingular
• M
k
=I-me
k
T
, dimana m=[0,…,0,m
k+1
,..,m
n
]
T
(multiplier
vector) dan e
k
adalah kolom ke k matriks identitas
• M
k
-1
= I+me
k
T
adalah sama dg M
k
kecuali tanda
elemen-elemen di bawah diagonal adalah dibalik
elemen di bawah diagonal adalah dibalik
• Jika M
j
, j>k, adalah matrik elementer yang lain sbgmn
M
k
,dengan multiplier vector t, maka
M
k
M
j
=I-me
k
T
-te
k
T
+me
k
T
te
k
T
=I-me
k
T
-me
k
T
Example
[
]
T
2
4
2
−
=
a
Cari M dan M !
Cari M
1
dan M
2
!
Computational Physics by Agus Naba, Ph.D.- UB 21
=
−
−
=
2
2
0
0
1
0
0
2
2
4
2
1
0
1
0
1
2
0
0
1
1a
M
=
−
=
0
4
2
2
4
2
1
5
0
0
0
1
0
0
0
1
2.
a
M
1 2 2 1 1 1 − −
=
=
M
L
M
L
;
−
−
=
−
=
1
5
0
1
0
1
2
0
0
1
1
5
0
1
0
1
2
0
0
1
2 1 2 1.
;
.
L
L
M
M
Computational Physics by Agus Naba, Ph.D.- UB
Gaussian Elimination
Jika matrix Gaussian Elimination sudah ditemukan, maka
Ax=b bisa dengan mudah ditransformasi menjadi bentuk
upper triangular
M Ax=M b
→
Kolom PERTAMA matrix A bernilai nol
M
1
Ax=M
1
b
→
Kolom PERTAMA matrix A bernilai nol
semua kecuali baris pertama
M
2
M
1
Ax=M
2
M
1
b
→
Kolom KEDUA matrix M
1
A bernilai nol
semua kecuali baris kedua
M
3
M
2
M
1
Ax=M
3
M
2
M
1
b
→
Kolom KETIGA matrix M
2
M
1
A
MAx=M
n-1
…M
3
M
2
M
1
Ax=M
n-1
...M
3
M
2
M
1
b
M=M
n-1
…M
3
M
2
M
1
M
-1
=L
M =L
U=MA -> A= M
-1
U
A=LU
Computational Physics by Agus Naba, Ph.D.- UB 25LU Factorization
A=LU
Ax=b
→
LUx=b
→
x=?
Forward substitution:
Ly=b
Barkward substitution:
Ux=y
Algorithm of LU Factorization
for k=1 to n-1
{Loop over columns}
if a
kk=0 then stop
{stop if pivot is zero}
for i=k+1 to n
{compute multipliers
m
ik=a
ik/a
kkfor current column}
end
end
for j=k to n
for i=k+1 to n
a
ij=a
ij-m
ika
kj{apply transformation
end
to remaining submatrix}
end
end
Computational Physics by Agus Naba, Ph.D.- UB
Example
6
2
4
4
3
2
2
3
2
1
3
2
1
=
+
+
=
+
+
x
x
x
x
x
x
10
4
6
4
x
1
+
x
2
+
x
3
=
Cari M
1
dan M
2
lalu temukan L dan U, kemudian
pecahkan x
1
,x
2
,dan x
3
!
Problem of LU Factorization
(LUF)
Metode LUF tidak bisa dipakai jika elemen
diagonal matrix A bernilai nol/sangat kecil,
meskipun A adalah nonsingular.
Masalah ini diatasi dengan melakukan
pivoting, yaitu menukar baris matrix yang
elemen diagonalnya nol/sangat kecil dgn
baris yang lain yang elemen diagonalnya
tidak nol./besar
Computational Physics by Agus Naba, Ph.D.- UB
Example 1
=
0
1
1
0
A
non-singular BUT
no LU factorization
LU
A
=
=
=
0
0
1
1
1
1
0
1
1
1
1
1
non-singular and
has LU factorization
Example 2
ε
=
1
1
1
A
0<
ε
<
ε
mach
=
=
1
0
;
L
1
0
M
ε
−
ε
=
ε
−
ε
=
ε
=
ε
−
=
/
/
/
/
1
0
1
1
1
0
1
1
1
0
1
;
1
1
0
1
U
L
M
In floating-point arithmetic !
Computational Physics by Agus Naba, Ph.D.- UBA
LU
≠
ε
=
ε
−
ε
ε
=
0
1
1
1
0
1
1
1
0
1
/
/
−
ε
1
/
ε
1
0
1
/
1
0
Example 2 (contd.)
ε
=
1
1
1
A
=
=
1
0
;
L
1
0
M
ε
=
1
1
1
cA
=
ε
−
=
ε
−
=
ε
=
ε
−
=
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
;
1
0
1
U
L
M
In floating-point arithmetic !
Computational Physics by Agus Naba, Ph.D.- UBc
A
LU
=
ε
=
ε
=
1
1
1
1
0
1
1
1
0
1
ε
ε
1
0
1
1
1
2
2
x
13
Ax=b
=
10
6
3
2
6
4
2
4
4
2
2
1
3 2 1x
x
x
Computational Physics by Agus Naba, Ph.D.- UB 35
=
1
0
0
0
0
1
0
1
0
1P
b
P
Ax
P
1=
1
=
=
10
3
6
4
6
4
2
2
1
2
4
4
3 2 1x
x
x
=
1
0
0
0
0
1
0
1
0
1M
b
P
M
Ax
P
M
1 1 1 1 3 2 14
5
1
6
2
2
0
5
1
1
0
2
4
4
=
=
=
.
x
x
x
.
Computational Physics by Agus Naba, Ph.D.- UB 37
=
0
1
0
1
0
0
0
0
1
2P
b
P
M
P
Ax
P
M
P
1 1 2 1 1 3 2 1 25
1
4
6
5
1
1
0
2
2
0
2
4
4
=
=
=
.
x
x
x
.
=
1
0
0
0
0
1
0
1
0
2M
b
P
M
P
M
Ax
P
M
P
M
2 2 1 1 2 2 1 1 3 2 15
0
4
6
5
0
0
0
2
2
0
2
4
4
=
−
=
=
.
x
x
x
.
Computational Physics by Agus Naba, Ph.D.- UB 39(
)
=
=
=
=
−
−
0
0
1
1
5
0
25
0
1
.
.
2
T
2
1
T
1
1
1
2
2
1
L
P
L
P
P
M
P
M
M
L
=
0
1
1
0
0
1
A
LU
=
=
0
2
2
2
4
4
0
0
1
1
5
0
25
0
.
.
A
LU
=
=
5
0
0
0
2
2
0
0
1
1
0
0
1
.
Computational Physics by Agus Naba, Ph.D.- UB 41for k=1 to n-1
{Loop over columns}
find index p such that
{search for pivot
|a
pk| > |a
ik| for k
≤
i
≤
n
current column}
if p
≠
k then
{interchange rows,
interchange rows k and p
if necessary}
if a
kk=0 then
{skip current column
continue with next k
if it’s zero already}
for i=k+1 to n
{compute multipliers
LU Factorization by Gaussian Elimination
with Partial Pivoting
for i=k+1 to n
{compute multipliers
m
ik=a
ik/a
kkfor current column}
end
for j=k to n
for i=k+1 to n
a
ij=a
ij-m
ika
kj{apply transformation
end
to remaining submatrix}
for k=1 to n
{Loop over columns}
a
kk= sqrt(a
kk)
for i=k+1 to n
a
ik=a
ik/a
kkend
for j=k+1 to n
for i=k+1 to n
a
=a
-a
a
Cholesky Factorization
a
ij=a
ij-a
ika
jkend
end
end
Computational Physics by Agus Naba, Ph.D.- UB 43d
1=b
1for i=2 to n
m
i=a
i/d
i-1d
i=b
i-m
ic
i-1end
Banded System
Computational Physics by Agus Naba, Ph.D.- UB