Ketika sebuah matriks bekerja sebagai transformasi, hampir semua arah bergeser. Tetapi beberapa arah istimewa hanya berubah panjang tanpa belok — arah itulah eigenvector, dan faktor panjangnya adalah eigenvalue. Konsep pasangan ini adalah kunci berbagai analisis: getaran struktur (frekuensi natural adalah eigenvalue), stabilitas sistem dinamis, kompresi data lewat Principal Component Analysis, sampai algoritme PageRank. Fungsi eig() menghitung semuanya dalam satu panggilan. Cakupan chapter ini:
- Definisi
A*v = λ*vdan verifikasinya secara eksak eig(A)untuk nilai saja vs[V, D] = eig(A)untuk pasangan lengkap- Jaminan khusus matriks simetris: eigenvalue real, eigenvector ortogonal
- Diagonalisasi
A = V*D*V⁻¹dan maknanya - Pengenalan singkat PCA
Definisi: Arah yang Tidak Berubah #
Aturannya: v adalah eigenvector dari A dengan eigenvalue λ bila A*v = λ*v — mengalikan dengan matriks memberi hasil identik dengan mengalikan dengan skalar. Mekanismenya: alih-alih mencari vektor istimewa secara langsung, MATLAB mencari akar persamaan karakteristik det(A − λI) = 0 lewat algoritme numerik yang stabil (QR iteration), lalu menyelesaikan vektornya. Kita bisa memverifikasi pasangan hasilnya dengan tangan untuk matriks kecil:
A = [4 1; 2 3];
v1 = [1; 1]; % eigenvector untuk lambda = 5
v2 = [1; -2]; % eigenvector untuk lambda = 2
fprintf('A*v1 : %d %d\n', A*v1);
fprintf('5*v1 : %d %d\n', 5*v1);
fprintf('A*v2 : %d %d\n', A*v2);
fprintf('2*v2 : %d %d\n', 2*v2);Output yang Dihasilkan:
A*v1 : 5 5
5*v1 : 5 5
A*v2 : 2 -4
2*v2 : 2 -4Mari kita bedah baris-baris kode di atas:
- Baris 3 (
A*v1): hasil[5; 5]adalah tepat5*v1— arah[1; 1]tak berbelok, hanya direntangkan 5 kali; λ = 5. - Baris 5 (
A*v2): hasil[2; −4]sama dengan2*v2— arah[1; −2]direntangkan 2 kali; λ = 2. - Verifikasi berpasangan: dua baris bersebelahan yang identik di output adalah bukti definisi terpenuhi — pola verifikasi ini berlaku untuk matriks sebesar apa pun.
eig(A) dan [V, D] = eig(A) #
Aturannya: eig(A) mengembalikan vektor berisi eigenvalue saja; [V, D] = eig(A) mengembalikan matriks V yang kolom-kolomnya adalah eigenvector ternormalisasi dan matriks diagonal D yang entrinya adalah eigenvalue berurutan mengikuti kolom V. Mekanismenya: keduanya memanggil mesin yang sama — bentuk kedua hanya menyelesaikan vektor-vektornya sekalian. Urutan hasil tidak dijamin antar mesin, sehingga membandingkan hasil lebih aman setelah sort:
A = [4 1; 2 3];
ev = sort(eig(A));
fprintf('eig(A) terurut : %g %g\n', ev);
[V, D] = eig(A);
fprintf('diag D terurut : %g %g\n', sort(diag(D)));
fprintf('A*V ~ V*D : %d\n', all(all(abs(A*V - V*D) < 1e-12)));Output yang Dihasilkan:
eig(A) terurut : 2 5
diag D terurut : 2 5
A*V ~ V*D : 1Nilai eigen A adalah 2 dan 5 (trace 4+3 = 7 = 2+5 — cara cepat mencocokkan). Verifikasi all(abs(A*V − V*D) < 1e-12) bernilai 1: definisi A*v = λ*v terpenuhi untuk seluruh kolom V sekaligus, dalam bentuk matriks A*V = V*D. Eigenvector dari eig selalu bernorma 1 dan tandanya bebas (misalnya kolom bisa [−0.7071; −0.7071] alih-alih [1; 1] — sejajar dengan v1 kita, hanya dikalikan konstanta).
Matriks Simetris: Real dan Ortogonal #
Aturannya: untuk matriks simetris real (S = S'), MATLAB menjamin dua kenyamanan — semua eigenvalue real, dan eigenvector-eigenvectornya saling ortogonal. Mekanismenya: algoritme untuk matriks simetris (berbasis tridiagonalisasi Householder) bekerja pada bentuk yang struktur simetrinya terjaga, sehingga pasangan imajiner tidak pernah muncul. Eigenvector [1; 1] dan [1; −1] dari matriks di bawah sengaja dipilih tegak lurus:
S = [2 1; 1 2];
[Vs, Ds] = eig(S);
fprintf('eig(S) : %g %g\n', sort(eig(S)));
fprintf('Vs''*Vs ~ I : %d\n', all(all(abs(Vs'*Vs - eye(2)) < 1e-12)));
fprintf('S*[1;1] : %d %d\n', S*[1;1]);
fprintf('3*[1;1] : %d %d\n', 3*[1;1]);
fprintf('S*[1;-1] : %d %d\n', S*[1;-1]);
fprintf('1*[1;-1] : %d %d\n', 1*[1;-1]);Output yang Dihasilkan:
eig(S) : 1 3
Vs'*Vs ~ I : 1
S*[1;1] : 3 3
3*[1;1] : 3 3
S*[1;-1] : 1 -1
1*[1;-1] : 1 -1Eigenvalue S adalah 1 dan 3. Cek Vs'*Vs ≈ I terpenuhi — kolom-kolom Vs ortonormal (ortogonal dan bernorma 1). Pasangan eksaknya terlihat di empat baris terakhir: arah [1; 1] direntangkan 3 kali, arah [1; −1] tidak berubah sama sekali (λ = 1).
Diagonalisasi #
Aturannya: dengan pasangan lengkap, matriks dapat ditulis A = V*D*V⁻¹ — operasi A dipecah menjadi tiga langkah: pindah ke basis eigen (V⁻¹), rentangkan tiap sumbu mandiri (D), lalu kembali ke basis asal (V). Pangkat matriks pun menjadi murah: A^k = V*D^k*V⁻¹ karena D diagonal. Untuk matriks simetris V⁻¹ = V' (karena V ortogonal), sehingga bentuknya lebih manis lagi:
Rk = Vs*Ds*Vs';
fprintf('V*D*V'' = S : %d\n', all(all(abs(Rk - S) < 1e-12)));Output yang Dihasilkan:
V*D*V' = S : 1Makna dan Aplikasi #
Dua contoh klasis di mana pasangan eigen menjawab pertanyaan dunia nyata:
| Domain | Yang dicari | Peran eigen |
|---|---|---|
| Getaran struktur | frekuensi natural rangka bangunan | eigenvalue dari matriks massa-kepegasan = kuadrat frekuensi; eigenvector = pola getar |
| Stabilitas sistem dinamis | apakah sistem kembali setelah diganggu | eigenvalue bermagnitudo < 1 (peta diskrit) atau negatif real (kontinu) berarti stabil |
| PCA (analisis data) | arah sebaran data terbesar | eigenvector matriks kovarians = principal components; eigenvalue = varians yang terjelaskan |
Untuk PCA, intinya satu kalimat: eigenvector terbesar matriks kovarians data adalah arah sebaran data paling dominan — memproyeksikan data ke beberapa eigenvector teratas adalah cara memampatkan dimensi dengan kehilangan informasi sekecil mungkin. Fungsi MATLAB tingkat lanjut untuk analisis ini (pca) membangun tepat di atas eig/svd.
Ringkasan #
A*v = λ*v mendefinisikan arah invariant dan faktor rentangnya; eig(A) memberi nilai, [V, D] = eig(A) memberi pasangan lengkap dengan verifikasi matriks A*V ≈ V*D. Matriks simetris real menjamin eigenvalue real dengan eigenvector ortogonal, dan diagonalisasi A = V*D*V⁻¹ (atau V*D*V' untuk simetris) menjadikan pangkat serta analisis struktur murah. Aplikasi ciri khas — frekuensi natural, kestabilan, dan PCA — semuanya berdiri di atas pasangan ini. Pasangan eigen juga menuntaskan pertanyaan praktis yang tersisa di section ini: menyelesaikan A*x = b secara sistematis.