1. 개요
합성함수(合成函數 / function composition)는 두 함수를 합성하여 얻은 함수를 말한다.2. 합성함수의 정의 및 표현
함수 [math(h)]가 두 함수 [math(f)]와 [math(g)]의 연쇄로 나타내어질 때, [math(h)]를 [math(f)]와 [math(g)]의 합성함수라고 부르고, 대개 [math(h(x)= g(f(x)))], [math(h(x)= (g\circ f)(x))], 혹은 함수 자체를 다룰 때는 [math(h = g\circ f)]라고 쓴다.[1] 계산 과정상 제일 안쪽(오른쪽) 함수부터 계산 과정이 진행된다.동일함수가 합성됐을 경우 [math(f\circ f\left(x\right)=f^2\left(x\right))]와 같이 지수 꼴로 합성한 횟수를 나타내기도 한다. 단, 삼각함수와 로그함수에는 적용되지 않는다. 예컨대 [math(\sin^2 x)]라 하면 [math(\sin \left(\sin x\right))]가 아니라 [math(\left(\sin x\right)\times \left(\sin x\right))]를 나타낸다. 또한 일반적인 함수의 경우에도 저자와 독자의 합의가 없는 경우 [math(f^2(x))]가 [math(f(f(x)))]처럼 동일한 함수를 합성한 것인지 혹은 [math(\left[f(x)\right]^2)]처럼 함숫값을 제곱한 것인지 혼동을 줄 수 있다.[2]
3. 합성함수이다/아니다?
어떤 특정한 함수가 "합성함수다/아니다" 라고 구분하는 것은 수학적으로 아무 의미가 없다.[3] 합성함수를 논의할 때는 '[math(h)]가 [math(f)]와 [math(g)]의 합성이다'와 같이 무엇의 합성인지가 반드시 따라야 한다. 합성함수인지의 여부는 각 함수에 내재하는 고유한 속성이 아니라는 말이다. '합성함수'는 함수들 간의 관계에서 도출되는 개념이다. 이러한 맥락이 없이 각 함수를 합성함수이다/아니다의 절대적인 기준으로 분류할 수 없다.예를 들어 "함수 [math(h(x) = e^{\sin x})]는 합성함수다"라는 말이 그 자체로 의미가 없음은 "숫자 12는 더해진 수다"라는 말이 의미가 없다는 것과 유사하다.[4] 숫자 12가 '더해진 수'라는 서술이 의미를 지니려면 증명과정에서의 쓸모에 따라 혹은 관심의 대상에 따라 (예컨대) 다음과 같이 12가 무엇과 무엇을 더한 것인지, 그리고 그러한 표현이 무슨 쓸모가 있는지 밝혀야 한다.
* 12 = 5 + 7, 즉 두 홀수의 합이므로, 12는 짝수다.
* 12 = 5 + 7이다. 이는 골드바흐 추측의 한 예다.
* 12 = 5 + 7이다. 이는 골드바흐 추측의 한 예다.
마찬가지로 [math(h)]가 합성함수라는 것이 의미를 가지려면 가령 다음과 같은 맥락이 필요하다.
함수 [math(h)]는 [math(f(x) = \sin x)]와 [math(g(x) = e^x)]의 합성함수이므로, 연쇄 법칙에 의하여 [math(h'(x) = e^{\sin x}\cos x)]이다.
더군다나 "[math(h(x)= 2x)]는 합성함수가 아니다"는 명백히 틀린 서술이다. [math(h)]는 항등함수 [math(x\mapsto x)]와 2배 함수 [math(x\mapsto 2x)]의 합성함수로 볼 수 있다. 심지어 항등함수 [math(x\mapsto x)]는 그 자신의 합성함수로 볼 수 있다.[5] 결국 모든 함수는 그 자신과 항등함수의 합성함수이다.
4. 성질
함수의 합성은 기본적으로 [math(f\circ g\ne g\circ f)], 즉 교환법칙이 성립하지 않는다.[6] 수학적인 방법으로 예를 든다면, 다음과 같다.- [math(f\left(x\right)=2x, g\left(x\right)=x+1)] 일 때 [math(\left(f \circ g\right)\left(x\right)=2\left(x+1\right)=2x+2, \left(g \circ f\right)\left(x\right)=2x+1 )] 이다.
교환법칙이 항상 성립하는 경우는 다음과 같다.
- [math(f(x)=kx)] (단, [math(k)]는 복소수) 꼴의 함수끼리 합성하는 경우 : [math(f(x)=a_1x, f(x)=a_2x, ..., f(x)=a_kx)] (단, [math(a_1, a_2, ..., a_k)]는 복소수) 꼴의 함수들을 합성할 때, 이들 함수는 결국 곱셈 함수인데 복소수와 그 부분집합 위에서의 곱셈에서는 교환법칙이 성립하므로[8] 합성 순서에 관계없이 최종적으로 합성된 함수는 [math(f(x)=a_1a_2...a_kx)]가 된다.
- [math(f(x)=x^k)] (단, [math(k)]는 복소수) 꼴의 함수끼리 합성하는 경우 : [math(f(x)=x^{a_1}, f(x)=x^{a_2}, ..., f(x)=x^{a_k})] (단, [math(a_1, a_2, ..., a_k)]는 복소수) 꼴의 함수들을 합성할 때, 합성 순서에 관계없이 최종적으로 합성된 함수는 [math(f(x)=x^{a_1a_2...a_k})]가 된다.
- 어떤 함수 [math(g)]에 대해 [math(f(x)=g^{k}(x))] (단, [math(k)]는 음이 아닌 정수) 꼴의 함수끼리 합성하는 경우
- 어떤 전단사함수 [math(g)]에 대해 [math(f(x)=g^{k}(x))] (단, [math(k)]는 정수) 꼴의 함수끼리 합성하는 경우
함수의 합성에서는 다음과 같이 결합법칙 [math(f\circ \left(g\circ h\right)= \left(f\circ g\right)\circ h)]이 성립하는데, 이것이 함수의 합성에서 거의 유일하게 성립하는 법칙이라고 보면 무방하다.
- [math((f\circ \left(g\circ h\right))(x) = f\left((g\circ h)(x)\right) = f(g(h(x))))]
- [math((\left(f\circ g\right)\circ h)(x) = \left(f\circ g\right)(h(x)) = f(g(h(x))))]
함수를 합성하는 연산자 [math(\circ)]가 결합법칙을 만족하므로, 함수를 (적당히) 모은 집합은 훌륭한 군이 된다. 함수의 합성 [math(\circ)]를 이항연산으로, 항등함수 [math(\mathrm{Id}(x)= x)]를 항등원으로, 함수 [math(f)]의 역함수 [math(f^{-1})]을 역원으로 보면 된다.[9] 즉 [math(f\circ f^{-1} = f^{-1}\circ f = \mathrm{Id}(x))]이다.
5. 멱등함수
[math(f\circ f\left(x\right)=f^2\left(x\right) = f\left(x\right))]를 만족하는 함수를 멱등함수(idempotent function)라고 한다. 이때 이 함수를 아무리 많이 합성해도 [math(f^2\left(x\right) = f\left(x\right))]에 의해 결국 원래 함수가 된다. 대표적으로 다음이 있다.- 부호 함수 [math(\mathrm{sgn}\left(x\right))], [math(\mathrm{csgn}\left(x\right))]
- 항등함수 [math(x)] - 이쪽은 모든 자연수 n에 대해서 [math(f^n(x) = x)]이다.
- 상수함수 [math(c)]
- 실수부 함수 [math(\Re\left(z\right))]
- 자연수 판별 함수 [math(\bold{1}_{\mathbb{N}}\left(x\right))]
- 절댓값 [math(|x|)]
- 최대 정수 함수 [math(\left\lfloor x \right\rfloor)]
- 최소 정수 함수 [math(\left\lceil x \right\rceil)]
- 소수부 함수 [math(\{ x \})]
- 정사영: 멱등성이 특히 유용하게 쓰이는 경우다.
6. 함수의 합성이 주기성을 갖는 함수
[math(f\circ f(x) = f^2(x), f\circ f^n(x) = f^{n+1}(x))]와 같이 귀납적으로 정의할 때, [math(f^n(x) = x)] 또는 [math(f^{n+p}(x) = f^n(x))]와 같이 n번 또는 p번 합성할 때마다 같은 함수 또는 항등함수가 되는 일종의 주기성을 갖는 함수가 존재한다.이러한 함수들의 성질은 다음과 같다.
- [math(f^n(x) = x)]일 때, [math(f^{2n}(x) = f^{3n}(x) = ... = f^{kn}(x) = ... = x)] (단, k는 자연수)
- [math(f^{n+p}(x) = f^n(x))]일 때, [math(f^{n+2p}(x) = f^{n+3p}(x) = ... = f^{n+kp}(x) = ... = f^n(x))], [math(f(x))]가 일대일대응이라면 [math(f^p(x) = f^{2p}(x) = f^{3p}(x) = ... = f^{kp}(x) = x)] (단, k는 자연수)
이러한 함수는 상술한 멱등함수 외에도 다음과 같은 것들이 있다. 정의역에서 0과 같은 특정 값(들)이 제외되는 경우도 해당 값(들)을 정의역에서 제외시킨 함수가 이와 같은 주기성을 가지므로 포함한다.
- [math(f^2(x) = x)]인 함수
- [math(\displaystyle f(x) = \frac{k}{x})] (단, [math(x\ne0)]이고 [math(k)]는 0이 아닌 실수)
- [math(\displaystyle f(x) = 1\pm\frac{1}{x-1})] (단, [math(x\ne1)])
- 증명: [math(\displaystyle f^2(x) = 1\pm\frac{1}{1\pm\frac{1}{x-1}-1} = 1+(x-1) = x)] (복부호 동순)
- [math(f(z) = \overline z)] (단, [math(\Im(z) \neq 0)])[10]
- [math(f^n(x) = x)]인 함수
- [math(\displaystyle f(z) = e^{\frac{2\pi i}{n}} z)] (단, [math(n)]은 자연수): 기하적으로 해석하면 [math(z)]를 복소평면 상에서 [math(\displaystyle \frac{2\pi}{n})]만큼 회전시킨 것을 함숫값으로 하는 함수이다.
7. 예시
- [math(f(x) = x+a, g(x) = x+b)]일 때, [math((f\circ g)(x) = (g\circ f)(x) = x+a+b)]이다.
- [math(f(x) = ax, g(x) = bx)]일 때, [math((f\circ g)(x) = (g\circ f)(x) = abx)]이다.
- [math(f(x) = ax+b, g(x) = cx+d)]일 때, [math((f\circ g)(x) = c(ax+b)+d = acx+bc+d)]이고, [math((g\circ f) = a(cx+d)+b = acx+ad+b)]이다. 따라서 이때 [math(bc+d \ne ad+b)]이면 [math((f\circ g) \ne (g\circ f))]일 수 있다.
8. 합성함수의 미분
자세한 내용은 연쇄 법칙 문서 참고하십시오.9. 합성함수의 적분
자세한 내용은 치환적분 문서 참고하십시오.10. 순환군의 합성
예를 들어 집합S ={1,2,3}의 치환군 S,3, 에서 [math( \begin{pmatrix} 1 & 2 & 3 \\ 2 & 3 & 1 \end{pmatrix})] 하나의 원소에 의해 생성되는 군인 순환군은[math( \begin{pmatrix} 1 & 2 & 3 \\ 2 & 3 & 1 \end{pmatrix} \circ \begin{pmatrix} 1 & 2 & 3 \\ 2 & 3 & 1 \end{pmatrix} = \begin{pmatrix} 1 & 2 & 3 \\ 3 & 1 & 2 \end{pmatrix} )]
[math( \begin{pmatrix} 1 & 2 & 3 \\ 3 & 1 & 2 \end{pmatrix} \circ \begin{pmatrix} 1 & 2 & 3 \\ 2 & 3 & 1 \end{pmatrix} = \begin{pmatrix} 1 & 2 & 3 \\ 1 & 2 & 3 \end{pmatrix} )]
[math( \begin{pmatrix} 1 & 2 & 3 \\ 1 & 2 & 3 \end{pmatrix} \circ \begin{pmatrix} 1 & 2 & 3 \\ 2 & 3 & 1 \end{pmatrix} = \begin{pmatrix} 1 & 2 & 3 \\ 2 & 3 & 1 \end{pmatrix} )]이다.
즉, [math( \begin{pmatrix} 1 & 2 & 3 \\ 3 & 1 & 2 \end{pmatrix} )],[math( \begin{pmatrix} 1 & 2 & 3 \\ 1 & 2 & 3 \end{pmatrix} )],[math( \begin{pmatrix} 1 & 2 & 3 \\ 2 & 3 & 1 \end{pmatrix} )] 3개이다.
순열의 홀짝성(parity)에서 우(짝)순열과 우(짝)순열의 합성은 우순열이고 기(홀)순열과 기(홀)순열의 합성은 우순열을 잘 보여주는 순환군이다.
10.1. 군의 합성함수의 예
[math( \begin{pmatrix} 1 & 2 & 3 \\ 3 & 1 & 2 \end{pmatrix} =g )]은[math( g(1)=3 ,g(2)=1,g(3)=2 )]로 가는 일대일대응하는 함수(치환) g 이다.
[math( \begin{pmatrix} 1 & 2 & 3 \\ 2 & 3 & 1 \end{pmatrix} =f )]은
[math( f(1)=2 ,f(2)=3,f(3)=1 )]로 가는 일대일대응하는 함수(치환) f 이다.
따라서 [math( g \circ f )]는 오른쪽에서 왼쪽 방향으로
[math( g \circ f (1) = g(f(1)) = g(2) =1 )],
[math( g \circ f (2) = g(f(2)) = g(3) =2 )],
[math( g \circ f (3) = g(f(3)) = g(1) =3 )]이다.
즉 [math( (123) =\begin{pmatrix} 1 & 2 & 3 \\ 1 & 2 & 3 \end{pmatrix} )]이다.
[math( \begin{pmatrix} 1 & 2 & 3 \\ 3 & 1 & 2 \end{pmatrix} \circ \begin{pmatrix} 1 & 2 & 3 \\ 2 & 3 & 1 \end{pmatrix} = \begin{pmatrix} 1 & 2 & 3 \\ 1 & 2 & 3 \end{pmatrix} )]
[1] 고등학교나 대학교 저학년에는 귀차니즘으로 인해 중간 형태보다는 첫번째의 형태로 쓰는 경우가 많다. 그러나 함수 자체를 오브젝트로 다루는 때가 되면 보통 입력값인 [math(x)]를 생략하므로 [math(g\circ f)]를 주로 쓰게 된다.[2] 예컨대 함수의 노름을 정의하는 식 [math(\lVert f \rVert_2^2 = \int f^2)] 우변의 제곱은 함숫값의 제곱이다.[3] 그러나 나무위키 항목들 중에는 이와 같은 서술을 하는 경우가 종종 있다. 해당 부분을 발견한다면 읽을 때 주의할 것.[4] 군론의 표현을 빌리자면, 함수의 합성과 덧셈은 이항연산자에 불과하다. 각 원소 자체가 이항연산자의 결과다/아니다라고 구분짓는 것은 어불성설이다.[5] 말장난 같아보이지만 이는 함수로 이루어진 군 등을 논의할 때 자주 접하는 서술들이다.[6] 고등학교 수학에서 늘 보는 "두 행렬 [math(A)]와 [math(B)] 간에 일반적으로 [math(AB \neq BA)]" 라는 사실과도 맞닿아있다. 행렬은 선형변환으로서, 결국 함수의 특수한 경우기 때문이다.[7] 대표적으로 부호 함수 [math(\mathrm{sgn}(x))]와 로그 적분 함수 [math(\mathrm{li}(x))]의 합성. 부호 함수는 실수 범위에서 함숫값이 [math(\{-1, 0, 1\})]임에 비해 로그 적분 함수는 정의역에 [math(\{-1, 0, 1\})] 이 제외되어 있기 때문에 [math((\mathrm{sgn \circ li})(x))]는 정의할 수 있어도 [math((\mathrm{li \circ sgn})(x))]는 정의할 수 없다.[8] 이 성질을 지닌 집합을 가환환이라고 한다.[9] 물론 항등함수와 역함수가 정의된 집합이고 여타 군의 조건을 만족해야 한다. 이 의미에서 함수를 '적당히' 모은 집합.[10] [math(\Im(z) = 0)]인 경우 항등함수가 된다.