np.matmul: cara mengalikan dua matriks dalam python – Codewithaden

Ada dua cara untuk mengalikan matriks.

  1. Untuk mengalikan matriks dengan skalar. Ini dikenal sebagai penggandaan skalar.
  2. Untuk mengalikan matriks dengan matriks lain. Ini dikenal sebagai multiplikasi matriks.

Contoh ini akan menunjukkan multiplikasi matriks menggunakan array numpy menggunakan metode numpy matmul (). Jadi, mari kita lihat metode itu secara detail.

np.matmul

Itu np.matmul () Metode digunakan untuk mengetahui produk matriks dari dua array. Fungsi numpy matmul () mengambil arr1 dan arr2 Sebagai argumen dan pengembalian Produk matriks dari array input.

Untuk mengalikan dua array dalam python, gunakan metode np.matmul (). Dalam kasus matriks 2D, produk matriks reguler dikembalikan. Jika matriks yang disediakan adalah dimensi lebih besar dari 2, diperlakukan sebagai setumpuk matriks yang berada di dua indeks terakhir dan disiarkan sesuai.

Jika salah satu dari dua array adalah satu dimensi, itu dipromosikan ke dalam matriks dengan menambahkan 1 ke dimensinya. Setelah perkalian matriks dilakukan, 1 ditambahkan dihapus.

Sintaksis

numpy.matmul(arr1, arr2, out=None)
 

Parameter

Fungsi matmul () mengambil paling banyak tiga parameter:

arr1 : array_ like, array input pertama

arr2 array_ like, array input kedua

keluar : ndarray, ini adalah parameter opsional.

Ini adalah array n-dimensi di mana output harus disimpan. Misalkan ARR1 memiliki bentuk (m, k), dan ARR2 memiliki bentuk (k, n); Mereka harus memiliki bentuk (m, n). Jika parameter ini tidak disediakan atau tidak sama sekali, array yang baru dialokasikan dikembalikan.

Nilai pengembalian

Metode Matmul () mengembalikan produk matriks dari array input. Skalar hanya diproduksi ketika ARR1 dan ARR2 adalah vektor 1 dimensi.

Contoh Pemrograman

Program untuk menunjukkan kerja metode numpy.matmul () dalam hal matriks 2-D yang biasa:

Lihat kode berikut.

# importing the numpy module
import numpy as np

# first 2-D array arr1
arr1 = np.array([[2, 4], [6, 8]])
print("first array is :")
print(arr1)
print("Shape of first array is: ", arr1.shape)

# second 2-D array arr1
arr2 = np.array([[1, 3], [5, 7]])
print("second array is :")
print(arr2)
print("Shape of second array is: ", arr2.shape)

# calculating matrix product
res = np.matmul(arr1, arr2)
print("Resultant array is :")
print(res)
print("Shape of resultant array is: ", res.shape)
 

Keluaran

first array is :
[[2 4]
 [6 8]]
Shape of first array is:  (2, 2)
second array is :
[[1 3]
 [5 7]]
Shape of second array is:  (2, 2)
Resultant array is :
[[22 34]
 [46 74]]
Shape of resultant array is:  (2, 2) 

Penjelasan

Dalam program di atas, kami telah mengambil dua array input dua dimensi bernama arr1 dan arr2; kami Telah menampilkan output dengan menampilkan produk matriks dari kedua array. Array yang dihasilkan juga akan memiliki bentuk (2,2).

Program untuk menunjukkan kerja metode numpy.matmul () jika ada orang dari matriks adalah matriks 1D

Lihat kode berikut.

# importing the numpy module
import numpy as np

# first 2-D array arr1
arr1 = np.array([[3, 0], [0, 4]])
print("first array is :")
print(arr1)
print("Shape of first array is: ", arr1.shape)

# second 2-D array arr1
arr2 = np.array([1, 2])
print("second array is :")
print(arr2)
print("Shape of second array is: ", arr2.shape)

# calculating matrix product
res = np.matmul(arr1, arr2)
print("Resultant array is :")
print(res)
print("Shape of resultant array is: ", res.shape)
 

Keluaran

first array is :
[[3 0]
 [0 4]]
Shape of first array is:  (2, 2)
second array is :
[1 2]
Shape of second array is:  (2,)
Resultant array is :
[3 8]
Shape of resultant array is:  (2,) 

Penjelasan

Dalam program di atas, kami telah mengambil array input dua dimensi bernama ARR1 dan vektor 1 dimensi lain bernama ARR2. Kemudian kami telah menampilkan output dengan menampilkan produk matriks dari kedua array. Array yang dihasilkan juga akan memiliki bentuk (2,).

Untuk produk pemahaman yang lebih mendalam, itu dapat dipahami sebagai:

Karena ARR2 adalah vektor 1 dimensi, dipromosikan menjadi matriks dengan menambahkan 1 ke dalamnya, dan dapat ditampilkan sebagai: [[11], [2,1]]. Sekarang, setelah produk matriks konversi dihitung seperti biasa dan hasilnya akan diperoleh sebagai [[3,3], [8, 4]], tetapi kolom yang ditambahkan lagi akan dihapus; Oleh karena itu hasil akhirnya adalah [3,8] memiliki bentuk (2,).

Itu untuk tutorial ini.

Lihat juga

Numpy convolve ()

Numpy correlate ()

Numpy Polyfit ()

Numpy linalg det ()

Numpy araange ()

Artikel ini berasal dari website Winpoin, dan kemudian diterjemahkan ke bahasa indonesia, baca artikel asli disini

Leave a Reply

Your email address will not be published. Required fields are marked *