Hướng dẫn does python support matrix multiplication? - python có hỗ trợ phép nhân ma trận không?

Năm 2017 sẽ mãi mãi được khắc trong ký ức của chúng ta khi năm Python vượt qua để trở thành ngôn ngữ hàng đầu cho khoa học dữ liệu. Có rất nhiều yếu tố chơi với điều này: cú pháp đơn giản của Python, hệ sinh thái Pydata tuyệt vời và tất nhiên là mua từ BDFL của Python.

PEP 465 đã giới thiệu toán tử Infix

B = np.matrix('6 1; 7 9')
B
0 được chỉ định được sử dụng để nhân ma trận. Việc chấp nhận và thực hiện đề xuất này trong Python 3.5 là một tín hiệu cho cộng đồng khoa học rằng Python đang đóng vai trò là một ngôn ngữ tính toán số rất nghiêm túc.

Tôi là một chuyên gia toán học tính toán ở trường đại học nên ma trận rất gần và thân yêu với trái tim tôi. Tiếng hét với Giáo sư Jeff Orchard vì đã thực hiện các thuật toán ma trận trong C ++. Khóa học đại số tuyến tính số của anh ấy là lớp tốt nhất tôi từng tham gia.

Trong bài đăng này, chúng tôi sẽ khám phá nhà điều hành

B = np.matrix('6 1; 7 9')
B
0.

In [2]:

A = np.matrix('3 1; 8 2')
A

In [3]:

B = np.matrix('6 1; 7 9')
B

Out[4]:

matrix([[25, 12],
        [62, 26]])

In [5]:

# element at the top left. i.e. (1, 1) aka (0, 0) in python
A[0, 0] * B[0, 0] + A[0, 1] * B[1, 0]

In [6]:

# element at the top right. i.e. (1, 2) aka (0, 1) in python
A[0, 0] * B[0, 1] + A[0, 1] * B[1, 1]

In [7]:

# element at the bottom left. i.e. (2, 1) aka (1, 0) in python
A[1, 0] * B[0, 0] + A[1, 1] * B[1, 0]

In [8]:

# element at the top right. i.e. (2, 2) aka (1, 1) in python
A[1, 0] * B[0, 1] + A[1, 1] * B[1, 1]

In [9]:

# let's put it in matrix form
result = np.matrix([[A[0, 0] * B[0, 0] + A[0, 1] * B[1, 0], A[0, 0] * B[0, 1] + A[0, 1] * B[1, 1]],
                    [A[1, 0] * B[0, 0] + A[1, 1] * B[1, 0], A[1, 0] * B[0, 1] + A[1, 1] * B[1, 1]]])
result

Out[9]:

matrix([[25, 12],
        [62, 26]])

Out[10]:

matrix([[ True,  True],
        [ True,  True]], dtype=bool)

Mô hình dữ liệu Python chỉ định rằng toán tử ____10 10 gọi

B = np.matrix('6 1; 7 9')
B
3 và
B = np.matrix('6 1; 7 9')
B
4.

Chúng ta có thể quá tải

B = np.matrix('6 1; 7 9')
B
0 bằng cách xác định hành vi tùy chỉnh cho từng phương pháp đặc biệt ở trên, nhưng điều này sẽ dẫn đến API của chúng ta không bị pythonic.

Để xây dựng các đối tượng pythonic, hãy quan sát cách các đối tượng Python thực sự cư xử.

  • Luciano Ramalho, tác giả của Fluent Python

Python có nhân số ma trận không?

Numpy là một thư viện Python phổ biến cung cấp một loạt các chức năng toán học mạnh mẽ. Thư viện được sử dụng rộng rãi trong các lĩnh vực định lượng, chẳng hạn như khoa học dữ liệu, học máy và học sâu. Chúng ta có thể sử dụng Numpy để thực hiện các tính toán toán học phức tạp, chẳng hạn như phép nhân ma trận.We can use NumPy to perform complex mathematical calculations, such as matrix multiplication.

Python có tốt cho ma trận không?

Ma trận là một trong những cấu trúc dữ liệu quan trọng có thể được sử dụng trong các tính toán toán học và khoa học. Python không có cách đơn giản để thực hiện kiểu dữ liệu ma trận.Python does not have a straightforward way to implement a matrix data type.

Làm thế nào để bạn nhân một ma trận 3x3 trong Python?

Ví dụ: x = [[1, 2], [4, 5], [3, 6]] sẽ đại diện cho ma trận 3x2.Hàng đầu tiên có thể được chọn là x [0].Và, phần tử trong hàng đầu tiên, cột đầu tiên có thể được chọn là x [0] [0].Sự nhân của hai ma trận x và y chỉ được xác định nếu số lượng cột trong x bằng số lượng hàng y.Multiplication of two matrices X and Y is defined only if the number of columns in X is equal to the number of rows Y .

Làm thế nào để bạn nhân một ma trận 2D trong Python?

Bước 1: Nhập hai ma trận.Bước 2: lồng nhau cho các vòng lặp để lặp qua mỗi hàng và mỗi cột.Bước 3: Lấy một ma trận kết quả ban đầu chứa tất cả 0. Sau đó, chúng tôi nhân từng phần tử hàng của ma trận thứ nhất với mỗi phần tử của ma trận thứ hai, sau đó thêm tất cả giá trị nhân.