[include(틀:해석학·미적분학)] [목차] == 개요 == 합성함수([[合]][[成]][[函]][[數]],function composition)는 두 함수를 합성하여 얻은 함수를 말한다. == 합성함수의 정의 및 표현 == 함수 [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)]라고 쓴다.[* 고등학교나 대학교 저학년에는 [[귀차니즘]]으로 인해 중간 형태보다는 첫번째의 형태로 쓰는 경우가 많다. 그러나 함수 자체를 오브젝트로 다루는 때가 되면 보통 입력값인 [math(x)]를 생략하므로 [math(g\circ f)]를 주로 쓰게 된다.] 계산 과정상 제일 안쪽(오른쪽) 함수부터 계산 과정이 진행된다. 동일함수가 합성됐을 경우 [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)]처럼 함숫값을 제곱한 것인지 혼동을 줄 수 있다.[* 예컨대 함수의 노름을 정의하는 식 [math(\lVert f \rVert_2^2 = \int f^2)] 우변의 제곱은 함숫값의 제곱이다.] == 합성함수이다/아니다? == 어떤 특정한 함수가 "합성함수다/아니다" 라고 구분하는 것은 수학적으로 아무 의미가 없다.[* 그러나 나무위키 항목들 중에는 이와 같은 서술을 하는 경우가 종종 있다. 해당 부분을 발견한다면 읽을 때 주의할 것.] 합성함수를 논의할 때는 '[math(h)]가 '''[math(f)]와 [math(g)]의 합성이다''''와 같이 무엇의 합성인지가 반드시 따라야 한다. 합성함수인지의 여부는 각 함수에 내재하는 고유한 속성이 아니라는 말이다. '합성함수'는 함수들 간의 관계에서 도출되는 개념이다. 이러한 맥락이 없이 각 함수를 합성함수이다/아니다의 절대적인 기준으로 ''분류''할 수 없다. 예를 들어 "함수 [math(h(x) = e^{\sin x})]는 합성함수다"라는 말이 그 자체로 의미가 없음은 "숫자 12는 더해진 수다"라는 말이 의미가 없다는 것과 유사하다.[* [[군(대수학)|군론]]의 표현을 빌리자면, 함수의 합성과 덧셈은 [[이항연산|이항연산자]]에 불과하다. 각 원소 자체가 이항연산자의 결과다/아니다라고 구분짓는 것은 어불성설이다.] 숫자 12가 '더해진 수'라는 서술이 의미를 지니려면 증명과정에서의 쓸모에 따라 혹은 관심의 대상에 따라 (예컨대) 다음과 같이 12가 무엇과 무엇을 더한 것인지, 그리고 그러한 표현이 무슨 쓸모가 있는지 밝혀야 한다. > * 12 = 5 + 7, 즉 두 홀수의 합이므로, 12는 짝수다. > * 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)]는 그 자신의 합성함수로 볼 수 있다.[* 말장난 같아보이지만 이는 함수로 이루어진 [[군(대수학)|군]] 등을 논의할 때 자주 접하는 서술들이다.] 결국 '''모든 함수'''는 그 자신과 항등함수의 합성함수이다. == 성질 == 함수의 합성은 기본적으로 [math(f\circ g\ne g\circ f)], 즉 [[교환법칙]]이 성립하지 않는다.[* 고등학교 수학에서 늘 보는 "두 행렬 [math(A)]와 [math(B)] 간에 일반적으로 [math(AB \neq BA)]" 라는 사실과도 맞닿아있다. 행렬은 선형변환으로서, 결국 함수의 특수한 경우기 때문이다.] 수학적인 방법으로 예를 든다면, 다음과 같다. * [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(g)]의 치역이 [math(f)]의 정의역의 부분집합일 때]]만 [math(f \circ g)]의 합성을 할 수 있으므로, [math(f \circ g)]가 있어도 [math(g \circ f)]는 존재하지 않는 경우가 더 많다.[* 대표적으로 [[부호 함수]] [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))]는 정의할 수 없다.] 교환법칙이 항상 성립하는 경우는 다음과 같다. * [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)]는 [[복소수]]) 꼴의 함수들을 합성할 때, 이들 함수는 결국 곱셈 함수인데 복소수와 그 부분집합 위에서의 곱셈에서는 교환법칙이 성립하므로[* 이 성질을 지닌 집합을 [[가환환]]이라고 한다.] 합성 순서에 관계없이 최종적으로 합성된 함수는 [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})]을 역원으로 보면 된다.[* 물론 항등함수와 역함수가 정의된 집합이고 여타 군의 조건을 만족해야 한다. 이 의미에서 함수를 '적당히' 모은 집합.] 즉 [math(f\circ f^{-1} = f^{-1}\circ f = \mathrm{Id}(x))]이다. == 멱등함수 == [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)] * [[복소수#s-3.1|실수부 함수]] [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 \})] * [[정사영]]: 멱등성이 특히 유용하게 쓰이는 경우다. == 함수의 합성이 주기성을 갖는 함수 == [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)])[* [math(\Im(z) = 0)]인 경우 [[항등함수]]가 된다.] * [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})]만큼 회전시킨 것을 함숫값으로 하는 함수이다. == 예시 == * [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))]일 수 있다. == 합성함수의 [[미분]] == [include(틀:상세 내용, 문서명=연쇄 법칙)] == 합성함수의 [[적분]] == [include(틀:상세 내용, 문서명=치환적분)] == 순환군의 합성 == 예를 들어 집합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)에서 우(짝)순열과 우(짝)순열의 합성은 우순열이고 기(홀)순열과 기(홀)순열의 합성은 우순열을 잘 보여주는 순환군이다. === 군의 합성함수의 예 === [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} )] [include(틀:문서 가져옴,title=함수,version=375)] [[분류:함수]]