Tích vô hướng
Bài học 17 trên 18 trong khóa học Nền tảng NumPy của Coddy.
Tích vô hướng (còn gọi là tích vô hướng vô hướng) là một phép toán trong đại số tuyến tính, nhận hai vectơ có cùng kích thước (vectơ là một dãy số) và trả về một số duy nhất
Cách hoạt động
Ví dụ 1
vector1 = [1, 2, 3]
vector2 = [4, 5, 6]
Tích vô hướng của vector1 và vector2:
1 * 4 + 2 * 5 + 3 * 6 = 32
Ví dụ 2
Khi nhân các vectơ, một vectơ phải nằm dọc (hình dạng: (X, 1)) và vectơ còn lại phải nằm ngang (hình dạng: (1, X))
Vector1 =
| 5 | 2 | 1 | 8 |
Vector2 =
| 6 |
| 8 |
| 2 |
| 1 |
Tích vô hướng là tổng của tích các số ở chỉ số tương ứng trong mỗi vectơ.
Tích vô hướng:
| 5*6 + 2*8 + 1*2 + 8*1 = 56 |
Tích vô hướng với Numpy
Cú pháp trong Numpy là np.dot()
Ví dụ 3
Tích vô hướng của hai mảng Numpy một chiều
ary1 = np.array([1, 4, 2])
ary2 = np.array([2, 5, 7])
np.dot(ary1, ary2) # 1*2 + 4*5 + 2*7
>>> 36Ví dụ 4
Tích vô hướng của mảng Numpy một chiều và số vô hướng (một số)
ary1 = np.array([1, 4, 2])
num1 = 5
np.dot(ary1, num)
>>> [ 5, 20, 10]Nó hoạt động như thể ta nhân mảng với số vô hướng: ary1 * 5
Nếu một trong các mảng là mảng hai chiều, np.dot sẽ thực hiện phép nhân ma trận, nội dung này sẽ được học trong bài học tiếp theo.
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Thử thách
DễTạo một hàm (function) có tên calculate, nhận hai danh sách Python và thực hiện:
- res1 = Phép trừ hai danh sách
- res2 = Phép nhân hai danh sách
sau đó trả về tích vô hướng của res1 và res2.
Tự làm thử
import numpy as np
def calculate(lst1, lst2):Tất cả bài học trong Nền tảng NumPy
Tự luyện tập: Trình biên dịch Python online