距離関数
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
2点間の距離を L1 空間(1-ノルム、タクシー幾何学距離)で計算します。
構文
L1Distance(vector1, vector2)
別名: distanceL1.
引数
返される値
- 1-ノルム距離。Float。
例
クエリ:
SELECT L1Distance((1, 2), (2, 3));
結果:
┌─L1Distance((1, 2), (2, 3))─┐
│                          2 │
└────────────────────────────┘
L2Distance
2点間の距離をユークリッド空間(ユークリッド距離)で計算します。
構文
L2Distance(vector1, vector2)
別名: distanceL2.
引数
返される値
- 2-ノルム距離。Float。
例
クエリ:
SELECT L2Distance((1, 2), (2, 3));
結果:
┌─L2Distance((1, 2), (2, 3))─┐
│         1.4142135623730951 │
└────────────────────────────┘
L2SquaredDistance
2つのベクトルの対応する要素間の差の平方和を計算します。
構文
L2SquaredDistance(vector1, vector2)
別名: distanceL2Squared.
引数
返される値
- 2つのベクトルの対応する要素間の差の平方和。Float。
例
クエリ:
SELECT L2SquaredDistance([1, 2, 3], [0, 0, 0])
結果:
┌─L2SquaredDistance([1, 2, 3], [0, 0, 0])─┐
│                                      14 │
└─────────────────────────────────────────┘
LinfDistance
2点間の距離を L_{inf} 空間([最大ノルム](https://en.wikipedia.org/wiki/Norm_(mathematics)#Maximum_norm_(special_case_of:_infinity_norm,_uniform_norm,_or_supremum_norm)))で計算します。
構文
LinfDistance(vector1, vector2)
別名: distanceLinf.
引数
返される値
- 無限ノルム距離。Float。
例
クエリ:
SELECT LinfDistance((1, 2), (2, 3));
結果:
┌─LinfDistance((1, 2), (2, 3))─┐
│                            1 │
└──────────────────────────────┘
LpDistance
2点間の距離を Lp 空間(p-ノルム距離)で計算します。
構文
LpDistance(vector1, vector2, p)
別名: distanceLp.
引数
- vector1— 第1ベクトル。Tuple または Array。
- vector2— 第2ベクトル。Tuple または Array。
- p— 指数。可能な値: [1;inf) の範囲の任意の数。UInt または Float。
返される値
- p-ノルム距離。Float。
例
クエリ:
SELECT LpDistance((1, 2), (2, 3), 3);
結果:
┌─LpDistance((1, 2), (2, 3), 3)─┐
│            1.2599210498948732 │
└───────────────────────────────┘
L1Normalize
指定されたベクトルの単位ベクトルを L1 空間(タクシー幾何学)で計算します。
構文
L1Normalize(tuple)
別名: normalizeL1.
引数
- tuple— Tuple。
返される値
例
クエリ:
SELECT L1Normalize((1, 2));
結果:
┌─L1Normalize((1, 2))─────────────────────┐
│ (0.3333333333333333,0.6666666666666666) │
└─────────────────────────────────────────┘
L2Normalize
指定されたベクトルの単位ベクトルをユークリッド空間(ユークリッド距離を使用)で計算します。
構文
L2Normalize(tuple)
別名: normalizeL1.
引数
- tuple— Tuple。
返される値
例
クエリ:
SELECT L2Normalize((3, 4));
結果:
┌─L2Normalize((3, 4))─┐
│ (0.6,0.8)           │
└─────────────────────┘
LinfNormalize
指定されたベクトルの単位ベクトルを L_{inf} 空間([最大ノルム](https://en.wikipedia.org/wiki/Norm_(mathematics)#Maximum_norm_(special_case_of:_infinity_norm,_uniform_norm,_or_supremum_norm)を使用)で計算します。
構文
LinfNormalize(tuple)
別名: normalizeLinf .
引数
- tuple— 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
2つのベクトル間のコサイン距離を計算します(タプルの値は座標です)。返される値が小さいほど、ベクトルは類似しています。
構文
cosineDistance(vector1, vector2)
引数
返される値
- 2つのベクトル間の角度の余弦を1から減じたもの。Float。
例
クエリ:
SELECT cosineDistance((1, 2), (2, 3));
結果:
┌─cosineDistance((1, 2), (2, 3))─┐
│           0.007722123286332261 │
└────────────────────────────────┘