INNER_PRODUCT_DISTANCE函数用于计算两个向量的内积距离。
说明
内积(也称点积或标量积)是将两个向量相乘。结果表示两个向量的共同方向。相似向量的内积大于不相似向量的内积。
命令格式
FLOAT INNER_PRODUCT_DISTANCE(<vector>, <vector>)参数说明
vector:必填。VECTOR类型。用于计算内积距离的向量值。
返回值说明
返回FLOAT类型,表示两个给定输入向量的内积距离。
向量函数经过优化,可能会降低浮点精度。此函数的结果误差范围最大可达1e-4。
使用示例
-- 开启VECTOR数据类型
set odps.sql.type.vector.enable=true;
set odps.sql.type.system.odps2=true;
-- 准备数据
CREATE TABLE vectors (a VECTOR(FLOAT, 3), b VECTOR(FLOAT, 3));
INSERT INTO vectors SELECT CAST(ARRAY(1.1,2.2,3.0) AS VECTOR(FLOAT,3)), CAST(ARRAY(1.0,1.0,1.0) AS VECTOR(FLOAT,3));
INSERT INTO vectors SELECT CAST(ARRAY(1.0,2.2,3.0) AS VECTOR(FLOAT,3)), CAST(ARRAY(4.0,6.0,8.0) AS VECTOR(FLOAT,3));
-- 计算a,b之间的内积距离
SELECT INNER_PRODUCT_DISTANCE(a, b) FROM vectors;
-- 返回结果
+------------+
| _c0 |
+------------+
| -40.20000076293945 |
| -5.300000190734863 |
+------------+该文章对您有帮助吗?