Підручник з KAlgebra

# Підручник з KAlgebra

Aleix Pol `<aleixpol@gmail.com>`

Переклад українською: Юрій Чорноіван
версія Програми 20.12 (17 грудня 2020 року)

Авторське право © 2007 Aleix Pol

Правова примітка

KAlgebra — програма, яка може замінити вам калькулятор з можливістю побудови графіків. У програмі передбачено числові, логічні, символічні та аналітичні можливості, за допомогою яких ви зможете виконувати обчислення за формулами у калькуляторі або будувати результати у форматі плоских кривих або просторових графіків. KAlgebra засновано на мові математичної розмітки (Mathematical Markup Language і MathML). Втім, для користування KAlgebra знати MathML не потрібно.

Розділ 1. Вступ
Вступ

# Розділ 1. Вступ

У KAlgebra передбачено численні можливості, за допомогою яких користувач здатен виконувати будь-які обчислення та будувати за результатами графіки. Певний час програму було зорієнтовано лише на розвиток і використання можливостей MathML. Поточною ж версією може користуватися будь-хто з мінімальними знаннями математики для розв’язування простих та складних задач.

Серед можливостей програми:

- калькулятор для пришвидшення та спрощення обчислення за математичними формулами;

- можливість створення скриптів для виконання послідовних обчислень;

- можливості мови програмування, зокрема визначення функцій та автодоповнення синтаксичних конструкцій;

- можливості числення, зокрема диференціювання, векторне числення та обробка списків;

- креслення графіків функцій з інтерактивним курсором для пошуку коренів та виконання інших аналітичних дійґ;

- креслення просторових поверхонь з метою візуалізації тривимірних даних.

- вбудований словник операцій та операторів з довідковими можливостями щодо багатьох функцій, якими можна скористатися у програмі;

На цьому зображенні ви бачите головне вікно KAlgebra:

Після запуску користувачем сеансу KAlgebra буде відкрито одне головне вікно, що складається з вкладки Калькулятор, вкладки двовимірних (плоских) графіків, вкладки тривимірних (просторових) графіків і вкладки Словника. Під цими вкладками знаходиться поле для введення ваших функцій і виконання обчислень та поле для показу результатів.

Керувати сеансом можна за допомогою пунктів меню Сеанс:

Сеанс → Створити (Ctrl+N)

  Відкрити нове вікно KAlgebra.

Сеанс → Повноекранний режим (Ctrl+Shift+F)

  Увімкнути або вимкнути режим повноекранного показу вікна KAlgebra. Повноекранний режим можна також увімкнути або вимкнути за допомогою кнопки , розташованої у правій верхній частині вікна KAlgebra.

Сеанс → Вийти (Ctrl+Q)

  Завершує роботу програми.

Розділ 2. Синтаксис
Синтаксис

# Розділ 2. Синтаксис

У KAlgebra використовується інтуїтивно зрозумілий алгебраїчний синтаксис для функцій, визначених користувачем, подібний до використаного у більшості сучасних графічних калькуляторів. У цьому розділі наведено основні вбудовані оператори KAlgebra. Синтаксичні конструкції автор KAlgebra створив на основі синтаксичних конструкцій Maxima та maple для користувачів, які можуть бути обізнані з цими програмами.

Для тих, хто цікавиться внутрішніми механізмами роботи KAlgebra: введені користувачем вирази перетворюються на вирази мовою MathML сервером обробки. Початкове розуміння можливостей, що підтримуються MathML, виходить далеко за межі визначення внутрішніх можливостей KAlgebra.

Ось список доступних у цій версії дій:

- `+ - * /`: Додавання, віднімання, множення і ділення.

- `^, **`: Піднесення до степеня, можна використовувати обидва позначення. Також можна використовувати символи unicode `²`. Степені також використовуються для позначення коренів, це можна зробити за допомогою формули. Приклад: `a**(1/b)`

- `->`: лямбда. За допомогою цього виразу можна вказати одну або декілька вільних змінних, які буде пов’язано у функцію. Наприклад, у виразі `length:=(x,y)->(x*x+y*y)^0.5`, лямбда-оператор використовується для позначення того, що `x` і `y` буде пов’язано під час обчислення функції довжини.

- `x=a..b`: Ця конструкція використовується, якщо ми змінюємо діапазон зміни змінної (обмежена зміна+обмеження згори+обмеження знизу). Це означає, що `x` пробігає значення від `a` до `b`.

