Hướng dẫn np.dot python
Mô-đun numpy của Python cung cấp một hàm để thực hiện tích vô hướng của hai mảng. Các bài viết liên quan: Nếu cả hai mảng ‘a’ và ‘b’ đều là mảng 1 chiều, thì hàm dot () thực hiện tích bên trong của các vectơ (không có liên hợp phức tạp). Nếu cả hai mảng ‘a’ và ‘b’ đều là mảng 2 chiều, thì hàm dot () thực hiện phép nhân ma trận. Nhưng đối với phép nhân ma trận, việc sử dụng matmul hoặc ‘a’ @ ‘b’ được ưu tiên hơn. Nếu ‘a’ hoặc
‘b’ là 0 chiều (vô hướng), thì hàm dot () thực hiện phép nhân. Ngoài ra, việc sử dụng phương thức numpy.multiply (a, b) hoặc a * b cũng được ưu tiên hơn. Nếu ‘a’ là mảng N chiều và ‘b’ là mảng 1 chiều, thì hàm dot () thực hiện tính tổng trên trục cuối cùng của a và b. Nếu ‘a’ là mảng M chiều và ‘b’ là mảng N chiều (trong đó N> = 2), thì hàm dot () thực hiện tính tổng trên trục cuối cùng của ‘a’ và trục thứ hai -trục cuối cùng của ‘b’: dot (a, b) [i, j, k, n] = sum (a [i, j ,:] * b [k,:, n]) Cú pháp numpy.dot(a, b, out=None) Tham số
Tham số này xác định mảng đầu tiên.
Tham số này xác định mảng thứ hai.
Nó là một đối số đầu ra. Nó phải có loại chính xác sẽ được trả lại trong trường hợp nó không được sử dụng. Đặc biệt, nó phải đáp ứng tính năng hiệu suất, tức là nó phải chứa đúng kiểu, tức là nó phải là chữ C liền kề và kiểu của nó phải là kiểu sẽ được trả về cho dấu chấm (a, b). Do đó, nếu nó không đáp ứng các điều kiện quy định này, nó sẽ tạo ra một ngoại lệ. ReturnHàm này trả về tích số chấm của ‘a’ và ‘b’. Hàm này trả về một đại lượng vô hướng nếu ‘a’ và ‘b’ đều là đại lượng vô hướng hoặc 1 chiều; nếu không, nó trả về một mảng. Nếu ‘out’ được đưa ra, thì nó sẽ được trả về.
Lỗi ValueError xảy ra khi kích thước cuối cùng của ‘a’ không có cùng kích thước với kích thước từ thứ hai đến cuối cùng của ‘b’. Ví dụ 1: import numpy as np a=np.dot(6,12) a Output: Ví dụ 2: import numpy as np a=np.dot([2j, 3j], [5j, 8j]) a Output: Ví dụ 3: import numpy as np a = [[1, 2], [4, 1]] b = [[4, 11], [2, 3]] c=np.dot(a, b) c Output: Trong đoạn code trên
Ví dụ 4: import numpy as np x = np.arange(3*4*5*6).reshape((3,4,5,6)) y = np.arange(3*4*5*6)[::-1].reshape((5,4,6,3)) p=np.dot(a, b)[2,3,2,1,2,2] q=sum(a[2,3,2,:] * b[1,2,:,2]) p q Output: Trong đoạn code trên
Trong Python, hàm dot () của NumPy được sử dụng để trả về tích số chấm của các mảng đã cho. Nó chấp nhận hai mảng làm đối số và tính tích số chấm của chúng. Nó có thể xử lý mảng 2-D nhưng coi chúng như ma trận và sẽ thực hiện phép nhân ma trận. Đối với N thứ nguyên, nó là một tích tương tự như phép nhân ma trận. Trong bài viết này, tôi sẽ giải thích hàm dot () trong Python và sử dụng cú pháp này để tìm ra tích số chấm của mảng 0-D, mảng 1-D và mảng 2-D với các ví dụ.
1. Ví dụ nhanh về sản phẩm chấm NumPyNếu bạn đang vội, dưới đây là một số ví dụ nhanh về sản phẩm python NumPy dot. # Below are the Quick examples # Example 1: Get the dot product of scalars arr = 2 arr1 = 5 arr2 = np.dot(arr, arr1) # Example 2: Get the dot product of complex numbers arr = 4 + 7j arr1 = 8 + 9j arr2 = np.dot(arr, arr1) # Example 3: Get the dot product of 1-D arrays arr = np.array([3, 1, 9, 7]) arr1 = np.array([2, 6, 4, 8]) arr2 = np.dot(arr, arr1) # Example 4: Get the dot product of 2-d arrays arr = np.array([[3, 1], [2, 4]]) arr1 = np.array([[5, 2], [1, 6]]) arr2 = np.dot(arr, arr1) 2. Cú pháp của numpy.dot ()Sau đây là cú pháp của dấu chấm (). # Use python numpy.dot() syntax numpy.dot(arr, arr1, out=None) 2.1 Các tham số của dấu chấm ()Sau đây là các tham số của hàm dot ().
2.2 Giá trị trả về của dấu chấm ()Nó trả về sản phẩm dấu chấm của các mảng NumPy đã cho. Nếu arr và arr1 là vô hướng hoặc cả hai mảng là 1-Chiều thì nó trả về một đại lượng vô hướng. Nếu không, nó trả về một mảng. Ghi chú: Lỗi ValueError xảy ra khi kích thước cuối cùng của arr không có cùng kích thước với kích thước từ thứ hai đến cuối cùng của arr1. Mô-đun Python NumPy cung cấp dấu chấm () là một hàm toán học và được sử dụng để tính tích của hai mảng. Nó trả về một vô hướng hoặc mảng, nó phụ thuộc vào kích thước của mảng. 3.1 Lấy Sản phẩm Chấm của Hai Vô hướngNếu arr hoặc arr1 là 0-D (vô hướng) thì numpy.dot(arr, arr1) tương đương với multiplying hai số (a * b). import numpy as np arr = 2 arr1 = 5 # Get the dot product of scalars arr2 = np.dot(arr, arr1) print(arr2) # Output # 10 3.2 Lấy tích số chấm của hai số phứcChúng ta cũng có thể tìm tích số chấm của hai số phức bằng cách sử dụng dot(). Vì vậy, chúng tôi sẽ chuyển các số phức làm tham số cho hàm này và nó sẽ trả về tích số chấm của hai số phức. arr = 4 + 7j arr1 = 8 + 9j # Use numpy.dot() function arr2 = np.dot(arr, arr1) print(arr2) # Output # (-31+92j) Sau đây là giải thích về cách bạn nhận được kết quả này. # Take two complex numbers arr = 4 + 7j arr1 = 8 + 9j # Calculation of dot product 4(8 + 9j) + 7j(8 - 9j) 32 + 36j + 56j – 63 # Add real part and add imaginary parts -31 + 92j 4. Nhận sản phẩm chấm của Mảng 1-D NumPyHãy lấy hai mảng 1-D và tìm tích số chấm của hai mảng, nó trả về một giá trị vô hướng. Đầu tiên, tạo một mảng NumPy bằng cách sử dụng np.array (). # Initialize arrays arr = np.array([3, 1, 2, 1]) arr1 = np.array([2, 4, 3, 2]) # Get the dot product of 1-D arrays arr2 = np.dot(arr, arr1) print(arr2) # Output: # Calculation: # 3*2+1*4+2*3+1*2 # 6+4+6+2 # 18 5. Nhận sản phẩm chấm của Mảng 2-DTích số chấm của hai mảng 2 Chiều giống như phép nhân ma trận, nó sẽ trả về phép nhân ma trận của hai mảng đầu vào. Hãy lấy một ví dụ, # Initialize arrays arr = np.array([[3, 1], [2, 4]]) arr1 = np.array([[5, 2], [1, 6]]) # Get the dot product of 2-d arrays arr2 = np.dot(arr, arr1) print(arr2) # Output # [[16 12] # [14 28]] Phép tính sau đây được hiển thị phép nhân ma trận 2-D. # Output [[3*5+1*1, 3*2+1*6],[2*5+4*1, 2*2+4*6]] [[16 12] [14 28]] 6. Kết luậnTrong bài viết này, tôi đã giải thích Python NumPy dot() và sử dụng cách này để chúng ta có thể lấy tích số chấm của các giá trị vô hướng, mảng 1-D và mảng 2-D với các ví dụ. Học vui vẻ !! Bạn cũng có thể thíchNgười giới thiệu |