Lập trình Python – Tính toán ma trận với Numpy

Rate this post

Để bắt đầu thì chúng ta cần cài đặt thư viện Numpy bằng cách mở CMD và gõ lệnh sau:

pip install numpy

Thư viện Numpy là gì?

Trước khi bắt đầu thì mình sẽ giới thiệu sơ lược về cái thư viện Numpy mà chúng ta sẽ sử dụng để xử lý ma trận.

Numpy (Numeric Python) là 1 thư viện toán học phổ biến và mạnh mẽ của Python. Thư viện này sẽ cho phép chúng ta làm việc hiệu quả đối với mảng và ma trận. Numpy cực kỳ hữu ích khi thực hiện các hàm liên quan tới Đại số tuyến tính

Khởi tạo 1 ma trận

np.array(object, dtype=None, ndmin=0)
  • object: một mảng 2 chiều, ta có thể sử dụng một list của list.
  • dtype: kiểu dữ liệu của các phần tử trong ma trận
  • ndmin: số chiều tối thiểu khi return object

Trong bài viết này, chúng ta chưa cần quan tâm đến dtypendmin

Ví dụ về khởi tạo 1 ma trận:

import numpy as np

a = [
    [4, 5, 2, 3],
    [5, 7, 2, 8],
    [9, 7, 4, 8],
    [8, 9, 5, 2]
]

matrix_a = np.array(a)

print('Ma tran a la: \n', matrix_a)

Kết quả sau khi chạy là:

Cộng trừ 2 ma trận

Lưu ý: Để có thể cộng hoặc trừ 2 ma trận thì 2 ma trận phải cùng kích kích thước ( cùng cấp )

import numpy as np

a = [
    [4, 5, 2, 3],
    [5, 7, 2, 8],
    [9, 7, 4, 8],
    [8, 9, 5, 2]
]

b = [
    [5, 6, 3, 2],
    [6, 7, 3, 2],
    [0, 8, 1, 9],
    [8, 5, 5, 3]
]

matrix_a = np.array(a)
matrix_b = np.array(b)

print('Tong cua 2 ma tran: \n',  matrix_a + matrix_b)
print('\nHieu cua 2 ma tran: \n', matrix_a + matrix_b)

Sau khi chạy sẽ có kết quả như sau:

Nhân ma trận với 1 số

import numpy as np

a = [
    [4, 5, 2, 3],
    [5, 7, 2, 8],
    [9, 7, 4, 8],
    [8, 9, 5, 2]
]

matrix_a = np.array(a)

print('\nMa tran a nhan voi 2 la: \n', matrix_a * 2)

Sau khi chạy sẽ có kết quả như sau:

Nhân ma trận với ma trận

import numpy as np

a = [
    [4, 5, 2, 3],
    [5, 7, 2, 8],
    [9, 7, 4, 8],
    [8, 9, 5, 2]
]

b = [
    [5, 6, 3, 2],
    [6, 7, 3, 2],
    [0, 8, 1, 9],
    [8, 5, 5, 3]
]

matrix_a = np.array(a)
matrix_b = np.array(b)

matrix_c = matrix_a.dot(matrix_b)

print('\nTich cua 2 ma tran la: \n', matrix_c)

Sau khi chạy sẽ có kết quả như sau:

Trong bài viết tiếp theo mình sẽ tiếp tục trình bày về ma trận đơn vị, ma trận nghịch đảo, ma trận chuyển vị, tính định thức, hạng của ma trận,…

Cảm ơn các bạn đã theo dõi bài viết này!

Hits: 33

Leave a Reply