Phép trừ ma trận python numpy

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 chắc chắn rằng số hàng trong ma trận thứ nhất phải bằng số cột trong ma trận thứ hai

Các bài viết liên quan

  • Sử dụng ma trận trong R
  • Cấu trúc dữ liệu (data Structures) trong R
  • Use Linear Algebra in Numpy
  • Thư viện ma trận NumPy
  • Hàm Apply() và Sapply() trong R
Phép trừ ma trận python numpy

Trong Python, quá trình nhân ma trận bằng NumPy được gọi là màn hóa. Mục tiêu chính của màn hóa là loại bỏ hoặc giảm các vòng lặp 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 được 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 cho 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ính toán 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 các số chấm của hai mảng

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

Ví dụ 1. 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 mã trên

  • Chúng tôi đã tạo một mảng1 và mảng2 bằng cách sử dụng hàm numpy. array() with size 3
  • Chúng tôi đã tạo ra một biến kết quả và gán giá trị trả về của hàm np. nhân ()
  • Chúng tôi đã chuyển đổi cả mảng array1 và mảng2 trong np. nhân ()
  • Cuối cùng, chúng tôi đã cố gắng đánh giá kết quả

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

Vì numpy là thư viện được sử dụng thường xuyên nên nó thường được khai báo thu gọn lại như trên

c = np.eye(3)         # Create a 3 x 3 identity matrix
print(c)              # Prints "[[ 1.  0.  0.]
                      #          [ 0.  1.  0.]
                      #          [ 0.  0.  1.]]"
2 có thể thay thế bằng các từ khác, tuy nhiên bạn nên đặt là
c = np.eye(3)         # Create a 3 x 3 identity matrix
print(c)              # Prints "[[ 1.  0.  0.]
                      #          [ 0.  1.  0.]
                      #          [ 0.  0.  1.]]"
2 vì tài liệu hướng dẫn tất cả các tiêu chuẩn như thế

NumPy là gì ?

Theo định nghĩa trên trang chủ của Numpy

"NumPy là gói cơ bản cho tính toán khoa học bằng Python. Đó là một thư viện Python cung cấp một đối tượng mảng nhiều chiều, nhiều đối tượng dẫn xuất khác nhau (chẳng hạn như mảng và ma trận bị che khuất) và một loạt các thói quen cho các thao tác nhanh trên mảng, bao gồm thao tác toán học, logic, hình dạng, sắp xếp, chọn, I/O
-https. // tài liệu. scipy. org/doc/numpy-1. 10. 1/người dùng/whatisnumpy. html

Bạn có thể hiểu đơn giản. NumPy (Numeric Python) là thư viện cốt lõi cho tính toán khoa học trong Python. Nó cung cấp một đối tượng mảng có hiệu suất cao và các công cụ để làm việc với các mảng này

Hãy xem qua một ví dụ cho thấy NumPy mạnh như thế nào. Giả sử chúng ta có hai danh sách a và b, bao gồm 100. 000 số không âm thanh đầu tiên và chúng tôi muốn tạo một danh sách c mới có phần tử thứ i là a[i] + 2 * b[i]

Chúng tôi đã trừ ma trận matB khỏi ma trận matB bằng toán tử - trong đoạn mã trên. Đầu tiên chúng ta tạo hai ma trận với hàm np.matrix(). Sau đó, chúng tôi thực hiện phép trừ ma trận và lưu kết quả bên trong ma trận matC với

import numpy as np
matA = np.array([[1,2,3],[4,5,6],[7,8,9]])
matB = np.array([[9,8,7],[6,5,4],[3,2,1]])
matC = matA - matB
print(matC)
0

Chúng ta cũng có thể thực hiện phép trừ tương tự bằng cách sử dụng mảng 2D với

import numpy as np
matA = np.array([[1,2,3],[4,5,6],[7,8,9]])
matB = np.array([[9,8,7],[6,5,4],[3,2,1]])
matC = matA - matB
print(matC)
1 thay vì ma trận. Ví dụ mã sau đây cho thấy cách thực hiện phép trừ ma trận bằng mảng 2 chiều

import numpy as np
matA = np.array([[1,2,3],[4,5,6],[7,8,9]])
matB = np.array([[9,8,7],[6,5,4],[3,2,1]])
matC = matA - matB
print(matC)

đầu ra

[[-8 -6 -4]
 [-2  0  2]
 [ 4  6  8]]

Đoạn mã trên cho kết quả giống như ví dụ trước vì không có sự khác biệt trong toán tử - làm việc với ma trận và mảng 2D. Đó là bởi vì

import numpy as np
matA = np.array([[1,2,3],[4,5,6],[7,8,9]])
matB = np.array([[9,8,7],[6,5,4],[3,2,1]])
matC = matA - matB
print(matC)
3 là một phân lớp của
import numpy as np
matA = np.array([[1,2,3],[4,5,6],[7,8,9]])
matB = np.array([[9,8,7],[6,5,4],[3,2,1]])
matC = matA - matB
print(matC)
4