Diselesaikan: matmul trengkas numpy

Kemaskini terakhir: 09/11/2023

Matriks ialah bahagian asas daripada banyak tugas pengiraan dalam pelbagai bidang, termasuk sains data, pembelajaran mesin dan grafik. Dalam Python, perpustakaan berangka popular NumPy menyediakan cara yang mudah untuk melakukan pendaraban matriks menggunakan fungsi matmul. Dalam artikel ini, kita akan membincangkan trengkas matmul dalam NumPy, fungsinya dan pelaksanaannya dalam kod Python anda.

Pengenalan kepada Matriks dan NumPy

Matriks ialah tatasusunan nombor dua dimensi yang disusun dalam baris dan lajur, yang boleh digunakan untuk mewakili pelbagai transformasi linear, sistem persamaan linear dan transformasi geometri. Dalam Python, perpustakaan NumPy menawarkan set fungsi yang kaya untuk mencipta dan mengendalikan matriks dengan cekap.

NumPy ialah pustaka Python sumber terbuka yang berkuasa yang menyediakan sokongan untuk bekerja dengan tatasusunan dan matriks berbilang dimensi yang besar. Ia juga menawarkan koleksi fungsi matematik untuk melaksanakan operasi pada tatasusunan ini, seperti pendaraban matriks, yang merupakan operasi teras dalam banyak aplikasi.

Pendaraban Matriks dan matmul

Pendaraban matriks ialah operasi binari yang mengambil sepasang matriks dan menghasilkan matriks lain sebagai hasilnya. Ia ditakrifkan sebagai jumlah hasil darab unsur baris yang sepadan daripada matriks pertama dan lajur daripada matriks kedua.

Fungsi matmul dalam NumPy digunakan untuk pendaraban matriks. Ia mengambil dua tatasusunan input dan mengembalikan hasil darab matriksnya. Jika tatasusunan input bukan matriks, ia dianggap sebagai matriks dengan dua dimensi terakhirnya mewakili baris dan lajur.

import numpy as np

matrix1 = np.array([[1, 2], [3, 4]])
matrix2 = np.array([[5, 6], [7, 8]])

result = np.matmul(matrix1, matrix2)
print(result)

Dalam contoh ini, fungsi mengambil dua matriks 2×2 sebagai input dan mengembalikan produknya. Hasil yang diperoleh akan menjadi matriks dengan dimensi yang sama.

Penjelasan Langkah demi Langkah

Berikut ialah penjelasan langkah demi langkah bagi contoh kod pendaraban matriks yang disediakan di atas:

1. Import perpustakaan numpy menggunakan singkatan "np".
2. Takrifkan dua matriks (2×2 dalam kes ini) menggunakan fungsi tatasusunan numpy.
3. Lakukan pendaraban matriks menggunakan fungsi numpy matmul, menyediakan matriks1 dan matriks2 sebagai hujah.
4. Cetak matriks yang terhasil.

Output untuk contoh ini ialah:

[[19 22]
 [43 50]]

Sifat dan Had Matmul

Secara umum, pendaraban matriks tidak memenuhi sifat matematik tertentu seperti komutatif, tetapi ia memenuhi sifat seperti persekutuan dan pengagihan. Dimensi matriks input memainkan peranan penting dalam pendaraban matriks—bilangan lajur dalam matriks pertama mestilah sama dengan bilangan baris dalam matriks kedua.

Jika matriks input tidak memenuhi keperluan dimensi ini, ValueError akan dibangkitkan. Perlu juga diperhatikan bahawa, walaupun fungsi matmul boleh mengendalikan tatasusunan berbilang dimensi, hasil darab matriks hanya ditakrifkan untuk matriks dua dimensi.

Fungsi Alternatif untuk Pendaraban Matriks

Selain fungsi matmul, NumPy menyediakan kaedah trengkas lain untuk pendaraban matriks:

1. np.dot: Fungsi ini juga boleh melakukan pendaraban matriks tetapi lebih umum, kerana ia boleh mengendalikan produk dalam, produk luar dan produk tensor juga.
2. @ pengendali: Dalam Python 3.5 dan lebih baru, simbol @ boleh digunakan sebagai pengendali infiks untuk pendaraban matriks.

result_alternative1 = np.dot(matrix1, matrix2)
result_alternative2 = matrix1 @ matrix2

Kaedah alternatif ini akan menghasilkan hasil yang sama seperti fungsi matmul.

Kesimpulannya, trengkas matmul dalam NumPy menyediakan cara yang cekap dan serba boleh untuk melaksanakan pendaraban matriks dalam Python. Memahami fungsi berkuasa ini dan penggunaannya boleh meningkatkan prestasi kod anda dengan ketara dalam pelbagai aplikasi.

Related posts: