# Команды, поддерживаемые KAlgebra

## plus

- Название: plus

- Описание: сложение

- Использование: plus(... параметры, ...)

- Пример: x->x+2

## times

- Название: times

- Описание: умножение

- Использование: times(... параметры, ...)

- Пример: x->x*2

## minus

- Название: minus

- Описание: вычитание. Вычесть все значения из первого.

- Использование: minus(... параметры, ...)

- Пример: x->x-2

## divide

- Название: divide

- Описание: деление

- Использование: divide(... параметры, ...)

- Пример: x->x/2

## quotient

- Название: quotient

- Описание: частное

- Использование: quotient(... параметры, ...)

- Пример: x->quotient(x, 2)

## power

- Название: power

- Описание: степень

- Использование: power(par1, par2)

- Пример: x->x^2

## root

- Название: root

- Описание: корень

- Использование: root(par1, par2)

- Пример: x->root(x, 2)

## factorial

- Название: factorial

- Описание: факториал. factorial(n)=n!

- Использование: factorial(par1)

- Пример: x->factorial(x)

## and

- Название: and

- Описание: логическое И

- Использование: and(... параметры, ...)

- Пример: x->piecewise { and(x>-2, x<2) ? 1, ? 0 }

## or

- Название: or

- Описание: логическое ИЛИ

- Использование: or(... параметры, ...)

- Пример: x->piecewise { or(x>2, x>-2) ? 1, ? 0 }

## xor

- Название: xor

- Описание: логическое исключающее ИЛИ

- Использование: xor(... параметры, ...)

- Пример: x->piecewise { xor(x>0, x<3) ? 1, ? 0 }

## not

- Название: not

- Описание: логическое отрицание

- Использование: not(par1)

- Пример: x->piecewise { not(x>0) ? 1, ? 0 }

## gcd

- Название: gcd

- Описание: наибольший общий делитель

- Использование: gcd(... параметры, ...)

- Пример: x->gcd(x, 3)

## lcm

- Название: lcm

- Описание: наименьшее общее кратное

- Использование: lcm(... параметры, ...)

- Пример: x->lcm(x, 4)

## rem

- Название: rem

- Описание: остаток от деления

- Использование: rem(par1, par2)

- Пример: x->rem(x, 5)

## factorof

- Название: factorof

- Описание: возвращает истину, если par1 делится на par2 без остатка

- Использование: factorof(par1, par2)

- Пример: x->factorof(x, 3)

## max

- Название: max

- Описание: возвращает максимальный из параметров

- Использование: max(... параметры, ...)

- Пример: x->max(x, 4)

## min

- Название: min

- Описание: возвращает минимальный из параметров

- Использование: min(... параметры, ...)

- Пример: x->min(x, 4)

## lt

- Название: lt

- Описание: если par1 меньше par2, возвращает истину. lt(a,b)=a<b

- Использование: lt(par1, par2)

- Пример: x->piecewise { x<4 ? 1, ? 0 }

## gt

- Название: gt

- Описание: если par1 больше par2, возвращает истину. gt(a,b)=a>b

- Использование: gt(par1, par2)

- Пример: x->piecewise { x>4 ? 1, ? 0 }

## eq

- Название: eq

- Описание: если par1 равно par2, возвращает истину. eq(a,b)=a=b

- Использование: eq(par1, par2)

- Пример: x->piecewise { x=4 ? 1, ? 0 }

## neq

- Название: neq

- Описание: если par1 не равно par2, возвращает истину. neq(a,b)=a≠b

- Использование: neq(par1, par2)

- Пример: x->piecewise { x!=4 ? 1, ? 0 }

## leq

- Название: leq

- Описание: если par1 меньше или равно par2, возвращает истину. leq(a,b)=a⩽b

- Использование: leq(par1, par2)

- Пример: x->piecewise { x<=4 ? 1, ? 0 }

## geq

- Название: geq

- Описание: если par1 больше или равно par2, возвращает истину. geq(a,b)=a⩾b

- Использование: geq(par1, par2)

