Anda di halaman 1dari 5

TRANSFORMASI HOUSEHOLDER

Berny Pebo Tomasouw


(Kamis, 13 Februari 2014)


A. PENGANTAR
Transformasi Householder sering juga dikenal dengan istilah refleksi householder
merupakan salah satu metode yang dapat digunakan dalam dekomposisi QR. Penamaan
Householder sendiri berasal dari penemunya, yakni Alston Scott Householder. Dia seorang
matematikawan Amerika yang ahli di bidang Matematika Biologi dan Analisis Numerik.
Dalam tulisan ini saya akan memperlihatkan cara menghitung matriks Householder.
Saya akan mulai dengan konsep tentang vektor yang perlu diingat kembali.

Definisi 1
Diberikan ,
n
v we , maka
a. Panjang vektor v (disebut juga norma v) didefinisikan dengan persamaan
2 2 2
1 2 n
v v v v = + + +
b. Hasil kali titik (dot product) antara vektor v dan w didefinisikan dengan
1 1 2 2 n n
v w v w v w v w = + + +

Berdasarkan definisi di atas, maka hubungan dari norma vektor dengan hasil kali titik
diperlihatkan oleh persamaan berikut
2
v v v = atau v v v =
Umumnya, jika
n
ve maka ( )
1 2
, , ,
n
v v v v = . Namun dalam tulisan ini, saya akan
memandang vektor v sebagai matriks kolom, yakni
1
2
n
v
v
v
v
(
(
(
=
(
(

. Akibatnya, dengan sangat


mudah dapat dibuktikan bahwa
2
T
v v v = .

B. PEMBAHASAN
Definisi berikut ini akan memperlihatkan bentuk dari matriks Householder. Bentuk
ini sebenarnya muncul dari konsep proyeksi orthogonal (tidak diberikan dalam tulisan ini).

Definisi 2
Transformasi Householder didefinisikan dengan persamaan
2
T
T
vv
H I
v v
= (1)

Matriks H pada Persamaan (1) sering disebut matriks Householder. Kegunaan dari
transformasi Householder adalah untuk merubah sebarang vektor tak-nol menjadi vektor
yang semua elemennya bernilai nol kecuali untuk elemen pertama dari vektor tersebut.

Dengan kata lain, untuk sebarang
n
xe yang tak-nol maka
1
1
0
0
Hx k ke
(
(
(
= =
(
(

, dimana k e dan
1
n
e e . (2)
Dalam penulisan ini, saya akan mencoba menurunkan rumus untuk menghitung
vektor v yang merupakan elemen penting dalam transformasi Householder.
Langkah pertama, saya akan coba mengalikan matriks Householder dengan sebarang vektor x
untuk melihat bentuk dari vektor v. Diperoleh
2
2
2
T
T
T
T
T
T
v v
Hx I x
v v
v v
x x
v v
v x
x v
v v
x v u
| |
=
|
\ .
| |
=
|
\ .
| |
=
|
\ .
=

Gunakan hasil terakhir di atas dan Persamaan (2), sehingga diperoleh
1
1
Hx Hx x v ke
v x ke
u
u
= =
=

Selanjutnya, saya akan misalkan
1
v x e o = .
( )
( ) ( )
( )
( )
( )( )
( )
( )
( )
( ) ( )
1
1
1 1
1
1
1 1
1
1 2
1
1 1
1 2 2
1 1
2
2
2
2
2
2 2
1
2 2
T
T
T
T
T T
T T
T
T
T T
T T
v x
Hx x v
v v
x e x
x x e
x e x e
x e x
x x e
x e x e
x x x
x x e
x x x
x x x x x x
x e
x x x x x x
o
o
o o
o
o
o o
o
o
o o
o o
o
o o o o
| |
=
|
\ .
| |

= |
|

\ .
| |

| =
|

\ .
| |

| =
|
+
\ .
| | | |

| | = +
| |
+ +
\ . \ .

Agar Persamaan (2) terpenuhi maka bagian
( )
1
2
1
2
1
2
T
T
x x x
x x x
o
o o
| |

|
|
+
\ .
harus sama dengan nol.
Dengan kata lain,
( ) ( )
1 1
2 2
1 1
2 2
1 0 1
2 2
T T
T T
x x x x x x
x x x x x x
o o
o o o o
| |

| = =
|
+ +
\ .
.


Dari ruas kanan persamaan di atas, maka saya bisa menurunkan nilai dari o , sebagai berikut
( )
( )
1
2
1 1 2
1
2
1 1
2
2
2
2
1 2 2
2
2 2 2
T
T T
T
T T
T
x x x
x x x x x x
x x x
x x x x x x
x x
x
x
o
o o o
o o
o o o
o
o
o

= = +
+
= +
=
=
=

Jadi diperoleh
1
v x x e = .
Masalah yang muncul adalah tanda mana yang harus dipilih? Apakah + atau - ?
Untuk mengatasi masalah ini, saya akan andaikan bahwa
1 1
x x e = , dimana x
1
adalah elemen
pertama dari vektor x. Jika
1
0 x > maka
1
v x x e = akan bernilai nol, sebaliknya jika
1
0 x <
maka
1
v x x e = + yang akan bernilai nol. Oleh karena itu, persamaan
1
v x x e = harus
dirubah menjadi
( )
1 1
sign v x x x e = + (5)
Perlu diketahui bahwa fungsi sign(x
1
) akan menghasilkan tanda(+ atau -) dari x
1
.
Namun jika
1
0 x = maka pilihlah tanda +.

Agar lebih jelas, berikut ini saya berikan contoh disertai hasil perhitungannya.
Contoh 1
Tentukan matriks Householder untuk vektor
2
3
1
x
(
(
=
(
(

.
Langkah pertama yang harus dilakukan adalah mencari vektor v dengan menggunakan
Persamaa () di atas. Saya menggunakan aplikasi Matlab untuk menghitung dan diperoleh
hasil sebagai berikut
>> x=[2;3;-1]
x =
2
3
-1

>> e1=[1;0;0]

>> v = x + sign(x(1))*norm(x)*e1

v =
5.7417
3.0000
-1.0000

Dengan menggunakan vektor v ini maka bisa dihitung matriks Householder dan diperoleh
hasil sebagai berikut
>> I=eye(3)
I =
1 0 0
0 1 0
0 0 1

>> H=I-(2*v*v')/(v'*v)
H =
-0.5345 -0.8018 0.2673
-0.8018 0.5811 0.1396
0.2673 0.1396 0.9535
Selanjutnya, saya akan coba mengalikan matriks H dengan vektor x untuk melihat hasilnya.
>> H*x

ans =
-3.7417
-0.0000
0.0000
Dari hasil di atas terlihat bahwa semua elemen bernilai nol kecuali untuk elemen pertama.

Contoh berikut memperlihatkan kasus
1
0 x = .
Contoh 2
Tentukan matriks Householder untuk vektor
0
3
4
x
(
(
=
(
(

.
Hitung matriks v dan diperoleh
>> x=[0;-3;4]
x =
0
-3
4

>> v=x+norm(x)*e1
v =
5
-3
4
Selanjutnya hitung matriks H dan diperoleh
>> H=I-(2*v*v')/(v'*v)
H =
0 0.6000 -0.8000
0.6000 0.6400 0.4800
-0.8000 0.4800 0.3600

Jika saya kalikan matriks H dengan vektor x akan diperoleh
>> H*x
ans =
-5
0
0

Catatan :
i. Perintah norm(x) pada Matlab akan menghitung norma (panjang) dari vektor x.
ii. Tulisan v kemudian diberi tanda kutip satu : v' memiliki arti v
T
(vektor v ditransposkan)
iii. Perhitungan standar pada Matlab menggunakan 4 digit di belakang tanda koma.



C. PENUTUP
Mohon maaf jika terdapat kekurangan ataupun kesalahan. Saran dan kritik dapat
dikirim ke email saya : bernypebo@yahoo.co.id


D. LAMPIRAN

Dalam pembuktian di atas terdapat persamaan
( ) ( )
T T
vv x v x v = . Saya akan buktikan untuk
kasus
3
, v xe , sebagai berikut :
( ) | |
1 1
2 1 2 3 2
3 3
2
1 1 1 2 1 3
2
1 2 2 2 3 2
2
1 3 2 3 3 3
T
v x
vv x v v v v x
v x
x v v v v v
v v v v v x
v v v v v x
| | ( (
|
( (
=
|
( (
|
( (
\ .
(
(
(
(
=
(
(
(
(



( ) ( )
( ) ( )
( ) ( )
2
1 1 1 2 2 1 3 3
2
1 2 1 2 2 2 3 3
2
1 3 1 2 3 2 3 3
v x v v x v v x
v v x v x v v x
v v x v v x v x
( + +
(
= + +
(
(
+ +
(

(L.1)
Di sisi lain,
( ) | |
( )
1 1
1 2 3 2 2
3 3
1
1 1 2 2 3 3 2
3
T
x v
v x v v v v x v
x v
v
v x v x v x v
v
| | ( (
|
( (
=
|
( (
|
( (
\ .
(
(
= + +
(
(


( ) ( )
( ) ( )
( ) ( )
2
1 1 1 2 2 1 3 3
2
1 2 1 2 2 2 3 3
2
1 3 1 2 3 2 3 3
v x v v x v v x
v v x v x v v x
v v x v v x v x
( + +
(
= + +
(
(
+ +
(

(L.2)
Berdasarkan (L.1) dan (L.2) maka terbukti
( ) ( )
T T
vv x v x v = .

Anda mungkin juga menyukai