Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:
Databricks Runtime 18.1 en hoger
Berekent de Lp-norm van een vector met behulp van de opgegeven graad.
Syntaxis
vector_norm(vector [, degree ])
Argumenten
-
vector: Een
ARRAY<FLOAT>expressie die de vector vertegenwoordigt. -
degree: Optioneel. Een
FLOATwaarde die het normtype aangeeft; wordt standaard ingesteld op 2,0 (Euclidische norm). Ondersteunde waarden:- 1,0 — L1 norm (Manhattan): som van absolute waarden
- 2.0 — L2 norm (Euclidean): vierkantswortel van som van kwadraten
-
float('inf')— L∞ (oneindigheidsnorm): maximale absolute waarde
Retouren
Een FLOAT waarde die de norm van de vector aangeeft. Het resultaat is niet negatief.
Retourneert 0,0 voor lege vectoren. Retourneert NULL als de invoer is NULL of bevat NULL.
Aantekeningen
- Alleen
ARRAY<FLOAT>wordt ondersteund; andere typen, zoalsARRAY<DOUBLE>ofARRAY<DECIMAL>genereren van een fout. Een niet-ondersteundedegreewaarde verhoogt INVALID_VECTOR_NORM_DEGREE. - L2-norm is de meest voorkomende in dichte insluitingsworkloads; L1 wordt gebruikt in sparse- en probabilistische toepassingen; L∞ wordt gebruikt in slechtste gevallen.
Foutvoorwaarden
Examples
-- 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