Hướng dẫn multiplication of two matrix in python using numpy - phép nhân hai ma trận trong python bằng cách sử dụng numpy

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;

Ví dụ: Nhân hai ma trận với nhau có kích thước 3 × 3. & nbsp; 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]]

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;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. 

Nếu ma trận1 là ma trận n x m và ma trận là ma trận m x l.n x m matrix and matrix2 is a m x l matrix.

Implementation:

Python3

Các

[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
3
[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
4
[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
5 ,
[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
7______8

[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
3
[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
47 ,
[[ 63 320  83]
 [ 77 484 102]
 [ 84 248 117]]
5,
[[ 63 320  83]
 [ 77 484 102]
 [ 84 248 117]]
7
[[ 63 320  83]
 [ 77 484 102]
 [ 84 248 117]]
8

Các

[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
3
[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
4
[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
9,7,
[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
1
[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
2

[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
3
[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
4
[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
5,
[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
7,
[[ 63 320  83]
 [ 77 484 102]
 [ 84 248 117]]
7
[[ 63 320  83]
 [ 77 484 102]
 [ 84 248 117]]
8

=4= [[=7 =8

=8 123[[0 [[1[[2__77777778

129=8 ,1[[0 [[1[[2127,6=7,8

[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
3=8 71[[0 [[1[[2127776

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

Đầ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], [74, 97, 73], [119, 157, 112]]
06
[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
07

[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
08=
[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
10
[[ 63 320  83]
 [ 77 484 102]
 [ 84 248 117]]
6
[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
12
[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
9____1122

[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
29=
[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
10____11
[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
12
[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
5____1122

=4=

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

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

Output:  
 

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

Sử dụng numpy & nbsp;numpy 

Python3

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

[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
08=
[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
10
[[ 63 320  83]
 [ 77 484 102]
 [ 84 248 117]]
6
[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
12
[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
9____1122

[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
29=
[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
10____11
[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
12
[[114, 160, 60], [74, 97, 73], [119, 157, 112]]
5____1122

=4=

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

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

Output:  
 

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

Sử dụng numpy & nbsp;

=4=

[[ 63 320  83]
 [ 77 484 102]
 [ 84 248 117]]
01Dheeraj 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. 


Làm thế nào để bạn nhân một ma trận bằng cách sử dụng Numpy trong Python?

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 ..
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?

Để 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.dot() function of NumPy. It takes only 2 arguments and returns the product of two matrices.

Làm thế nào để bạn nhân một ma trận 2x2 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.

Làm thế nào để bạn tạo ra một phép nhân ma trận 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 .