Factorial
1. 개요
수학 용어. 보통 대한민국에서는 한자어인 계승(階乘)보다는 영어 명칭 factorial [fӕkˈtɔ:riəl]을 소리나는 대로 쓴 "팩토리얼"이라고 표기한다. 말할 때는 그냥 "팩"이라고 줄여 말한다. 기억이 안 나면 느낌표라고 표현하기도 한다. 문화어로는 차례곱이라고 하는데 [math(1)]부터 차례대로 곱한다는 의미[1]이다.자연수 [math(n)]을 이용하여 기호로는 간단하게 [math(n!)]로 나타내며 [math(1)]부터 [math(n)]까지의 자연수를 모두 곱하는 것을 의미한다. [math(\displaystyle n! = \prod_{k=1}^n k)]로 나타내기도 하는데, [math(k=1)]부터 [math(k=n)]까지 합 연산을 의미하는 [math(\displaystyle \sum_{k=1}^n)]처럼 [math(\displaystyle \prod)]는 곱연산을 의미한다. 고등학교 교육과정에서는 중복 순열 기호로 [math(\Pi)]를 써서인지, 곱의 기호 [math(\displaystyle \prod)]를 가르치지 않기 때문에 팩토리얼을 접하는 확률과 통계 과목에서는 [math(n!=1 \times 2 \times 3 \times \cdots \cdots \times (n-1) \times n)]으로 배운다.
그러나 이중 계승([math(!!=!_2)])[2]이나 다중 계승([math(\overbrace{!!! \cdots\cdots !!}^k = !_k)])[3], 상승·하강 계승 등의 심화 개념을 이해하려면 식을 거꾸로 기억하는 것이 좋다. 그러니까 [math(\displaystyle n! = \prod_{i=0}^{n-1} \left(n-i\right) = n \left( n-1 \right) \left( n-2 \right) \cdots\cdots 3 \cdot 2 \cdot 1)], 즉 [math(\boldsymbol n)]부터 [math(\boldsymbol 1)]씩 빼서 [math(\boldsymbol 1)]까지 곱하는 것으로 기억하자.
순열이나 조합 등, 조합론의 여러 분야에서 빈번하게 쓰이는 기호이기 때문에 [math(n)]의 범위는 일반적으로 음이 아닌 정수로 확장, 즉 [math(n=0)]을 포함하는데, [math(0!)]은 특별히 [math(0!=1)]로 정의한다. 예를 들자면 서로 다른 [math(n)]개의 물건에서 [math(n)]개를 모두 뽑아 나열하는 경우의 수([math({}_n\mathrm P_n)])는 [math(n!)]인데, [math({}_n\mathrm P_r = \dfrac{n!}{\left( n-r \right)!})]이므로 [math({}_n\mathrm P_n = \dfrac{n!}{0!})]이며, 정의의 일관성을 유지하려면 [math(0!=1)]이어야 한다. 만약 [math(0! \ne 1)]이라면 순열 뿐만 아니라 조합론의 거의 모든 개념에서 일일이 경우를 나눠서 재정의 해야할 것이다. [math(n! = n \times \left( n-1 \right)!)] 등의 점화식 역시 [math(0!=1)]로 정의하면 자연수 범위에서 성립하는 걸로 만들 수 있다. 참고로 [math(1!=1)]이다.
2. 하강 계승 / 상승 계승
하강 계승(falling factorial) [math(n^{\underline{k}})]은 팩토리얼의 정의 [math(\displaystyle n! = \prod_{i=0}^{n-1}\left(n-i\right))]에서 [math(i=n-1)]이 아닌 [math(i=k-1)]까지의 곱으로 정의된다. 즉[math(\displaystyle n^{\underline{k}} = \prod_{i=0}^{k-1} \left(n-i\right) = n\left(n-1\right)\left(n-2\right)\cdots\cdots\left(n-k+2\right)\left(n-k+1\right) = \frac{n!}{(n-k)!})] |
이와 비슷하게 상승 계승(rising factorial) [math(n^{\overline{k}})]은 하강 계승의 부분곱 식에서 [math((n-i))]를 [math((n+i))]로 바꾼 식으로 정의된다.
[math(\displaystyle n^{\overline{k}} = \prod_{i=0}^{k-1} \left(n+i\right) = n\left(n+1\right)\left(n+2\right)\cdots\cdots\left(n+k-2\right)\left(n+k-1\right) = \frac{(n+k-1)!}{(n-1)!})] |
하강 계승의 정의에서 [math(n)]에 [math(-n)]을 대입하면 다음과 같이 식이 바뀌면서 상승 계승에 대한 식으로 변한다.
[math(\displaystyle \left(-n\right)^{\underline{k}} = \prod_{i=0}^{k-1}\left(-n-i\right) = \left(-1\right)^k \prod_{i=0}^{k-1} \left(n+i\right) = \left(-1\right)^k n^{\overline{k}})] |
제1종 스털링 수, 제2종 스털링 수, 라흐 수를 정의할 때 쓰인다.
3. 정의역의 확장
계승은 자연수에서만 정의되지만 [math(\Gamma \left( n \right))]으로 표기되는 감마 함수를 이용하면 정의역을 복소수로 확장할 수 있다.[4] 자세한 내용은 감마 함수 문서 참조. 그러니까 감마 함수를 이용하면 [math(1.5!)]같은 것도 계산할 수 있다는 것. 예를 들어 [math(\left(-\dfrac 12 \right)!=\Gamma \left( \dfrac 12 \right) = \sqrt\pi)]이다. 그래서 이를 통해 순열이나 조합 같은 것도 실수, 복소수로 일반화가 가능하다!일반 공학용 계산기에 [math(1.5!)]따위를 넣으면 못 구해주지만, 어째서인지 구글 계산기나 일부 계산기에선 잘 구해준다. [math(n! = \Gamma\left(n+1\right))]를 이용해, 정수가 아닌 수를 넣으면 감마 함수로 구하도록 프로그래밍되었을 것으로 추정된다.
4. 기타
이걸 기반으로 한 공대개그가 존재한다. 예를 들어 [math(3!)]를 '삼!'이라고 강하게 읽으면 일반인, '삼 팩토리얼'이라고 읽으면 공대생, 애똑이라고 읽으면 이론언어학 전공자라는 식.오랫동안 수학자들을 괴롭힌 P-NP 문제의 단골 소재 중 하나다.
숫자 뒤가 아닌 숫자 앞에 느낌표를 붙이게 되면([math(!n)] 의 꼴, [math(n)]은 자연수) [math(n)]개의 원소에 대한 완전순열의 수를 의미하게 되며, 이 때는 준계승(서브팩토리얼)이라 부르게 된다. 완전순열은 섞인 모자들 속에서 사람들이 아무도 자기 모자를 집어가지 않는 경우 등을 셀 때 쓰이며, [math(!n)]의 공식은 [math(n!)]보다 복잡하다. 자세한 내용은 완전순열 참고.
5. 관련 문서
[1] 후술하겠지만 [math(1)]씩 빼서 [math(1)]까지 차례로 곱한다는 뜻으로 외우는 것이 좋다.[2] [math(2)]씩 빼서 [math(2)]나 [math(1)]까지 차례로 곱하라는 기호.[3] [math(k)]씩 빼서 차례로 곱하라는 기호.[4] 다만 이 경우에도 실수부는 [math(0)] 이하의 정수가 될 수 없다.[5] 문과는 초등학생이 뺄셈부터 한 것으로 생각한 것이고, 이과는 느낌표를 단순한 느낌표로 보지 않고 팩토리얼로 해석한 것이다.[6] [math(4! = 4 \cdot 3 \cdot 2 \cdot 1 = 24)], [math(40-32/2 =24)]