距離関数
L1Distance
導入バージョン: v21.11
L1 空間(1-ノルム(タクシー幾何 における距離))において、2 つの点(ベクトルの要素を座標とみなしたもの)間の距離を計算します。
構文
別名: distanceL1
引数
戻り値
1-ノルム距離を返します。UInt32 または Float64
使用例
基本的な使用方法
L1Norm
導入バージョン: v21.11
ベクトルの各要素の絶対値の総和を計算します。
構文
別名: normL1
引数
戻り値
L1 ノルム(taxicab geometry における距離)を返します。UInt* または Float* または Decimal
例
基本的な使用例
L1Normalize
導入バージョン: v21.11
与えられたベクトル(タプルの要素が座標)について、L1 空間(タクシー幾何学)における単位ベクトルを計算します。
構文
別名: normalizeL1
引数
tuple— 数値からなるタプル。Tuple(T)
返り値
単位ベクトルを返します。Tuple(Float64)
例
基本的な使用例
L2Distance
導入バージョン: v21.11
ユークリッド空間において、2 つの点(ベクトルの要素が座標を表す)間の距離(Euclidean distance)を計算します。
構文
別名: distanceL2
引数
戻り値
2-ノルム距離を返します。Float64
例
基本的な使い方
L2DistanceTransposed
v25.10 で導入。
ユークリッド空間において、2 点間のユークリッド距離(ベクトルの値を座標とみなす)の近似値を計算します(Euclidean distance)。
構文
別名: distanceL2Transposed
引数
vectors— ベクトル。QBit(T, UInt64)reference— 参照ベクトル。Array(T)p— 距離計算において各ベクトル要素から使用するビット数(1 から要素のビット幅まで)。量子化レベルは精度と速度のトレードオフを制御します。使用するビット数を減らすと I/O と計算が高速になりますが精度は低下し、ビット数を増やすと性能を犠牲にして精度が向上します。UInt
返される値
近似的な 2-ノルム距離を返します。Float64
例
基本的な使用方法
L2Norm
導入バージョン: v21.11
ベクトルの各要素の二乗和の平方根を計算します。
構文
エイリアス: normL2
引数
戻り値
L2 ノルム、または ユークリッド距離 を返します。UInt* または Float*
例
基本的な使用方法
L2Normalize
導入バージョン: v21.11
ユークリッド空間において(ユークリッド距離 を用いて)、与えられたベクトル(タプルの要素が座標)に対する単位ベクトルを計算します。
構文
別名: normalizeL2
引数
tuple— 数値のタプル。Tuple(T)
返される値
単位ベクトルを返します。Tuple(Float64)
例
基本的な使用法
L2SquaredDistance
導入バージョン: v22.7
2つのベクトルにおける対応する要素同士の差の二乗和を計算します。
構文
別名: distanceL2Squared
引数
戻り値
2つのベクトルにおける対応する要素間の差の二乗和を返します。Float64
例
基本的な使用例
L2SquaredNorm
導入バージョン: v22.7
ベクトル要素の二乗和の平方根(L2Norm)の二乗を計算します。
構文
別名: normL2Squared
引数
戻り値
L2 ノルムの二乗を返します。UInt* または Float* または Decimal
使用例
基本的な使い方
LinfDistance
導入バージョン: v21.11
L_{inf} 空間(最大ノルム)において、2 点(ベクトルの要素を座標とみなした点)間の距離を計算します。
構文
エイリアス: distanceLinf
引数
返される値
無限ノルム (Infinity-norm) による距離を返します。Float64
使用例
基本的な使い方
LinfNorm
導入されたバージョン: v21.11
ベクトルの要素の絶対値の最大値を計算します。
構文
別名: normLinf
引数
戻り値
Linf ノルム、または最大絶対値を返します。Float64
例
基本的な使い方
LinfNormalize
導入: v21.11
与えられたベクトル(タプルの要素が座標)について、L_{inf} 空間における単位ベクトルを(最大ノルムを用いて)計算します。
構文
別名: normalizeLinf
引数
tuple— 数値を要素とするタプル。Tuple(T)
返り値
単位ベクトルを返します。Tuple(Float64)
使用例
基本的な使い方
LpDistance
導入バージョン: v21.11
Lp 空間における 2 点間の距離(ベクトルの要素を座標とみなしたときの距離)を計算します(p-ノルム距離)。
構文
別名: distanceLp
引数
vector1— 1 番目のベクトル。Tuple(T)またはArray(T)vector2— 2 番目のベクトル。Tuple(T)またはArray(T)p— 冪指数。取りうる値は[1; inf)の実数。UInt*またはFloat*
返される値
p-ノルム距離を返します。Float64
例
基本的な使用例
LpNorm
導入バージョン: v21.11
ベクトルの p-ノルム(p 次ノルム)を計算します。これは、その要素の絶対値を p 乗したものの総和の p 乗根です。
特別なケース:
- p=1 のとき、L1Norm(マンハッタン距離)と等価です。
- p=2 のとき、L2Norm(ユークリッド距離)と等価です。
- p=∞ のとき、LinfNorm(最大ノルム)と等価です。
構文
別名: normLp
引数
返される値
例
基本的な使い方
LpNormalize
導入: v21.11
与えられたベクトル(タプルの要素が座標)について、Lp 空間における単位ベクトルを(p-norm を使用して)計算します。
構文
別名: normalizeLp
引数
戻り値
単位ベクトルを返します。Tuple(Float64)
例
使用例
cosineDistance
導入バージョン: v1.1
2 つのベクトル間のコサイン距離を計算します(タプルの各要素は座標を表します)。返される値が小さいほど、ベクトル同士の類似度が高くなります。
構文
別名: distanceCosine
引数
返される値
2 つのベクトルのなす角の余弦から 1 を引いた値を返します。Float64
使用例
基本的な使い方
cosineDistanceTransposed
導入バージョン: v26.1
2 つの点間の近似的なコサイン距離を計算します(ベクトルの値を座標とみなします)。返される値が小さいほど、ベクトル同士はより類似しています。
構文
別名: distanceCosineTransposed
引数
vectors— ベクトル。QBit(T, UInt64)reference— 参照ベクトル。Array(T)p— 距離計算において各ベクトル要素から使用するビット数(1 から要素のビット幅まで)。量子化レベルにより、精度と速度のトレードオフが決まります。使用するビット数が少ないほど I/O と計算は高速になりますが精度は低下し、ビット数が多いほど精度は向上しますがパフォーマンスは低下します。UInt
返される値
2 つのベクトル間の角度の余弦の近似値を 1 から引いた値を返します。Float64
例
基本的な使用例