연산 (수학)

수학에서 연산(演算, 영어: 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 } 을 사용하기도 한다. 주어진 연산으로부터, 새로운 연산을 다음과 같이 유도할 수 있다. S {\displaystyle S} 위의 n {\displaystyle n} 항 연산 F : S × n → S {\displaystyle F\colon S^{\times n}\to S} 은 그에 대하여 닫혀있는 부분 집합 T ⊂ S {\displaystyle T\subset S} 위에 새로운 n {\displaystyle n} 항 연산 F | T : T × n → T {\displaystyle F|_{T}\colon T^{\times n}\to T} F | T : t → ↦ F ( t → ) {\displaystyle F|_{T}\colon {\vec {t}}\mapsto F({\vec {t}})} 을 유도한다. 이를 F {\displaystyle F} 의 T {\displaystyle T} 에서의 제한(制限, 영어: restriction)이라고 한다. n {\displaystyle n} 항 연산 F : S × n → S {\displaystyle F\colon S^{\times n}\to S} 는 멱집합 P ( S ) {\displaystyle {\mathcal {P}}(S)} 위에 다음과 같은 연산을 유도한다. F ~ : P ( S ) × n → P ( S ) {\displaystyle {\tilde {F}}\colon {\mathcal {P}}(S)^{\times n}\to {\mathcal {P}}(S)} F ~ : T → ↦ { F ( t → ) | t i ∈ T i } {\displaystyle {\tilde {F}}\colon {\vec {T}}\mapsto \{F({\vec {t}})|t_{i}\in T_{i}\}} 즉, 이는 상을 취하는 연산이다. 이를 F {\displaystyle F} 에 의해 멱집합 위에 유도되는 연산이라고 한다. n {\displaystyle n} 항 연산 F : Y × n → Y {\displaystyle F\colon Y^{\times n}\to Y} 은 함수 집합 Y X {\displaystyle Y^{X}} 위에 다음과 같은 n {\displaystyle n} 항 연산을 유도한다. F ~ : ( Y X ) × n → Y X {\displaystyle {\tilde {F}}\colon (Y^{X})^{\times n}\to Y^{X}} F ~ : f → ↦ ( x ↦ F ( f → ( x ) ) ) {\displaystyle {\tilde {F}}\colon {\vec {f}}\mapsto (x\mapsto F({\vec {f}}(x)))} 이를 F {\displaystyle F} 에 대한 점별 연산(點別演算, 영어: pointwise operation)이라고 한다. 실수 집합 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}}} 관계 (수학) 하이퍼 연산 중위 표기법 연산자 연산의 우선순위 “Algebraic operation”. 《Encyclopedia of Mathematics》 (영어). Springer-Verlag. 2001. ISBN 978-1-55608-010-4.  “Binary operation”. 《Encyclopedia of Mathematics》 (영어). Springer-Verlag. 2001. ISBN 978-1-55608-010-4.  “Operand”. 《Encyclopedia of Mathematics》 (영어). Springer-Verlag. 2001. ISBN 978-1-55608-010-4.  Weisstein, Eric Wolfgang. “Operation”. 《Wolfram MathWorld》 (영어). Wolfram Research.  Weisstein, Eric Wolfgang. “Unary operation”. 《Wolfram MathWorld》 (영어). Wolfram Research.  Weisstein, Eric Wolfgang. “Binary operation”. 《Wolfram MathWorld》 (영어). Wolfram Research.  “Operation”. 《PlanetMath》 (영어).  “Binary operation”. 《PlanetMath》 (영어).  “Definition:Operation”. 《ProofWiki》 (영어).  “Definition:Subset product”. 《ProofWiki》 (영어).