mirror of
https://github.com/pgvector/pgvector.git
synced 2026-06-29 17:21:16 +08:00
87 lines
1.7 KiB
Plaintext
87 lines
1.7 KiB
Plaintext
SELECT round(sparsevec_norm('{1:1,2:1}/2')::numeric, 5);
|
|
round
|
|
---------
|
|
1.41421
|
|
(1 row)
|
|
|
|
SELECT sparsevec_norm('{1:3,2:4}/2');
|
|
sparsevec_norm
|
|
----------------
|
|
5
|
|
(1 row)
|
|
|
|
SELECT sparsevec_norm('{2:1}/2');
|
|
sparsevec_norm
|
|
----------------
|
|
1
|
|
(1 row)
|
|
|
|
SELECT sparsevec_norm('{1:3e37,2:4e37}/2')::real;
|
|
sparsevec_norm
|
|
----------------
|
|
5e+37
|
|
(1 row)
|
|
|
|
SELECT l2_distance('{}/2'::sparsevec, '{1:3,2:4}/2');
|
|
l2_distance
|
|
-------------
|
|
5
|
|
(1 row)
|
|
|
|
SELECT l2_distance('{}/2'::sparsevec, '{2:1}/2');
|
|
l2_distance
|
|
-------------
|
|
1
|
|
(1 row)
|
|
|
|
SELECT '{}/2'::sparsevec <-> '{1:3,2:4}/2';
|
|
?column?
|
|
----------
|
|
5
|
|
(1 row)
|
|
|
|
SELECT inner_product('{1:1,2:2}/2'::sparsevec, '{1:2,2:4}/2');
|
|
inner_product
|
|
---------------
|
|
10
|
|
(1 row)
|
|
|
|
SELECT sparsevec_negative_inner_product('{1:1,2:2}/2', '{1:2,2:4}/2');
|
|
sparsevec_negative_inner_product
|
|
----------------------------------
|
|
-10
|
|
(1 row)
|
|
|
|
SELECT cosine_distance('{1:1,2:2}/2'::sparsevec, '{1:2,2:4}/2');
|
|
cosine_distance
|
|
-----------------
|
|
0
|
|
(1 row)
|
|
|
|
SELECT cosine_distance('{1:1,2:2}/2'::sparsevec, '{}/2');
|
|
cosine_distance
|
|
-----------------
|
|
NaN
|
|
(1 row)
|
|
|
|
SELECT cosine_distance('{1:1,2:1}/2'::sparsevec, '{1:-1,2:-1}/2');
|
|
cosine_distance
|
|
-----------------
|
|
2
|
|
(1 row)
|
|
|
|
SELECT cosine_distance('{1:2}/2'::sparsevec, '{2:2}/2');
|
|
cosine_distance
|
|
-----------------
|
|
1
|
|
(1 row)
|
|
|
|
SELECT cosine_distance('{}/1'::sparsevec, '{}/1');
|
|
cosine_distance
|
|
-----------------
|
|
NaN
|
|
(1 row)
|
|
|
|
SELECT cosine_distance('{1:2}/2'::sparsevec, '{1:1}/3');
|
|
ERROR: different sparsevec dimensions 2 and 3
|