- Categories:
VECTOR_L2_DISTANCE¶
Computes the L2 distance between two vectors.
L2 distance, also known as the Euclidean distance, is a measure of the distance between two vectors in a vector space. The distance is calculated by taking the square root of the sum of the squared differences of vector elements. The distance can be a value of zero or higher. If the distance is zero, the vectors are identical. The larger the distance, the farther apart the vectors are.
Syntax¶
VECTOR_L2_DISTANCE( <vector>, <vector> )
Arguments¶
vector
The VECTOR value to calculate the distance from.
vector
The VECTOR value to calculate the distance to.
Returns¶
Returns the distance between the two input vectors as a FLOAT value.
Usage notes¶
Due to computational optimizations in the vector comparison functions, floating-point errors may be slightly larger than usual (e.g. about 1e-4).
Examples¶
This example uses the VECTOR_L2_DISTANCE function to determine which vectors in the table
are closest to each other between columns a
and b
:
CREATE TABLE vectors (a VECTOR(FLOAT, 3), b VECTOR(FLOAT, 3));
INSERT INTO vectors SELECT [1.1,2.2,3]::VECTOR(FLOAT,3), [1,1,1]::VECTOR(FLOAT,3);
INSERT INTO vectors SELECT [1,2.2,3]::VECTOR(FLOAT,3), [4,6,8]::VECTOR(FLOAT,3);
-- Compute the pairwise inner product between columns a and b
SELECT VECTOR_L2_DISTANCE(a, b) FROM vectors;
+------+
| 2.3 |
|------|
| 6.95 |
+------+