Dalam matematika, perkalian matriks atau produk matriks adalah operasi biner yang menghasilkan matriks dari dua matriks. Definisi ini dimotivasi oleh persamaan linear dan transformasi linear pada vektor, yang memiliki banyak aplikasi dalam matematika terapan, fisika, dan teknik. Secara lebih rinci, jika A adalah matriks n × m dan B adalah matriks m × p, produk matriks mereka AB adalah matriks n × p, di mana entri m melintasi baris A dikalikan dengan entri m ke bawah kolom B dan dijumlahkan untuk menghasilkan entri AB. Ketika dua transformasi linier diwakili oleh matriks, maka produk matriks mewakili komposisi dua transformasi.
Sumber: Wikipedia
Dengan kata lain, untuk mengalikan dua matriks, misalnya:
1 2 3 1 4
2 3 4 × 3 1 =
3 4 5 4 6
Pertama, ambil baris nomor 1 di matriks pertama, nomor kolom 1 di matriks kedua, dan kalikan 1
dengan 1
, 2
oleh 3
, dan 3
oleh 4
.
1 × 1 = 1
2 × 3 = 6
3 × 4 = 12
Sekarang tambahkan mereka bersama untuk mendapatkan item pertama Anda:
1 2 3 1 4 19
2 3 4 × 3 1 =
3 4 5 4 6
Untuk angka kedua di kolom pertama hasil, Anda harus mengambil nomor baris 2 daripada nomor baris 1 dan melakukan hal yang sama.
1 × 2 = 2
3 × 3 = 9
4 × 4 = 16
= 27
Setelah Anda melakukan seluruh kolom pertama, hasilnya terlihat seperti ini:
1 2 3 1 4 19
2 3 4 × 3 1 = 27
3 4 5 4 6 35
Sekarang, lakukan hal yang persis sama lagi, tetapi ambil kolom kedua alih-alih kolom pertama, menghasilkan:
1 2 3 1 4 19 24
2 3 4 × 3 1 = 27 35
3 4 5 4 6 35 46
Tugas Anda
Diberi dua matriks (dimensi maksimum 200x200), yang berisi angka dalam rentang -10000 hingga 10.000, di mana jumlah kolom pada yang pertama sama dengan jumlah baris pada yang kedua, kalikan yang pertama dengan yang kedua. (Perkalian matriks adalah non-komutatif.)
Anda dapat mengambil input dan memberikan output sebagai array array (atau setara), sebuah matriks (jika bahasa Anda memiliki format itu) atau string multiline.
Anda tidak boleh menggunakan bawaan untuk multiplikasi matriks.
Uji kasus
1 2 1 2 3 4 5 13 16 19 22 25
3 4 × 6 7 8 9 10 = 27 34 41 48 55
5 6 41 52 63 74 85
2 3 3 5 15 13
3 4 × 3 1 = 21 19
5 3 11 27
1 3 1 3 7 15
9 3 × 2 4 = 15 39
1 -1000 -1999 -3997
Ingat, ini adalah kode-golf , jadi kode dengan byte paling sedikit menang.