SQL
Array-Native Functions
| Function | Description |
|----|-----|-------|---|
| [`array_value(index)`](#::array_valueindex)                                          | Create an `ARRAY` containing the argument values.                                                                                                                                         |
| [`array_cross_product(array1, array2)`](#::array_cross_productarray1-array2)         | Compute the cross product of two arrays of size 3. The array elements can not be `NULL`.                                                                                                  |
| [`array_cosine_similarity(array1, array2)`](#::array_cosine_similarityarray1-array2) | Compute the cosine similarity between two arrays of the same size. The array elements can not be `NULL`. The arrays can have any size as long as the size is the same for both arguments. |
[`array_cosine_distance(array1, array2)`](#::array_cosine_distancearray1-array2) | Compute the cosine distance between two arrays of the same size. The array elements can not be `NULL`. The arrays can have any size as long as the size is the same for both arguments. This is equivalent to `1.0 - array_cosine_similarity` |
| [`array_distance(array1, array2)`](#::array_distancearray1-array2)                   | Compute the distance between two arrays of the same size. The array elements can not be `NULL`. The arrays can have any size as long as the size is the same for both arguments.          |
| [`array_inner_product(array1, array2)`](#::array_inner_productarray1-array2)         | Compute the inner product between two arrays of the same size. The array elements can not be `NULL`. The arrays can have any size as long as the size is the same for both arguments.     |
| [`array_negative_inner_product(array1, array2)`](#::array_negative_inner_productarray1-array2)         | Compute the negative inner product between two arrays of the same size. The array elements can not be `NULL`. The arrays can have any size as long as the size is the same for both arguments. This is equivalent to `-array_inner_product` |
| [`array_dot_product(array1, array2)`](#::array_dot_productarray1-array2)             | Alias for `array_inner_product(array1, array2)`.                                                                                                                                          |
| [`array_negative_dot_product(array1, array2)`](#::array_negative_dot_productarray1-array2)             | Alias for `array_negative_inner_product(array1, array2)`.                                                                                                                                          |