Hướng dẫn multiple 2 matrices python - nhiều 2 ma trận python

Trong Python, chúng ta có thể triển khai một ma trận dưới dạng danh sách lồng nhau (danh sách bên trong danh sách).

Chúng ta có thể coi từng phần tử như một hàng của ma trận.

Ví dụ X = [[1, 2], [4, 5], [3, 6]] sẽ đại diện cho một 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à

[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
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.

Nếu x là ma trận

[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
1 và y là ma trận
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
2 thì XY được xác định và có kích thước
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
3 (nhưng yx không được xác định). Dưới đây là một vài cách để thực hiện phép nhân ma trận trong Python.

Mã nguồn: phép nhân ma trận bằng cách sử dụng vòng lặp lồng nhau

# Program to multiply two matrices using nested loops

# 3x3 matrix
X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]
# 3x4 matrix
Y = [[5,8,1,2],
    [6,7,3,0],
    [4,5,9,1]]
# result is 3x4
result = [[0,0,0,0],
         [0,0,0,0],
         [0,0,0,0]]

# iterate through rows of X
for i in range(len(X)):
   # iterate through columns of Y
   for j in range(len(Y[0])):
       # iterate through rows of Y
       for k in range(len(Y)):
           result[i][j] += X[i][k] * Y[k][j]

for r in result:
   print(r)

Đầu ra

[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]

Trong chương trình này, chúng tôi đã sử dụng các vòng lặp

[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
4 lồng nhau để lặp qua mỗi hàng và mỗi cột. Chúng tôi tích lũy tổng sản phẩm trong kết quả.

Kỹ thuật này đơn giản nhưng tốn kém về mặt tính toán khi chúng tôi tăng thứ tự của ma trận.

Đối với các hoạt động ma trận lớn hơn, chúng tôi khuyên bạn nên sử dụng các gói phần mềm được tối ưu hóa như Numpy, theo thứ tự (theo thứ tự 1000) lần so với mã trên.

Mã nguồn: phép nhân ma trận bằng cách sử dụng danh sách lồng nhau

# Program to multiply two matrices using list comprehension

# 3x3 matrix
X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]

# 3x4 matrix
Y = [[5,8,1,2],
    [6,7,3,0],
    [4,5,9,1]]

# result is 3x4
result = [[sum(a*b for a,b in zip(X_row,Y_col)) for Y_col in zip(*Y)] for X_row in X]

for r in result:
   print(r)

Đầu ra của chương trình này giống như trên. Để hiểu mã trên, trước tiên chúng ta phải biết về chức năng tích hợp

[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
5 và danh sách đối số giải nén bằng toán tử *.

Chúng tôi đã sử dụng sự hiểu biết danh sách lồng nhau để lặp qua từng phần tử trong ma trận. Mã trông phức tạp và không thể đọc được lúc đầu. Nhưng một khi bạn hiểu được sự hiểu biết danh sách, có lẽ bạn sẽ không quay lại các vòng lặp lồng nhau.

Trong Python, @ là một toán tử nhị phân được sử dụng để nhân ma trận. Nó hoạt động trên hai ma trận và nói chung, các mảng numpy n-chiều và trả về ma trận sản phẩm.

Làm thế nào để bạn nhân một ma trận 2x2 trong Python? Multiplication of two matrices by each other of size 3×3. 

Input:matrix1 = ([1, 2, 3],
                 [3, 4, 5],
                 [7, 6, 4])
      matrix2 = ([5, 2, 6],
                 [5, 6, 7],
                 [7, 6, 4])

Output : [[36 32 32]
          [70 60 66]
          [93 74 100]]

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.

Sự nhân ma trận là một hoạt động lấy hai ma trận làm đầu vào và tạo ra ma trận đơn bằng cách 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. của các hàng của ma trận thứ hai. & nbsp;Using explicit for loops: This is a simple technique to multiply matrices but one of the expensive method for larger input data set.In this, we use nested for loops to iterate each row and each column. 

Ví dụ: Nhân hai ma trận với nhau có kích thước 3 × 3. & nbsp;n x m matrix and matrix2 is a m x l matrix.

Implementation:

Python3

Các phương pháp để nhân hai ma trận trong Python & NBSP;

1. Sử dụng rõ ràng cho các vòng lặp: Đây là một kỹ thuật đơn giản để nhân ma trận nhưng một trong những phương pháp đắt tiền cho tập dữ liệu đầu vào lớn hơn. Trong điều này, chúng tôi sử dụng lồng nhau cho các vòng lặp để lặp lại từng hàng và mỗi cột. & NBSP;

Nếu ma trận1 là ma trận n x m và ma trận là ma trận m x l.

[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
6
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
7
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
8
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
9
# Program to multiply two matrices using list comprehension

# 3x3 matrix
X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]

# 3x4 matrix
Y = [[5,8,1,2],
    [6,7,3,0],
    [4,5,9,1]]

# result is 3x4
result = [[sum(a*b for a,b in zip(X_row,Y_col)) for Y_col in zip(*Y)] for X_row in X]

for r in result:
   print(r)
0
# Program to multiply two matrices using list comprehension

# 3x3 matrix
X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]

# 3x4 matrix
Y = [[5,8,1,2],
    [6,7,3,0],
    [4,5,9,1]]

# result is 3x4
result = [[sum(a*b for a,b in zip(X_row,Y_col)) for Y_col in zip(*Y)] for X_row in X]

for r in result:
   print(r)
1
# Program to multiply two matrices using list comprehension

# 3x3 matrix
X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]

