y=sgn⁡xy = \operatorname{sgn} x

符号関数 y=sgn⁡xy = \operatorname{sgn} x のグラフ

y=sgn⁡xy = \operatorname{sgn} x は符号関数と呼ばれ、実数 xx の符号だけを取り出して 33 つの値のいずれかを返します1。

sgn⁡x={1(x>0)0(x=0)−1(x<0)\operatorname{sgn} x = \begin{cases} 1 & (x > 0) \\ 0 & (x = 0) \\ -1 & (x < 0) \end{cases}
xxsgn⁡x\operatorname{sgn} x
3.53.511
0000
−2-2−1-1

定義域と値域

定義域はすべての実数ですが、値域は −1-1、00、11 のわずか 33 個の値だけです。グラフは x<0x < 0 で高さ −1-1、x>0x > 0 で高さ 11 の水平な半直線が 22 本あり、原点にだけ高さ 00 の点が孤立して置かれた形になります。

対称性

sgn⁡(−x)=−sgn⁡x\operatorname{sgn}(-x) = -\operatorname{sgn} x が成り立つので、原点に関して点対称な奇関数です。sgn⁡(0)=0\operatorname{sgn}(0) = 0 もこの対称性と矛盾しません。原点で 00 をとるのは、奇関数であるための必然だともいえます。

不連続点と跳び

不連続なのは原点ただ一点です。左からの極限は −1-1、右からの極限は +1+1 で、両者が食い違うため跳びの幅は 22 になります。関数値そのものはその中間の 00 です。原点以外ではどこも定数なので連続で、導関数は 00 です。

絶対値との関係

符号関数は絶対値と深く結びついています。

∣x∣=x⋅sgn⁡xsgn⁡x=x∣x∣(x≠0)\begin{align*} |x| &= x \cdot \operatorname{sgn} x \\ \operatorname{sgn} x &= \frac{x}{|x|} \quad (x \neq 0) \end{align*}

下の式は x≠0x \neq 0 でのみ使えます。また絶対値 ∣x∣|x| を微分すると、x≠0x \neq 0 の範囲で sgn⁡x\operatorname{sgn} x になります。角をもつ関数を微分すると跳びをもつ関数になる、という対応です。

階段関数との関係

ヘヴィサイドの階段関数 H(x)H(x) とは、次の関係にあります2。

sgn⁡x=2H(x)−1\operatorname{sgn} x = 2H(x) - 1

00 と 11 の二値をとる階段関数を、縦に 22 倍して 11 だけ下げたものが符号関数です。値域が −1-1 から 11 の対称な形になるので、向きを表すのに使いやすくなります。

応用

  • 絶対値の計算と、場合分けを式にまとめる用途
  • 制御工学のオン・オフ制御
  • 機械学習で符号によって分類する場面

値の大きさより向きが問題になる場面で活躍します。

  1. Sign function、Wikipedia
  2. Heaviside step function、Wikipedia