Bagikan melalui


fungsi vector_inner_product

Berlaku untuk:check ditandai ya Databricks Runtime 18.1 ke atas

Menghitung produk dalam (produk titik) antara dua vektor.

Sintaksis

vector_inner_product(vector1, vector2)

Argumen

  • vektor1: Ekspresi ARRAY<FLOAT> yang mewakili vektor pertama.
  • vektor2: Ekspresi ARRAY<FLOAT> yang mewakili vektor kedua.

Pengembalian Barang

FLOAT Nilai yang mewakili produk dalam dari dua vektor.

Mengembalikan 0,0 untuk vektor kosong. Mengembalikan NULL jika salah satu input adalah NULL atau berisi NULL.

Catatan

  • Hanya ARRAY<FLOAT> didukung; jenis lain seperti ARRAY<DOUBLE> atau ARRAY<DECIMAL> menimbulkan kesalahan.
  • Kedua vektor harus memiliki dimensi yang sama; jika tidak, fungsi akan meningkatkan VECTOR_DIMENSION_MISMATCH.
  • Untuk vektor yang dinormalisasi, produk dalam sama dengan kesamaan kosinus. Umumnya digunakan dengan algoritma Pencarian Produk Dalam Maksimum (MIPS).

Kondisi kesalahan

Examples

-- 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