SELECT l2_distance('{}/2'::sparsevec, '{0:3,1:4}/2'); l2_distance ------------- 5 (1 row) SELECT l2_distance('{}/2'::sparsevec, '{1:1}/2'); l2_distance ------------- 1 (1 row) SELECT '{}/2'::sparsevec <-> '{0:3,1:4}/2'; ?column? ---------- 5 (1 row) SELECT inner_product('{0:1,1:2}/2'::sparsevec, '{0:2,1:4}/2'); inner_product --------------- 10 (1 row) SELECT sparsevec_negative_inner_product('{0:1,1:2}/2', '{0:2,1:4}/2'); sparsevec_negative_inner_product ---------------------------------- -10 (1 row) SELECT cosine_distance('{0:1,1:2}/2'::sparsevec, '{0:2,1:4}/2'); cosine_distance ----------------- 0 (1 row) SELECT cosine_distance('{0:1,1:2}/2'::sparsevec, '{}/2'); cosine_distance ----------------- NaN (1 row) SELECT cosine_distance('{0:1,1:1}/2'::sparsevec, '{0:-1,1:-1}/2'); cosine_distance ----------------- 2 (1 row) SELECT cosine_distance('{0:1}/2'::sparsevec, '{1:2}/2'); cosine_distance ----------------- 1 (1 row) SELECT cosine_distance('{}/1'::sparsevec, '{}/1'); cosine_distance ----------------- NaN (1 row) SELECT cosine_distance('{0:1}/2'::sparsevec, '{0:1}/3'); ERROR: different sparsevec dimensions 2 and 3 SELECT subvector('{0:1,1:2,2:3,3:4,4:5}/5'::sparsevec, 1, 3); subvector ----------------- {0:1,1:2,2:3}/3 (1 row) SELECT subvector('{0:1,1:2,2:3,3:4,4:5}/5'::sparsevec, 3, 2); subvector ------------- {2:3,3:4}/2 (1 row) SELECT subvector('{0:1,1:2,2:3,3:4,4:5}/5'::sparsevec, -1, 3); subvector ----------- {0:1}/1 (1 row) SELECT subvector('{0:1,1:2,2:3,3:4,4:5}/5'::sparsevec, 3, 9); subvector ----------------- {2:3,3:4,4:5}/3 (1 row) SELECT subvector('{0:1,1:2,2:3,3:4,4:5}/5'::sparsevec, 1, 0); ERROR: sparsevec must have at least 1 dimension SELECT subvector('{0:1,1:2,2:3,3:4,4:5}/5'::sparsevec, 3, -1); ERROR: sparsevec must have at least 1 dimension SELECT subvector('{0:1,1:2,2:3,3:4,4:5}/5'::sparsevec, -1, 2); ERROR: sparsevec must have at least 1 dimension