Dla wektorów 1D \( \mathbf{a} \) i \( \mathbf{b} \):
\[
\mathbf{a} = [a_1], \quad \mathbf{b} = [b_1]
\]
Iloczyn skalarny:
\[
\mathbf{a} \cdot \mathbf{b} = a_1 \cdot b_1
\]
Dla wektorów 2D \( \mathbf{a} \) i \( \mathbf{b} \):
\[
\mathbf{a} = [a_1, a_2], \quad \mathbf{b} = [b_1, b_2]
\]
Iloczyn skalarny:
\[
\mathbf{a} \cdot \mathbf{b} = a_1 \cdot b_1 + a_2 \cdot b_2
\]
Dla macierzy 3×3 \( \mathbf{A} \) i \( \mathbf{B} \):
\[
\mathbf{A} = \begin{bmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{bmatrix}, \quad \mathbf{B} = \begin{bmatrix} b_{11} & b_{12} & b_{13} \\ b_{21} & b_{22} & b_{23} \\ b_{31} & b_{32} & b_{33} \end{bmatrix}
\]
Możemy obliczyć iloczyn skalarny między odpowiadającymi sobie wierszami \( \mathbf{A} \) i kolumnami \( \mathbf{B} \).
Przyjmując wiersz \( i \) z macierzy \( \mathbf{A} \) i kolumnę \( j \) z macierzy \( \mathbf{B} \):
\[
\mathbf{A}_i \cdot \mathbf{B}^j = a_{i1} \cdot b_{1j} + a_{i2} \cdot b_{2j} + a_{i3} \cdot b_{3j}
\]
Na przykład, dla wiersza 1 i kolumny 1:
\[
\mathbf{A}_1 \cdot \mathbf{B}^1 = a_{11} \cdot b_{11} + a_{12} \cdot b_{21} + a_{13} \cdot b_{31}
\]
Wynikiem jest skalar, pojedyncza liczba, bez wzlgędu na to jak duża jest macierz.
Dot product – Iloczyn skalarny możliwy jest tylko dla macierzy lub vectorów O TYM SAMYM ROZMIARZE.
Jest to numer wskazujący na podobieństwa między dwoma obiektami, wektorami, macierzami, tensorami, sygnałami, zdjęciami.
Przykład w pyTorch:
tv1 = torch.tensor([1,2,4,-2]
tv2 = torch.tensor([3,4,1,3]
print(torch.dot(tv1, tv2)) # via function
print(torch.sum(tv1*tv2)) # Via computation
The result is a tensor!