In Euclidean space, a Euclidean vector is a geometric object that possesses both maginitude and a direction.
A vector can be pictured as an arrow. Its magnitude is its length, and its direction is the direction to which the arrow points.
The dot product of two Euclidean vectors \(x\) and \(y\) is defined by:
\[
\,\\
x \cdot y = \| x \| \| y \| \cos\theta
\,\\
\]
where \(\theta\) is the angle between \(x\) and \(y\).
In particular, if the vectors are orthogonal, then \(\cos \frac{\pi}{2} = 0\),
which implies that \(x \cdot y = 0\).
>>> x = np.array([1, 0])
>>> y = np.array([0, 1])
>>> np.dot(x, y)
0
>>> dot = np.linalg.norm(x) * np.linalg.norm(y) * np.cos(np.radians(90))
dot
6.123233995736766e-17
>>> np.isclose(0, dot)
True