- `()`: Дужки використовуються для зазначення вищого пріоритету обчислень.

- `abc(параметри)`: Функції. Коли обробник знаходить функцію, він перевіряє, чи є `abc` оператором. Якщо це так, дії з ним буде виконано як з оператором, якщо ні — обробник поводитиметься з ним як з функцією.

- `:=`: Визначення. Використовується для встановлення значення змінної. Ви можете писати `x:=3`, `x:=y` у випадках визначеності або невизначеності `y`, або `perimeter:=r->2*pi*r`.

- `?`: Визначення кускової умови. Кускові умови — це спосіб визначення умовних розгалужень у KAlgebra. Інакше кажучи, це спосіб визначення послідовності умов if, elseif, else. Якщо вказати умову перед знаком «`?`», значення буде використано, лише якщо умова справджується, якщо обробник знайде «`?`» без жодної умови, буде використано залишок після попередніх умов. Приклад: `piecewise { x=0 ? 0, x=1 ? x+1, ? x**2 }`

- `{ }`: Контейнер MathML. Його можна використовувати для визначення контейнера. Головним чином корисний для роботи з кусковими виразами.

- `= > >= < <=`: порівняння значень (рівність, більше, більше або дорівнює, менше та менше або дорівнює, відповідно)

Читач тепер може зауважити, а навіщо взагалі згадувати про MathML? Дуже просто. За його допомогою можна виконувати операції, подібні до `cos()`, `sin()`, будь-яких інших тригонометричних функцій, `sum()` або `product()`. Характер самої функції не є важливим. Можна використовувати `plus()`, `times()` і будь-які інші функції, яким відповідає певний оператор. Також реалізовано булеві функції, отже, можна виконувати операції, подібні до `or(1,0,0,0,0)`.

Розділ 3. Користування калькулятором
Користування калькулятором

# Розділ 3. Користування калькулятором

Калькулятор KAlgebra — корисний калькулятор з додатковими можливостями. Користувач може вводити вирази для обчислення у режимах Обчислення та Визначення значення, залежно від вибраного у меню Калькулятор варіанта.

У режимі визначення значення KAlgebra намагається спростити вираз, навіть якщо якусь з його змінних не визначено. У режимі обчислення KAlgebra виконує обчислення всіх знайдених виразів, а якщо виявить невизначену змінну, покаже повідомлення про помилку.

Окрім показу введених користувачем рівнянь та результатів обчислень, на панелі калькулятора буде показано всі оголошені змінні (праворуч). Подвійним клацанням на пункті змінної можна буде викликати діалогове вікно, за допомогою якого ви зможете змінити значення змінної (якщо треба підкоригувати проміжні результати).

Змінна «`ans`» є особливою. Кожного разу після введення виразу для обчислень значення «`ans`» замінюватиметься останнім результатом.

Нижче наведено приклад функцій, які можна ввести до поля введення панелі калькулятора:

- `sin(pi)`

- `k:=33`

- `sum(k*x : x=0..10)`

- `f:=p->p*k`

- `f(pi)`

Нижче наведено знімок панелі калькулятора після введення наведених вище прикладів виразів:

Користувач може керувати послідовністю обчислень за допомогою пунктів меню Калькулятор:

Калькулятор → Завантажити скрипт… (Ctrl+L)

  Послідовно виконує інструкції з файла. Корисне для визначення деяких бібліотек або відновлення попередніх сеансів.

Калькулятор → Нещодавні скрипти

  Показує підменю, за допомогою якого ви можете вибрати один із нещодавно виконаних скриптів.

Калькулятор → Зберегти скрипт… (Ctrl+G)

  Зберігає інструкції, які ви ввели з часу початку сеансу для подальшого повторного використання. Створює текстові файли, які буде просто виправити, за допомогою, наприклад, Kate.

Калькулятор → Експортувати журнал… (Ctrl+S)

  Зберігає журнал з результатами та іншою інформацією до файла HTML, який можна надрукувати або оприлюднити у мережі.

Калькулятор → Вставити відповідь… (F3)

  Вставляє змінну «`ans`» і полегшує повторне використання попередніх результатів обчислень.

Калькулятор → Обчислення

  Перемикач для встановлення параметра Режим виконання для обчислень.

Калькулятор → Визначення значення

  Перемикач для встановлення параметра Режим виконання для визначення значень.

Розділ 4. Двовимірні графіки
Двовимірні графіки

# Розділ 4. Двовимірні графіки

