Removed dimensions from sparsevec

This commit is contained in:
Andrew Kane
2024-04-03 20:55:03 -07:00
parent 35d0fe88b9
commit dde3a2aacd
17 changed files with 166 additions and 289 deletions

View File

@@ -1,62 +1,60 @@
SELECT l2_distance('{}/2'::sparsevec, '{0:3,1:4}/2');
SELECT l2_distance('{}'::sparsevec, '{0:3,1:4}');
l2_distance
-------------
5
(1 row)
SELECT l2_distance('{}/2'::sparsevec, '{1:1}/2');
SELECT l2_distance('{}'::sparsevec, '{1:1}');
l2_distance
-------------
1
(1 row)
SELECT '{}/2'::sparsevec <-> '{0:3,1:4}/2';
SELECT '{}'::sparsevec <-> '{0:3,1:4}';
?column?
----------
5
(1 row)
SELECT inner_product('{0:1,1:2}/2'::sparsevec, '{0:2,1:4}/2');
SELECT inner_product('{0:1,1:2}'::sparsevec, '{0:2,1:4}');
inner_product
---------------
10
(1 row)
SELECT sparsevec_negative_inner_product('{0:1,1:2}/2', '{0:2,1:4}/2');
SELECT sparsevec_negative_inner_product('{0:1,1:2}', '{0:2,1:4}');
sparsevec_negative_inner_product
----------------------------------
-10
(1 row)
SELECT cosine_distance('{0:1,1:2}/2'::sparsevec, '{0:2,1:4}/2');
SELECT cosine_distance('{0:1,1:2}'::sparsevec, '{0:2,1:4}');
cosine_distance
-----------------
0
(1 row)
SELECT cosine_distance('{0:1,1:2}/2'::sparsevec, '{}/2');
SELECT cosine_distance('{0:1,1:2}'::sparsevec, '{}');
cosine_distance
-----------------
NaN
(1 row)
SELECT cosine_distance('{0:1,1:1}/2'::sparsevec, '{0:-1,1:-1}/2');
SELECT cosine_distance('{0:1,1:1}'::sparsevec, '{0:-1,1:-1}');
cosine_distance
-----------------
2
(1 row)
SELECT cosine_distance('{0:1}/2'::sparsevec, '{1:2}/2');
SELECT cosine_distance('{0:1}'::sparsevec, '{1:2}');
cosine_distance
-----------------
1
(1 row)
SELECT cosine_distance('{}/1'::sparsevec, '{}/1');
SELECT cosine_distance('{}'::sparsevec, '{}');
cosine_distance
-----------------
NaN
(1 row)
SELECT cosine_distance('{0:1}/2'::sparsevec, '{0:1}/3');
ERROR: different sparsevec dimensions 2 and 3