Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Databricks Runtime 18.1 und höher
Berechnet die Lp-Norm eines Vektors mithilfe des angegebenen Grads.
Syntax
vector_norm(vector [, degree ])
Argumente
-
Vektor: Ein
ARRAY<FLOAT>Ausdruck, der den Vektor darstellt. -
grad: Optional. Ein
FLOATWert, der den Normtyp angibt; standardwert ist 2,0 (Euklidische Norm). Unterstützte Werte:- 1,0 — L1 Norm (Manhattan): Summe der absoluten Werte
- 2.0 — L2 Norm (Euklidan): Quadratwurzel der Summe von Quadraten
-
float('inf')— L∞ (Unendlichkeitsnorm): Maximalwert
Rückkehr
Ein FLOAT Wert, der die Norm des Vektors darstellt. Das Ergebnis ist nicht negativ.
Gibt 0,0 für leere Vektoren zurück. Gibt zurück NULL , wenn die Eingabe vorhanden ist NULL oder enthält NULL.
Hinweise
- Nur
ARRAY<FLOAT>wird unterstützt; andere Typen wieARRAY<DOUBLE>z. B. oderARRAY<DECIMAL>Auslösen eines Fehlers. Ein nicht unterstützterdegreeWert löst INVALID_VECTOR_NORM_DEGREE aus. - L2-Norm ist die am häufigsten bei dichten Einbettungsworkloads; L1 wird in sparse und probabilistischen Anwendungen verwendet; L∞ wird in der Worst-Case-Analyse verwendet.
Fehlerbedingungen
Beispiele
-- 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