Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:
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