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]]4
7
,
[[ 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 12
3[[
0 [[
1[[
2__77777778
12
9=
8 ,
1[[
0 [[
1[[
212
7,
6=
7,
8
[[114, 160, 60], [74, 97, 73], [119, 157, 112]]3
=
8 7
1[[
0 [[
1[[
212
777
6‘
[[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.