Щоб додати новий двовимірний графік у KAlgebra, вам просто слід перейти до вкладки Двовимірні графіки і натиснути кнопку Додати, щоб додати нову функцію. Після цього фокус буде передано у поле для введення тексту, де ви зможете вказати вашу функцію.

## Синтаксис

Якщо ви бажаєте використовувати звичайну функцію `f(x)`, не потрібно окремо визначати її, але, якщо ви бажаєте визначити, скажімо, `f(y)` або функцію у полярних координатах, вам слід додати `y->` і `q->` як обмежені змінні.

Приклади:

- `sin(x)`

- `x²`

- `y->sin(y)`

- `q->3*sin(7*q)`

- `t->vector{sin t, t**2}`

Якщо ви ввели функцію, натисніть кнопку Гаразд, щоб побачити графік у головному вікні.

Можливості
Можливості

## Можливості

Можна накреслити декілька графіків на одному малюнку. Просто скористайтеся кнопкою Додати, коли ви знаходитеся у режимі списку. Для кожного з графіків ви можете встановити його колір.

Розмір та розташування області перегляду можна змінювати за допомогою миші. За допомогою коліщатка ви можете її збільшувати або зменшувати. Також ви можете вибрати область, утримуючи ліву кнопку миші, коли ви відпустите кнопку, область буде збільшено до розмірів області перегляду. Пересунути область перегляду можна за допомогою клавіш зі стрілочками.

### Примітка

Ви можете явно задати ділянку показу плоского графіка за допомогою вкладки Демонстраційне вікно вкладки Двовимірний графік.

За допомогою вкладки Список, яку розташовано у нижній правій частині вікна, ви можете відкрити вкладку Редагування для редагування або вилучення функції: двічі клацніть на позначці функції у списку. Позначенням або зняттям позначки з пункту функції можна наказати програмі показувати або приховувати графік функції.

У меню Двовимірний графік ви знайдете такі пункти:

- Сітка: показати або приховати сітку

- Зберігати співвідношення розмірів: зберігати співвідношення розмірів під час зміни масштабу

- Зберегти: зберегти (Ctrl+S) графік у файлі зображення

- Збільшити/Зменшити: збільшити (Ctrl++) і зменшити (Ctrl+-)

- Фактичний розмір: оновити перегляд до початкового масштабу

- Роздільна здатність: містить список варіантів для вибору роздільної здатності для графіків

Нижче наведено знімок вікна, на якому вказівник користувача розташовано у позиції найправішого кореня функції `sin(1/x)`. Для креслення графіка використано дуже малий масштаб, оскільки функція осцилює у околі початку координат. Також показано можливості інтерактивного курсора: у відповідь на наведення вказівника на точку графіка програма показує значення координат `x` та `y` у нижньому лівому куті екрана. Також на графіку показано інтерактивну лінію дотичної.

Розділ 5. Тривимірні графіки
Тривимірні графіки

# Розділ 5. Тривимірні графіки

Щоб накреслити тривимірний графік за допомогою KAlgebra, вам слід перейти до вкладки Тривимірні графіки, там внизу ви побачите поле для вводу, куди і слід ввести вашу функцію. `Z` поки що визначати не можна, у цій версії KAlgebra підтримується лише явне задання поверхонь у вигляді залежності від `x` і `y`, наприклад `(x,y)->x*y`, де `z=x*y`.

Приклади:

- `(x,y)->sin(x)*sin(y)`

- `(x,y)->x/y`

Розмір та розташування області перегляду можна змінювати за допомогою миші. За допомогою коліщатка ви можете її збільшувати або зменшувати. Натисніть і утримуйте ліву кнопку миші, а потім пересуньте вказівник миші, щоб повернути графік.

За допомогою клавіш зі стрілочками ліворуч і праворуч можна обертати графік навколо осі `z`, за допомогою клавіш зі стрілочками вгору і вниз можна обертати графік навколо горизонтальної осі перегляду. Натисканням клавіші W можна збільшити масштаб, а натисканням клавіші S — зменшити його.

У меню Тривимірний графік ви знайдете такі пункти:

- Зберегти: зберегти (Ctrl+S) графік у файлі зображення або підтримуваному документі

- Скинути перегляд: пункт відновлення початкового масштабу у меню Тривимірний графік

- У меню просторового графіка передбачено можливості малювати графік точками, лініями або суцільною поверхнею.

Нижче наведено знімок так званої поверхні «Сомбреро». Поверхню показано з використанням лінійчастого стилю просторових графіків.

