符号関数
![]() |
この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(2017年8月) |

実数に対する符号関数 y=sgnx{displaystyle y=operatorname {sgn} x}
符号関数 (ふごうかんすう、英: sign function, signum function) は、実数に対しその符号に応じて1、−1、0のいずれかを返す関数
- sgnx={1: x>00: x=0−1: x<0{displaystyle operatorname {sgn} x={begin{cases}1&: x>0\0&: x=0\-1&: x<0end{cases}}}
およびそれを拡張した複素関数。
記号は sgn x のほかに、sgn(x), Sgn x, sign x なども使われる。
英語から「サイン関数」とも呼ぶが、この名は正弦関数 sin と非常に紛らわしい。区別するために sign のラテン語形の signum(シグヌム、英語読みはシグナム)から「シグナム関数」(signum function) と呼ぶことがある。英語以外でもドイツ語などいくつかの言語で signum 系の名前で呼ばれる。
複素数への拡張
実数に対する符号関数は
- sgnx={x/|x|: x≠00: x=0{displaystyle operatorname {sgn} x={begin{cases}{x}/{|x|}&: xneq 0\0&: x=0end{cases}}}
と書くこともできる。符号関数の複素数への拡張は、この式を複素数へも適用することで得られる。複素数に対する符号関数は、複素数平面上でベクトルに対し同方向の単位ベクトルを求める操作と同等である(ただし零ベクトル以外のとき)。
なおこのほかに、gnuplotでは、複素数に対し符号関数を
- sgnx=sgnRex{displaystyle operatorname {sgn} x=operatorname {sgn} operatorname {Re} ,x}
と定義している。またMaple Vでは
- csgnx={sgnRex: Rex≠0sgnImx: Rex=0{displaystyle operatorname {csgn} ,x={begin{cases}operatorname {sgn} operatorname {Re} ,x&: operatorname {Re} ,xneq 0\operatorname {sgn} operatorname {Im} ,x&: operatorname {Re} ,x=0end{cases}}}
という関数を定義している(Re{displaystyle operatorname {Re} } と Im{displaystyle operatorname {Im} }
はそれぞれ複素数の実部と虚部)。しかしこれ以降は、これらの定義は使わず、最初の定義の符号関数について述べる。
性質
符号関数は、以下のような性質を持つ(これらは複素数に対し成り立つ)。
極形式との関係:
- |sgnx|={1: x≠00: x=0{displaystyle |operatorname {sgn} x|={begin{cases}1&: xneq 0\0&: x=0end{cases}}}
argsgnx=argx{displaystyle arg operatorname {sgn} x=arg x,}、ただし arg{displaystyle arg }
は偏角
- x=(sgnx)|x|{displaystyle x=(operatorname {sgn} x)|x|,}
- sgnx=eiargx(x≠0){displaystyle operatorname {sgn} x=e^{iarg x}quad (xneq 0)}
符号の演算:
- sgn−x=−sgnx{displaystyle operatorname {sgn} -x=-operatorname {sgn} x,}
- sgn1x=1sgnx(x≠0){displaystyle operatorname {sgn} {frac {1}{x}}={frac {1}{operatorname {sgn} x}}quad (xneq 0)}
- sgnxy=sgnxsgny{displaystyle operatorname {sgn} xy=operatorname {sgn} xoperatorname {sgn} y,}
- sgnxy=sgnxsgny(y≠0){displaystyle operatorname {sgn} {frac {x}{y}}={frac {operatorname {sgn} x}{operatorname {sgn} y}}quad (yneq 0)}
- sgnxy=(sgnx)y{displaystyle operatorname {sgn} x^{y}=(operatorname {sgn} x)^{y},}
実数に対しては、加えて次のような性質を持つ。
ddxsgnx=2δ(x){displaystyle {frac {d}{dx}}operatorname {sgn} x=2operatorname {delta } (x)}、ただし δ{displaystyle operatorname {delta } }
はディラックのデルタ関数
- sgnx=ddx|x|(x≠0){displaystyle operatorname {sgn} x={frac {d}{dx}}|x|quad (xneq 0)}
sgnx=2H1/2(x)−1{displaystyle operatorname {sgn} x=2operatorname {H} _{1/2}(x)-1,}、ただし H1/2{displaystyle operatorname {H_{1/2}} }
はヘヴィサイドの階段関数
sgnx=[x>0]−[x<0]{displaystyle operatorname {sgn} x=[x>0]-[x<0],}、ただし []{displaystyle [,]}
はアイヴァーソンのブラケット
- limk→∞tanhkx=π2sgnx{displaystyle lim _{kto infty }tanh kx={frac {pi }{2}}operatorname {sgn} x}