SQL functions for linear algebra. More...
Functions | |
| float8 | norm1 (float8[] x) |
| 1-norm of a vector More... | |
| float8 | norm2 (float8[] x) |
| 2-norm of a vector More... | |
| float8 | dist_inf_norm (float8[] x, float8[] y) |
| Infinity-norm of the difference between two vectors. More... | |
| float8 | dist_pnorm (float8[] x, float8[] y, float8 p) |
| p-norm of the difference between two vectors More... | |
| float8 | dist_norm1 (float8[] x, float8[] y) |
| 1-norm of the difference between two vectors More... | |
| float8 | dist_norm2 (float8[] x, float8[] y) |
| 2-norm of the difference between two vectors More... | |
| float8 | cosine_similarity (float8[] x, float8[] y) |
| cosine similarity score between two vectors More... | |
| float8 | squared_dist_norm2 (float8[] x, float8[] y) |
| Squared 2-norm of the difference between two vectors. More... | |
| float8 | dist_angle (float8[] x, float8[] y) |
| Angle between two vectors. More... | |
| float8 | dist_tanimoto (float8[] x, float8[] y) |
| Tanimoto distance between two vectors. More... | |
| float8 | dist_jaccard (text[] x, text[] y) |
| Jaccard distance between two vectors (treated as sets) More... | |
| closest_column_result | _closest_column (float8[] m, float8[] x, regproc dist, text dist_dn) |
| closest_column_result | closest_column (float8[] m, float8[] x, regproc dist="squared_dist_norm2") |
Given matrix and vector compute the column of that is closest to . More... | |
| closest_column_result | closest_column (float8[] m, float8[] x) |
| closest_columns_result | _closest_columns (float8[] m, float8[] x, integer num, regproc dist, text dist_dn) |
Given matrix and vector compute the columns of that are closest to . More... | |
| closest_columns_result | closest_columns (float8[] m, float8[] x, integer num, regproc dist) |
| closest_columns_result | closest_columns (float8[] m, float8[] x, integer num) |
| float8 [] | avg_vector_transition (float8[] state, float8[] x) |
| float8 [] | avg_vector_merge (float8[] state_left, float8[] state_right) |
| float8 [] | avg_vector_final (float8[] state) |
| aggregate float8 [] | avg (float8[] x) |
| Compute the average of vectors. More... | |
| float8 [] | normalized_avg_vector_transition (float8[] state, float8[] x) |
| float8 [] | normalized_avg_vector_final (float8[] state) |
| aggregate float8 [] | normalized_avg (float8[] x) |
| Compute the normalized average of vectors. More... | |
| float8 [] | matrix_agg_transition (float8[] state, float8[] x) |
| float8 [] | matrix_agg_final (float8[] state) |
| aggregate float8 [] | matrix_agg (float8[] x) |
| Combine vectors to a matrix. More... | |
| float8 [] | matrix_column (float8[] matrix, integer col) |
| Return the column of a matrix. More... | |
| set< record > | deconstruct_2d_array (float8[] in_array) |
| Construct a M-column N-row table of 2-D array. More... | |
| set< record > | __deconstruct_lower_triangle (float8[] in_array) |
| Construct a M-column M-row table of using lower triangle of 2-D array. More... | |
| float8 [] | array_to_1d (float8[] in_array) |
| Return the input array as 1-D. More... | |
| float8 [] | array_to_2d (float8[] in_array) |
| Return A 2-D matrix that the number of rows is encoded as the first element of the input array and the number of cols second. More... | |
| float8 [] | index_2d_array (float8[] in_2d_array, integer index) |
| Return A 1-D form of the specified row of the given 2-D array. More... | |
| float8 [] | get_row (float8[] in_2d_array, integer index) |
| Get an indexed row of the given matrix (2-D array) More... | |
| float8 [] | get_col (float8[] in_2d_array, integer index) |
| Get an indexed col of the given matrix (2-D array) More... | |
| set<record> __deconstruct_lower_triangle | ( | float8 [] | in_array | ) |
| in_array | 2-D array |
| closest_column_result _closest_column | ( | float8 [] | m, |
| float8 [] | x, | ||
| regproc | dist, | ||
| text | dist_dn | ||
| ) |
| closest_columns_result _closest_columns | ( | float8 [] | m, |
| float8 [] | x, | ||
| integer | num, | ||
| regproc | dist, | ||
| text | dist_dn | ||
| ) |
This function does essentially the same as closest_column(), except that it allows to specify the number of closest columns to return. The return value is a composite value:
columns_ids INTEGER[] - The 0-based indices of the num columns of
that are closest to
. In case of ties, the first such indices are returned.distances DOUBLE PRECISION[] - The distances between the columns of
with indices in columns_ids and
. That is, distances[i] contains
, where
columns_ids[i]. | float8 [] array_to_1d | ( | float8 [] | in_array | ) |
| in_array | 1-D or 2-D array |
| float8 [] array_to_2d | ( | float8 [] | in_array | ) |
| in_array | Input array with first 2 elements describing dimensions |
| aggregate float8 [] avg | ( | float8 [] | x | ) |
Given vectors
, compute the average
.
| x | Point |
| float8 [] avg_vector_final | ( | float8 [] | state | ) |
| float8 [] avg_vector_merge | ( | float8 [] | state_left, |
| float8 [] | state_right | ||
| ) |
| float8 [] avg_vector_transition | ( | float8 [] | state, |
| float8 [] | x | ||
| ) |
| closest_column_result closest_column | ( | float8 [] | m, |
| float8 [] | x, | ||
| regproc | dist = "squared_dist_norm2" |
||
| ) |
| M | Matrix |
| x | Vector |
| dist | The metric . This needs to be a function with signature DOUBLE PRECISION[] x DOUBLE PRECISION[] -> DOUBLE PRECISION. |
columns_id INTEGER - The 0-based index of the column of
that is closest to
. In case of ties, the first such index is returned. That is, columns_id is the minimum element in the set
.distance DOUBLE PRECISION - The minimum distance between any column of
and
. That is,
. | closest_column_result closest_column | ( | float8 [] | m, |
| float8 [] | x | ||
| ) |
| closest_columns_result closest_columns | ( | float8 [] | m, |
| float8 [] | x, | ||
| integer | num, | ||
| regproc | dist | ||
| ) |
| closest_columns_result closest_columns | ( | float8 [] | m, |
| float8 [] | x, | ||
| integer | num | ||
| ) |
| float8 cosine_similarity | ( | float8 [] | x, |
| float8 [] | y | ||
| ) |
| x | Vector |
| y | Vector |
| set<record> deconstruct_2d_array | ( | float8 [] | in_array | ) |
| in_array | 2-D array |
| float8 dist_angle | ( | float8 [] | x, |
| float8 [] | y | ||
| ) |
| x | Vector |
| y | Vector |
| float8 dist_inf_norm | ( | float8 [] | x, |
| float8 [] | y | ||
| ) |
| x | Vector |
| y | Vector |
| float8 dist_jaccard | ( | text [] | x, |
| text [] | y | ||
| ) |
| x | Vector |
| y | Vector |
| float8 dist_norm1 | ( | float8 [] | x, |
| float8 [] | y | ||
| ) |
| x | Vector |
| y | Vector |
| float8 dist_norm2 | ( | float8 [] | x, |
| float8 [] | y | ||
| ) |
| x | Vector |
| y | Vector |
| float8 dist_pnorm | ( | float8 [] | x, |
| float8 [] | y, | ||
| float8 | p | ||
| ) |
| x | Vector |
| y | Vector |
| p | Scalar |
| float8 dist_tanimoto | ( | float8 [] | x, |
| float8 [] | y | ||
| ) |
| x | Vector |
| y | Vector |
| float8 [] get_col | ( | float8 [] | in_2d_array, |
| integer | index | ||
| ) |
| in_2d_array | Input 2-D array |
| index |
| float8 [] get_row | ( | float8 [] | in_2d_array, |
| integer | index | ||
| ) |
| in_2d_array | Input 2-D array |
| index |
| float8 [] index_2d_array | ( | float8 [] | in_2d_array, |
| integer | index | ||
| ) |
| in_2d_array | Input 2-D array |
| index |
| aggregate float8 [] matrix_agg | ( | float8 [] | x | ) |
Given vectors
, return matrix
.
| x | Vector |
| float8 [] matrix_agg_final | ( | float8 [] | state | ) |
| float8 [] matrix_agg_transition | ( | float8 [] | state, |
| float8 [] | x | ||
| ) |
| float8 [] matrix_column | ( | float8 [] | matrix, |
| integer | col | ||
| ) |
| matrix | Two-dimensional matrix |
| col | Column of the matrix to return (0-based index) |
| float8 norm1 | ( | float8 [] | x | ) |
| x | Vector |
| float8 norm2 | ( | float8 [] | x | ) |
| x | Vector |
| aggregate float8 [] normalized_avg | ( | float8 [] | x | ) |
Given vectors
, define
, and compute the normalized average
.
| x | Point |
| float8 [] normalized_avg_vector_final | ( | float8 [] | state | ) |
| float8 [] normalized_avg_vector_transition | ( | float8 [] | state, |
| float8 [] | x | ||
| ) |
| float8 squared_dist_norm2 | ( | float8 [] | x, |
| float8 [] | y | ||
| ) |
| x | Vector |
| y | Vector |