# 3x4 matrix
Y = [[5,8,1,2],
    [6,7,3,0],
    [4,5,9,1]]

# result is 3x4
result = [[sum(a*b for a,b in zip(X_row,Y_col)) for Y_col in zip(*Y)] for X_row in X]

for r in result:
   print(r)
0
# Program to multiply two matrices using list comprehension

# 3x3 matrix
X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]

# 3x4 matrix
Y = [[5,8,1,2],
    [6,7,3,0],
    [4,5,9,1]]

# result is 3x4
result = [[sum(a*b for a,b in zip(X_row,Y_col)) for Y_col in zip(*Y)] for X_row in X]

for r in result:
   print(r)
3
# Program to multiply two matrices using list comprehension

# 3x3 matrix
X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]

# 3x4 matrix
Y = [[5,8,1,2],
    [6,7,3,0],
    [4,5,9,1]]

# result is 3x4
result = [[sum(a*b for a,b in zip(X_row,Y_col)) for Y_col in zip(*Y)] for X_row in X]

for r in result:
   print(r)
4

# Program to multiply two matrices using list comprehension

# 3x3 matrix
X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]

# 3x4 matrix
Y = [[5,8,1,2],
    [6,7,3,0],
    [4,5,9,1]]

# result is 3x4
result = [[sum(a*b for a,b in zip(X_row,Y_col)) for Y_col in zip(*Y)] for X_row in X]

for r in result:
   print(r)
5
# Program to multiply two matrices using list comprehension

# 3x3 matrix
X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]

# 3x4 matrix
Y = [[5,8,1,2],
    [6,7,3,0],
    [4,5,9,1]]

# result is 3x4
result = [[sum(a*b for a,b in zip(X_row,Y_col)) for Y_col in zip(*Y)] for X_row in X]

for r in result:
   print(r)
6
Input:matrix1 = ([1, 2, 3],
                 [3, 4, 5],
                 [7, 6, 4])
      matrix2 = ([5, 2, 6],
                 [5, 6, 7],
                 [7, 6, 4])

Output : [[36 32 32]
          [70 60 66]
          [93 74 100]]
1
# Program to multiply two matrices using list comprehension

# 3x3 matrix
X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]

# 3x4 matrix
Y = [[5,8,1,2],
    [6,7,3,0],
    [4,5,9,1]]

# result is 3x4
result = [[sum(a*b for a,b in zip(X_row,Y_col)) for Y_col in zip(*Y)] for X_row in X]

for r in result:
   print(r)
0
# Program to multiply two matrices using list comprehension

# 3x3 matrix
X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]

# 3x4 matrix
Y = [[5,8,1,2],
    [6,7,3,0],
    [4,5,9,1]]

# result is 3x4
result = [[sum(a*b for a,b in zip(X_row,Y_col)) for Y_col in zip(*Y)] for X_row in X]

for r in result:
   print(r)
1
# Program to multiply two matrices using list comprehension

# 3x3 matrix
X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]

# 3x4 matrix
Y = [[5,8,1,2],
    [6,7,3,0],
    [4,5,9,1]]

