VECTOR_COSINE_DISTANCE

Returns the cosine distance between two vectors, calculated based on the angle (θ) between them. Vector cosine distance emphasizes the directional difference between the vectors, rather than magnitude. It is calculated as 1 - cos(θ), where cos(θ) is the cosine similarity between the vectors. VECTOR_COSINE_DISTANCE returns a value in the range [0, 2]. A vector cosine distance of 0 means that the vectors are identical in direction. A distance of 1 means that they are orthogonal and have no correlation. A distance of 2 means that they point in opposite directions.

Syntax

VECTOR_COSINE_DISTANCE(<array>, <array>)

Parameters

Parameter Description Supported input types
<array> The first array used in the distance calculation. Any array of numeric data types.
<array> The second array used in the distance calculation. Any array of numeric data types.

Notes

Both input array arguments must have the same number of elements.

Return Type

DOUBLE

Examples

The following example returns the cosine distance between two vectors:

SELECT VECTOR_COSINE_DISTANCE([1, 2], [3, 4]) AS distance;
distance (DOUBLE)
0.01613008990009257