Поделиться через


vector_inner_product функция

Область применения:check помечена да Databricks Runtime 18.1 и выше

Вычисляет внутренний продукт (dot product) между двумя векторами.

Синтаксис

vector_inner_product(vector1, vector2)

Аргументы

  • vector1: ARRAY<FLOAT> выражение, представляющее первый вектор.
  • vector2: ARRAY<FLOAT> выражение, представляющее второй вектор.

Возвраты

FLOAT Значение, представляющее внутренний продукт двух векторов.

Возвращает значение 0.0 для пустых векторов. Возвращает значение NULL , если входные данные или NULL содержатся NULL.

Примечания

  • Поддерживается только ARRAY<FLOAT> другие типы, например ARRAY<DOUBLE> или ARRAY<DECIMAL> возникают ошибки.
  • Оба вектора должны иметь одинаковое измерение; в противном случае функция вызывает VECTOR_DIMENSION_MISMATCH.
  • Для нормализованных векторов внутренний продукт равен косине сходство. Часто используется с алгоритмами максимального поиска внутренних продуктов (MIPS).

Условия ошибок

Примеры

-- Basic inner product
> SELECT vector_inner_product(array(1.0f, 2.0f, 3.0f), array(4.0f, 5.0f, 6.0f));
  32.0

-- Inner product of orthogonal unit vectors
> SELECT vector_inner_product(array(1.0f, 0.0f), array(0.0f, 1.0f));
  0.0

-- Inner product with itself (squared L2 norm)
> SELECT vector_inner_product(array(3.0f, 4.0f), array(3.0f, 4.0f));
  25.0