# result is 3x4
result = [[sum(a*b for a,b in zip(X_row,Y_col)) for Y_col in zip(*Y)] for X_row in X]

for r in result:
   print(r)
0
# Program to multiply two matrices using list comprehension

# 3x3 matrix
X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]

# 3x4 matrix
Y = [[5,8,1,2],
    [6,7,3,0],
    [4,5,9,1]]

# result is 3x4
result = [[sum(a*b for a,b in zip(X_row,Y_col)) for Y_col in zip(*Y)] for X_row in X]

for r in result:
   print(r)
3
# Program to multiply two matrices using list comprehension

# 3x3 matrix
X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]

# 3x4 matrix
Y = [[5,8,1,2],
    [6,7,3,0],
    [4,5,9,1]]

# result is 3x4
result = [[sum(a*b for a,b in zip(X_row,Y_col)) for Y_col in zip(*Y)] for X_row in X]

for r in result:
   print(r)
4

# Program to multiply two matrices using list comprehension

# 3x3 matrix
X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]

# 3x4 matrix
Y = [[5,8,1,2],
    [6,7,3,0],
    [4,5,9,1]]

# result is 3x4
result = [[sum(a*b for a,b in zip(X_row,Y_col)) for Y_col in zip(*Y)] for X_row in X]

for r in result:
   print(r)
5
# Program to multiply two matrices using list comprehension

# 3x3 matrix
X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]

# 3x4 matrix
Y = [[5,8,1,2],
    [6,7,3,0],
    [4,5,9,1]]

# result is 3x4
result = [[sum(a*b for a,b in zip(X_row,Y_col)) for Y_col in zip(*Y)] for X_row in X]

for r in result:
   print(r)
6
# Program to multiply two matrices using list comprehension

# 3x3 matrix
X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]

# 3x4 matrix
Y = [[5,8,1,2],
    [6,7,3,0],
    [4,5,9,1]]

# result is 3x4
result = [[sum(a*b for a,b in zip(X_row,Y_col)) for Y_col in zip(*Y)] for X_row in X]

for r in result:
   print(r)
7
# Program to multiply two matrices using list comprehension

# 3x3 matrix
X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]

# 3x4 matrix
Y = [[5,8,1,2],
    [6,7,3,0],
    [4,5,9,1]]

# result is 3x4
result = [[sum(a*b for a,b in zip(X_row,Y_col)) for Y_col in zip(*Y)] for X_row in X]

for r in result:
   print(r)
0
# Program to multiply two matrices using list comprehension

# 3x3 matrix
X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]

# 3x4 matrix
Y = [[5,8,1,2],
    [6,7,3,0],
    [4,5,9,1]]

# result is 3x4
result = [[sum(a*b for a,b in zip(X_row,Y_col)) for Y_col in zip(*Y)] for X_row in X]

for r in result:
   print(r)
9
# Program to multiply two matrices using list comprehension

# 3x3 matrix
X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]

# 3x4 matrix
Y = [[5,8,1,2],
    [6,7,3,0],
    [4,5,9,1]]

# result is 3x4
result = [[sum(a*b for a,b in zip(X_row,Y_col)) for Y_col in zip(*Y)] for X_row in X]

for r in result:
   print(r)
0
Input:matrix1 = ([1, 2, 3],
                 [3, 4, 5],
                 [7, 6, 4])
      matrix2 = ([5, 2, 6],
                 [5, 6, 7],
                 [7, 6, 4])

Output : [[36 32 32]
          [70 60 66]
          [93 74 100]]
