Rate this post

Phép nhân ma trận là một phép toán tạo ra một ma trận duy nhất bằng cách lấy hai ma trận làm đầu vào và nhân các hàng của ma trận thứ nhất với cột của ma trận thứ hai. Lưu ý rằng chúng ta phải đảm bảo rằng số hàng trong ma trận đầu tiên phải bằng số cột trong ma trận thứ hai.

Trong Python, quá trình nhân ma trận bằng NumPy được gọi là vectơ hóa. Mục tiêu chính của vectơ hóa là loại bỏ hoặc giảm các vòng lặp for mà chúng tôi đang sử dụng một cách rõ ràng. Bằng cách giảm vòng lặp ‘for’ từ các chương trình giúp tính toán nhanh hơn. Gói tích hợp NumPy được sử dụng để thao tác và xử lý mảng.

Đây là ba phương pháp mà qua đó chúng ta có thể thực hiện phép nhân ma trận numpy.

  • Đầu tiên là việc sử dụng hàm nhân (), thực hiện phép nhân theo phần tử của ma trận.
  • Thứ hai là việc sử dụng hàm matmul (), hàm này thực hiện tích ma trận của hai mảng.
  • Cuối cùng là sử dụng hàm dot (), hàm này thực hiện tích số chấm của hai mảng.

Xem thêm Cách Biểu diễn đồ thị

Ví dụ 1: Phép nhân ma trận theo phần tử

import numpy as np  
array1=np.array([[1,2,3],[4,5,6],[7,8,9]],ndmin=3)  
array2=np.array([[9,8,7],[6,5,4],[3,2,1]],ndmin=3)  
result=np.multiply(array1,array2)  
result  

Trong đoạn code trên

  • Chúng tôi đã tạo một array1 và array2 bằng cách sử dụng hàm numpy.array () với kích thước 3.
  • Chúng tôi đã tạo một kết quả biến và gán giá trị trả về của hàm np.multiply ().
  • Chúng tôi đã chuyển cả mảng array1 và array2 trong np.multiply ().
  • Cuối cùng, chúng tôi đã cố gắng in giá trị của kết quả.

Trong đầu ra, một ma trận ba chiều đã được hiển thị có các phần tử là kết quả của phép nhân khôn ngoan phần tử của cả hai phần tử array1 và array2.

Output:

Ví dụ 2: ví dụ nhân ma trận

import numpy as np  
array1=np.array([[1,2,3],[4,5,6],[7,8,9]],ndmin=3)  
array2=np.array([[9,8,7],[6,5,4],[3,2,1]],ndmin=3)  
result=np.matmul(array1,array2)  
result  

Output:

Trong đoạn code trên

  • Chúng tôi đã tạo array1 và array2 bằng cách sử dụng hàm numpy.array () với kích thước 3.
  • Chúng tôi đã tạo một kết quả biến và gán giá trị trả về của hàm np.matmul ().
  • Chúng tôi đã chuyển cả mảng array1 và array2 trong np.matmul ().
  • Cuối cùng, chúng tôi đã cố gắng in giá trị của kết quả.

Trong đầu ra, một ma trận ba chiều đã được hiển thị có các phần tử là tích của cả phần tử array1 và array2.

Ví dụ 3: Dot product

Đây là các thông số kỹ thuật sau cho numpy.dot:

  • Khi cả a và b đều là mảng 1-D (một chiều )-> Tích bên trong của hai vectơ
  • Khi cả a và b đều là mảng 2-D (hai chiều) -> Phép nhân ma trận
  • Khi a hoặc b là 0-D (còn được gọi là vô hướng) -> Nhân bằng cách sử dụng numpy.multiply (a, b) hoặc a * b.
  • Khi a là mảng N-D và b là mảng 1-D -> Tính tổng trên trục cuối cùng của a và b.
  • Khi a là mảng N-D và b là mảng M-D với điều kiện M> = 2 -> Tính tổng tích trên trục cuối cùng của a và trục thứ hai đến cuối của b:
  • Ngoài ra, dấu chấm (a, b) [i, j, k, m] = sum (a [i, j,:] * b [k,:, m])
import numpy as np  
array1=np.array([[1,2,3],[4,5,6],[7,8,9]],ndmin=3)  
array2=np.array([[9,8,7],[6,5,4],[3,2,1]],ndmin=3)  
result=np.dot(array1,array2)  
result  

Trong đoạn code trên

  • Chúng tôi đã tạo array1 và array2 bằng cách sử dụng hàm numpy.array () với kích thước 3.
  • Chúng tôi đã tạo một kết quả biến và gán giá trị trả về của hàm np.dot ().
  • Chúng tôi đã chuyển cả mảng array1 và array2 trong np.dot ().
  • Cuối cùng, chúng tôi đã cố gắng in giá trị của kết quả.

Xem thêm Thành phần của Relations

Trong đầu ra, một ma trận ba chiều đã được hiển thị có các phần tử là tích số chấm của cả phần tử array1 và array2.

Output:

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now