특수함수 Special Functions | ||
{{{#!wiki style="margin: 0 -10px -5px; min-height: calc(1.5em + 5px)" {{{#!folding [ 펼치기 · 접기 ] {{{#!wiki style="margin: -5px -1px -11px; word-break: keep-all" | <colbgcolor=#383B3D><colcolor=#fff> 적분 | 오차함수(error function)(가우스 함수 · 가우스 적분 함수) · 베타 함수(불완전 베타 함수) · 감마 함수(불완전 감마 함수 · 로그 감마 함수) · 타원 적분 · 야코비 타원 함수 · 지수 적분 함수 · 로그 적분 함수 · 삼각 적분 함수 · 쌍곡선 적분 함수 · 프레넬 적분 함수 · 구데르만 함수 |
미분방정식 | 르장드르 함수[math(^\ast)] (구면 조화 함수) · 베셀 함수 · 에르미트 함수 · 라게르 함수 · 에어리 함수 | |
역함수 | 브링 근호 · 람베르트 W 함수 · 역삼각함수 | |
급수 | 제타 함수 · 후르비츠 제타 함수 · 세타 함수 · 초기하함수 · 폴리로그함수 · 폴리감마 함수 · 바이어슈트라스 타원 함수 | |
정수론 | 소수 계량 함수 · 소인수 계량 함수 · 뫼비우스 함수 · 최대공약수 · 최소공배수 · 약수 함수 · 오일러 피 함수 · 폰 망골트 함수 · 체비쇼프 함수 · 바쁜 비버 함수 | |
기타 | 헤비사이드 계단함수 · 부호 함수 · 테트레이션(무한 지수 탑 함수) · 지시함수 · 바닥함수 / 천장함수 · 허수지수함수 · 혹 함수 | |
[math(^\ast)] 특수함수가 아니라 특정 조건을 만족시키는 다항함수이지만, 편의상 이곳에 기술했다. |
1. 개요
부호 함수의 그래프 개형 |
符號函數 / sign(um)[1] function
부호 함수는 특수함수 중 하나로, 어떤 실수의 부호를 출력하는 함수이다. 쉽게 말해 [math(|x|)]를 미분한 함수. 기호로는 [math(\operatorname{sgn}x)]로 쓰며, 정의는 아래와 같다.
[math(\operatorname{sgn}x \colonequals \begin{cases} \cfrac x{|x|} & \text{if } x\ne 0 \\ 0 & \text{if } x=0 \end{cases})] |
구체적인 값은 아래와 같다.
[math(\operatorname{sgn}x = \begin{cases} 1 & \text{if } x>0 \\ 0 & \text{if } x=0 \\ -1 & \text{if } x<0 \end{cases})] |
보통 점화식에서 특정항의 부호만을 취할 때 사용되는 함수이다.
둥근 계단꼴 함수에 극한을 적용해서 근사하는 방식[2]으로 정의하는 것도 가능하다. 이를테면
[math(\begin{aligned}\operatorname{sgn}x &= \lim_{n\to\infty} \frac{1-2^{-nx}}{1+2^{-nx}} \\ &= \lim_{n\to\infty}\frac2\pi\arctan(nx) \\ &= \lim_{n\to\infty}\tanh(nx)\end{aligned})] |
2. 성질
- 부호 함수는 멱등 함수이다. 즉,
[math((\operatorname{sgn} \circ \operatorname{sgn})(a) = \operatorname{sgn}a)]
가 성립한다. - 부호 함수는 홀함수(Odd function, 기함수)이다. 따라서
[math(\operatorname{sgn}(-x)=-\operatorname{sgn}x)]
가 성립한다. - 계단 함수(Step function)의 일종이다. 해석적 근사가 적용된 단위 계단 함수 [math(H(x))][3] 사이에는 다음과 같은 관계가 성립한다.
[math(\operatorname{sgn}x = 2H(x)-1)] - [math(x=0)]은 비약 불연속점(point of jump discontinuity)이다. 즉,
[math(\begin{aligned} \lim_{x \to 0^+} \operatorname{sgn}x &= 1 \\ \lim_{x \to 0^-} \operatorname{sgn}x & = -1 \end{aligned})]
이므로 [math(\lim\limits_{x \to 0} \operatorname{sgn}x)]는 정의되지 않는다. - 일반적으론 상수함수의 일종으로 보기 때문에 도함수는 [math(0)]이고, [math(x=0)]에서는 도함수가 정의되지 않는다.
[math(\dfrac{\rm d}{{\rm d}x}\operatorname{sgn}x = 0 \quad (x\ne0))]
한편, 상기 [math(H(x))]와의 관계 때문에 도함수를 디랙 델타 함수 [math(\delta(x))]로 나타내는 경우도 있는데, [math(H(x))] 역시 [math(x=0)]이 비약 불연속점이기 때문에 도함수가 정의되지 않고 [math(\delta(x) = 0 ~ (x\ne0))]이기 때문에 결과 자체가 [math(0)]이라는 점에는 변함이 없다.[math(\begin{aligned} \frac{\rm d}{{\rm d}x}(\operatorname{sgn}x) &= \dfrac{\rm d}{{\rm d}x}\{2H(x)-1\} \\ &= 2\delta(x) \quad (x\ne0) \end{aligned})] - 역도함수는 절댓값 함수이다. 즉,
[math(\displaystyle \int \operatorname{sgn}x{\rm\,d}x = |x|+{\sf const.})] - 복소수는 성분이 실수부와 허수부 2개로 구성되어있기 때문에, 부호 함수에 복소수를 집어넣으면 더 이상 '변수의 부호를 판별하는' 함수가 아니게 된다. 즉 복소수 [math(z)]의 편각을 출력하는 함수를 [math(\arg z)]라고 하면 복소수 [math(z)]에 대한 부호 함수 [math(\operatorname{sgn}z)]는 다음과 같다.
[math(\begin{aligned} \operatorname{sgn}z &= \begin{cases} \dfrac z{|z|} & (z\ne0) \\ 0 & (z = 0)\end{cases} \\ &= e^{i\arg z} (1 - {\bold 1}_{\{0\}}(z))\end{aligned})][4]
위 특성에 따라 [math(z\ne0)]이면 [math(|\operatorname{sgn}z| = 1)]이다.[5]
이처럼 '변수의 부호를 판별'한다는 정의가 유지되지 않기 때문에, 정의역을 복소수로 확장하는 경우 다음 항목에서 설명하는 [math(\operatorname{csgn})]이 쓰인다. - 복소수와 동일한 이유로, 벡터 함수, 행렬 등을 정의역에 넣어봤자 '부호를 출력하는 결과'가 얻어지지 않는데다 상수함수가 되지 않기 때문에 단위벡터 [math(\bf{\hat v} = \cfrac{\bf v}{\|{\bf v}\|})] 같은 것 역시 부호 함수로 표기하지 않는다.
3. 복소 부호 함수
[math(\operatorname{csgn}(z) = \begin{cases} \operatorname{sgn}(\Re(z)) = \cfrac{\Re(z)}{|\Re(z)|} & \text{if }\Re(z) \ne 0 \\ \operatorname{sgn}(\Im(z)) = \cfrac{\Im(z)}{|\Im(z)|} & \text{if }\Re(z) = 0,\,\Im(z) \ne 0 \\ 0 & \text{if } \Re(z) = 0,\,\Im(z) = 0 \end{cases})] |
정의를 보듯, 순허수인 경우에만 허수부의 부호를 판별하고 나머지는 실수부의 부호를 판별한다.
4. 기타
- 간단한 정의임에도 중등교육과정 이하에서 코빼기도 보이지 않는 함수이다.[6] 대학 과정에서 푸리에 변환을 배울 때 처음 접한다.
- 푸리에 변환을 적용한 결과는 분포 이론에서 코시 주요값을 취하는 것으로 해석하며 그 결과는 분수함수이다.
[math(\begin{aligned} \operatorname{\widehat{sgn}}(\xi) &= \mathcal P\int_{-\infty}^\infty\operatorname{sgn}(t)e^{-i2\pi\xi t}{\rm\,d}t \\ &= -\frac i{\pi\xi} \end{aligned})] - 컴퓨터과학에서는 음수 값을 1, 양수 값을 0으로 정의한다는 차이점이 있다.[7] 이 정의는 헤비사이드 계단 함수와 천장함수를 사용한 [math(1 - \lceil H(x) \rceil)] 또는 지시함수을 사용한 [math({\bf 1}_{\mathbb R^-})]과 동치이다.
- 부호 함수에 [math(x)]를 곱하면 상기 개요에서 언급한대로 [math(x\operatorname{sgn}x = |x|)], 즉 절댓값 함수가 되기 때문에 [math(x=0)]에서 미분이 불가능하지만, [math(x^n ~ (n\ge2))]를 곱한 [math(x^n\operatorname{sgn}x = x^{n-1}|x|)]는 전 구간에서 미분이 가능하다.
- Microsoft Excel에도 부호 함수가 존재한다. SIGN(number).
- 행렬식의 정의에 등장한다.
[1] signum이라는 이름이 따로 있는 이유는 sign과 발음이 같은 sine과 혼동할 수 있기 때문. 여담으로 signum은 sign의 어원이 되는 라틴어이다.[2] 이를 매끄러운 근사(smooth approximation)라고 한다.[3] 즉 [math(H(0) = \cfrac12)]로 정의하는 경우.[4] [math({\bold 1}_{\{0\}})]는 지시함수이다.[5]
위 그림과 같이 복소평면 상 복소수 [math(z)]에 대한 부호함숫값 [math(\operatorname{sgn}z)]는 복소평면 상 [math(|z|=1)]의 원 위에 존재한다.[6] 정작 수학Ⅱ의 함수의 극한, 함수의 연속 파트에서 부호 함수를 알아야 풀 수 있는 문제가 출제되곤 한다.[7] 정의하는 위치는 MSB(Most Significant Bit), 즉 맨 왼쪽 자리다. 2진법에서는 음수를 보수로 바꿔서 처리하기 때문에 음수는 가장 앞 자리(왼쪽 자리)가 1이 되기 때문.
위 그림과 같이 복소평면 상 복소수 [math(z)]에 대한 부호함숫값 [math(\operatorname{sgn}z)]는 복소평면 상 [math(|z|=1)]의 원 위에 존재한다.[6] 정작 수학Ⅱ의 함수의 극한, 함수의 연속 파트에서 부호 함수를 알아야 풀 수 있는 문제가 출제되곤 한다.[7] 정의하는 위치는 MSB(Most Significant Bit), 즉 맨 왼쪽 자리다. 2진법에서는 음수를 보수로 바꿔서 처리하기 때문에 음수는 가장 앞 자리(왼쪽 자리)가 1이 되기 때문.