9
[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
0

[[ 63 320  83]
 [ 77 484 102]
 [ 84 248 117]]
6
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
7
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
8
[[ 63 320  83]
 [ 77 484 102]
 [ 84 248 117]]
9
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
4 X = [[1, 2], [4, 5], [3, 6]]1__

[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
4 3x25X = [[1, 2], [4, 5], [3, 6]]2 X = [[1, 2], [4, 5], [3, 6]]3X = [[1, 2], [4, 5], [3, 6]]43x29X[0]0

X[0]1

[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
4 X[0]3X = [[1, 2], [4, 5], [3, 6]]2 X = [[1, 2], [4, 5], [3, 6]]3X = [[1, 2], [4, 5], [3, 6]]43x29X[0]8
[[ 63 320  83]
 [ 77 484 102]
 [ 84 248 117]]
9
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
00

# Program to multiply two matrices using list comprehension

# 3x3 matrix
X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]

# 3x4 matrix
Y = [[5,8,1,2],
    [6,7,3,0],
    [4,5,9,1]]

# result is 3x4
result = [[sum(a*b for a,b in zip(X_row,Y_col)) for Y_col in zip(*Y)] for X_row in X]

for r in result:
   print(r)
5
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
4
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
03X = [[1, 2], [4, 5], [3, 6]]2 X = [[1, 2], [4, 5], [3, 6]]3X = [[1, 2], [4, 5], [3, 6]]43x29
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
08

[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
09
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
10
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
11
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
7
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
13
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
14
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
15

[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
16
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
17

Đầu ra

[[114, 160, 60], [74, 97, 73], [119, 157, 112]]

Trong chương trình này, chúng tôi đã sử dụng lồng nhau cho các vòng để tính toán kết quả sẽ lặp qua từng hàng và cột của ma trận, cuối cùng nó sẽ tích lũy tổng sản phẩm trong kết quả. & NBSP;

2. Sử dụng Numpy: Nhân bằng cách sử dụng Numpy cũng được gọi là vector hóa nhằm mục đích chính là giảm hoặc loại bỏ việc sử dụng rõ ràng cho các vòng lặp trong chương trình mà tính toán trở nên nhanh hơn. Thao tác. Đối với các hoạt động ma trận lớn hơn, chúng tôi sử dụng gói python numpy nhanh hơn 1000 lần so với phương pháp lặp. & nbsp; để biết chi tiết về numpy, vui lòng truy cập liên kếtUsing Numpy : Multiplication using Numpy also know as vectorization which main aim to reduce or remove the explicit use of for loops in the program by which computation becomes faster. 
Numpy is a build in a package in python for array-processing and manipulation.For larger matrix operations we use numpy python package which is 1000 times faster than iterative one method. 
For detail about Numpy please visit the Link

Implementation:

Python3

[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
18
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
19

[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
20
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
7
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
222
[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
8__

[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
41
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
7
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
222
# Program to multiply two matrices using list comprehension

# 3x3 matrix
X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]

# 3x4 matrix
Y = [[5,8,1,2],
    [6,7,3,0],
    [4,5,9,1]]

# result is 3x4
result = [[sum(a*b for a,b in zip(X_row,Y_col)) for Y_col in zip(*Y)] for X_row in X]

for r in result:
   print(r)
3
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
24
# Program to multiply two matrices using list comprehension

# 3x3 matrix
X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]

# 3x4 matrix
Y = [[5,8,1,2],
    [6,7,3,0],
    [4,5,9,1]]

# result is 3x4
result = [[sum(a*b for a,b in zip(X_row,Y_col)) for Y_col in zip(*Y)] for X_row in X]

for r in result:
   print(r)
7
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
24
Input:matrix1 = ([1, 2, 3],
                 [3, 4, 5],
                 [7, 6, 4])
      matrix2 = ([5, 2, 6],
                 [5, 6, 7],
                 [7, 6, 4])

Output : [[36 32 32]
          [70 60 66]
          [93 74 100]]
1
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
28
# Program to multiply two matrices using list comprehension

# 3x3 matrix
X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]

# 3x4 matrix
Y = [[5,8,1,2],
    [6,7,3,0],
    [4,5,9,1]]

# result is 3x4
result = [[sum(a*b for a,b in zip(X_row,Y_col)) for Y_col in zip(*Y)] for X_row in X]

for r in result:
   print(r)
9
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
24
Input:matrix1 = ([1, 2, 3],
                 [3, 4, 5],
                 [7, 6, 4])
      matrix2 = ([5, 2, 6],
                 [5, 6, 7],
                 [7, 6, 4])

Output : [[36 32 32]
          [70 60 66]
          [93 74 100]]
1____124______1

[[ 63 320  83]
 [ 77 484 102]
 [ 84 248 117]]
6
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
7
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
64

[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
16
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
17

Output:  
 

[[ 63 320  83]
 [ 77 484 102]
 [ 84 248 117]]

Sử dụng numpy & nbsp;numpy 

Python3

[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
18
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
19

[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
20
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
7
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
222
[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
8__

[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
41
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
7
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
222
# Program to multiply two matrices using list comprehension

# 3x3 matrix
X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]

# 3x4 matrix
Y = [[5,8,1,2],
    [6,7,3,0],
    [4,5,9,1]]

# result is 3x4
result = [[sum(a*b for a,b in zip(X_row,Y_col)) for Y_col in zip(*Y)] for X_row in X]

for r in result:
   print(r)
3
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
24
# Program to multiply two matrices using list comprehension

# 3x3 matrix
X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]

# 3x4 matrix
Y = [[5,8,1,2],
    [6,7,3,0],
    [4,5,9,1]]

# result is 3x4
result = [[sum(a*b for a,b in zip(X_row,Y_col)) for Y_col in zip(*Y)] for X_row in X]

for r in result:
   print(r)
7
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
24
Input:matrix1 = ([1, 2, 3],
                 [3, 4, 5],
                 [7, 6, 4])
      matrix2 = ([5, 2, 6],
                 [5, 6, 7],
                 [7, 6, 4])

Output : [[36 32 32]
          [70 60 66]
          [93 74 100]]
1
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
28
# Program to multiply two matrices using list comprehension

# 3x3 matrix
X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]

# 3x4 matrix
Y = [[5,8,1,2],
    [6,7,3,0],
    [4,5,9,1]]

# result is 3x4
result = [[sum(a*b for a,b in zip(X_row,Y_col)) for Y_col in zip(*Y)] for X_row in X]

for r in result:
   print(r)
9
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
24
Input:matrix1 = ([1, 2, 3],
                 [3, 4, 5],
                 [7, 6, 4])
      matrix2 = ([5, 2, 6],
                 [5, 6, 7],
                 [7, 6, 4])

Output : [[36 32 32]
          [70 60 66]
          [93 74 100]]
1____124______1

[[ 63 320  83]
 [ 77 484 102]
 [ 84 248 117]]
6
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
7
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
64

[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
16
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
17

Output:  
 

[[ 63 320  83]
 [ 77 484 102]
 [ 84 248 117]]

[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
16
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
17

Sử dụng numpy & nbsp;Dheeraj Sharma. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to . See your article appearing on the GeeksforGeeks main page and help other Geeks. 


[[ 63 320 83] [ 77 484 102] [ 84 248 117]]6[114, 160, 60, 27] [74, 97, 73, 14] [119, 157, 112, 23] 7 # Program to multiply two matrices using list comprehension # 3x3 matrix X = [[12,7,3], [4 ,5,6], [7 ,8,9]] # 3x4 matrix Y = [[5,8,1,2], [6,7,3,0], [4,5,9,1]] # result is 3x4 result = [[sum(a*b for a,b in zip(X_row,Y_col)) for Y_col in zip(*Y)] for X_row in X] for r in result: print(r) 13

Trong ví dụ trên, chúng tôi đã sử dụng sản phẩm DOT và trong toán học, sản phẩm DOT là một hoạt động đại số có hai vectơ có kích thước bằng nhau và trả về một số duy nhất. Kết quả được tính toán bằng cách nhân các mục tương ứng và thêm các sản phẩm đó..

Bài viết này được đóng góp bởi Dheeraj Sharma. Nếu bạn thích GeekSforGeeks và muốn đóng góp, bạn cũng có thể viết một bài viết bằng Write.GeekSforGeek.org hoặc gửi bài viết của bạn. Xem bài viết của bạn xuất hiện trên trang chính của GeekSforGeek và giúp các chuyên viên máy tính khác. & NBSP;

Làm thế nào để bạn nhân ma trận trong Python Numpy?

Có ba cách chính để thực hiện phép nhân ma trận numpy:.

DOT (mảng A, mảng B): Trả về sản phẩm vô hướng hoặc dấu chấm của hai mảng ..

Matmul (Array A, Array B): Trả về sản phẩm ma trận của hai mảng ..dot() function of NumPy. It takes only 2 arguments and returns the product of two matrices.

Nhân (mảng A, mảng B): Trả về phép nhân ma trận phần tử của hai mảng ..

Chức năng nào nhân hai ma trận trong numpy?@ is a binary operator used for matrix multiplication. It operates on two matrices, and in general, N-dimensional NumPy arrays, and returns the product matrix.

Để nhân hai ma trận, sử dụng hàm dot () của numpy. Chỉ mất 2 đối số và trả về sản phẩm của hai ma trận.

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