Sebelum menghitung apa pun yang serius — inverse, eigenvalue, solusi sistem — kita perlu tahu apakah matriksnya “sehat”. Dua ukuran menjawabnya: det (determinant) yang membaca faktor pengskalaan volume, dan rank yang menghitung berapa dimensi ruang yang benar-benar ditutup matriks. Keduanya murah dihitung dan sering menyelamatkan kita dari langkah mahal yang sia-sia: tidak ada gunanya memanggil inv pada matriks yang det-nya nol. Chapter ini membedah makna geometris keduanya, lalu memperkenalkan cond sebagai ukuran sensitivitas yang lebih berperan dalam praktik numerik. Cakupan chapter ini:

  • det sebagai faktor pengskalaan volume (2D dan 3D)
  • Singularitas: volume runtuh ketika det = 0
  • Uji ketergantungan linear antar kolom lewat rank
  • Peta hubungan det–rank–singularitas, dan pengenalan cond

Determinant: Faktor Pengskalaan Volume #

Aturannya: determinant matriks persegi menyatakan berapa kali volume satuan berubah setelah ditransformasi matriks tersebut. Mekanismenya: matriks memetakan persegi satuan menjadi jajar genjang (atau kubus satuan menjadi parallelepiped); det adalah luas/volume bangun hasilnya — bertanda negatif bila orientasi terbalik (pencerminan):

matlab
R = [0 -1; 1 0];              % rotasi 90 derajat
S = [2 0; 0 2];               % skala dua kali ke segala arah
fprintf('det(R)    : %g\n', det(R));
fprintf('det(S)    : %g\n', det(S));
fprintf('det kotak3D: %g\n', det(diag([2 3 4])));

Output yang Dihasilkan:

text
det(R)    : 1
det(S)    : 4
det kotak3D: 24

Mari kita bedah baris-baris kode di atas:

  1. Baris 3 (det(R)): rotasi memutar persegi satuan tanpa mengubah luas — det = 1; rotasi murni selalu punya determinant 1.
  2. Baris 4 (det(S)): skala 2× di kedua sumbu mengubah sisi 1 menjadi 2, luas 1 menjadi 4 — det = 4, tepat hasil kali faktor skala.
  3. Baris 5 (det(diag([2 3 4]))): kotak 2×3×4 memiliki volume 24; untuk matriks segitiga/diagonal, determinant cukup hasil kali elemen diagonalnya.

Interpretasi volume ini juga menjelaskan hukum aljabar klasik: det(A*B) = det(A)*det(B) — dua transformasi berurutan mengalikan faktor skala volume.

Singular: Ketika Volume Runtuh #

Aturannya: det(A) = 0 menandai matriks singular — transformasi meruntuhkan ruang ke dimensi lebih rendah, tidak ada inverse karena informasi arah tertentu hilang tak bisa dipulihkan. Mekanismenya: kolom-kolom matriks menjadi sejajar (2D) atau sebidang (3D), sehingga jajar genjang hasil transformasi pipih menjadi garis dan luasnya nol:

matlab
As = [1 2; 2 4];              % kolom 2 = 2 * kolom 1
fprintf('det(As)   : %g\n', det(As));
fprintf('rank(As)  : %d\n', rank(As));

Output yang Dihasilkan:

text
det(As)   : 0
rank(As)  : 1

Kolom kedua [2; 4] adalah tepat dua kali kolom pertama [1; 2] — kedua kolom menempel pada satu garis. Determinant jatuh ke 0 dan rank hanya 1: dari dua dimensi input, matriks hanya menyisakan satu dimensi output.

Rank dan Ketergantungan Linear #

Aturannya: rank(A) adalah jumlah kolom A yang benar-benar saling independen — dimensi ruang kolom (span semua kombinasi linear kolom). Uji ketergantungan: bila rank(V) lebih kecil dari jumlah kolom, kolom-kolom V dependen — ada kolom yang dapat disusun dari yang lain. Mekanismenya: rank dihitung dari jumlah nilai singular (atau pivot eliminasi) yang bertahan di atas toleransi galat, sehingga kebal terhadap ilusi kecil angka hampir-nol:

matlab
V  = [1 2 3; 2 4 6; 1 1 1];   % kolom 3 = 2*kolom 2 - kolom 1
fprintf('rank(V)   : %d  (jumlah kolom %d)\n', rank(V), size(V, 2));
fprintf('det(V)    : %g\n', det(V));
fprintf('2*c2-c1-c3: %d %d %d\n', 2*V(:,2) - V(:,1) - V(:,3));

Output yang Dihasilkan:

text
rank(V)   : 2  (jumlah kolom 3)
det(V)    : 0
2*c2-c1-c3: 0 0 0

rank(V) = 2 untuk 3 kolom: satu kolom hidup dari pinjaman. Baris verifikasi membuktikan hubungannya secara eksplisit — 2*c2 − c1 − c3 bernilai [0; 0; 0], artinya kolom ketiga adalah kombinasi 2*c2 − c1. Dalam praktik, uji rank dipakai justru untuk menemukan apakah hubungan semacam itu ada, sebelum kita mencoba merumuskannya.

Peta Hubungan dan Pengenalan cond #

Untuk matriks persegi n×n, ketiga besaran saling terkunci:

Kondisidet(A)rank(A)inv(A)Solusi A\x = b
Nonsingular≠ 0nada, unikunik untuk setiap b
Singular0< ntidak adagalat/peringatan, atau tak hingga solusi

Angka kondisi melengkapi peta ini dengan skala abu-abu di antara dua kutub — matriks nonsingular tetapi nyaris singular. Aturan praktisnya: cond(A) ≈ 10^k berarti hingga sekitar k digit signifikan solusi bisa tercemar galat pembulatan:

matlab
fprintf('cond(R)   : %g\n', cond(R));
fprintf('cond(D)   : %g\n', cond(diag([1 1e-8])));

Output yang Dihasilkan:

text
cond(R)   : 1
cond(D)   : 1e+08

Rotasi murni berada di kutup sehat: cond = 1 (kasus terbaik yang mungkin). Matriks diagonal [1, 1e-8] masih nonsingular — det = 1e-8 ≠ 0, inverse ada — tetapi cond = 1e8 memberi tahu kita bahwa praktis 8 digit presisi bisa hilang; inilah “hampir singular” yang tidak terlihat dari det saja. Matriks Hilbert hilb(6) contoh terkenal: cond ≈ 1.5e7 meski semua entrinya angka kecil yang tampak jinak.

Ringkasan #

det membaca matriks sebagai faktor pengskalaan volume — rotasi memberi 1, skala memberi hasil kali faktor, dan nol berarti ruang runtuh (singular, tanpa inverse). rank menghitung dimensi ruang kolom dan menjadi alat uji ketergantungan linear antar kolom. cond mengisi skala abu-abu: matriks “resmi” nonsingular bisa praktis singular ketika angka kondisinya besar. Dengan peta sifat ini, kita siap mengenali arah istimewa — arah yang tidak digeser oleh matriks — lewat eigenvalues.