Розділ 6. Словник
Словник

# Розділ 6. Словник

Словник є збіркою всіх доступних дій KAlgebra. За його допомогою можна знайти визначення всіх операцій та параметрів, які слід вказати для виконання дій. Він корисним для ознайомлення з багатьма можливостями KAlgebra.

Нижче наведено знімок вікна з прикладом пошуку функції косинуса у словнику KAlgebra.

Розділ 7. Команди, що підтримуються KAlgebra
Команди, що підтримуються KAlgebra

# Розділ 7. Команди, що підтримуються KAlgebra

## plus

- Назва: plus

- Опис: додавання

- Параметри: plus(... параметри, ...)

- Приклад: x->x+2

times
times

## times

- Назва: times

- Опис: множення

- Параметри: times(... параметри, ...)

- Приклад: x->x*2

minus
minus

## minus

- Назва: minus

- Опис: віднімання. Віднімає всі значення від першого.

- Параметри: minus(... параметри, ...)

- Приклад: x->x-2

divide
divide

## divide

- Назва: divide

- Опис: ділення

- Параметри: divide(параметр1, параметр2)

- Приклад: x->x/2

quotient
quotient

## quotient

- Назва: quotient

- Опис: ціла частина від ділення

- Параметри: quotient(параметр1, параметр2)

- Приклад: x->quotient(x, 2)

power
power

## power

- Назва: power

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

- Параметри: power(параметр1, параметр2)

- Приклад: x->x^2

root
root

## root

- Назва: root

- Опис: корінь

- Параметри: root(параметр1, параметр2)

- Приклад: x->root(x, 2)

factorial
factorial

## factorial

- Назва: factorial

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

- Параметри: factorial(параметр1)

- Приклад: x->factorial(x)

and
and

## and

- Назва: and

- Опис: булівське «ТА»

- Параметри: and(... параметр, ...)

- Приклад: x->piecewise { and(x>-2, x<2) ? 1, ? 0 }

or
or

## or

- Назва: or

- Опис: булівське «АБО»

- Параметри: or(... параметр, ...)

- Приклад: x->piecewise { or(x>2, x>-2) ? 1, ? 0 }

xor
xor

## xor

- Назва: xor

- Опис: булівське виключне «АБО»

- Параметри: xor(... параметр, ...)

- Приклад: x->piecewise { xor(x>0, x<3) ? 1, ? 0 }

not
not

## not

- Назва: not

- Опис: булівське «НІ»

- Параметри: not(параметр1)

- Приклад: x->piecewise { not(x>0) ? 1, ? 0 }

gcd
gcd

## gcd

- Назва: gcd

- Опис: найбільший спільний дільник

- Параметри: gcd(... параметр, ...)

- Приклад: x->gcd(x, 3)

lcm
lcm

## lcm

- Назва: lcm

- Опис: найменше спільне кратне

- Параметри: lcm(... параметр, ...)

- Приклад: x->lcm(x, 4)

rem
rem

## rem

- Назва: rem

- Опис: лишок від ділення

- Параметри: rem(параметр1, параметр2)

- Приклад: x->rem(x, 5)

factorof
factorof

## factorof

- Назва: factorof

- Опис: чи є число дільником

- Параметри: factorof(параметр1, параметр2)

- Приклад: x->factorof(x, 3)

max
max

## max

- Назва: max

- Опис: максимум

- Параметри: max(... параметр, ...)

- Приклад: x->max(x, 4)

min
min

## min

- Назва: min

- Опис: мінімум

- Параметри: min(... параметр, ...)

- Приклад: x->min(x, 4)

lt
lt

## lt

- Назва: lt

- Опис: менше. lt(a,b)=a<b

- Параметри: lt(параметр1, параметр2)

- Приклад: x->piecewise { x<4 ? 1, ? 0 }

gt
gt

## gt

- Назва: gt

- Опис: більше. gt(a,b)=a>b

- Параметри: gt(параметр1, параметр2)

- Приклад: x->piecewise { x>4 ? 1, ? 0 }

eq
eq

## eq

- Назва: eq

- Опис: дорівнює. eq(a,b) = a=b

- Параметри: eq(параметр1, параметр2)

- Приклад: x->piecewise { x=4 ? 1, ? 0 }

neq
neq

## neq

- Назва: neq

- Опис: не дорівнює. neq(a,b)=a≠b

- Параметри: neq(параметр1, параметр2)

