cosine#

mvpy.math.cosine(x: ndarray | Tensor, y: ndarray | Tensor, *args: Any) ndarray | Tensor[source]#

Compute cosine similarities between x and y. Note that similarities are always computed over the final dimension.

Parameters:
xUnion[np.ndarray, torch.Tensor]

Vector/Matrix/Tensor

yUnion[np.ndarray, torch.Tensor]

Vector/Matrix/Tensor

Returns:
Union[np.ndarray, torch.Tensor]

Similarities

Notes

Cosine similarity is defined as:

\[\text{cosine}(x, y) = \frac{\mathbf{x} \cdot \mathbf{y}}{\|\mathbf{x}\| \|\mathbf{y}\|}\]

Examples

>>> import torch
>>> from mvpy.math import cosine
>>> x = torch.tesor([1, 0])
>>> y = torch.tensor([-1, 0])
>>> cosine(x, y)
tensor([-1.])