Numpy là một thư viện toán học phổ biến và mạnh mẽ của Python. Nó cung cấp các hàm để thực hiện các phép toán trên ma trận.
Các phép toán cơ bản
Các phép toán cộng, trừ, nhân, chia có thể được thực hiện trên các ma trận Numpy theo cách tương tự như các phép toán trên các số.
Ví dụ, để cộng hai ma trận một chiều, bạn có thể sử dụng mã sau:
import numpy as np # Tạo hai ma trận một chiều arr1 = np.array([1, 2, 3]) arr2 = np.array([4, 5, 6]) # Cộng hai ma trận arr_sum = arr1 + arr2 # In ra ma trận print(arr_sum) Đầu ra: [5 7 9]
Các phép toán cộng, trừ, nhân, chia cũng có thể được thực hiện trên các ma trận đa chiều.
Ví dụ, để nhân hai ma trận hai chiều, bạn có thể sử dụng mã sau:
import numpy as np # Tạo hai ma trận hai chiều arr1 = np.array([[1, 2], [3, 4]]) arr2 = np.array([[5, 6], [7, 8]]) # Nhân hai ma trận arr_mul = arr1 @ arr2 # In ra ma trận print(arr_mul) Đầu ra: [[23 34] [47 68]]
Phép nhân ma trận với vector
Phép nhân ma trận với vector là phép toán tính tích vô hướng của ma trận và vector.
Phép nhân ma trận với vector có thể được thực hiện bằng cách sử dụng hàm dot() của Numpy.
Ví dụ, để nhân ma trận hai chiều với vector một chiều, bạn có thể sử dụng mã sau:
import numpy as np # Tạo ma trận hai chiều arr = np.array([[1, 2], [3, 4]]) # Tạo vector một chiều vec = np.array([5, 6]) # Nhân ma trận với vector arr_vec = arr @ vec # In ra vector print(arr_vec) Đầu ra: [23 34]
Tính định thức, nghịch đảo ma trận
Định thức của ma trận là một số thực xác định tính duy nhất của ma trận. Nghịch đảo của ma trận là một ma trận có phép nhân với ma trận ban đầu cho ra ma trận đơn vị.
Numpy cung cấp các hàm linalg.det() và linalg.inv() để tính định thức và nghịch đảo của ma trận.
Ví dụ, để tính định thức của ma trận hai chiều, bạn có thể sử dụng mã sau:
import numpy as np # Tạo ma trận hai chiều arr = np.array([[1, 2], [3, 4]]) # Tính định thức của ma trận det = np.linalg.det(arr) # In ra định thức print(det) Đầu ra: -2
Để tính nghịch đảo của ma trận hai chiều, bạn có thể sử dụng mã sau:
import numpy as np # Tạo ma trận hai chiều arr = np.array([[1, 2], [3, 4]]) # Tính nghịch đảo của ma trận inv_arr = np.linalg.inv(arr) # In ra nghịch đảo của ma trận print(inv_arr) Đầu ra: [[-2/7 1/7] [3/7 -4/7]]
Kết luận
Phép toán trên ma trận là một chủ đề quan trọng trong Numpy. Nó có thể được sử dụng trong nhiều ứng dụng khác nhau, chẳng hạn như:
- Giải hệ phương trình tuyến tính
- Tính toán ma trận
- Xử lý hình ảnh
- Xử lý tín hiệu
Nếu bạn là newbie có thể tham khảo bài viết này để tìm hiểu lộ trình học DA trong 3 tháng của SmartData.
Nếu bạn thấy bài viết hay và hữu ích, bạn có thể tham gia các kênh sau của SmartData để nhận được nhiều hơn nữa: