Vol. xx, No. xx (20xx), pp. xx–xx. doi:10.24198/jmi.vxx.ny.xxxx.y-yy
JARAK DAN SUDUT ANTARA DUA MATRIKS BERDIMENSI
SAMA
Teruntuk Prof. Dr. Siswadi, MSc., yang memasuki usia ke 70 tahun.
Abstrak
Dengan memanfaatkan rumus sudut antara dua subruang yang diberikan oleh Gu-nawan dan sejawat, didapatkan sepasang sudut antara dua matriks, berdasarkan subruang kolom dan subruang baris dari kedua matriks. Sementara nilai-singular dari masing-masing matriks, digunakan untuk menghitung jarak. Dengan demikian, diperoleh representasi jarak, dan sepasang sudut antara dua matriks yang berukuran sama.
1
Keywords: matriks, sudut, subruang, aljabar linear
2
Abstract
In this note, we demonstrate how to compute a pair of angles between two matrices of the same size. Thanks to the formula of angles between two subspaces given by Gunawan et al., the pair of angles between two matrices of the same size is easily computed. At the same time, the distance between the two matrices also found.
3
Kata kunci:
4
1. Pendahuluan 5
• Dalam text-mining, salah satu model yang digunakan antara lain model vektor (vector 6
space model) [3]. Dalam model ini, sudut antara dua vektor merupakan salah satu 7
alat yang digunakan. Misalnya dalam search engine, sudut digunakan untuk mengukur 8
seberapa dekat vektor pencari relatif terhadap corpus [2]. Model ini juga digunakan 9
untuk membandingkan dua buah dokumen sebagai preliminary screening plagiarisme, 10
dimana similaritas dari kedua dokumen diukur berdasarkan ukuran sudut yang diben-11
tuk oleh dokumen tsb. [9] 12
• [1] [4] (Model Matriks) Menggunakan representasi vektor dari Matriks, sehingga penghi-13
tungan sudut antara dua matriks tidak beda dengan sudut antara vektor yang biasa. 14
Cara penghitungan sudut demikian, menghilangkan makna dari kolom matriks itu 15
sendiri, mengingat penggunaan model Matriks diusulkan agar model bisa dipandang se-16
bagai sekumpulan vektor. Dalam [10],dalam proses screening plagiarisme mengusulkan 17
digunakannya matriks sebagai model dokumen yang tersusun atas paragraph sebagai 18
kolomnya. Diusulkan cara mengukur sudut antara dua dokumen, dengan cara menghi-19
tung sudut antara dua subruang ruang kolom dari matriks. 20
• Dengan memanfaatkan formula sudut antara dua subruang, didapatkan sepasang sudut 21
antara dua matriks, berdasarkan subruang kolom dan subruang baris dari kedua ma-22
triks. 23
• Organisasi Tulisan. Pengertian sudut antara dua subruang dan rumus kosinus sudut-24
nya. Pemanfaatan rumus sudut antara dua subruang untuk menghitung sudut antara 25
2000 Mathematics Subject Classification: 15A60; 15A57; 15A18 Received: dd-mm-yyyy, accepted: dd-mm-yyyy.
dua subruang kolom, maupun dua subruang baris dari dua matriks. Diberikan be-26
berapa contoh dengan kalkulasi menggunakan Octave, skrip Octave diberikan pada 27
Lampiran agar hasil dapat direproduksi hasilnya. Simpulan yang juga merangkumkan 28
hal yang akan dilakukan. 29
A, B ∈ Rm,n : Matriks berukuran m × n.
30
2. Sudut antara dua matriks 31
2.1. Rumus Sudut antara dua Subruang ([5],[6],315). Misalkan (X, < ., . >) adalah ruang 32
hasil kali dalam berdimensi 2 atau lebih, U = span{u1, u2, · · · , up} dan V = span{v1, v2, · · · , vq}
33
adalah 2 subruang di X dimana 1 ≤ p ≤ q < ∞. Asumsikan u1, u2, · · · , up dan v1, v2, · · · , vq
34
adalah ortonormal, maka θ adalah sudut subruang U dan V, yang diberikan sebagai berikut. 35
cos2(θ) = det(M ∗ MT) (1)
dengan M := [< ui, vk >] = [uTi ∗ vk] adalah matriks berukuran p × q. Perhatikan bahwa, untuk
36
kasus p = q, rumus sudut menjadi: 37
cos(θ) = | det(M )| (2)
2.2. Dekomposisi Nilai Singular (Singular Value Decomposition)[7]. Gilbert Strang 38
[8] dalam tulisan eksposisinya terkait dekomposisi matriks, mencantumkan Dekomposisi Nilai 39
Singular (Singular Value Decomposition) sebagai salah satu dekomposisi matriks yang penting 40 [7] : 41 A = UADAVAT, UA∈ Rm,p, DA∈ Rp,p, VAT ∈ Rp,n, 42 B = UBDBVBT, UB ∈ Rm,q, DB ∈ Rq,q, VBT ∈ R q,n
dengan UA, UB, VA, dan VB, merupakan matriks ortonormal. Sedangkan matriks DA, dan DB,
43
merupakan matrik diagonal dengan entri diagonalnya merupakan nilai singular dari A dan B. 44
Perhatikan bahwa UA, UB secara berturutan merupakan basis ortonormal ruang kolom dari A
45
dan B. Demikian pula dengan VA, VB secara berturutan merupakan basis ortonormal ruang
46
baris dari A dan B. 47
2.3. Hasil Utama. 48
• Sudut antara dua subruang kolom. 49
Tuliskan: 50
UU A:= UA, VU B= UB.
Misalkan UU A = [u1u2· · · up] dan VU B = [v1v2· · · vq], dituliskan sebagai susunan
51
kolom. 52
Sudut antara subruang kolom dari A dan B dapat dihitung melalui rumus kosinus : 53
cos2(θ) = det(M ∗ MT), dengan
54
M = [UU AT VU B].
• Sudut antara dua subruang baris. 55
56
Ambil: 57
UV A:= VA, VV B= VB.
Misalkan UV A = [u1u2· · · up] dan VV B = [v1v2· · · vq], dituliskan dalam susunan
58
kolom. 59
Sudut antara subruang baris dari A dan B dapat dihitung melalui rumus kosinus : 60
cos2(φ) = det(M ∗ MT), dengan
61
• Sudut θ, φ, secara berturutan disebut sudut kiri (subruang kolom) dan sudut 62
kanan (subruang baris) antara dua matriks. Selanjutnya, pasang (θ, φ), disebut 63
pasang sudut antara dua matriks. 64
• Dari faktor diagonal Dekomposisi Nilai Singular, misalkan dA= diag(DA) dan dB =
65
diag(DB). Maka jarak antara kedua matriks adalah : ρ(A, B) = kdA− dBk, dengan
66
k.k merupakan jarak Euklidean dari sebuah vektor. 67
2.4. Contoh. Diberikan 4 buah contoh, dengan 3 contoh pertama dibangkitkan dari 2 buah 68
matriks berukuran 3×3. Matriks pertama berasal dari matriks Hilbert, yang kedua dari matriks 69
Pascal segitiga bawah. 70
Matriks H0, sebuah matrix Hilbert berukuran 3 × 3 yang simetrik, 71 H0 = 1.00000 0.50000 0.33333 0.50000 0.33333 0.25000 0.33333 0.25000 0.20000 ,
dengan dekomposisi nilai singular: H0 = UH0 ∗ SH0 ∗ VH0T, dengan matriks faktornya:
72 UH0 = −0.82704 0.54745 0.12766 −0.45986 −0.52829 −0.71375 −0.32330 −0.64901 0.68867 ; SH0 = 1.4083189 0 0 0 0.1223271 0 0 0 0.0026873 73 VH0 = −0.82704 0.54745 0.12766 −0.45986 −0.52829 −0.71375 −0.32330 −0.64901 0.68867
Matriks P1, merupakan matriks Pascal berukuran 3 × 3, berupa segitiga bawah, 74 P1 = 1 0 0 1 −1 0 1 −2 1 ,
dengan dekomposisi nilai singular: P1 = UP1 ∗ SP1 ∗ VP1T, dengan matriks faktornya:
75 UP1 = −0.19382 0.81650 0.54384 −0.47225 0.40825 −0.78123 −0.85989 −0.40825 0.30646 ; SP1 = 2.80588 0 0 0 1.00000 0 0 0 0.35639 76 VP1 = −0.54384 0.81650 0.19382 0.78123 0.40825 0.47225 −0.30646 −0.40825 0.85989
2.4.1. Contoh 1. Sudut antara 2 matriks dg rank 1. Misalkan, H01 adalah matriks dengan rang 77
1, yang dikonstruksi dari komponen pertama dekomposisi SVD matriks Hilbert berukuran 78
3 × 3 di atas. Sementara P11 adalah matriks dengan rang 1, yang dikonstruksi dari komponen 79
pertama dekomposisi SVD matriks Pascal berukuran 3 × 3 di atas. 80 H01 = 0.96329 0.53562 0.37656 0.53562 0.29782 0.20938 0.37656 0.20938 0.14720 ; P11 = 0.29577 −0.42487 0.16667 0.72063 −1.03518 0.40608 1.31216 −1.88491 0.73942
Sudut antara dua subruang kolom dari kedua matriks, dihitung dengan rumus kosinus 81
sudut dari (1), sehingga diperoleh 82
cos2(θ) = 0.42964, θ = 0.8559,
sementara dengan menggunakan rumus kosinus sudut dari (2), diperoleh hasil yang sama, yaitu 83
cos(θ) = 0.65547, θ = 0.85599.
Sementara sudut antara dua subruang baris, dengan rumus kosinus sudut (1), diperoleh 84
sementara dengan menggunakan rumus kosinus sudut (2), diperoleh hasil yang sama, yaitu 85
cos(φ) = 0.18960, φ = 1.3800.
Juga diperoleh jarak antara kedua matriks: 86
ρ = 1.3976.
2.4.2. Contoh 2. Sudut antara 2 matrix dg rank 2. Misalkan, H02 adalah matriks dengan rang 87
2, yang dikonstruksi dari komponen pertama dan kedua dekomposisi SVD matriks Hilbert 88
berukuran 3 × 3 di atas. Sementara P12 adalah matriks dengan rang 2, yang dikonstruksi dari 89
komponen pertama dan ketiga dekomposisi SVD matriks Pascal berukuran 3 × 3 di atas. 90 H02 = 0.99996 0.50024 0.33310 0.50024 0.33196 0.25132 0.33310 0.25132 0.19873 ; P12 = 0.33333 −0.33333 0.33333 0.66667 −1.16667 0.16667 1.33333 −1.83333 0.83333
Sudut untuk subruang kolom, dengan menggunakan rumus kosinus sudut (1), diperoleh 91
cos2(θ) = 0.21931, θ = 1.0834,
semdangkan menggunakan rumus kosinus sudut (2), diperoleh hasil yang sama, yaitu 92
cos(θ) = 0.46830, θ = 1.0834.
Untuk subruang baris, dengan menggunakan rumus kosinus sudut (1), diperoleh 93
cos2(φ) = 0.21931, φ = 1.0834,
sementara dengan menggunakan rumus kosinus sudut (2), diperoleh hasil yang sama, yaitu 94
cos(φ) = 0.46830, φ = 1.0834.
Juga diperoleh jarak antara kedua matriks: 95
ρ = 1.3976.
2.4.3. Contoh 3. Sudut antara matriks dengan rank berbeda. Misalkan, H01 adalah matriks 96
dengan rang 1, yang dikonstruksi dari komponen pertama dekomposisi SVD matriks Hilbert 97
berukuran 3 × 3 di atas. Sementara P12 adalah matriks dengan rang 2, yang dikonstruksi dari 98
komponen kedua dan ketiga dekomposisi SVD matriks Pascal berukuran 3 × 3 di atas. 99 H01 = 0.96329 0.53562 0.37656 0.53562 0.29782 0.20938 0.37656 0.20938 0.14720 ; P12 = 0.704234 0.424866 −0.166667 0.279368 0.035181 −0.406082 −0.312164 −0.115087 0.260585
Untuk subruang kolom, dengan menggunakan rumus kosinus sudut (1), diperoleh sudut 100
kiri 101
cos2(θ) = 0.57036, θ = 0.71481.
Sedangkan untuk subruang baris, dengan menggunakan rumus kosinus sudut dari (1), 102
didapatkan sudut kanan 103
cos2(φ) = 0.96405, φ = 0.19076. Jarak antara kedua matriks, didapatkan
104
2.4.4. Contoh 4. Pada contoh terakhir ini, digunakan dua buah matriks berukuran 500 × 400, 105
yang dibangkitkan secara sintetis. Dapat dilihat secara lengkap di Lampiran. Kedua matriks 106
tersebut, dinamai hurufI dan hurufP. 107
Dengan menghitung rumus kosinus sudut (1), diperoleh untuk sudut kiri (subruang 108
kolom), 109
cos2(θ) = 1.00000, θ = 1.1921e − 07.
Sedangkan untuk sudut kanan (subruang baris), dengan menghitung rumus kosinus sudut 110
(1), diperoleh 111
cos2(φ) = 0.62280, φ = 0.66133. Juga diperoleh jarak antara kedua matriks:
112
ρ = 9.7482e + 04 3. Simpulan 113
• Sudah diperlihatkan bahwa dengan memanfaatkan ruang kolom dan ruang baris, dapat 114
didefinisikan sepasang sudut antara dua matriks berukuran sama dengan menggunakan 115
rumus sudut antara dua subruang. 116
• Aplikasi sudut antara dua matriks, dapat digunakan untuk membandingkan dokumen 117
diukur menggunakan konsep sudut dalam text-mining. Perbandingan dokumen dalam 118
text mining [10], digunakan sudut antara dua Matriks menggunakan ruang kolom saja. 119
• Aplikasi lain adalah untuk menghitung sudut antara dua gambar. 120
• Perluasan ke ruang Hilbert berdimensi tak hingga, menghitung sudut antara dua opera-121
tor Hilbert-Schmidt yang merupakan operator kompak di ruang Hilbert yang separabel. 122
Daftar Pustaka 123
[1] Antonellis, I., Gallopoulos, E., 2006,Exploring Term-Document Matrices from Matrix Models in Text
Min-124
ing. Greece: University of Patras.
125
[2] Berry, M.W., Browne, M., 1992,Understanding Search Engines: Mathematical Modelling and Text
Re-126
trieval. Philadelphia: Society for Industrial and Applied Mathematics, 1992
127
[3] Berry, M.W., Dumais, S.T., and OBrien, GW., Using linear algebra for intelligent information retrieval,
128
SIAM Review, 374, 573–595.
129
[4] Berry, M.W., Drmac, Z., and Jessup, E.R., 1999, Matrices, vector spaces, and information retrieval, SIAM
130
Review, 41(2),335–362.
131
[5] Gunawan, H., Neswan, O.,2005, On Angles Between Subspaces Of Inner Product Spaces. Vol. 11, No. 2.
132
Indonesia: Math. Society (MIHMI).
133
[6] Gunawan, H., Neswan, O., Setya-Budhi W., 2005, A Formula for Angles Between Two Subspaces of Inner
134
Product Spaces, Beitrge Algebra Geom. Vol. 46(2), 311-320.
135
[7] Leon, S.J., 1998,Aljabar Linear dan Aplikasinya. Edisi ke-5. A. Bondan, Penerjemah; Erlangga.
136
[8] Strang, G., 2018,Multiplying and Factoring Matrices, 125(3), 223–230, The American Mathematical
137
Monthly.
138
[9] Rosliyanti, P.P., Alban, M., Agustian, R., Penerapan Konsep Dasar Aljabar Linear Untuk Menduga
Ter-139
jadinya Plagiarisme. Makalah PKMI. Dir.Penelitian dan Pengabdian kepada Masyarakat, Depdiknas.
Bo-140
gor: IPB, 2006
141
[10] Lestari, P.D. R., Agustian, R, Gafriadi,R., Febriyanti,A., dan Garnadi, A.D., 2007, Model Vektor dan
142
Matriks dari Dokumen Serta Sudut antara Dua Vektor dan Dua Subruang untuk Menduga Dini Plagiarisme
143
Dokumen, Manuskrip, https://dx.doi.org/10.31227/osf.io/hmntg
144 4. Lampiran 145 4.1. Lampiran Contoh 1. 146 % 147 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 148 % 149
% Sudut antara 2 matriks berukuran sama 150
% Agah D. Garnadi 151
% Jurnal Matematika Integratif, v??, 2019 152
% 153
% Contoh 1 154
% Kasus paling sederhana, sudut antar dua-vektor. 155
% Verifikasi formula untuk kasus dimensi 156
% subruang yang sama 157
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 158
% 159
% Matriks Hilbert berukuran 3x3 160 % 161 H0 = hilb(3) 162 % 163 % SVD dari H0 164 [UH0, SH0, VH0] = svd(H0) 165 % 166
% Matriks Pascal berukuran 3x3 bentuk segitiga bawah 167 % 168 P1 = pascal(3,1) 169 % 170 % SVD dari P1 171 [UP1,SP1, VP1] = svd(P1) 172 % 173
% Matriks dengan rang 1 berasal dari Matriks Hilbert 174 H01 = UH0(:,1)*SH0(1,1)*VH0(:,1)’ 175 %Check 176 rank(H01) 177
% Matriks dengan rang 1 berasal dari Matriks Pascal segitiga bawah 178 P11 = UP1(:,1)*SP1(1,1)*VP1(:,1)’ 179 % Check 180 rank(P11) 181 % 182
% Hitung matriks M untuk sudut antar subruang kiri 183 % 184 M = UH0(:,1)’*UP1(:,1) 185 Cos2Theta = det(M*M’) 186 Theta = acos(sqrt(Cos2Theta)) 187 % 188 %p = q 189 CosTheta2=abs(det(M)) 190 Theta2 = acos(CosTheta2) 191 % 192
% Hitung matriks M untuk sudut antar subruang kanan 193 % 194 M = VH0(:,1)’*VP1(:,1) 195 Cos2Phi = det(M*M’) 196 Phi = acos(sqrt(Cos2Phi)) 197 % 198 % p = q 199 CosPhi2=abs(det(M)) 200 Phi2 = acos(CosPhi2) 201
% Jarak dari kedua matriks dg rang 1 202
rho = norm(SH0(1,1) - SP1(1,1)) 203
4.2. Lampiran Contoh 2. 204 % 205 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 206 % 207
% Sudut antara 2 matriks berukuran sama 208
% Agah D. Garnadi 209
% Jurnal Matematika Integratif, v??, 2019 210
% 211
% Contoh 2: 212
% Matriks dengan rang berbeda 213 % 214 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 215 % 216 % 217
% Matriks Hilbert berukuran 3x3 218 % 219 H0 = hilb(3) 220 % 221 % SVD dari H0 222 [UH0, SH0, VH0] = svd(H0) 223 224 % 225
% Matriks Pascal berukuran 3x3 bentuk segitiga bawah 226 % 227 P1 = pascal(3,1) 228 % 229 % SVD dari P1 230 [UP1,SP1, VP1] = svd(P1) 231 % 232
% Matriks dengan rang 1 berasal dari Matriks Hilbert 233 H01 = UH0(:,1)*SH0(1,1)*VH0(:,1)’ 234 % Check 235 rank(H01) 236
% Matriks dengan rang 2 berasal dari Matriks Pascal segitiga bawah 237 P12 = UP1(:,[2 3])*[SP1(2,2) 0; 0 SP1(3,3)]*VP1(:,[2 3])’ 238 % Check 239 rank(P12) 240 % 241
% Hitung matriks M untuk sudut antar subruang kiri 242 M = UH0(:,1)’*UP1(:,[2 3]) 243 Cos2Theta = det(M*M’) 244 Theta = acos(sqrt(Cos2Theta)) 245 % 246 %p \neq q 247 size(M) 248 % 249
% Hitung matriks M untuk sudut antar subruang kanan 250 M = VH0(:,1)’*VP1(:,[2 3]) 251 Cos2Phi = det(M*M’) 252 Phi = acos(sqrt(Cos2Phi)) 253 % 254 % p neq q 255 size(M) 256
% 257
% Jarak dari kedua matriks 258 rho = norm([SH0(1,1) 0; 0 0] - [SP1(2,2) 0; 0 SP1(3,3)]) 259 4.3. Lampiran Contoh 3. 260 % 261 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 262 % 263
% Sudut antara 2 matriks berukuran sama 264
% Agah D. Garnadi 265
% Jurnal Matematika Integratif, v??, 2019 266
% 267
% Contoh 4: 268
% Gambar huruf I dan P 269 % 270 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 271 % 272 % 273 % Huruf I 274 275 % 276 hurufI=zeros(500,400); 277 hurufI(50:450,150:250)=200; 278 % 279 %Huruf P 280 % 281 282 hurufP=zeros(500,400); 283 hurufP(50:450,50:150)=200; 284 hurufP(50:90,150:350)=200; 285 hurufP(210:250,150:350)=200; 286 hurufP(90:210,310:350)=200; 287 288 % 289 290 [UI,SI,VI] = svd(hurufI,’econ’) ; 291 [UP,SP,VP] = svd(hurufP,’econ’) ; 292 293 % 294 % resize(SI) ; 295 k = rank(SI) 296 SI = SI(1:k,1:k); 297 UI = UI(:,1:k) ; 298 VI = VI(:,1:k) ; 299 % 300 % resize(SP) ; 301 k = rank(SP) 302 SP = SP(1:k,1:k); 303 UP = UP(:,1:k) ; 304 VP = VP(:,1:k) ; 305
% Hitung matriks M untuk sudut antar subruang kiri 306
M = UI’*UP ; 307
%p \neq q 308
size(M) 309 % 310 Cos2Theta = det(M*M’) 311 Theta = acos(sqrt(Cos2Theta)) 312 % 313 % 314
% Hitung matriks M untuk sudut antar subruang kanan 315 M = VI’*VP ; 316 % 317 size(M) 318 % 319 Cos2Phi = det(M*M’) 320 Phi = acos(sqrt(Cos2Phi)) 321 % 322 rho = norm(SI - SP) 323 1 324