- Приклад: x->piecewise { x!=4 ? 1, ? 0 }

leq
leq

## leq

- Назва: leq

- Опис: менше або дорівнює. leq(a,b) = a⩽b

- Параметри: leq(параметр1, параметр2)

- Приклад: x->piecewise { x<=4 ? 1, ? 0 }

geq
geq

## geq

- Назва: geq

- Опис: більше або дорівнює. geq(a,b)= a⩾b

- Параметри: geq(параметр1, параметр2)

- Приклад: x->piecewise { x>=4 ? 1, ? 0 }

implies
implies

## implies

- Назва: implies

- Опис: булівська імплікація (є наслідком)

- Параметри: implies(параметр1, параметр2)

- Приклад: x->piecewise { implies(x<0, x<3) ? 1, ? 0 }

approx
approx

## approx

- Назва: approx

- Опис: приблизно дорівнює. approx(a) = a±n

- Параметри: approx(параметр1, параметр2)

- Приклад: x->piecewise { approx(x, 4) ? 1, ? 0 }

abs
abs

## abs

- Назва: abs

- Опис: модуль. abs(n)=|n|

- Параметри: abs(параметр1)

- Приклад: x->abs(x)

floor
floor

## floor

- Назва: floor

- Опис: округлення до меншого цілого. floor(n) = ⌊n⌋

- Параметри: floor(параметр1)

- Приклад: x->floor(x)

ceiling
ceiling

## ceiling

- Назва: ceiling

- Опис: Ceil value. ceil(n) = ⌈n⌉

- Параметри: ceiling(параметр1)

- Приклад: x->ceiling(x)

sin
sin

## sin

- Назва: sin

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

- Параметри: sin(параметр1)

- Приклад: x->sin(x)

cos
cos

## cos

- Назва: cos

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

- Параметри: cos(параметр1)

- Приклад: x->cos(x)

tan
tan

## tan

- Назва: tan

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

- Параметри: tan(параметр1)

- Приклад: x->tan(x)

sec
sec

## sec

- Назва: sec

- Опис: секанс

- Параметри: sec(параметр1)

- Приклад: x->sec(x)

csc
csc

## csc

- Назва: csc

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

- Параметри: csc(параметр1)

- Приклад: x->csc(x)

cot
cot

## cot

- Назва: cot

- Опис: котангенс

- Параметри: cot(параметр1)

- Приклад: x->cot(x)

sinh
sinh

## sinh

- Назва: sinh

- Опис: гіперболічний синус

- Параметри: sinh(параметр1)

- Приклад: x->sinh(x)

cosh
cosh

## cosh

- Назва: cosh

- Опис: гіперболічний косинус

- Параметри: cosh(параметр1)

- Приклад: x->cosh(x)

tanh
tanh

## tanh

- Назва: tanh

- Опис: гіперболічний тангенс

- Параметри: tanh(параметр1)

- Приклад: x->tanh(x)

sech
sech

## sech

- Назва: sech

- Опис: гіперболічний секанс

- Параметри: sech(параметр1)

- Приклад: x->sech(x)

csch
csch

## csch

- Назва: csch

- Опис: гіперболічний косеканс

- Параметри: csch(параметр1)

- Приклад: x->csch(x)

coth
coth

## coth

- Назва: coth

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

- Параметри: coth(параметр1)

- Приклад: x->coth(x)

arcsin
arcsin

## arcsin

- Назва: arcsin

- Опис: арксинус

- Параметри: arcsin(параметр1)

- Приклад: x->arcsin(x)

arccos
arccos

## arccos

- Назва: arccos

- Опис: арккосинус

- Параметри: arccos(параметр1)

- Приклад: x->arccos(x)

arctan
arctan

## arctan

- Назва: arctan

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

- Параметри: arctan(параметр1)

- Приклад: x->arctan(x)

arccot
arccot

## arccot

- Назва: arccot

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

- Параметри: arccot(параметр1)

- Приклад: x->arccot(x)

arccosh
arccosh

## arccosh

- Назва: arccosh

- Опис: гіперболічний арккосинус

- Параметри: arccosh(параметр1)

- Приклад: x->arccosh(x)

arccsc
arccsc

## arccsc

- Назва: arccsc

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

- Параметри: arccsc(параметр1)

- Приклад: x->arccsc(x)

arccsch
arccsch

## arccsch

- Назва: arccsch

- Опис: гіперболічний арккосеканс

- Параметри: arccsch(параметр1)

