Aljabar linear adalah bahasa asli MATLAB — singkatan MATrix LABoratory bukan tanpa alasan. Setelah kita menguasai mekanika operator di chapter sebelumnya, chapter ini memetakan konsep di balik operator tersebut: vektor sebagai objek berarah, matriks sebagai kumpulan vektor sekaligus mesin transformasi, sistem persamaan sebagai pertanyaan kombinasi linear, dan dekomposisi sebagai pembongkaran struktur. Peta ini penting karena fungsi-fungsi MATLAB (rank, eig, svd, cond) tidak berguna tanpa tahu pertanyaan apa yang dijawabnya. Cakupan chapter ini:
- Dot product,
norm, dan sudut antar vektor - Kombinasi linear, span, dan basis kolom
- Matriks sebagai transformasi linear
- Peta fungsi inti:
norm,rank,det,inv,eig,svd,cond
Peta Konsep Aljabar Linear #
Alur berpikir aljabar linear di MATLAB mengalir dari objek paling sederhana ke teknik analisis:
Diagram tersebut dibaca dari atas ke bawah: kita mulai dari vektor (panjang, sudut, kesejajaran), menggabungkannya menjadi matriks (kolom matriks adalah vektor; sifat kelinearan matriks diukur rank dan det), lalu mengajukan pertanyaan dalam bentuk sistem persamaan A*x = b. Untuk matriks besar atau bermasalah, MATLAB membongkarnya lewat dekomposisi (eig, svd) — pembongkaran yang sama menjadi pintu masuk aplikasi seperti least squares, analisis getaran, dan Principal Component Analysis.
Dot Product dan Norm #
Aturannya: dot product dot(a,b) menjumlahkan hasil kali elemen seposisi — satu angka yang mengukur seberapa banyak dua vektor searah. norm(v) menghitung panjang vektor (akar dari jumlah kuadrat elemen). Mekanismenya: dot(a,b) identik dengan a' * b — transpose konjugat mengubah kolom menjadi baris sehingga aturan perkalian matriks (1×n dikali n×1) menghasilkan skalar:
a = [3; 4];
b = [4; -3];
fprintf('dot(a, b) : %g\n', dot(a, b));
fprintf('a''*b : %g\n', a' * b);
fprintf('norm(a) : %g\n', norm(a));
fprintf('norm(b) : %g\n', norm(b));Output yang Dihasilkan:
dot(a, b) : 0
a'*b : 0
norm(a) : 5
norm(b) : 5Dot product a dan b bernilai 0 — dua vektor ini saling tegak lurus meskipun keduanya panjangnya 5. Mari kita bedah baris-baris kode di atas:
- Baris 4 (
dot(a, b)): menghitung 3×4 + 4×(−3) = 12 − 12 = 0; nol berarti tidak ada komponenayang searahb. - Baris 5 (
a' * b): bentuk matriks dari operasi yang sama —a'menjadi vektor baris 1×2, dikalikan vektor kolom 2×1 menghasilkan skalar. - Baris 6-7 (
norm(a),norm(b)): masing-masing √(3² + 4²) = 5 — pasangan triple Pythagoras (3, 4, 5) dan (4, −3).
Sudut Antar Vektor #
Aturannya: sudut θ antara dua vektor memenuhi cos θ = dot(u,v) / (norm(u)*norm(v)). Mekanismenya: dot product sudah “menyegel” informasi sudut — membaginya dengan kedua panjang menormalkan pengaruh besaran sehingga yang tersisa murni arah. Fungsi acosd mengembalikan hasil dalam derajat (kebalikan kosinus):
u = [3; 4];
v = [3; 0];
cosuv = dot(u, v) / (norm(u) * norm(v));
fprintf('cos(u,v) : %g\n', cosuv);
fprintf('sudut : %.2f derajat\n', acosd(cosuv));
fprintf('a,b tegak : %d\n', abs(dot(a, b)) < 1e-12);Output yang Dihasilkan:
cos(u,v) : 0.6
sudut : 53.13 derajat
a,b tegak : 1Vektor u dan v membentuk sudut 53.13° — kosinus 0.6 khas dari pola (3,4,5) terhadap sumbu-x. Uji ketegak-lurusan cukup memeriksa dot product mendekati nol dengan toleransi (bukan tepat nol), karena hasil komputasi floating point jarang jatuh pada nol sempurna.
Kombinasi Linear, Span, dan Basis Kolom #
Aturannya: setiap hasil A * w adalah kombinasi linear kolom-kolom A — koefisien kombinasi datang dari elemen w. Kumpulan seluruh kombinasi yang mungkin disebut span kolom; jumlah kolom yang benar-benar independen (tak bisa disusun dari yang lain) adalah rank — dan kolom-kolom independen itu adalah basis ruang kolom. Mekanismenya: A = [a1 a2] menaruh vektor a1 dan a2 sebagai kolom, sehingga A * [2; 3] menjumlahkan 2×a1 + 3×a2:
a1 = [1; 2];
a2 = [3; 1];
A = [a1 a2];
fprintf('rank(A) : %d\n', rank(A));
fprintf('det(A) : %g\n', det(A));
w = A * [2; 3];
fprintf('w : %g %g\n', w);Output yang Dihasilkan:
rank(A) : 2
det(A) : -5
w : 11 7rank(A) = 2 berarti kedua kolom independen — span-nya adalah seluruh bidang R², sehingga setiap vektor 2D dapat disusun dari a1 dan a2 (misalnya w = 2×a1 + 3×a2 = [11; 7]). det(A) yang tak nol mengonfirmasi hal yang sama dari sisi volume. Pandangan “matriks = kumpulan kolom” inilah yang membuat A\b masuk akal: mencari koefisien kombinasi kolom agar tepat menghasilkan b.
Pandangan kembar — matriks sebagai mesin transformasi: T = [2 0; 0 1] merentangkan sumbu-x dua kali tanpa menyentuh sumbu-y, sehingga T*[3; 1] = [6; 1]. Kombinasi dan transformasi adalah dua wajah perkalian matriks-vektor yang sama.
SVD di Ujung Peta #
Dekomposisi nilai singular (svd) membongkar matriks apa pun (termasuk yang bukan persegi) menjadi tiga faktor sederhana. Contoh paling mudah dibaca: matriks rank-1 — hasil kali luar dua vektor — punya tepat satu nilai singular tak nol:
Aluar = [3; 4] * [1 0];
s = svd(Aluar);
fprintf('svd : %g %g\n', s);
fprintf('rank : %d\n', rank(Aluar));Output yang Dihasilkan:
svd : 5 0
rank : 1Nilai singular tunggal 5 adalah panjang vektor [3; 4] — matriks ini hanya “bekerja” pada satu arah, dan arah itulah seluruh isi informasinya. Kedalaman svd (serta hubungannya dengan eig dan cond) kita bahas di chapter Eigenvalues dan bab-bab sesudahnya.
Fungsi Inti untuk Eksplorasi #
| Fungsi | Pertanyaan yang dijawab | Catatan |
|---|---|---|
norm(v) | berapa panjang vektor / besar matriks | ada varian norm(A,1), norm(A,inf) |
rank(A) | berapa kolom yang benar-benar independen | dimensi ruang kolom |
det(A) | berapa faktor pengskalaan volume | 0 → singular |
inv(A) | matriks apa yang membalik A | hindari untuk menyelesaikan sistem |
eig(A) | arah mana yang tidak berubah oleh A | chapter Eigenvalues |
svd(A) | arah dan besaran “aksi” utama A | bekerja untuk matriks persegi panjang |
cond(A) | seberapa sensitif A terhadap galat | besar = bahaya |
Ringkasan #
Dot product dan norm memberi vektor geometri (sudut, panjang, kesejajaran); matriks memadatkan vektor-vektor menjadi kolom sehingga perkalian A*w adalah kombinasi linear dan rank/det mengukur kemandirian kolom. Sistem A*x = b adalah pencarian koefisien kombinasi, dan dekomposisi eig/svd membongkar struktur matriks untuk aplikasi lanjutan. Berkas contoh.m menjalankan seluruh contoh chapter ini dari dot product hingga SVD. Dua besaran paling sering dipakai sehari-hari — transpose dan inverse — kita bedah tuntas di chapter berikutnya.