Hướng dẫn how is matrix multiplication done in python? - phép nhân ma trận được thực hiện như thế nào trong python?
Trong hướng dẫn này, bạn sẽ học cách nhân hai ma trận trong Python.multiply two matrices in Python. Show
Bạn sẽ bắt đầu bằng cách tìm hiểu điều kiện cho phép nhân ma trận hợp lệ và viết hàm Python tùy chỉnh thành nhân ma trận. Tiếp theo, bạn sẽ thấy làm thế nào bạn có thể đạt được kết quả tương tự bằng cách sử dụng danh sách lồng nhau. Cuối cùng, bạn sẽ tiến hành sử dụng Numpy và các chức năng tích hợp của nó để thực hiện phép nhân ma trận hiệu quả hơn. Cách kiểm tra xem phép nhân ma trận có hợp lệ khôngTrước khi viết mã python cho phép nhân ma trận, hãy để xem lại các điều cơ bản của phép nhân ma trận.
Bạn có thể đã bắt gặp điều kiện này để nhân ma trận trước đó. Tuy nhiên, bạn đã bao giờ tự hỏi tại sao đây là trường hợp? Chà, nó vì cách nhân số nhân Ma trận hoạt động. Hãy xem hình ảnh dưới đây. Trong ví dụ chung của chúng tôi, Matrix A có các hàng m và các cột N. Và Matrix B có n hàng n và cột P.m rows and n columns. And matrix B has n rows and p columns. Hình dạng của ma trận sản phẩm là gì?
Vì vậy, để có được một phần tử ở một chỉ mục cụ thể trong ma trận kết quả C, bạn sẽ phải tính toán sản phẩm chấm của hàng và cột tương ứng trong ma trận A và B, tương ứng. Lặp lại quá trình ở trên, bạn sẽ nhận được ma trận sản phẩm C của hình dạng m x p, với các hàng m và cột P, như hình bên dưới.m x p—with m rows and p columns, as shown below. Và sản phẩm DOT hoặc sản phẩm bên trong giữa hai vectơ A và B được đưa ra bởi phương trình sau.a and b is given by the following equation. Hãy để tóm tắt ngay bây giờ:
Nếu bạn xem xét kỹ hơn, n là số cột trong ma trận A và đó cũng là số lượng hàng trong ma trận B. và đây chính xác là lý do tại sao bạn cần số cột trong ma trận A bằng số của các hàng trong ma trận B.n is the number of columns in matrix A, and it’s also the number of rows in matrix B. And this is precisely the reason why you need the number of columns in matrix A to be equal to the number of rows in matrix B. Tôi hy vọng bạn hiểu điều kiện cho phép nhân ma trận có hiệu lực và làm thế nào để có được từng phần tử trong ma trận sản phẩm. Hãy để tiến hành viết một số mã Python để nhân hai ma trận. Viết chức năng Python tùy chỉnh để nhân ma trậnBước đầu tiên, chúng ta hãy viết một chức năng tùy chỉnh để nhân ma trận. Chức năng này nên làm như sau:
Bước 1: Tạo hai ma trận số nguyên sử dụng hàm Numpy 1 function. You can also declare matrices as nested Python lists.
Bước 2: Đi trước và xác định chức năng 2. This function takes in two matrices 3
and 4 as inputs and returns the product matrix 5 if matrix multiplication is valid.
Phân tích định nghĩa chức năngHãy để tiến hành phân tích định nghĩa chức năng. Khai báo C là một biến toàn cầu: Theo mặc định, tất cả các biến bên trong hàm Python có phạm vi cục bộ. Và bạn không thể truy cập chúng từ bên ngoài chức năng. Để làm cho ma trận sản phẩm C có thể truy cập từ bên ngoài, chúng tôi sẽ phải tuyên bố nó là một biến toàn cầu. Chỉ cần thêm vòng loại 6 qualifier before the variable name.Kiểm tra xem phép nhân ma trận có hợp lệ không: Sử dụng thuộc tính 7 attribute to check if A and B can be multiplied. For any array 8, 9 and 0 give the number of rows and columns, respectively. So 1 checks if matrix multiplication is valid. Only if this condition is 2, the product matrix will be computed. Else, the function returns an error
message.Sử dụng các vòng lặp lồng nhau để tính toán các giá trị: Để tính toán các phần tử của ma trận kết quả, chúng ta phải lặp qua các hàng của ma trận A và vòng lặp 3 loop does this. The inner 3 loop helps us loop through the column of matrix B. And the innermost 3 loop helps access each element in the selected column.▶ Bây giờ, chúng tôi đã học được cách chức năng Python để nhân ma trận hoạt động, hãy để gọi chức năng với các ma trận A và B mà chúng tôi đã tạo trước đó.
Vì phép nhân ma trận giữa A và B là hợp lệ, hàm 6 trả về ma trận sản phẩm C.Sử dụng danh sách lồng nhau của Python để nhân vào ma trận nhânTrong phần trước, bạn đã viết một chức năng Python để nhân ma trận. Bây giờ, bạn sẽ thấy cách bạn có thể sử dụng toàn bộ danh sách lồng nhau để làm điều tương tự. Ở đây, danh sách lồng nhau hiểu được vào ma trận nhân. Lúc đầu, điều này có thể trông phức tạp. Nhưng chúng tôi sẽ phân tích từng bước hiểu danh sách lồng nhau. Hãy cùng tập trung vào một danh sách hiểu biết tại một thời điểm và xác định những gì nó làm. Chúng tôi sẽ sử dụng mẫu chung sau đây để hiểu danh sách:
▶ Kiểm tra danh sách hướng dẫn của chúng tôi trong Python-với các ví dụ để có được sự hiểu biết sâu sắc.
Danh sách lồng nhau được giải thíchBước 1: Tính toán một giá trị duy nhất trong ma trận C Compute a single value in the matrix C Cho hàng I của ma trận A và cột J của ma trận B, biểu thức dưới đây cho mục nhập tại Index (I, J) trong ma trận C.
Nếu 7, biểu thức sẽ trả về mục nhập 8 của ma trận C. để bạn có thể nhận một phần tử theo một hàng theo cách này. 7, the expression will return entry 8 of the matrix C. So you can get one element in one row this way.Bước 2: Xây dựng một hàng trong ma trận C Build one row in the matrix C Mục tiêu tiếp theo của chúng tôi là xây dựng toàn bộ hàng. Đối với hàng 1 trong ma trận A, bạn đã lặp qua tất cả các cột trong ma trận B để có một hàng hoàn chỉnh trong ma trận C. Quay trở lại mẫu danh sách hiểu.
Và đây là sự hiểu biết danh sách đầu tiên.
Bước 3: Xây dựng tất cả các hàng và có được ma trận C Build all rows and obtain the matrix C Tiếp theo, bạn sẽ phải điền vào ma trận sản phẩm C bằng cách tính toán phần còn lại của các hàng. Và đối với điều này, bạn đã lặp qua tất cả các hàng trong Ma trận A. Quay trở lại danh sách hiểu một lần nữa, và làm như sau.
Và ở đây, bạn có thể hiểu danh sách lồng nhau cuối cùng của chúng tôi.🎊
Nó thời gian để xác minh kết quả! ✔
Nếu bạn xem xét kỹ hơn, điều này tương đương với các vòng được lồng cho các vòng lặp mà chúng tôi đã có trước đó chỉ là điều đó thật ngắn gọn hơn. Bạn cũng có thể làm điều này tất cả các chức năng tích hợp hiệu quả hơn. Hãy cùng tìm hiểu về họ trong phần tiếp theo. Sử dụng numpy matmul () để nhân ma trận trong python 8 lấy hai ma trận làm đầu vào và trả về sản phẩm nếu phép nhân ma trận giữa các ma trận đầu vào là hợp lệ.
Lưu ý cách phương pháp này đơn giản hơn hai phương pháp chúng tôi đã học trước đó. Trên thực tế, thay vì 8, bạn có thể sử dụng toán tử @ tương đương và chúng tôi sẽ thấy điều đó ngay lập tức.Cách sử dụng Toán tử @ trong Python để nhân ma trậnTrong Python, 0 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.
Đây là cách bạn có thể sử dụng nó.
Lưu ý rằng ma trận sản phẩm C giống như loại chúng tôi thu được trước đó. Bạn có thể sử dụng np.dot () để nhân ma trận không?Nếu bạn đã từng bắt gặp mã sử dụng 2 để nhân hai ma trận, thì đây là cách thức hoạt động của nó. 0Bạn có thể thấy rằng 3 cũng trả về ma trận sản phẩm dự kiến.Tuy nhiên, theo tài liệu numpy, bạn chỉ nên sử dụng 2 để tính toán sản phẩm chấm của hai vectơ một chiều và không cho phép nhân ma trận.
Khi Numpy hoàn toàn phát sóng hoạt động sản phẩm chấm này đến tất cả các hàng và tất cả các cột, bạn sẽ nhận được ma trận sản phẩm kết quả. Nhưng để giữ cho mã của bạn có thể đọc được và tránh sự mơ hồ, hãy sử dụng 8 hoặc toán tử 0 thay thế.Sự kết luậnTrong hướng dẫn này, bạn đã học được như sau.
Và điều đó kết thúc cuộc thảo luận của chúng tôi về phép nhân ma trận trong Python. Như một bước tiếp theo, hãy tìm hiểu cách kiểm tra xem một số là chính trong Python. Hoặc giải quyết các vấn đề thú vị trên chuỗi Python. Học hỏi hạnh phúc! 🎉 Làm thế nào để phép nhân ma trận hoạt động 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 là nhân ma trận được thực hiện?Làm thế nào để nhân hai ma trận đã cho?Để nhân một ma trận với một ma trận khác, chúng ta cần kiểm tra trước, nếu số lượng cột của ma trận thứ nhất bằng số lượng hàng của ma trận thứ hai.Bây giờ nhân mỗi phần tử của cột của ma trận thứ nhất với mỗi phần tử của hàng của ma trận thứ hai và thêm tất cả.multiply each element of the column of the first matrix with each element of rows of the second matrix and add them all.
Làm thế nào để bạn thực hiện một hoạt động ma trận trong Python?Trong ma trận Python có thể được triển khai dưới dạng danh sách 2D hoặc mảng 2D ... Thêm ():- Hàm này được sử dụng để thực hiện bổ sung ma trận khôn ngoan .. Trừ ():- Hàm này được sử dụng để thực hiện phép trừ Ma trận khôn ngoan .. chia ():- Hàm này được sử dụng để thực hiện phân chia ma trận yếu tố .. |