- Приклад: x->arccsch(x)

arcsec
arcsec

## arcsec

- Назва: arcsec

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

- Параметри: arcsec(параметр1)

- Приклад: x->arcsec(x)

arcsech
arcsech

## arcsech

- Назва: arcsech

- Опис: гіперболічний арксеканс

- Параметри: arcsech(параметр1)

- Приклад: x->arcsech(x)

arcsinh
arcsinh

## arcsinh

- Назва: arcsinh

- Опис: гіперболічний арксинус

- Параметри: arcsinh(параметр1)

- Приклад: x->arcsinh(x)

arctanh
arctanh

## arctanh

- Назва: arctanh

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

- Параметри: arctanh(параметр1)

- Приклад: x->arctanh(x)

exp
exp

## exp

- Назва: exp

- Опис: експонента (ex)

- Параметри: exp(параметр1)

- Приклад: x->exp(x)

ln
ln

## ln

- Назва: ln

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

- Параметри: ln(параметр1)

- Приклад: x->ln(x)

log
log

## log

- Назва: log

- Опис: десятковий логарифм

- Параметри: log(параметр1)

- Приклад: x->log(x)

conjugate
conjugate

## conjugate

- Назва: conjugate

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

- Параметри: conjugate(параметр1)

- Приклад: x->conjugate(x*i)

arg
arg

## arg

- Назва: arg

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

- Параметри: arg(параметр1)

- Приклад: x->arg(x*i)

real
real

## real

- Назва: real

- Опис: дійсна частина

- Параметри: real(параметр1)

- Приклад: x->real(x*i)

imaginary
imaginary

## imaginary

- Назва: imaginary

- Опис: уявна частина

- Параметри: imaginary(параметр1)

- Приклад: x->imaginary(x*i)

sum
sum

## sum

- Назва: sum

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

- Параметри: sum(параметр1:var=від..до)

- Приклад: x->x*sum(t*t:t=0..3)

product
product

## product

- Назва: product

- Опис: добуток

- Параметри: product(параметр1 : var=від..до)

- Приклад: x->product(t+t:t=1..3)

diff
diff

## diff

- Назва: diff

- Опис: диференціювання

- Параметри: diff(параметр1 : змінна)

- Приклад: x->(diff(x^2:x))(x)

card
card

## card

- Назва: card

- Опис: потужність множини

- Параметри: card(параметр1)

- Приклад: x->card(vector { x, 1, 2 })

scalarproduct
scalarproduct

## scalarproduct

- Назва: scalarproduct

- Опис: скалярний добуток

- Параметри: scalarproduct(... параметр, ...)

- Приклад: x->scalarproduct(vector { 0, x }, vector { x, 0 })[1]

selector
selector

## selector

- Назва: selector

- Опис: вибрати елемент параметр1 зі списку чи вектора параметр2

- Параметри: selector(параметр1, параметр2)

- Приклад: x->scalarproduct(vector { 0, x }, vector { x, 0 })[1]

union
union

## union

- Назва: union

- Опис: з’єднує декілька елементів одного типу

- Параметри: union(... параметр, ...)

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

forall
forall

## forall

- Назва: forall

- Опис: для всіх

- Параметри: forall(par1 : var)

- Приклад: x->piecewise { forall(t:t@list { true, false, false }) ? 1, ? 0 }

exists
exists

## exists

- Назва: exists

- Опис: існує

- Параметри: exists(параметр1 : змінна)

- Приклад: x->piecewise { exists(t:t@list { true, false, false }) ? 1, ? 0 }

map
map

## map

- Назва: map

- Опис: застосувати функцію до всіх елементів списку

- Параметри: map(параметр1, параметр2)

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

filter
filter

## filter

- Назва: filter

- Опис: вилучити всі елементи, які не задовольняють умові

- Параметри: filter(параметр1, параметр2)

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

transpose
transpose

## transpose

- Назва: transpose

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

- Параметри: transpose(параметр1)

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

Розділ 8. Подяки і ліцензія
Подяки і ліцензія

# Розділ 8. Подяки і ліцензія

- Авторські права на програму належать Aleix Pol, ©2005-2009

Авторські права на документацію до програми належать Aleix Pol `(aleixpol AT gmail.com)`, ©2007

Юрій Чорноіван `(yurchor AT ukr.net)`

Цей документ поширюється за умов дотримання GNU Free Documentation License.

Ця програма поширюється за умов дотримання GNU General Public License.