- Пример: x->piecewise { x>=4 ? 1, ? 0 }

## implies

- Название: implies

- Описание: логическое следование

- Использование: implies(par1, par2)

- Пример: x->piecewise { implies(x<0, x<3) ? 1, ? 0 }

## approx

- Название: approx

- Описание: приблизительное сравнение. approx(a)=a±n

- Использование: approx(par1, par2)

- Пример: x->piecewise { approx(x, 4) ? 1, ? 0 }

## abs

- Название: abs

- Описание: абсолютное значение. abs(n)=|n|

- Использование: abs(par1)

- Пример: x->abs(x)

## floor

- Название: floor

- Описание: округление числа до ближайшего целого в меньшую сторону. floor(n)=⌊n⌋

- Использование: floor(par1)

- Пример: x->floor(x)

## ceiling

- Название: ceiling

- Описание: округление числа до ближайшего целого в большую сторону. ceil(n)=⌈n⌉

- Использование: ceiling(par1)

- Пример: x->ceiling(x)

## sin

- Название: sin

- Описание: функция для вычисления синуса данного угла

- Использование: sin(par1)

- Пример: x->sin(x)

## cos

- Название: cos

- Описание: функция для вычисления косинуса данного угла

- Использование: cosin(par1)

- Пример: x->cos(x)

## tan

- Название: tan

- Описание: функция для вычисления тангенса данного угла

- Использование: tan(par1)

- Пример: x->tan(x)

## sec

- Название: sec

- Описание: функция для вычисления секанса данного угла

- Использование: sec(par1)

- Пример: x->sec(x)

## csc

- Название: csc

- Описание: функция для вычисления косеканса данного угла

- Использование: csc(par1)

- Пример: x->csc(x)

## cot

- Название: cot

- Описание: функция для вычисления котангенса данного угла

- Использование: cot(par1)

- Пример: x->cot(x)

## sinh

- Название: sinh

- Описание: функция для вычисления гиперболического синуса данного угла

- Использование: sinh(par1)

- Пример: x->sinh(x)

## cosh

- Название: cosh

- Описание: функция для вычисления гиперболического синуса данного угла

- Использование: cosh(par1)

- Пример: x->cosh(x)

## tanh

- Название: tanh

- Описание: функция для вычисления гиперболического тангенса данного угла

- Использование: tanh(par1)

- Пример: x->tanh(x)

## sech

- Название: sech

- Описание: функция для вычисления гиперболического секанса данного угла

- Использование: sech(par1)

- Пример: x->sech(x)

## csch

- Название: csch

- Описание: функция для вычисления гиперболического секанса данного угла

- Использование: csch(par1)

- Пример: x->csch(x)

## coth

- Название: coth

- Описание: функция для вычисления гиперболического котангенса данного угла

- Использование: coth(par1)

- Пример: x->coth(x)

## arcsin

- Название: arcsin

- Описание: функция для вычисления арксинуса данного угла

- Использование: arcsin(par1)

- Пример: x->arcsin(x)

## arccos

- Название: arccos

- Описание: функция для вычисления арккосинуса данного угла

- Использование: arccos(par1)

- Пример: x->arccos(x)

## arctan

- Название: arctan

- Описание: функция для вычисления арктангенса данного угла

- Использование: arctan(par1)

- Пример: x->arctan(x)

## arccot

- Название: arccot

- Описание: функция для вычисления арккотангенса данного угла

- Использование: arccot(par1)

- Пример: x->arccot(x)

## arccosh

- Название: arccosh

- Описание: функция для вычисления гиперболического арккосинуса данного угла

- Использование: arccosh(par1)

- Пример: x->arccosh(x)

## arccsc

- Название: arccsc

- Описание: функция для вычисления арккосеканса данного угла

- Использование: arccsc(par1)

- Пример: x->arccsc(x)

## arccsch

- Название: arccsch

- Описание: функция для вычисления гиперболического арккосеканса данного угла

- Использование: arccsch(par1)

- Пример: x->arccsch(x)

## arcsec

- Название: arcsec

