Математические функции и операторы#
Математические операторы#
Оператор |
Описание |
|---|---|
|
Сложение |
|
Вычитание |
|
Умножение |
|
Деление (целочисленное деление усечено) |
|
Модуль (остаток) |
Математические функции#
- abs(x) [same as input]#
Возвращает абсолютное значение
x.
- cbrt(x) double#
Возвращает кубический корень из
x.
- ceiling(x) [same as input]#
Возвращает
x, округленное вверх до ближайшего целого.
- degrees(x) double#
Преобразует угол
xиз радиан в градусы.
- e() double#
Возвращает константу — число Эйлера.
- exp(x) double#
Возвращает число Эйлера в степени
x.
- floor(x) [same as input]#
Возвращает
x, округленное вниз до ближайшего целого.
- ln(x) double#
Возвращает натуральный логарифм
x.
- log(b, x) double#
Возвращает логарифм
xпо основаниюb.
- log2(x) double#
Возвращает логарифм
xпо основанию 2.
- log10(x) double#
Возвращает логарифм
xпо основанию 10.
- mod(n, m) [same as input]#
Возвращает модуль (остаток) от деления
nнаm.
- pi() double#
Возвращает константу Pi.
- power(x, p) double#
Возвращает
xв степениp.
- radians(x) double#
Преобразует угол
xиз градусов в радианы.
- round(x) [same as input]#
Возвращает
x, округленное до ближайшего целого.
- round(x, d) [same as input]
Возвращает
x, округленное доdзнаков после запятой.
- sign(x) [same as input]#
Возвращает функцию signum для
x, то есть:0, если аргумент равен 0,
1, если аргумент больше 0,
-1, если аргумент меньше 0.
Для аргументов с плавающей точкой функция дополнительно возвращает:
-0, если аргумент равен -0,
NaN, если аргумент равен NaN,
1, если аргумент равен +Infinity,
-1, если аргумент равен -Infinity.
- sqrt(x) double#
Возвращает квадратный корень из
x.
- truncate(x) double#
Возвращает
x, округленное до целого путем отбрасывания цифр после десятичной точки.
- width_bucket(x, bound1, bound2, n) bigint#
Возвращает номер корзины для
xв гистограмме равной ширины с заданными границамиbound1иbound2и количеством корзинn.
- width_bucket(x, bins) bigint
Возвращает номер корзины для
xв соответствии с корзинами, заданными массивомbins. Параметрbinsдолжен быть массивом double и предполагается, что он отсортирован по возрастанию.
Случайные функции#
- random() double#
Возвращает псевдослучайное значение в диапазоне 0.0 <= x < 1.0.
- random(n) [same as input]
Возвращает псевдослучайное число между 0 и n (не включая n).
- random(m, n) [same as input]
Возвращает псевдослучайное число между m и n (не включая границы).
Тригонометрические функции#
Все аргументы тригонометрических функций выражаются в радианах.
См. функции преобразования единиц degrees() и radians().
- acos(x) double#
Возвращает арккосинус
x.
- asin(x) double#
Возвращает арксинус
x.
- atan(x) double#
Возвращает арктангенс
x.
- atan2(y, x) double#
Возвращает арктангенс
y / x.
- cos(x) double#
Возвращает косинус
x.
- cosh(x) double#
Возвращает гиперболический косинус
x.
- sin(x) double#
Возвращает синус
x.
- sinh(x) double#
Возвращает гиперболический синус
x.
- tan(x) double#
Возвращает тангенс
x.
- tanh(x) double#
Возвращает гиперболический тангенс
x.
Геометрические функции#
- cosine_distance(array(double), array(double)) double#
Вычисляет косинусное расстояние между двумя плотными векторами:
SELECT cosine_distance(ARRAY[1.0, 2.0], ARRAY[3.0, 4.0]); -- 0.01613008990009257
- cosine_distance(x, y) double
Вычисляет косинусное расстояние между двумя разреженными векторами:
SELECT cosine_distance(MAP(ARRAY['a'], ARRAY[1.0]), MAP(ARRAY['a'], ARRAY[2.0])); -- 0.0
- cosine_similarity(array(double), array(double)) double#
Вычисляет косинусное сходство двух плотных векторов:
SELECT cosine_similarity(ARRAY[1.0, 2.0], ARRAY[3.0, 4.0]); -- 0.9838699100999074
- cosine_similarity(x, y) double
Вычисляет косинусное сходство двух разреженных векторов:
SELECT cosine_similarity(MAP(ARRAY['a'], ARRAY[1.0]), MAP(ARRAY['a'], ARRAY[2.0])); -- 1.0
Функции с плавающей точкой#
- infinity() double#
Возвращает константу, представляющую положительную бесконечность.
- is_finite(x) boolean#
Определяет, является ли
xконечным.
- is_infinite(x) boolean#
Определяет, является ли
xбесконечным.
- is_nan(x) boolean#
Определяет, является ли
xnot-a-number.
- nan() double#
Возвращает константу, представляющую not-a-number.
Функции преобразования оснований#
- from_base(string, radix) bigint#
Возвращает значение
string, интерпретируемое как число в системе счисления с основаниемradix.
- to_base(x, radix) varchar#
Возвращает представление
xв системе счисления с основаниемradix.
Статистические функции#
- t_pdf(x, df) double#
Вычисляет функцию плотности вероятности t-распределения Стьюдента для заданных x и числа степеней свободы (df). x должен быть вещественным значением, а число степеней свободы — целым положительным значением.
- wilson_interval_lower(successes, trials, z) double#
Возвращает нижнюю границу интервала Уилсона для процесса испытаний Бернулли при доверительном уровне, заданном z-оценкой
z.
- wilson_interval_upper(successes, trials, z) double#
Возвращает верхнюю границу интервала Уилсона для процесса испытаний Бернулли при доверительном уровне, заданном z-оценкой
z.
Функции накопительного распределения#
- beta_cdf(a, b, v) double#
Вычисляет Beta cdf с заданными параметрами a, b: P(N < v; a, b). Параметры a, b должны быть положительными вещественными числами, а значение v должно быть вещественным. Значение v должно лежать в интервале [0, 1].
- inverse_beta_cdf(a, b, p) double#
Вычисляет обратную функцию Beta cdf с заданными параметрами a, b для накопленной вероятности (p): P(N < n). Параметры a, b должны быть положительными вещественными значениями. Вероятность p должна лежать в интервале [0, 1].
- inverse_normal_cdf(mean, sd, p) double#
Вычисляет обратную функцию Normal cdf с заданными средним и стандартным отклонением (sd) для накопленной вероятности (p): P(N < n). Среднее должно быть вещественным значением, а стандартное отклонение должно быть вещественным положительным значением. Вероятность p должна лежать в интервале (0, 1).
- normal_cdf(mean, sd, v) double#
Вычисляет Normal cdf с заданными средним и стандартным отклонением (sd): P(N < v; mean, sd). Среднее и значение v должны быть вещественными значениями, а стандартное отклонение должно быть вещественным положительным значением.
- t_cdf(x, df) double#
Вычисляет функцию накопительной плотности t-распределения Стьюдента для заданных x и числа степеней свободы (df). Значение x должно быть вещественным, а число степеней свободы должно быть целым положительным значением.