概要: 数学における演算とは、1つ以上の入力に対して1つの出力を対応させる規則である。形式的には、集合の直積上に定義された関数とみなせる。たとえば、A × B から C への写像で、組 (a,b) を結果に送るものがある。この一般的な考え方は、算術、代数、論理、計算機科学にまたがって現れ、値(しばしば被演算子)をどのように組み合わせたり変形したりするかを表す。現代数学で使われるこの概念の一般的な説明については、数学と、初歩的な関数の概念も参照されたい。

アリティと代表例

演算は、受け取る入力の数であるアリティによって分類される。主な区分は次のとおりである。

  • 0項(入力なし): 定数は、常に同じ値を返す0項演算とみなせる。
  • 1項(入力1つ): 例として、符号反転や絶対値がある。
  • 2項(入力2つ): 初等数学で最も身近な演算である。
  • n項 / 可変長: リストの総和のように、任意の有限個の被演算子を受け取る演算。

代表的な名付けられた演算には、加算、減算、乗算除算がある。高等な算術や解析では、累乗根号対数も重要である。数以外にも、演算は集合(和集合、共通部分)、論理値(AND、OR)、ベクトルや行列(加算や各種積)、関数(合成)にも現れる。

代数的性質

多くの演算は、式の振る舞いや、それによって定まる代数系を決める構造的性質を満たす。重要な性質には次がある。

  • 可換性: すべての被演算子について a ⋆ b = b ⋆ a が成り立つ。
  • 結合性: (a ⋆ b) ⋆ c = a ⋆ (b ⋆ c) が成り立ち、余分な括弧を省ける。
  • 単位元: e ⋆ a = a ⋆ e = a を満たす要素 e。
  • 逆元: a ⋆ b = 単位元 となる要素 b。
  • 分配性: ある演算が別の演算に対して分配する性質。たとえば乗算は加算に対して分配する。

これらの性質は、群・環・体のような構造を定義するうえで中心的であり、1つ以上の演算とその相互作用が系の規則を決める。

代数構造と計算における演算

抽象代数学では、1つ以上の演算を備えた集合が代数構造になる。たとえば群は、単一の結合的な2項演算を持ち、単位元と逆元を備える集合である。環は、加算と乗算という2つの演算を持ち、特定の分配関係を満たす。計算機科学では、演算は演算子や関数として実装される。プログラミング言語は、中置・前置・後置という記法を区別し、同じ記号が文脈によって異なる具体的な演算を表せるように演算子オーバーロードを提供することもある。

部分演算、記法、高階的な見方

すべての規則が全域とは限らない。部分演算は、ある入力では未定義になることがある(0による除算が典型例である)。記法の慣習もさまざまで、教科書では2項算術に + や × のような中置記号がよく使われる一方、関数記法 f(x) や前置演算子は、演算を関数として見る立場を強調する。カリー化は、n項演算を1項演算の連続として扱うもので、論理や関数型プログラミングで特に有用である。

用途、例、区別

演算は、計算と構造の基本要素である。方程式を解くこと、アルゴリズムを定義すること、物理学や工学でモデルを構築すること、計算機科学でデータ変換を設計することに現れる。演算と関係を区別することも有用である。演算は、与えられた入力に対して(定義されていれば)確定した結果を返すのに対し、関係は、どの組が条件を満たすかを指定するだけである。また、1つの記号が文脈によって異なる演算を表すこともある(たとえば、並置は代数学では乗算、解析では関数適用を意味しうる)ので、文脈と宣言された型が重要である。

より形式的な導入や例については、2項演算に関する一般的な参考文献や、標準的な数学文献で扱われる代数構造の入門書(数学関数の概説)を参照されたい。