수학 에서 연산 (演算, 영어 : operation )은 공집합 이 아닌 집합에서, 집합에 속하는 임의의 두 원소로부터 제3의 원소를 만드는 것이다. 또는, 연산자 의 정의에 따라 한 개 이상의 피연산자 를 계산하여 하나의 결과값(답)을 구하는 것이다. 피연산자 또는 항이 하나일 때 단항연산, 두 개일 때 이항연산 , n개일 때 n항 연산이라고 한다.
정의 집합 S {\displaystyle S} 와 음이 아닌 정수 n ∈ Z ≥ 0 {\displaystyle n\in \mathbb {Z} _{\geq 0}} 이 주어졌다고 하자. S {\displaystyle S} 위의 n {\displaystyle n} 항 연산 ( n {\displaystyle n} 項演算, 영어 : n-ary operation )은 다음과 같은 함수이다.
F : S × n → S {\displaystyle F\colon S^{\times n}\to S} 즉, 이는 임의의 S {\displaystyle S} 위의 n {\displaystyle n} 조 s → ∈ S × n {\displaystyle {\vec {s}}\in S^{\times n}} 를 유일한 S {\displaystyle S} 의 원소 F ( s → ) ∈ S {\displaystyle F({\vec {s}})\in S} 에 대응시킨다. 특히, S {\displaystyle S} 위의 영항 연산 (零項演算, 영어 : 0-ary operation )은 S {\displaystyle S} 의 원소 s ∈ S {\displaystyle s\in S} 이다. S {\displaystyle S} 위의 일항 연산 (一項演算, 영어 : unary operation ) 또는 단항 연산 (單項演算)은 S {\displaystyle S} 위의 함수 S → S {\displaystyle S\to S} 이다. S {\displaystyle S} 위의 이항 연산 (二項演算, 영어 : binary operation )은 S {\displaystyle S} 의 두 원소로부터 S {\displaystyle S} 의 한 원소를 얻는 함수 S × S → S {\displaystyle S\times S\to S} 이다. 편의상 이항 연산을 덧셈 또는 곱셈 이라고 하기도 한다. 이항 연산을 갖춘 집합을 마그마 라고 한다. S {\displaystyle S} 위의 삼항 연산 (三項演算, 영어 : ternary operation )은 S {\displaystyle S} 의 세 원소로부터 S {\displaystyle S} 의 한 원소를 얻는 함수 S × S × S → S {\displaystyle S\times S\times S\to S} 이다.
넓은 의미에서, n {\displaystyle n} 항 연산 은 다음과 같은 함수이다.
F : S 0 × S 1 × ⋯ × S n − 1 → S {\displaystyle F\colon S_{0}\times S_{1}\times \cdots \times S_{n-1}\to S} 또한, 무한 순서수 항수를 허용하여 연산의 개념을 일반화할 수 있다. 이 경우, 원래의 항수가 유한한 연산을 유한항 연산 (有限項演算, 영어 : finitary operation )이라고 하며, 항수가 무한한 연산을 무한항 연산 (無限項演算, 영어 : infinitary operation )이라고 한다.
구체적으로, 집합 S {\displaystyle S} 와 순서수 α ∈ Ord {\displaystyle \alpha \in \operatorname {Ord} } 에 대하여, S {\displaystyle S} 위의 α {\displaystyle \alpha } 항 연산 은 다음과 같은 함수이다.
F : S × α → S {\displaystyle F\colon S^{\times \alpha }\to S} 넓은 의미에서, α {\displaystyle \alpha } 항 연산 은 다음과 같은 함수이다.
F : ∏ β < α S α → S {\displaystyle F\colon \prod _{\beta <\alpha }S_{\alpha }\to S} 연산은 관계 의 특수한 경우이다.
연산에 대한 닫힘 집합 S {\displaystyle S} 및 그 위의 n {\displaystyle n} 항 연산 F : S × n → S {\displaystyle F\colon S^{\times n}\to S} 가 주어졌다고 하자. S {\displaystyle S} 의 부분 집합 T ⊂ S {\displaystyle T\subset S} 가 다음 조건을 만족시키면, T {\displaystyle T} 가 F {\displaystyle F} 에 대하여 닫혀있다 ( F {\displaystyle F} 에對하여닫혀있다, 영어 : closed under F {\displaystyle F} )고 한다.
임의의 t → ∈ T × n {\displaystyle {\vec {t}}\in T^{\times n}} 에 대하여, f ( t → ) ∈ T {\displaystyle f({\vec {t}})\in T} 또한, T ⊂ S {\displaystyle T\subset S} 의 F : S × n → S {\displaystyle F\colon S^{\times n}\to S} 에 대한 폐포 (閉包, 영어 : closure ) cl F T {\displaystyle \operatorname {cl} _{F}T} 는 F {\displaystyle F} 에 대하여 닫혀있는 최소 집합 T ⊂ cl F T ⊂ S {\displaystyle T\subset \operatorname {cl} _{F}T\subset S} 이다. 즉, 이는 다음과 같다.
cl F T = T ∪ F ( T × n ) ∪ F ( ( T ∪ F ( T × n ) ) × n ) ∪ ⋯ {\displaystyle \operatorname {cl} _{F}T=T\cup F(T^{\times n})\cup F((T\cup F(T^{\times n}))^{\times n})\cup \cdots } 보다 일반적으로, 집합 S {\displaystyle S} 및 그 위의 연산의 부분 집합 F ⊂ ⋃ n = 0 ∞ S S × n {\displaystyle \textstyle {\mathcal {F}}\subset \bigcup _{n=0}^{\infty }S^{S^{\times n}}} 이 주어졌다고 하자. T ⊂ S {\displaystyle T\subset S} 가 다음 조건을 만족시키면, F {\displaystyle {\mathcal {F}}} 에 대하여 닫혀있다 ( F {\displaystyle {\mathcal {F}}} 에對하여닫혀있다, 영어 : closed under F {\displaystyle {\mathcal {F}}} )고 한다.
임의의 F ∈ F {\displaystyle F\in {\mathcal {F}}} 에 대하여, T {\displaystyle T} 는 F {\displaystyle F} 에 대하여 닫혀있다. 또한, T ⊂ S {\displaystyle T\subset S} 의 F ⊂ ⋃ n = 0 ∞ S S × n {\displaystyle \textstyle {\mathcal {F}}\subset \bigcup _{n=0}^{\infty }S^{S^{\times n}}} 에 대한 폐포 (閉包, 영어 : closure ) cl F T {\displaystyle \operatorname {cl} _{\mathcal {F}}T} 는 F {\displaystyle {\mathcal {F}}} 에 대하여 닫혀있는 최소 집합 T ⊂ cl F T ⊂ S {\displaystyle T\subset \operatorname {cl} _{\mathcal {F}}T\subset S} 이다.
cl F T = ⋃ k = 0 ∞ ⋃ F ∈ F cl F ⋃ F ∈ F cl F ⋯ ⋃ F ∈ F cl F ⏞ k T {\displaystyle \operatorname {cl} _{\mathcal {F}}T=\bigcup _{k=0}^{\infty }\,\overbrace {\bigcup _{F\in {\mathcal {F}}}\operatorname {cl} _{F}\bigcup _{F\in {\mathcal {F}}}\operatorname {cl} _{F}\cdots \bigcup _{F\in {\mathcal {F}}}\operatorname {cl} _{F}} ^{k}\,T} 표기 연산의 표기법은 함수 표기법 이외에도 여러 가지가 있다. 자주 사용되는 표기법으로는 연산자를 피연산자의 앞에 배치하여 표기하는 전위 표기법 (=폴란드 표기법 ), 연산자를 피연산자의 뒤에 배치하여 표기하는 후위 표기법 (=역폴란드 표기법 ), 연산자를 두 피연산자의 사이에 표기하는 중위 표기법 따위가 있다.
일항 연산은 전위 표기법 − a {\displaystyle -a} (반수 ), ¬ p {\displaystyle \lnot p} (부정 ) 또는 후위 표기법 n ! {\displaystyle n!} (계승 ) 또는 함수 표기법 sin ( x ) {\displaystyle \sin(x)} (사인 ) 등을 사용하여 표기할 수 있다. 연산자를 위 첨자 표기하는 방법 A T {\displaystyle A^{\operatorname {T} }} (전치 행렬 )도 있다. 제곱근 a {\displaystyle {\sqrt {a}}} 의 경우, 연산자가 피연산자의 왼쪽과 위쪽에 걸쳐 위치한다.
이항 연산은 보통 함수 표기법 F ( a , b ) {\displaystyle F(a,b)} 대신 중위 표기법 a + b {\displaystyle a+b} , a ⋅ b {\displaystyle a\cdot b} 를 사용하거나 연산자를 생략하는 방식 a b {\displaystyle ab} 를 사용한다. 거듭제곱 a b {\displaystyle a^{b}} 의 경우, 연산자를 생략하되 두 번째 변수인 지수를 위 첨자 표기한다. 전위 표기법 + a b {\displaystyle +\ a\ b} , ⋅ a b {\displaystyle \cdot \ a\ b} 이나 후위 표기법 a b + {\displaystyle a\ b\ +} , a b ⋅ {\displaystyle a\ b\ \cdot } 을 사용하기도 한다.
연산 예 사칙 연산 실수 집합 R {\displaystyle \mathbb {R} } 위에 정의된 사칙 연산 가운데,
덧셈 + : R × R → R {\displaystyle +\colon \mathbb {R} \times \mathbb {R} \to \mathbb {R} } , ( r , s ) ↦ r + s {\displaystyle (r,s)\mapsto r+s} 은 R {\displaystyle \mathbb {R} } 위의 이항 연산이다.뺄셈 − : R × R → R {\displaystyle -\colon \mathbb {R} \times \mathbb {R} \to \mathbb {R} } , ( r , s ) ↦ r − s {\displaystyle (r,s)\mapsto r-s} 역시 R {\displaystyle \mathbb {R} } 위의 이항 연산이다.곱셈 ⋅ : R × R → R {\displaystyle \cdot \colon \mathbb {R} \times \mathbb {R} \to \mathbb {R} } , ( r , s ) ↦ r s {\displaystyle (r,s)\mapsto rs} 역시 R {\displaystyle \mathbb {R} } 위의 이항 연산이다.그러나, 나눗셈 / : R × ( R ∖ { 0 } ) → R {\displaystyle /\colon \mathbb {R} \times (\mathbb {R} \setminus \{0\})\to \mathbb {R} } , ( r , s ) ↦ r / s {\displaystyle (r,s)\mapsto r/s} 은 이항 연산이 아니다. 0으로 나누기 가 정의되지 않았기 때문이다. 다만, 나눗셈은 넓은 의미에서 이항 연산이다. 자연수 집합 N {\displaystyle \mathbb {N} } 이 사칙 연산에 대하여 닫혀있는지의 여부는 각각 다음과 같다.
N {\displaystyle \mathbb {N} } 은 + {\displaystyle +} 에 대하여 닫혀있다. 즉, 임의의 m , n ∈ N {\displaystyle m,n\in \mathbb {N} } 에 대하여, m + n ∈ N {\displaystyle m+n\in \mathbb {N} } 이다. N {\displaystyle \mathbb {N} } 은 − {\displaystyle -} 에 대하여 닫혀있지 않다. 예를 들어, 3 , 5 ∈ N {\displaystyle 3,5\in \mathbb {N} } 이지만, 3 − 5 = − 2 ∉ N {\displaystyle 3-5=-2\not \in \mathbb {N} } 이다. 사실, cl − N = Z {\displaystyle \operatorname {cl} _{-}\mathbb {N} =\mathbb {Z} } 이다. (여기서 Z {\displaystyle \mathbb {Z} } 는 정수 집합이다.) N {\displaystyle \mathbb {N} } 은 ⋅ {\displaystyle \cdot } 에 대하여 닫혀있다. 즉, 임의의 m , n ∈ N {\displaystyle m,n\in \mathbb {N} } 에 대하여, m n ∈ N {\displaystyle mn\in \mathbb {N} } 이다. N {\displaystyle \mathbb {N} } 은 / {\displaystyle /} 에 대하여 닫혀있지 않다. 예를 들어, 2 , 5 ∈ N {\displaystyle 2,5\in \mathbb {N} } 이지만, 2 / 5 ∉ N {\displaystyle 2/5\not \in \mathbb {N} } 이다. 사실, cl / N = Q {\displaystyle \operatorname {cl} _{/}\mathbb {N} =\mathbb {Q} } 이다. (여기서 Q {\displaystyle \mathbb {Q} } 는 유리수 집합이다.)논리 연산 논리식의 논리합 과 논리곱 은 논리식 집합 위의 이항 연산이다. 논리식의 부정 은 논리식 집합 위의 일항 연산이다.
군 위의 연산 군 G {\displaystyle G} 위에 정의된 연산들 가운데,
항등원 1 G ∈ G {\displaystyle 1_{G}\in G} 는 G {\displaystyle G} 위의 영항 연산이다.곱셈 ⋅ : G × G → G {\displaystyle \cdot \colon G\times G\to G} , ( g , h ) ↦ g h {\displaystyle (g,h)\mapsto gh} 는 G {\displaystyle G} 위의 이항 연산이다. 이들에 의해 멱집합에 유도되는 연산들은 각각 다음과 같다.
자명군 { 1 G } ⊂ G {\displaystyle \{1_{G}\}\subset G} 임의의 H , K ⊂ G {\displaystyle H,K\subset G} 에 대하여, H K = { h k | h ∈ H , k ∈ K } ⊂ G {\displaystyle HK=\{hk|h\in H,\;k\in K\}\subset G} 특히, 임의의 g ∈ G ⊃ H {\displaystyle g\in G\supset H} 에 대하여, g H = { g h | h ∈ H } ⊂ G {\displaystyle gH=\{gh|h\in H\}\subset G} 벡터 공간 위의 연산 체 K {\displaystyle K} 위의 벡터 공간 V {\displaystyle V} 에 정의된 연산들 가운데,
영벡터 0 V ∈ V {\displaystyle 0_{V}\in V} 는 V {\displaystyle V} 위의 영항 연산이다.벡터 덧셈 + : V × V → V {\displaystyle +\colon V\times V\to V} , ( v , w ) ↦ v + w {\displaystyle (v,w)\mapsto v+w} 은 V {\displaystyle V} 위의 이항 연산이다. 그러나, 스칼라 곱셈 ⋅ : K × V → V {\displaystyle \cdot \colon K\times V\to V} , ( a , v ) ↦ a v {\displaystyle (a,v)\mapsto av} 은 이항 연산이 아니며, 넓은 의미의 이항 연산이다. 이를 일항 연산 a ⋅ : V → V {\displaystyle a\cdot \colon V\to V} , v ↦ a v {\displaystyle v\mapsto av} ( a ∈ K {\displaystyle a\in K} )의 집합으로 여길 수 있다. 이들은 각각 함수 집합 W V {\displaystyle W^{V}} 위에 점별 연산을 유도하며, 선형 변환 공간 hom ( V , W ) ⊂ W V {\displaystyle \hom(V,W)\subset W^{V}} 은 이에 대하여 닫혀있다. 따라서 hom ( V , W ) {\displaystyle \hom(V,W)} 위에 다음과 같은 점별 연산들이 유도된다.
영선형 변환 0 V , W : V → W {\displaystyle 0_{V,W}\colon V\to W} , v ↦ 0 W {\displaystyle v\mapsto 0_{W}} 임의의 선형 변환 T , U : V → W {\displaystyle T,U\colon V\to W} 및 벡터 v ∈ V {\displaystyle v\in V} 에 대하여, ( T + U ) ( v ) = T ( v ) + U ( v ) {\displaystyle (T+U)(v)=T(v)+U(v)} . 이를 점별 덧셈이라고 한다. 임의의 선형 변환 T : V → W {\displaystyle T\colon V\to W} 및 벡터 v ∈ V {\displaystyle v\in V} 및 스칼라 a ∈ K {\displaystyle a\in K} 에 대하여, ( a T ) ( v ) = a T ( v ) {\displaystyle (aT)(v)=aT(v)} . 이를 점별 스칼라 곱셈이라고 한다. 관계 n {\displaystyle n} 항 관계
R ⊆ S × n {\displaystyle R\subseteq S^{\times n}} 은 다음과 같은 특수한 n {\displaystyle n} 항 연산으로 여길 수 있다.
F : S × n → 2 {\displaystyle F\colon S^{\times n}\to 2} F : s → ↦ { 1 s → ∈ R 0 s → ∉ R {\displaystyle F\colon {\vec {s}}\mapsto {\begin{cases}1&{\vec {s}}\in R\\0&{\vec {s}}\not \in R\end{cases}}} 외부 링크