- Описание: функция для вычисления арксеканса данного угла

- Использование: arcsec(par1)

- Пример: x->arcsec(x)

## arcsech

- Название: arcsech

- Описание: функция для вычисления гиперболического арксеканса данного угла

- Использование: arcsech(par1)

- Пример: x->arcsech(x)

## arcsinh

- Название: arcsinh

- Описание: функция для вычисления гиперболического арксинуса данного угла

- Использование: arcsinh(par1)

- Пример: x->arcsinh(x)

## arctanh

- Название: arctanh

- Описание: функция для вычисления гиперболического арктангенса данного угла

- Использование: arctanh(par1)

- Пример: x->arctanh(x)

## exp

- Название: exp

- Описание: экспонента (e^x)

- Использование: exp(par1)

- Пример: x->exp(x)

## ln

- Название: ln

- Описание: натуральный логарифм

- Использование: ln(par1)

- Пример: x->ln(x)

## log

- Название: log

- Описание: десятичный логарифм

- Использование: log(par1)

- Пример: x->log(x)

## conjugate

- Название: conjugate

- Описание: сопряжение

- Использование: conjugate(par1)

- Пример: x->conjugate(x*i)

## arg

- Название: arg

- Описание: аргумент

- Использование: arg(par1)

- Пример: x->arg(x*i)

## real

- Название: real

- Описание: функция для вычисления действительной части комплексного числа

- Использование: real(par1)

- Пример: x->real(x*i)

## imaginary

- Название: imaginary

- Описание: функция для вычисления мнимой части комплексного числа

- Использование: imaginary(par1)

- Пример: x->imaginary(x*i)

## sum

- Название: sum

- Описание: сумматор

- Использование: sum(par1 : перем=от..до)

- Пример: x->x*sum(t*t:t=0..3)

## product

- Название: product

- Описание: произведение

- Использование: product(par1 : перем=от..до)

- Пример: x->product(t+t:t=1..3)

## diff

- Название: diff

- Описание: дифференцирование

- Использование: diff(par1 : перем)

- Пример: x->(diff(x^2:x))(x)

## card

- Название: card

- Описание: кардинальное число

- Использование: card(par1)

- Пример: x->card(vector { x, 1, 2 })

## scalarproduct

- Название: scalarproduct

- Описание: скалярное произведение

- Использование: scalarproduct(... параметры, ...)

- Пример: x->scalarproduct(vector { 0, x }, vector { x, 0 })[1]

## selector

- Название: selector

- Описание: функция, равная одному из своих аргументов на всех наборах их значений

- Использование: selector(par1, par2)

- Пример: x->scalarproduct(vector { 0, x }, vector { x, 0 })[1]

## union

- Название: union

- Описание: объединяет несколько объектов одного типа

- Использование: union(... параметры, ...)

- Пример: x->union(list { 1, 2, 3 }, list { 4, 5, 6 })[rem(floor(x), 5)+3]

## forall

- Название: forall

- Описание: для всех

- Использование: forall(par1 : перем)

- Пример: x->piecewise { forall(t:t@list { true, false, false }) ? 1, ? 0 }

## exists

- Название: exists

- Описание: существование

- Использование: exists(par1 : перем)

- Пример: x->piecewise { exists(t:t@list { true, false, false }) ? 1, ? 0 }

## map

- Название: map

- Описание: применение функции к каждому элементу списка

- Использование: map(par1, par2)

- Пример: x->map(x->x+x, list { 1, 2, 3, 4, 5, 6 })[rem(floor(x), 5)+3]

## filter

- Название: filter

- Описание: удаление всех элементов, которые не соответствуют условию

- Использование: filter(par1, par2)

- Пример: x->filter(u->rem(u, 2)=0, list { 2, 4, 3, 4, 8, 6 })[rem(floor(x), 5)+3]

## transpose

- Название: transpose

- Описание: транспонирование

- Использование: transpose(par1)

- Пример: x->transpose(matrix { matrixrow { 1, 2, 3, 4, 5, 6 } })[rem(floor(x), 5)+3][1]