Determinan adalah satu bilangan yang dirangkum dari satu matriks persegi dan menyatakan berapa kali lipat transformasinya memperbesar luas atau volume. Topik ini membahas rumus determinan matriks dua kali dua, maknanya sebagai faktor penskalaan, serta perannya sebagai uji singularitas sebelum invers dihitung. Perhitungan menggunakan np.linalg.det, dan setiap noise pembulatan ditampilkan apa adanya beserta cara membacanya. Setelah topik ini dipahami, nilai det(A) = 0 dapat ditafsirkan sebagai peringatan bahwa invers dan solusi tunggal tidak ada.
Satu bilangan untuk satu matriks#
Untuk matriks dua kali dua, determinan dihitung dari empat entrinya dengan rumus berikut.
Matriks dengan kolom dan memiliki determinan . Matriks segitiga menyediakan kasus paling mudah, yaitu determinannya hasil kali entri-entri diagonalnya. Sifat ini menjelaskan cara komputer menghitung determinan, karena matriks dirapatkan menjadi matriks segitiga terlebih dahulu sebagaimana proses eliminasi. Determinan hasil perkalian dua matriks juga menjadi hasil kali kedua determinannya, yaitu , sehingga peregangan dua transformasi berturut-turut mengalikan faktor skalanya. Determinan matriks yang lebih besar tetap satu bilangan yang bermakna geometris, dan makna itulah yang dibahas pada bagian berikutnya.
Faktor penskalaan luas#
Determinan mengukur berapa kali lipat luas bertambah ketika sebuah transformasi diterapkan pada bidang. Ambil persegi satuan yang dibentang oleh vektor basis dan . Setelah transformasi , kedua vektor basis berpindah ke kolom-kolom , dan persegi itu berubah menjadi paralelogram yang dibentang oleh kolom-kolom tersebut. Luas paralelogram hasilnya sama dengan nilai mutlak determinan , dan nilai itulah faktor penskalaan luasnya.
Gambar berikut memperlihatkan kolom-kolom matriks contoh, yaitu dan , yang membentang paralelogram berluas lima dari persegi satuan berluas satu.
Contoh lain mudah dihitung tanpa gambar. Matriks yang menskalakan sumbu horizontal dua kali dan sumbu vertikal tiga kali memiliki kolom dan , sehingga determinannya enam dan setiap luas menjadi enam kali lipat. Tanda determinan membawa informasi tambahan, yaitu determinan positif mempertahankan orientasi bidang, sedangkan determinan negatif membaliknya seperti pencerminan. Nilai mutlaknya tetap menyatakan faktor penskalaan pada kedua kasus.
Menghitung determinan dengan NumPy#
Berkas berikut menghitung determinan tiga matriks, yaitu penskalaan sumbu, matriks dengan kolom sejajar, dan matriks contoh di atas. Matriks kedua sengaja disertakan karena kolom keduanya dua kali kolom pertamanya, dan nilai determinannya menjadi penanda penting pada bagian singularitas.
import numpy as np
# penskalaan sumbu: kolom (2,0) dan (0,3)
A = np.array([[2.0, 0.0],
[0.0, 3.0]])
# kolom kedua dua kali kolom pertama: peta melipat bidang
B = np.array([[1.0, 2.0],
[2.0, 4.0]])
# kolom (3,1) dan (1,2)
C = np.array([[3.0, 1.0],
[1.0, 2.0]])
print("det(A) =", np.linalg.det(A))
print("det(B) =", np.linalg.det(B))
print("det(C) =", np.linalg.det(C))
print("det(C) dibulatkan =", np.round(np.linalg.det(C), 6))det(A) = 6.0
det(B) = 0.0
det(C) = 5.000000000000001
det(C) dibulatkan = 5.0Dua keluaran pertama sesuai dengan perhitungan manual, sedangkan det(C) tampil sebagai 5.000000000000001 karena np.linalg.det bekerja melalui pemfaktoran matriks pada aritmetika pecahan biner. Penyimpangan sekecil itu merupakan sisa pembulatan dan tidak bermakna apa pun, sehingga pembulatannya memulihkan nilai eksak 5.0. Kasus det(B) yang tampil sebagai 0.0 sekaligus memperlihatkan kolom sejajar pada keluaran nyata, yaitu peta yang melipat bidang ke sebuah garis. Pola pembacaan ini muncul terus pada kode numerik, sehingga hasil hitungan selalu dibulatkan atau dibandingkan dengan toleransi.
Singularitas dan kegagalan invers#
Determinan nol berarti transformasi memampatkan seluruh bidang ke sebuah garis, sehingga banyak titik berbeda jatuh ke tempat yang sama. Proses yang memadatkan informasi seperti itu tidak dapat dibalik, dan matriksnya disebut singular. Berkas berikut menguji matriks yang kolom keduanya dua kali kolom pertamanya.
import numpy as np
A = np.array([[2.0, 1.0],
[4.0, 2.0]])
print("det(A) =", np.linalg.det(A))
try:
A_inv = np.linalg.inv(A)
print("invers berhasil dihitung")
except np.linalg.LinAlgError as e:
print("invers gagal:", e)det(A) = 0.0
invers gagal: Singular matrixNumPy menolak menghitung invers dan melempar error LinAlgError berisi pesan Singular matrix. Perilaku ini dijadikan pemeriksaan awal sebelum invers atau penyelesaian sistem, karena kegagalan yang terdeteksi lebih dahulu memberikan pesan yang jelas. Hubungannya dengan sistem linear bersifat langsung, yaitu determinan tak nol menjamin solusi tunggal bagi , sedangkan determinan nol menandakan solusinya tidak ada atau tak hingga banyaknya. Pemeriksaan determinan juga jauh lebih murah daripada mencoba menghitung invers lalu menangkap errornya.
Catatan kehati-hatian menyertai uji ini. Determinan yang sangat kecil belum tentu berarti matriksnya tidak layak digunakan, karena skala entrinya ikut menentukan besarnya determinan. Pengukuran yang lebih halus disebut condition number dan dibahas pada buku teks aljabar linear numerik, sedangkan determinan tetap menjadi saringan pertama yang murah untuk matriks kecil.
Di mana hal ini ditemui dalam kode#
Pengecekan singularitas sebelum invers adalah penggunaan determinan yang paling sering ditemui, misalnya sebelum menghitung matriks kovarians yang dibalik pada statistika multivariabel. Grafika menggunakan faktor skala luas untuk menaksir efek transformasi kamera, dan tanda determinan mendeteksi muka objek yang terbalik sehingga tidak perlu digambar. Rumus perubahan variabel pada integral lipat memuat nilai mutlak Jacobian, yaitu determinan matriks turunan parsial yang menjadi faktor penskalaan volume lokal. Pada kode numerik, determinan muncul sebagai angka cepat untuk menyimpulkan apakah sebuah matriks layak dibalik, selalu dibaca dengan toleransi sebagaimana contoh di atas.
Ringkasan#
- Determinan matriks dua kali dua dihitung dengan dan menyatakan faktor penskalaan luas transformasinya, dengan tanda yang menyatakan orientasi.
- Luas paralelogram yang dibentang kolom-kolom matriks sama dengan nilai mutlak determinannya.
np.linalg.detdihitung melalui pemfaktoran matriks sehingga hasilnya dapat membawa noise pembulatan yang ditangani dengan pembulatan atau toleransi.- Determinan nol menandai matriks singular yang tidak dapat dibalik, dan
np.linalg.invmelempar errorLinAlgErroruntuk kasus itu.
Referensi#
- NumPy 2.1 documentation — NumPy
— Dokumentasi
np.linalg.detdannp.linalg.invbeserta errorLinAlgErroryang dijelaskan pada contoh topik ini. - Mathematics for Machine Learning — Cambridge University Press — Buku terbuka yang mengaitkan determinan dengan volume, orientasi, dan kebalikan transformasi linear.
- Khan Academy — Khan Academy — Materi determinan matriks dua kali dua beserta maknanya sebagai faktor skala luas.