次の方法で共有


vector_norm 関数

適用対象:はい Databricks Runtime 18.1 以降とマークされているチェック

指定した次数を使用して、ベクトルの Lp ノルムを計算します。

構文

vector_norm(vector [, degree ])

引数

  • vector: ベクトルを表す ARRAY<FLOAT> 式。
  • degree: 省略可能。 標準型を指定する FLOAT 値。既定値は 2.0 (ユークリッドノルム) です。 サポートされている値:
    • 1.0 — L1 ノルム (マンハッタン): 絶対値の合計
    • 2.0 — L2 ノルム (ユークリッド): 平方和の平方根
    • float('inf') — L∞ (無限大標準): 最大絶対値

返品

ベクトルのノルムを表す FLOAT 値。 結果は負以外です。

空のベクターの場合は 0.0 を返します。 入力がNULL、またはNULLが含まれている場合は、NULLを返します。

メモ

  • ARRAY<FLOAT>のみがサポートされています。ARRAY<DOUBLE>ARRAY<DECIMAL>などの他の型ではエラーが発生します。 サポートされていない degree 値では 、INVALID_VECTOR_NORM_DEGREEが発生します。
  • L2 標準は、高密度の埋め込みワークロードで最も一般的です。L1 は、スパースアプリケーションおよび確率論的アプリケーションで使用されます。L∞ は、最悪の場合の分析で使用されます。

エラー条件

例示

-- L2 norm (Euclidean) - classic 3-4-5 triangle
> SELECT vector_norm(array(3.0f, 4.0f), 2.0f);
  5.0

-- L1 norm (Manhattan)
> SELECT vector_norm(array(3.0f, 4.0f), 1.0f);
  7.0

-- L∞ norm (infinity)
> SELECT vector_norm(array(3.0f, 4.0f), float('inf'));
  4.0

-- Empty vector returns 0.0
> SELECT vector_norm(array(), 2.0);
  0.0