Trong bài viết này, chúng ta sẽ tìm hiểu về phương thức numpy dot[] để tìm các tích vô hướng. Nó bao gồm vô hướng. vectơ, mảng và ma trận. Nó cũng liên quan đến phân tích thực tế và các ứng dụng số phức, trực quan hóa đồ thị, v.v. Đóng góp thực sự của chủ đề này là trong các lĩnh vực Khoa học dữ liệu và Trí tuệ nhân tạo.
Vectơ là gì?
Vectơ là một đại lượng có dạng mũi tên có cả hướng và độ lớn. Điều đó dường như chính xác hơn để nghiên cứu. Bây giờ chúng ta hãy tìm hiểu sâu hơn một chút về khái niệm mũi tên mà chúng ta nói đến ở đây
Định nghĩa chung và đại diện
- Kích cỡ. Một giá trị hoặc một số cụ thể mà một vectơ nắm giữ
- Phương hướng. Dòng chảy từ điểm này đến điểm khác
Đây là thông tin chi tiết về các thuật ngữ cơ bản mà khi kết hợp sẽ tạo ra Vectơ. Chúng ta sẽ xem hình ảnh dưới đây để biểu diễn đồ họa của các vectơ cùng với một địa điểm
Cách tạo một ma trận từ một vectơ
Hoạt động quan trọng nhất của vectơ là biểu diễn vectơ ở dạng ma trận hoặc mảng. Điều đáng chú ý là i, j và k là các thành phần có hướng của một vectơ theo trục x, y và z tương ứng.
Ba vectơ này có thể được chuyển đổi thành ma trận 3 × 3. Việc trình bày ma trận là
[ [1, 2, -3], [2, 3, 4], [4, -1, 1] ]
Theo cách tương tự, việc triển khai ma trận từ một tập hợp vectơ bất kỳ đã cho là có thể. Chúng ta hãy chuyển sang chủ đề chính là lấy một sản phẩm chấm. của hai mảng
Thao tác trên mảng Numpy
Danh sách cho chúng ta thấy các thao tác quan trọng nhất trên vectơ hoặc mảng
- chấm sản phẩm. cộng tất cả các tích của các phần tử của hai vectơ. Biểu diễn dưới dạng A. B
- sản phẩm chéo. vectơ thứ ba là kết quả của hai vectơ. Biểu diễn dưới dạng AxB
Trong Python, có một thư viện đầy đủ dành riêng cho Đại số tuyến tính và các phép toán của nó – Numpy. Nó là viết tắt của Numerical Python và nó dành cho các phép tính phức tạp, đặc biệt là khi có sự tham gia của mảng n chiều. Nó là một thư viện mã nguồn mở, vì vậy, chúng tôi có thể làm cho nó tốt hơn bằng cách đóng góp vào mã của nó. Nó là một API dễ dàng có sẵn cho ngôn ngữ lập trình Python.
Triển khai mảng Numpy
Thư viện chủ yếu được sử dụng để phân tích và tính toán toán học phức tạp. Vì vậy, để làm cho nó có thể xảy ra hơn, hãy đảm bảo rằng chúng ta đã nghiên cứu một số điều cơ bản của nó. Loại dữ liệu cốt lõi của mô-đun này là NumPy ndarray. Điều này dự đoán rằng các hoạt động chính liên quan đến tính toán và tổng hợp mảng. Hãy để chúng tôi làm một hướng dẫn nhanh cho nó
Ví dụ 1
import numpy as np list_1 = [23, 12, 3, 11] print['Original list: ', list_1] arr = nparray[list_1] print['Numpy array: ', arr] print['Data type of list_1', type[list_1]] print['Data type of arr', type[arr]] # Output # Original list: [23, 12, 3, 11] # Numpy array: array[[23, 12, 3, 11]] # # numpy.ndarray
Ví dụ #2
import numpy as np matrix = np.array[[[2, 4, 5], [-1, -4, 8], [3, -1, 9]]] print['Our matrix is: ', matrix] # output: # Our matrix is: # array[[[2, 4, 5], # [-1, -4, 8], # [3, -1, 9]]] #
Các phép toán trên mảng Numpy
Phần này nói về việc thực hiện các phép toán. Các thao tác này có vẻ rất dễ dàng với các số nguyên đơn lẻ, nhưng đối với mảng, đó là một nhiệm vụ khá phức tạp
- Phép cộng
- phép trừ
- Phép nhân
- Chia hai mảng
Mã số
import numpy as np a = np.array[[[2, 3, 4], [-1, 3, 2], [9, 4, 8]]] b = np.array[[[4, -1, 2], [34, 9, 1], [2, 0, 9]]] addition = a + b subtraction = a - b multiplication = a * b division = a / b print['Addition of arrays a and b is: ', addition] print['Subtraction of arrays a and b is: ', subtraction] print['Multiplication of arrays a and b is: ', multiplication] print['Division of arrays a and b is: ', division]
đầu ra
Sản phẩm Numpy dot[]
Sản phẩm này là một phép nhân vô hướng của từng phần tử của mảng đã cho. Theo thuật ngữ toán học chung, một tích vô hướng giữa hai vectơ là tích giữa các thành phần vô hướng tương ứng của chúng và cosin của góc giữa chúng. Vì vậy, nếu chúng ta nói a và b là hai vectơ hợp với một góc xác định Θ, thì
a.b = |a|.|b|.cosΘ # general equation of the dot product for two vectors
Nhưng, trong hàm dot[] của mảng Numpy, không có chỗ cho góc Θ. Vì vậy, chúng ta chỉ cần cho hai ma trận hoặc mảng làm tham số. Vì vậy, chúng tôi sẽ thực hiện điều này trong một mã
import numpy as np var_1, var_2 = 34, 45 # for scalar values dot_product_1 = np.dot[var_1, var_2] dot_product_1 # for matrices a = np.array[[[2, 3, 4], [-1, 3, 2], [9, 4, 8]]] b = np.array[[[4, -1, 2], [34, 9, 1], [2, 0, 9]]] dot_product_2 = np.dot[a, b] dot_product_2
đầu ra
giải thích mã
- Nhập mô-đun Numpy
- Sau đó khai báo 2 biến var_1 và var_2
- gọi np. dot[] và nhập tất cả các biến bên trong nó. Lưu trữ tất cả bên trong biến dot_product_1
- Sau đó in nó ra màn hình
- Đối với mảng nhiều chiều, hãy tạo mảng bằng phương thức array[] của numpy. Sau đó, làm theo quy trình tương tự trên, gọi sản phẩm dot[]. Sau đó in ra màn hình
Một cách tiếp cận chức năng đối với sản phẩm Numpy dot[]
Khi chúng tôi định nghĩa các chức năng trong bất kỳ ngôn ngữ lập trình nào, mã này rất hữu ích vì chúng tôi có thể gọi chúng một cách ngẫu nhiên và về cơ bản bất cứ lúc nào. Như vậy, chúng ta sẽ khai báo một hàm để thực hiện tốt việc tính tích vô hướng
Mã số
import numpy as np def dot_product[array_1, array_2]: prod = np.dot[array_1, array_2] return prod def main[]: # declaring two empty arrays arr_1 = [] arr_2 = [] # taking user input for array 1 n = int[input['Enter the number of elements for array_1: ']] for i in range[n]: arr_1.append[int[input['Enter number : '].strip[]]] # taking user input for array 2 m = int[input['Enter the number of elements for array_2: ']] for i in range[m]: arr_2.append[int[input['Enter number: '].strip[]]] print['First array', arr_1, '\n']; print['Second array', arr_2, '\n'] print['The dot product of arrays is: ', dot_product[arr_1, arr_2]] main[]
Giải trình
- Trước tiên, chúng tôi nhập mô-đun numpy dưới dạng np
- Sau đó, chúng ta khai báo một hàm đơn giản – dot_product[] nhận hai mảng làm tham số. Phần thân của hàm có np chung. phương thức dot[] được gọi bên trong nó để tính toán tích vô hướng và lưu trữ nó bên trong biến prod. Sau đó, hàm trả về giống nhau ở cuối
- Sau đó, trong hàm chính, chúng tôi khai báo hai danh sách trống là mảng của chúng tôi
- Biến ‘n’ nhận đầu vào là số phần tử của mảng_1
- Tương tự đối với biến 'm'
- Sau đó, chúng tôi chạy hai vòng lặp for để lấy các phần tử cho mảng
- Vòng lặp for lặp trong phạm vi của hai biến n và m. Theo đó, chúng tôi nhập các giá trị bằng chức năng nối thêm
- Tương tự cho vòng lặp for thứ hai
- Sau đó, chúng tôi hiển thị hai mảng trên màn hình
- Sau đó gọi hàm dot_product[] của chúng ta để lấy tích vô hướng và đặt hai mảng đó làm tham số bên trong nó
- Sau khi hiển thị giá trị trên màn hình
đầu ra
Phần kết luận
Vì vậy, theo cách này, chủ đề kết thúc. Chúng tôi đã thấy cách triển khai toán học của vectơ và cách chúng liên quan chặt chẽ với mảng. Sau đó, chúng tôi đã thấy một số phép biến đổi và tính toán toán học phức tạp thông qua cơ sở mã và hình ảnh. Sau đó là những kiến thức cơ bản về mô-đun Numpy cùng với phương thức dot[] cho tích vô hướng