Operace v matematice, logice a informatice je postup, který na základě daných vstupů (nazývaných též argumenty, vstupní hodnoty nebo operandy) vyprodukuje jednu nebo více hodnot (nazývaných též výstupní hodnoty, výsledky nebo výstupy).[1] Nejčastěji se vyskytující operace jsou unární operace a binární operace. Unární operace vyžaduje jen jednu vstupní hodnotu (příkladem jsou trigonometrické funkce), zatímco binární operace vyžaduje dvě vstupní hodnoty (příkladem jsou třeba sčítání, odčítání, násobení nebo dělení).
Operace se ale nemusí týkat jen čísel, například v logice se mohou hodnoty pravda a nepravda spojovat operacemi konjunkce a disjunkce, vektory v lineární algebře se mohou sčítat a odčítat, množiny v teorii množin se mohou sjednocovat a pronikat a funktory v teorii kategorií se mohou skládat.
Operace nemusí být nutně definované pro všechny myslitelné hodnoty. Například operace dělení není pro reálná čísla definována, pokud je druhý argument 0. Argumenty, pro které je operace definována, tvoří definiční obor a hodnoty, které mohou být operací vyprodukovány, tvoří obor hodnot. [2] [3]
Formální definice
Operace je zobrazení z kartézského součinu nějakých množin do kartézského součinu nějakých množin. Formálně zapsáno je tedy operace ω zobrazení typu kde jsou množiny. Z formálního hlediska není kladen požadavek na nenulovou aritu kartézského součinu, je tedy možno uvažovat operace, které nemají vstup nebo výstup.
Algebraická operace
V algebře je pojem operace chápán v užším smyslu: n-ární operací nad množinou A rozumíme jako zobrazení z An do A, přičemž An označuje n-násobný kartézský součin (pro libovolné n).
Arita operace
Arita operace (česky místnost operace) je rovna aritě kartézského součinu vstupu, tzn. obsahuje-li vstup množin, pak říkáme, že operace je -ární.
Pro jde o operace nulární. Formálně jde o předpis, který bez vstupu vrátí hodnotu. Na konstanty je někdy (například ve funkcionálním programování) výhodné nahlížet jako na nulární operace.
Pro jde o operace unární. Unární operace transformují jeden prvek množiny na prvek množiny . Mezi unární operace patří např. změna znaménka, absolutní hodnota čísla, nebo operace identity, která přiřazuje každému prvku stejný prvek .
Pro se jedná o operace binární. Binární operace přiřazují každé dvojici prvků prvek nějaké množiny. Sčítání, odčítání, násobení, dělení nebo mocnění patří mezi binární operace.
Pro se jedná o ternární operaci. Ta přiřazuje každé trojici prvků prvek nějaké množiny. Ternární operací je například operátor ?: programovacích jazyků C nebo Java, ale také zápis if … then … else … používaný ve funkcionálních programovacích jazycích.
Operace vyšších arit se vyskytují především v programovacích jazycích, kde jsou nazývány funkce, metody nebo procedury (procedura je operace s prázdným oborem hodnot,[zdroj?!] anebo naopak podprogram, který sice má vstupy, ale zato je bez vlastního výstupu, nevrací žádnou hodnotu).
Příklady operací
Aritmetické operace
Mezi základní operace s čísly, tzv. aritmetické operace (početní operace) řadíme unární funkce opačné číslo, absolutní hodnota, převrácená hodnota atd. a binární funkce sčítání, odčítání, násobení, dělení a umocňování. [2]
Logické operace
Operace na výrocích, například unární logická operace negace, nebo binární operace konjunkce, disjunkce, implikace, ekvivalence, XOR, NAND a NOR.
Lineární algebra
Ve vektorovém prostoru jsou definovány operace opačný vektor (unární) a skládání vektorů, skalární a vektorový součin (binární).
Operace na funkcích
Na množině zobrazení je unární operací inverzní zobrazení a binárními operacemi je skládání zobrazení.
Uzavřenost množiny na operaci
Řekneme, že podmnožina je uzavřená vůči algebraické operaci ω , pokud tato operace vrátí hodnotu z M, kdykoli její argumenty patří do M.
Formálněji: Je-li množina, přirozené číslo a f zobrazení, jehož definiční obor obsahuje jako svou podmnožinu kartézský součin , potom M je uzavřená na operaci f , pokud .
Tento pojem je jiný než pojem uzavřená množina z topologie a matematické analýzy.
Příklad
Uvažujme například vektorový prostor nad prostorem reálných čísel. Podmnožina
je uzavřená na sčítání vektorů, neboť pro a je i .
Podmnožina
ale vzhledem ke sčítání uzavřena není.
Využití v matematice
Podstrukturu algebraické struktury (například podgrupu, podsvaz apod.) tvoří právě ty podmnožiny, které jsou uzavřeny na všechny operace. Například podmnožina grupy tvoří podgrupu právě když jsou všechny grupové operace uzavřené na danou podmnožinu. Při ověřování nelze vynechat nulární operace (jinak bychom např. množinu všech celých čísel větších než 10 mohli mylně považovat za podmonoid monoidu (Z, +, 0) všech celých čísel).[2] [3]