Kalkulator Matriks Gratis
Lakukan operasi matriks: penjumlahan, pengurangan, perkalian, transposisi, determinan, dan invers.
Matriks A
Matriks B
Cara kerjanya
Tentukan dimensi matriks A dan B, masukkan nilai, dan pilih operasi. Kalkulator memverifikasi dimensi dan menjalankan operasi, menampilkan hasil dalam grid matriks yang jelas.
Operasi yang didukung
- Penjumlahan dan pengurangan · memerlukan matriks dengan dimensi yang sama
- Perkalian · kolom A harus sama dengan baris B
- Transposisi · membalik baris dan kolom (A^T, B^T)
- Determinan · hanya matriks persegi (det(A), det(B))
- Invers · matriks persegi dengan determinan tidak nol (A^−1, B^−1)
Pertanyaan umum
Dimensi matriks apa yang didukung?
Matriks hingga 6×6 didukung. Pilih jumlah baris dan kolom untuk setiap matriks sebelum memasukkan nilai.
Kapan saya bisa menghitung invers?
Invers matriks hanya ada untuk matriks persegi (jumlah baris dan kolom yang sama) dengan determinan tidak nol. Matriks singular (determinan = 0) tidak memiliki invers.
Apakah data saya disimpan?
Tidak. Semua kalkulasi berjalan di browser Anda. Tidak ada yang disimpan atau dikirim ke server.
Apa itu matriks sebenarnya
Matriks adalah susunan persegi panjang dari angka-angka yang diatur dalam baris dan kolom dan diperlakukan sebagai objek matematika tunggal. Bentuknya ditulis sebagai m × n di mana m adalah jumlah baris dan n adalah jumlah kolom, selalu baris terlebih dahulu. Angka-angka individual di dalamnya disebut entri atau elemen; entri di baris i, kolom j direferensikan sebagai aij menggunakan indeks berbasis 1. (Salah satu bug paling umum dalam memindahkan makalah matematika ke kode adalah ketidaksesuaian antara konvensi berbasis 1 ini dan pengindeksan berbasis 0 yang digunakan oleh C, Python, dan JavaScript.)
Vektor adalah matriks dengan satu baris (1 × n, «vektor baris») atau satu kolom (m × 1, «vektor kolom»). Skalar adalah matriks 1 × 1. Penyarangan ini penting: artinya setiap operasi dalam aljabar linear (perkalian titik, proyeksi, transformasi) dapat diekspresikan secara seragam sebagai aritmatika matriks, itulah mengapa matriks menjadi bahasa universal matematika terapan setelah tahun 1900.
Sejarah singkat
Cikal bakal paling awal yang diketahui ada dalam karya Cina Nine Chapters on the Mathematical Art (sekitar abad ke-2 SM), yang menggunakan metode eliminasi Gauss tabular yang disebut fangcheng untuk menyelesaikan persamaan linear simultan. Istilah modern «matrix» dicetuskan oleh matematikawan Inggris James Joseph Sylvester pada tahun 1850, mengacu pada kata Latin untuk «rahim», struktur di mana subdeterminan dapat berkembang. Makalah fondasi adalah karya «A Memoir on the Theory of Matrices» milik Arthur Cayley, teman dan kolaborator Sylvester, tahun 1858, yang memformalkan perkalian matriks, matriks identitas, matriks nol, dan invers, mengubah matriks dari sekadar notasi yang nyaman menjadi aljabar dalam haknya sendiri.
Sepanjang akhir abad ke-19 dan awal abad ke-20, eliminasi Gauss-Jordan, teori nilai eigen, dan teorema spektral mengukuhkan matriks sebagai alat sentral aljabar linear. Titik balik abad ke-20 adalah formulasi mekanika matriks teori kuantum milik Werner Heisenberg pada tahun 1925 (itulah mengapa fisikawan mulai serius dengan matriks), makalah John von Neumann dan Herman Goldstine tahun 1947 tentang inversi numerik matriks orde tinggi yang mendirikan aljabar linear numerik modern, serta rilis BLAS (Basic Linear Algebra Subprograms) pada tahun 1979 dan rilis LAPACK pada tahun 1992: pustaka yang dioptimalkan yang akhirnya dipanggil oleh setiap platform komputasi ilmiah dari MATLAB hingga NumPy.
Enam operasi inti, dijelaskan
Penjumlahan dan pengurangan. Kedua matriks harus memiliki dimensi yang identik. Hasilnya memiliki bentuk yang sama dan setiap entri adalah jumlah per-elemen: cij = aij + bij. Anda tidak dapat menambahkan 2×3 ke 3×2; operasinya tidak terdefinisi. Penjumlahan matriks bersifat komutatif dan asosiatif, sama seperti penjumlahan angka biasa.
Perkalian matriks. Operasi yang membuat matriks kuat, dan yang paling sering disalahpahami pada pertemuan pertama. Agar C = A × B terdefinisi, dimensi dalam harus cocok: jika A adalah m × n, B harus n × p, dan hasil C adalah m × p. «n» di tengah dibatalkan; «m» dan «p» di luar bertahan. Setiap entri dihitung sebagai perkalian titik dari baris A dengan kolom B: cij = Σ aik · bkj dijumlahkan terhadap k.
Contoh perhitungan 2×2:
A = [1 2] B = [5 6] A·B = [1·5+2·7 1·6+2·8] = [19 22]
[3 4] [7 8] [3·5+4·7 3·6+4·8] [43 50]
Perkalian matriks tidak komutatif: A·B ≠ B·A secara umum, dan terkadang kedua hasil kalinya bahkan memiliki bentuk yang berbeda. (Jika A adalah 2×3 dan B adalah 3×2, A·B adalah 2×2 tetapi B·A adalah 3×3.) Non-komutativitas ini adalah sumber banyak kekayaan aljabar linear dan mengapa makalah Cayley tahun 1858 dianggap fundamental.
Transposi: ditulis AT: menukar baris dan kolom. Entri yang berada di baris i, kolom j menjadi entri di baris j, kolom i. Jadi jika A adalah m × n, AT adalah n × m. Identitas berguna: (A·B)T = BT·AT, dengan urutan dibalik.
Determinan: satu skalar yang merangkum matriks persegi. Untuk 2×2 itu adalah ad − bc; untuk matriks yang lebih besar, ia mengembang secara rekursif melalui ekspansi kofaktor (tidak praktis di atas 4×4) atau melalui dekomposisi LU (algoritma yang digunakan komputer, O(n³)). Secara geometris, nilai absolut dari determinan adalah faktor di mana peta linear menskalakan luas (dalam 2D), volume (dalam 3D), dan seterusnya. Determinan 2 berarti persegi satuan memetakan ke jajaran genjang dengan luas 2; determinan negatif berarti orientasi terbalik (refleksi cermin); determinan nol berarti transformasi meruntuhkan segalanya ke garis atau titik, matriks tersebut singular (tidak dapat diinversi).
Invers: ditulis A⁻¹: matriks unik sedemikian sehingga A · A⁻¹ = A⁻¹ · A = I, di mana I adalah matriks identitas. Invers «membatalkan» apa yang dilakukan A. Ini hanya ada untuk matriks persegi dengan determinan bukan nol. Komputer menghitung invers melalui eliminasi Gauss-Jordan atau dekomposisi LU. Untuk 2×2 rumusnya adalah (1/det) × [d, -b; -c, a] yang terkenal.
Mengapa matriks penting di luar matematika buku teks
Matriks ada di mana-mana dalam komputasi modern karena setiap transformasi linear adalah matriks:
- Grafis 3D: setiap posisi, rotasi, skala, dan proyeksi adalah matriks homogen 4×4. Setiap frame yang dirender GPU Anda mengalikan ribuan dari ini. OpenGL dan Direct3D keduanya mengekspos stack matriks eksplisit; mesin modern membungkusnya tetapi matematikanya tidak berubah.
- Machine learning: setiap lapisan jaringan saraf adalah perkalian matriks. Model bahasa besar modern dengan 70 miliar parameter secara struktural adalah beberapa ratus perkalian matriks per forward pass. cuBLAS, cuDNN, Tensor Cores NVIDIA, dan TPU Google adalah perangkat keras khusus untuk perkalian matriks berskala; boom AI secara keseluruhan adalah, dalam satu kalimat, kesadaran bahwa GPU membuat perkalian matriks sangat, sangat cepat.
- Visi komputer: Principal Component Analysis (PCA) dan Singular Value Decomposition (SVD) mereduksi data piksel berdimensi tinggi ke fitur berdimensi rendah. Kompresi gambar (DCT pada JPEG) adalah aritmatika matriks.
- Pencarian web: algoritma PageRank asli Google (Brin dan Page, 1998) menghitung vektor eigen utama dari matriks tautan 30 juta kali 30 juta. Ini berhasil karena matriks memodelkan rantai Markov dengan tepat.
- Statistik: persamaan normal regresi linear adalah
β = (XTX)−1XTy. Setiap paket perangkat lunak statistik menyelesaikannya melalui dekomposisi QR atau SVD. - Kriptografi: cipher blok seperti AES melibatkan transformasi matriks pada bidang hingga. Gate-gate komputasi kuantum adalah matriks uniter.
- Getaran dan rekayasa struktural: analisis modal (mencari frekuensi getaran alami jembatan) adalah masalah nilai eigen pada matriks kekakuan dan massa.
Matriks-matriks khusus yang perlu diketahui
- Matriks identitas I: persegi, 1 pada diagonal dan 0 di tempat lain.
A·I = I·A = A. Matriks «tidak melakukan apa-apa». - Diagonal: entri bukan nol hanya pada diagonal utama. Mengalikan dengan matriks diagonal menskalakan setiap baris atau kolom secara independen.
- Segitiga (atas atau bawah), entri bukan nol hanya pada atau di atas (atau di bawah) diagonal. Mudah untuk diinversi dan untuk menyelesaikan sistem linear.
- Simetris:
A = AT. Semua nilai eigen adalah riil; sentral dalam optimisasi dan statistik. - Ortogonal:
AT·A = I, yaitu, invers sama dengan transposi. Matriks rotasi bersifat ortogonal; transformasi ortogonal melestarikan panjang dan sudut. - Sparse vs dense: matriks sparse memiliki sebagian besar entri nol (khas pada matriks ketetanggaan graf, matriks kekakuan elemen hingga). Penyimpanan dan algoritma sparse khusus membuatnya jauh lebih cepat daripada metode dense biasa pada skala besar.
Catatan kestabilan numerik
Aritmatika matriks dalam floating-point menyembunyikan jebakan yang tidak muncul dalam contoh buku teks. Condition number dari matriks mengukur seberapa besar inversnya mengamplifikasi perturbasi kecil pada input; untuk matriks yang poorly conditioned, kesalahan 0,1% pada satu entri dapat menyebabkan kesalahan 1000% pada hasilnya. Contoh patologis klasik adalah matriks Hilbert (entri 1/(i+j-1)), yang condition number-nya meledak secara eksponensial dengan ukuran; matriks Hilbert 6×6 sudah memiliki condition number sekitar 10⁷, artinya tujuh digit desimal presisi hilang dalam inversnya.
Dalam praktiknya, ilmuwan komputasi hampir tidak pernah menghitung A⁻¹ secara eksplisit. Untuk menyelesaikan A·x = b, mereka menggunakan dekomposisi LU atau QR; untuk menggunakan invers secara implisit, mereka mengalikan A⁻¹·b melalui dekomposisi daripada membangun A⁻¹ terlebih dahulu. Untuk sistem yang poorly conditioned atau persegi panjang, pseudoinvers berbasis SVD (invers Moore-Penrose) lebih disukai. Kalkulator ini menghitung invers eksplisit untuk tujuan pendidikan, yang baik pada ukuran kecil tetapi layak diperhatikan saat diperbesar.
Cakupan yang jujur
Kalkulator ini mencakup penjumlahan / pengurangan / perkalian / transposi / determinan / invers pada matriks hingga 6×6, operasi yang ditemui mahasiswa dalam kursus aljabar linear pertama. Ini tidak menghitung nilai eigen, vektor eigen, atau dekomposisi matriks (LU, QR, SVD); tidak menampilkan langkah-langkah reduksi baris; tidak mendukung entri simbolik atau pecahan; tidak menangani bilangan kompleks; dan tidak menerima ekspresi matriks seperti A²·BT. Untuk fitur-fitur tersebut, alat khusus (Symbolab, Wolfram Alpha, MATLAB, NumPy, Octave, SageMath) adalah langkah yang tepat.
Pertanyaan lainnya
Mengapa perkalian matriks tidak komutatif?
Karena matriks merepresentasikan transformasi, dan urutan penerapan transformasi itu penting. Memutar lalu menggeser tidak sama dengan menggeser lalu memutar; pergeserannya bergerak berbeda dari orientasi awal yang berbeda. Non-komutativitas perkalian matriks adalah pengkodean aljabar dari fakta fisik ini, dan itulah yang membuat grafis 3D dan mekanika kuantum menarik (dan rumit).
Kapan matriks tidak dapat diinversi?
Ketika determinannya nol (secara setara, ketika baris-barisnya (atau kolom-kolomnya) saling bergantung secara linear); secara setara, ketika transformasi linear yang diwakilinya meruntuhkan suatu vektor bukan nol menjadi nol. Secara geometris, matriks memetakan ruang berdimensi tinggi ke subruang berdimensi lebih rendah dan Anda tidak dapat memulihkan dimensi yang hilang. Matriks semacam itu disebut «singular». Untuk matriks poorly conditioned yang secara teknis masih dapat diinversi, invers ada secara teori tetapi sangat tidak akurat dalam floating-point; lihat bagian kestabilan numerik di atas.
Mengapa indeks berbasis 1 dalam matematika tetapi berbasis 0 dalam kode?
Konvensi matematis berasal dari berabad-abad yang lalu; baris pertama adalah baris 1 karena penghitungan dimulai dari 1. Bahasa pemrograman memilih pengindeksan berbasis 0 karena menyederhanakan aritmatika pointer pada memori array: elemen pada offset i berada di base + i × element_size, tanpa faktor penyesuaian -1. Kedua konvensi sangat tertanam; salah satu sumber bug paling andal adalah menerjemahkan makalah yang mengatakan «baris 3» ke dalam kode yang membutuhkan matrix[2].
Apakah ada algoritma perkalian matriks tercepat?
Algoritma triple-loop naif berjalan dalam O(n³). Volker Strassen menunjukkan pada tahun 1969 bahwa 7 perkalian cukup untuk 2×2 (bukan 8), memberikan asimtotik O(n^2.807) jika diterapkan secara rekursif. Penyempurnaan berturut-turut selama beberapa dekade telah mendorong batas teoritis turun ke sekitar O(n^2.371), tetapi konstantanya sangat besar sehingga untuk matriks apa pun yang benar-benar Anda temui, O(n³) naif yang diimplementasikan di dalam BLAS / cuBLAS yang menang. Batas bawah secara matematis masih terbuka: setidaknya O(n²) tetapi tidak ada yang tahu jawaban pastinya.
Apakah ada yang dikirim ke server?
Tidak. Aritmatika ini adalah operasi floating-point langsung dalam JavaScript, dihitung di browser Anda. Tidak ada tentang matriks Anda yang meninggalkan halaman; alat ini bekerja offline setelah dimuat.