距离函数
L1Norm
计算向量的绝对值之和。
语法
L1Norm(vector)
别名:normL1
。
参数
返回值
示例
查询
SELECT L1Norm((1, 2));
结果
┌─L1Norm((1, 2))─┐
│ 3 │
└────────────────┘
L2Norm
计算向量值平方和的平方根。
语法
L2Norm(vector)
别名:normL2
。
参数
返回值
示例
查询
SELECT L2Norm((1, 2));
结果
┌───L2Norm((1, 2))─┐
│ 2.23606797749979 │
└──────────────────┘
L2SquaredNorm
计算向量值平方和的平方根(L2Norm)的平方。
语法
L2SquaredNorm(vector)
别名:normL2Squared
。
*参数
返回值
- L2 范数的平方。 Float。
示例
查询
SELECT L2SquaredNorm((1, 2));
结果
┌─L2SquaredNorm((1, 2))─┐
│ 5 │
└───────────────────────┘
LinfNorm
计算向量的绝对值的最大值。
语法
LinfNorm(vector)
别名:normLinf
。
参数
返回值
- Linf 范数或最大绝对值。 Float。
示例
查询
SELECT LinfNorm((1, -2));
结果
┌─LinfNorm((1, -2))─┐
│ 2 │
└───────────────────┘
LpNorm
计算向量绝对值 p
次幂之和的 p
次方根。
语法
LpNorm(vector, p)
别名:normLp
。
参数
返回值
示例
查询
SELECT LpNorm((1, -2), 2);
结果
┌─LpNorm((1, -2), 2)─┐
│ 2.23606797749979 │
└────────────────────┘
L1Distance
计算两个点在 L1
空间(1 范数(出租车几何 距离))中的距离(向量值作为坐标)。
语法
L1Distance(vector1, vector2)
别名:distanceL1
。
参数
返回值
- 1 范数距离。 Float。
示例
查询
SELECT L1Distance((1, 2), (2, 3));
结果
┌─L1Distance((1, 2), (2, 3))─┐
│ 2 │
└────────────────────────────┘
L2Distance
计算两个点在欧几里得空间(欧几里得距离)中的距离(向量值作为坐标)。
语法
L2Distance(vector1, vector2)
别名:distanceL2
。
参数
返回值
- 2 范数距离。 Float。
示例
查询
SELECT L2Distance((1, 2), (2, 3));
结果
┌─L2Distance((1, 2), (2, 3))─┐
│ 1.4142135623730951 │
└────────────────────────────┘
L2SquaredDistance
计算两个向量对应元素差值的平方和。
语法
L2SquaredDistance(vector1, vector2)
别名:distanceL2Squared
。
参数
返回值
- 两个向量对应元素差值的平方和。 Float。
示例
查询
SELECT L2SquaredDistance([1, 2, 3], [0, 0, 0])
结果
┌─L2SquaredDistance([1, 2, 3], [0, 0, 0])─┐
│ 14 │
└─────────────────────────────────────────┘
LinfDistance
计算两个点在 L_{inf}
空间(最大范数)中的距离(向量值作为坐标)。
语法
LinfDistance(vector1, vector2)
别名:distanceLinf
。
参数
返回值
- 无穷范数距离。 Float。
示例
查询
SELECT LinfDistance((1, 2), (2, 3));
结果
┌─LinfDistance((1, 2), (2, 3))─┐
│ 1 │
└──────────────────────────────┘
LpDistance
计算两个点在 Lp
空间(p 范数距离)中的距离(向量值作为坐标)。
语法
LpDistance(vector1, vector2, p)
别名:distanceLp
。
参数
返回值
- p 范数距离。 Float。
示例
查询
SELECT LpDistance((1, 2), (2, 3), 3);
结果
┌─LpDistance((1, 2), (2, 3), 3)─┐
│ 1.2599210498948732 │
└───────────────────────────────┘
L1Normalize
计算给定向量在 L1
空间(出租车几何)中的单位向量(元组值作为坐标)。
语法
L1Normalize(tuple)
别名:normalizeL1
。
参数
tuple
— 元组。
返回值
示例
查询
SELECT L1Normalize((1, 2));
结果
┌─L1Normalize((1, 2))─────────────────────┐
│ (0.3333333333333333,0.6666666666666666) │
└─────────────────────────────────────────┘
L2Normalize
计算给定向量在欧几里得空间(使用 欧几里得距离)中的单位向量(元组值作为坐标)。
语法
L2Normalize(tuple)
别名:normalizeL1
。
参数
tuple
— 元组。
返回值
示例
查询
SELECT L2Normalize((3, 4));
结果
┌─L2Normalize((3, 4))─┐
│ (0.6,0.8) │
└─────────────────────┘
LinfNormalize
计算给定向量在 L_{inf}
空间(使用 最大范数)中的单位向量(元组值作为坐标)。
语法
LinfNormalize(tuple)
别名:normalizeLinf
。
参数
tuple
— 元组。
返回值
示例
查询
SELECT LinfNormalize((3, 4));
结果
┌─LinfNormalize((3, 4))─┐
│ (0.75,1) │
└───────────────────────┘
LpNormalize
计算给定向量在 Lp
空间(使用 p 范数)中的单位向量(元组值作为坐标)。
语法
LpNormalize(tuple, p)
别名:normalizeLp
。
参数
返回值
示例
查询
SELECT LpNormalize((3, 4),5);
结果
┌─LpNormalize((3, 4), 5)──────────────────┐
│ (0.7187302630182624,0.9583070173576831) │
└─────────────────────────────────────────┘
cosineDistance
计算两个向量之间的余弦距离(元组值作为坐标)。返回的值越小,向量越相似。
语法
cosineDistance(vector1, vector2)
参数
返回值
- 两个向量之间角度的余弦值减 1。 Float。
示例
查询
SELECT cosineDistance((1, 2), (2, 3));
结果
┌─cosineDistance((1, 2), (2, 3))─┐
│ 0.007722123286332261 │
└────────────────────────────────┘