演算 (数学)
数学における演算とは、一つの要素または要素の組に対して、別の要素を当てはめる操作である。数式において演算を表す記号を演算子という。写像そのものをさして演算子ということもある。
演算が作用する対象のことを被演算子(operand; オペランド、被演算数、引数)という。たとえば、n と 3 との和を表す式 “n + 3” において、“+” は演算子であり、その被演算子は “n” と “3” である。また、数式として一般的な被演算子と被演算子の間に演算子を記述する構文は中置記法と呼ばれる。
数学的には、基本的には、関数(単項演算子では1引数の関数、2項演算子は2引数の関数)をあらわすある種の糖衣構文のようなものに過ぎない。しかし、汎函数計算など、演算子を操作するような手法もある。
形式的分類
編集単項演算子
編集単項演算子(英: unary operator)とは、被演算子が一つだけの演算を表す演算子。その記法には、通常は被演算子の前に単項演算子を置く前置記法(ポーランド記法)を用い、被演算子を明示するための括弧 “( )” を伴うことも多い。
代表的な単項演算子として、以下がある。
・負を表す(減算ではない)負符号(例: −3)
関数 f(x) の “f( )” も単項演算子であり、符牒となる文字列 “f” を関数子などと呼ぶ場合もある。関数子としては任意の文字列を使用することができ、代表的なものとして三角関数 “sin”, “cos”, “tan” などが挙げられる。微分作用素の “d/dx” または “D” や、差分作用素 “Δ” も単項演算子である。関数に対する「′」も微分作用素である。例えば f(x) の微分を f ′(x) と表せる。 また、定数 a を与えるごとに(a が代入可能である限りにおいて)対数関数 loga x が考えられるが、このとき loga は定数一つを含む形で単項演算子として働く(そのような場合、a は e や 10 などに固定されているため、文脈上明らかな場合は省略を受け、単に log と記して扱われることも少なくはない)。ただし、仮に a をも変化させて扱うならば loga x なる式において log は二つの被演算子 a と x を持つ二項演算子(後述)と解されることになる。
二項演算子
編集二項演算子(英: binary operator)とは、二つの被演算子から一つの結果を得る演算を表す演算子。数学での写像を表現するのに通常は前置記法で書くのに対して、二項演算子は中置記法で書くことが多い。つまり、“k + 3” のように演算子を二つの被演算子の中間に置く。
二項演算を2変数の関数として、B(·, ·) のように関数子と括弧とコンマを用いた形式で(「·」の位置にそれぞれ適当な被演算子を配置して)表すこともしばしばある。このような形式で被演算子を併記する方法では二項以上の多項演算も表現することができる。明示的な関数子をもたない場合もあり、例えば内積 “⟨·, ·⟩”, 微分作用素(リー代数)の括弧積(リーのブラケット)“[·, ·]”, ポアソン括弧 “{·, ·}”, ルジャンドル記号 “(· / ·)” などが挙げられる。これらは複数の記号で一つの演算子の働きをする。また、例えば二項係数の2種類の記法
のように、一つの演算に対して複数の異なる記法の(場合によっては形式も異なる)演算子が用いられていることもある。
多項演算子
編集二項演算子における記法の多くはそれ以上の任意有限個の被演算子を持つ演算子に対しても、引数を列記する方法を与えるなどの適当な方法で拡張を受ける。さらに、添字集合を適当に指定することによって複数(一般には無限個)の被演算子を一つの被演算子に見立てることも有限的な記述には効果的である。それによって無限個の被演算子を持つ演算子に有限項演算の記法を援用することが可能になる。また、このとき与えた添字もやはり被演算子と解釈することが可能である。
また、前述の log に対する記述とまったく同じ理屈を逆に考えれば、二項演算子のとる二つの被演算子のうち一つを固定する(代入可能な値を代入する)ならば、それによって新たに単項演算子が得られる(あるいは固定する被演算子を添字とする単項演算子の族が得られる)ということが理解される。同様にして、多くの被演算子を持つ多項演算子のうち一つあるいは複数の被演算子を固定することによって、与えられた多項演算子をより制限された数の被演算子を持つ演算子族と読みかえることができる(カリー化)。
意味的分類
編集算術演算子
編集四則演算のたぐいを表す演算子、たとえば和を表す “+” や積を表す “×” などは二項演算子である。算術演算においては多くの場合、二つの被演算子はひとつの代数系から取られた同種のものであり、結果も同種であることが多い。
関係演算子
編集二つの被演算子の関係を示す記号のことを関係子という。関係子を、二つの被演算子の関係が真であるか偽であるかを判定する演算を表す演算子とみなすとき、関係演算子という。数理論理学では、関係演算は二つの数式から真理値(ブール値)を得る演算とみなされる。関係演算子もその多くが二項演算子として機能することから中置記法で記されることが多い。
等号 “=”, 不等号 “<”, “>”, “≤”, “≥”, “≠”, 平行記号 “∥”, 垂直記号 “⊥” などが関係演算子である。
論理演算子
編集数理論理学における論理演算子は、被演算子の真理値(真・偽)に対する論理積 “∧” や論理和 “∨” などの論理演算を表し、中置記法で書くことが多い。(否定を表す前置の単項演算子 “¬” もある。)