1. 개요
0의 0제곱 즉, [math(0^0)]은 일반적으로 정의되지 않는 값이다.
복소수 [math(z)]에 대하여
[math(z^0 equiv dfrac zz )]
로 정의하는데, [math(0/0)]은 그 값을 하나로 정할 수 없기 때문이다.[1]도 정의되지 않는다.]
2. 극한값
2.1. x^x의 극한
우리가 고려하는 값 [math(0^0)]은 다음처럼 극한으로 생각해볼 수 있다.
[math(displaystyle 0^0=lim_{x to 0^{+}} x^{x} )]
이 때,
[math(displaystyle x^x = e^{ln x^x} = e^{xln x} )]
이고, [math(xequiv t^{-1} )]로 잡으면 [math(xto0^+)], [math(ttoinfty)]가 되므로
[math(displaystyle lim_{xto0^+} x^x = lim_{ttoinfty} exp biggl( -frac{ln t}t biggr) )]
이다. 이 때, 지수의 극한값은 로피탈의 정리에 의해
[math(displaystyle lim_{ttoinfty} biggl( -frac{ln t}t biggr) overset{mathsf{l'Hhat{o}pital}}{=} lim_{ttoinfty} biggl( -frac1t biggr) = 0)]
이 됨에 따라
[math(displaystyle lim_{xto0^+} x^x = e^0 = 1)]
이 된다. 그러나 불행히도 좌극한은 정의되지 않기 때문에 [math(0^0)]은 정의되지 않는다.
[math(displaystyle 0^0=lim_{x to 0^{+}} x^{x} )]
이 때,
[math(displaystyle x^x = e^{ln x^x} = e^{xln x} )]
이고, [math(xequiv t^{-1} )]로 잡으면 [math(xto0^+)], [math(ttoinfty)]가 되므로
[math(displaystyle lim_{xto0^+} x^x = lim_{ttoinfty} exp biggl( -frac{ln t}t biggr) )]
이다. 이 때, 지수의 극한값은 로피탈의 정리에 의해
[math(displaystyle lim_{ttoinfty} biggl( -frac{ln t}t biggr) overset{mathsf{l'Hhat{o}pital}}{=} lim_{ttoinfty} biggl( -frac1t biggr) = 0)]
이 됨에 따라
[math(displaystyle lim_{xto0^+} x^x = e^0 = 1)]
이 된다. 그러나 불행히도 좌극한은 정의되지 않기 때문에 [math(0^0)]은 정의되지 않는다.
2.2. y^x의 극한
그렇다면, 이변수함수 [math(f(x,,y)=y^x)]은 어떨까? 우리가 고려하는 값을 다음과 같이 생각해볼 수 있다.
[math(displaystyle 0^0 = lim_{(x,,y)to(0,,0)} f(x,,y) )]
[math(y=0)]이라는 조건에서 이 극한을 생각하면
[math(displaystyle lim_{xto0} 0^x = 0)]
이 되고, 반대로 [math(x=0)]이라는 조건을 따라서 생각하면
[math(displaystyle lim_{yto0} y^0 = 1)]
이 된다. 즉, 극한이 진행하는 방향에 따라 그 극한값이 달라지기 때문에 [math(displaystyle lim_{(x,,y)to(0,,0)} f(x,,y) )]는 정의되지 않으므로 [math(0^0)]의 값은 정할 수 없다.
[math(displaystyle 0^0 = lim_{(x,,y)to(0,,0)} f(x,,y) )]
[math(y=0)]이라는 조건에서 이 극한을 생각하면
[math(displaystyle lim_{xto0} 0^x = 0)]
이 되고, 반대로 [math(x=0)]이라는 조건을 따라서 생각하면
[math(displaystyle lim_{yto0} y^0 = 1)]
이 된다. 즉, 극한이 진행하는 방향에 따라 그 극한값이 달라지기 때문에 [math(displaystyle lim_{(x,,y)to(0,,0)} f(x,,y) )]는 정의되지 않으므로 [math(0^0)]의 값은 정할 수 없다.
2.3. 무한 번 제곱한다면?
우선 다음을 정의하자.
[math(a^a=auparrowuparrow2,, a^{a^a}=auparrowuparrow3,, cdots,, overset{n}{overbrace{a^{a^{cdots^a}} }}=auparrowuparrow n)]
이를 테트레이션(tetration)이라고 한다. 덧셈, 곱셈, 지수에 이은 4차 연산이라는 의미이다.
그리고 이 연산에서 [math(n)]을 무한대로 보내면 다음과 같이 된다.
[math(displaystyle lim_{ntoinfty} a uparrowuparrow n = -frac{W(-ln a)}{ln a} )]
여기서 [math(ln)]은 자연로그, [math(W)]는 람베르트 [math(W)] 함수이다.
이제 [math(a)]에 [math(0)]을 대입해 보자. 여기서 [math(displaystyle lim_{xto0^+} (-ln x) = infty)]이고 [math(displaystyle lim_{xtoinfty} W(x) = infty)]이므로 결국 위 극한은 [math(dfrac{infty}{infty})]의 부정형이 된다.
여기서 부정형의 극한값을 구하기 위해 로피탈의 정리를 적용하면, 최종적으로 무한 번의 [math(0)]제곱은 [math(0)]에 수렴한다는 사실을 얻을 수 있다.
[math(displaystyle lim_{ato0^+} biggl( -frac{W(-ln a)}{ln a} biggr)
overset{mathsf{l'Hhat{o}pital}}{=} 0)]
[math(a^a=auparrowuparrow2,, a^{a^a}=auparrowuparrow3,, cdots,, overset{n}{overbrace{a^{a^{cdots^a}} }}=auparrowuparrow n)]
이를 테트레이션(tetration)이라고 한다. 덧셈, 곱셈, 지수에 이은 4차 연산이라는 의미이다.
그리고 이 연산에서 [math(n)]을 무한대로 보내면 다음과 같이 된다.
[math(displaystyle lim_{ntoinfty} a uparrowuparrow n = -frac{W(-ln a)}{ln a} )]
여기서 [math(ln)]은 자연로그, [math(W)]는 람베르트 [math(W)] 함수이다.
이제 [math(a)]에 [math(0)]을 대입해 보자. 여기서 [math(displaystyle lim_{xto0^+} (-ln x) = infty)]이고 [math(displaystyle lim_{xtoinfty} W(x) = infty)]이므로 결국 위 극한은 [math(dfrac{infty}{infty})]의 부정형이 된다.
여기서 부정형의 극한값을 구하기 위해 로피탈의 정리를 적용하면, 최종적으로 무한 번의 [math(0)]제곱은 [math(0)]에 수렴한다는 사실을 얻을 수 있다.
[math(displaystyle lim_{ato0^+} biggl( -frac{W(-ln a)}{ln a} biggr)
overset{mathsf{l'Hhat{o}pital}}{=} 0)]
3. 편의상 값을 정하는 경우
엄밀하게는 정의되지는 않지만, 편의상 [math(0^0=1)]로 놓는 경우가 많으며, [math(0^{-n}=infty ,(n in mathbb{N}) )]로 는 경우도 많다.
엄밀한 증명이 필요치 않은 경우, 그 값을 1로 둬도 문제되지 않으며, 계산의 편의성이 증가한다. 아래에서는 그 값을 1로 두는 3가지 흔한 경우를 소개하며, 여기에서 더 많은 예시를 볼 수 있다.
엄밀한 증명이 필요치 않은 경우, 그 값을 1로 둬도 문제되지 않으며, 계산의 편의성이 증가한다. 아래에서는 그 값을 1로 두는 3가지 흔한 경우를 소개하며, 여기에서 더 많은 예시를 볼 수 있다.
3.1. 다항식
다항식 [math(f(x) )]를
[math(displaystyle f(x) = sum_{k=0}^n a_kx^k )]
의 형태로 표현하고자 할 때, [math(x)]의 값에 관계없이 [math(x^0=1)]이라 놓으면 편리하다. 그렇기 때문에 다항식을 다룰 때 [math(0^0=1)]이라 정의하는 경우가 많다.
[math(displaystyle f(x) = sum_{k=0}^n a_kx^k )]
의 형태로 표현하고자 할 때, [math(x)]의 값에 관계없이 [math(x^0=1)]이라 놓으면 편리하다. 그렇기 때문에 다항식을 다룰 때 [math(0^0=1)]이라 정의하는 경우가 많다.
3.2. 함수의 개수
두 집합 [math(X)], [math(Y)]에 대하여 각 집합의 원소의 개수를 각각 [math(x)], [math(y)]라 하자. 그런데 만약 두 집합이 모두 공집합이라면, [math(X to Y)]인 함수는 순서 모음 [math( (varnothing,,varnothing,,varnothing) )]으로 단 하나 존재한다. 이런 관점에서 [math(0^0=1)]이라 정의할 수 있다.
그렇기 때문에, 초한기수 문서에도 기재돼 있지만, 기수의 지수 연산에서는 [math(0^0=1)]로 정의된다.
그렇기 때문에, 초한기수 문서에도 기재돼 있지만, 기수의 지수 연산에서는 [math(0^0=1)]로 정의된다.
3.3. 중복 순열
마찬가지로, 0개에서 0개를 중복을 허락해서 뽑는 경우의 수는 사실상 '그냥 안 뽑는 것' 딱 한 가지이다. 따라서 조합론의 관점에서는 명백히 [math(0^0=1)]로 생각할 수 있다.
3.4. 뮌하우젠 수
뮌하우젠 수에서는 [math(0^0=0)]으로 정의한다. 해당 문서 참고.
4. 기타
- 많은 계산기 프로그램에서 [math(0^0=1)]이 된다. 추측건대, 계산기가 모든 수의 0제곱을 1로 인식해서 그런 듯하다. 카시오 공학계산기에서는 'Math Error'라며 계산을 거부한다. Wolfram Alpha 역시 '정의되지 않은 값'이라는 결과를 표시한다.