二階微分（second derivative）とは、関数の導関数をさらに微分したもののことです。つまり、f(x)の二階微分とは、
のことです。ふつうは
のように書きます。肩に乗った2の場所が、上と下で異なることに注意しましょう。あるいは、y',f'(x)のような記号に合わせるなら、y'',f''(x)などと書きます。
さて、二階微分はこのように定義されるのですが、ではここで定義した二階微分にはどのような意味があるのか考えてみましょう。
関数の微分には、その関数の変化の割合、あるいは接線の傾きという意味がありました。今度はそれをさらに微分したわけですから、「変化の割合の変化の割合」、「接線の傾きの変化の割合」が求められたことになります。つまり、y''が大きければそれに従って接線の傾きがどんどん大きくなっていきますし、逆に負であれば接線の傾きは小さくなっていきます。
物理的な視点で見ると、物体の位置を時間の関数としてみなしたときに、その関数の微分は物体の速度を表すのでした。そのような物理的な視点で二階微分を見てみると、これは加速度を表していることになります。
二階微分には上の節で見たような意味があるので、これを使うと、ある点の近くでの関数のようす、言い換えればグラフの形を調べるのに、微分だけを使っていたときよりも詳しく調べることができます。ここでは具体的な関数について少し調べてみましょう。
y=x^2の場合
まずはよく知っている二次関数について調べてみましょう。計算してみると、y'=2x,y''=2となることはすぐにわかりますね。この場合、y''の値はxによらず常に一定の正の値を取ることがわかりました。つまり、グラフの左のほうでは接線の傾きは負ですが、だんだん右に来るにつれて0に近づき、そしてあるところからは正になります。確かに既によく知っているこの関数のグラフの形を表していますね。
この二次関数は「下に凸」な関数であると言うのは知っているでしょう。二次関数に限らず一般に、関数の二階微分が正であるとき、その関数は下に凸であるといいます。もちろん二階微分が負なら上に凸です。
y=x^3-3xの場合
二次関数は既によく知っているので面白くないですね。微分を使うメリットは、知らない関数のことを詳しく調べられることです。そこで、とりあえずこのような三次関数を調べてみましょう。
計算してみるとy'=3x^2-3,y''=6xです。先ほどと同様に考えると、x=-1では微分が0で二階微分が負なので、極大値をとります。x=1では微分が0で二階微分が正なので、極小値をとります。ここまでは先ほどと同じですね。
先ほどと少し違うのは、x=0で二階微分の符号が変わることです。つまり、それより左では上に凸だった関数が、それより右では下に凸に変わるのです。上に凸か下に凸かというのは、言ってみればグラフの曲がり方が違うので、このような点のことを変曲点と呼びます。
具体的な関数で調べましたが、一般の関数でも同じように計算すれば同じことがわかります。一般に成り立つことを表の形でまとめておきます。
y''>0y''=0y''<0
y'>0変曲点の可能性がある
y'=0極小値極大値
y'<0変曲点の可能性がある
二階微分が0になることは、その点が変曲点であるための必要条件ではありますが、十分条件ではないことに注意しましょう。
多変数関数では、偏微分を考えます。n変数関数y=f(x_1,x_2,\dots,x_n)の二階微分とは、この関数をある変数x_iで微分してから、さらにx_jで微分することです。x_iとx_jは同じでも異なっても構いませんが、記号は少し変わります。同じ変数で2回微分した場合は
と、異なる変数で1回ずつ微分した場合は
と書きます。
''この節では行列を扱うので、必要に応じて線型代数学も参照してください。''
実数値''n''変数関数f(x_1,x_2,\dots,x_n)の二階偏微分
がすべて存在し、連続であるという状況を考えます。このとき、行列
\cfrac{\partial^2 f}{\partial x_1^2} & \cfrac{\partial^2 f}{\partial x_1\partial x_2} & \cdots & \cfrac{\partial^2 f}{\partial x_1\partial x_n} \\[16pt]
\cfrac{\partial^2 f}{\partial x_2\partial x_1} & \cfrac{\partial^2 f}{\partial x_2^2} & \cdots & \cfrac{\partial^2 f}{\partial x_2\partial x_n} \\[16pt]
\vdots & \vdots & \ddots & \vdots \\[16pt]
\cfrac{\partial^2 f}{\partial x_n\partial x_1} & \cfrac{\partial^2 f}{\partial x_n\partial x_2} & \cdots & \cfrac{\partial^2 f}{\partial x_n^2}
\end{pmatrix}
を関数''f''のヘッセ行列（Hessian matrix）といいます。二階偏微分が連続のとき、偏微分の順序を入れ替えても偏導関数は同じなので、ヘッセ行列は実対称行列となります。したがって、固有値はすべて実数となります。
さて、ある点\mathbf{x}=(x_1,x_2,\cdots,x_n)において''f''の偏導関数\frac{\partial f}{\partial x_i}がすべて0だとします。このとき、''f''は\mathbf{x}で極値をとるかもしれないし、とらないかもしれません（1変数の場合の例を参照）。ではいつ極値をとるのかを調べるのに、ヘッセ行列を使うことができます。すなわち、次の定理が成り立ちます。
定理関数''f''の偏導関数がすべて0になる点を考える。この点におけるヘッセ行列の固有値がすべて正ならば、''f''はこの点で極小値をとる。固有値がすべて負ならば、''f''はこの点で極大値をとる。固有値が正の固有値と負の固有値からなるならば、極値をとらない。
この定理では固有値0を持つ場合のことはよくわかりませんが、それでもいくつかの場合に有用です。例を見てみましょう。
1変数関数の場合
1変数関数の場合、ヘッセ行列の固有値とは、すなわち二階微分の値そのものです。微分が0で二階微分が正のときは極小値、二階微分が負のときは極大値をとることは上の節でみたとおりです。定理は、このことを他変数に拡張したものとみることができます。
2変数関数の場合
2変数関数の場合、ヘッセ行列は2次正方行列なので、固有値は2つです。したがって、この2つの固有値の積が正ならば、固有値が2つとも正または2つとも負であることが言えます。逆に2つの固有値の積が負ならば、正の固有値と負の固有値を持つことが言えます。固有値の積とはすなわち行列式のことですので、2変数の場合はヘッセ行列の行列式が正か負かを見ればよいことになります。
2 & 0 \\
0 & 2 \\
\end{pmatrix}
なので、この行列式は4。すなわち''z''は(x,y)=(0,0)で極値をとる。特に2つの固有値が2と2であることも明らかなので、これは極小値である。(x,y)=(0,0)を''z''に代入して、極小値は0であることもわかる。
thumb|z=x2-y2のグラフ
2 & 0 \\
0 & -2 \\
\end{pmatrix}
なので、この行列式は-4。すなわち''z''は(x,y)=(0,0)で極値をとらない。すなわち''z''は極値を持たない。
2つ目の例として挙げた関数は、では原点付近ではどのようになっているのでしょうか？実は、この関数のグラフは右の図のようになっています。原点はある方向についてみれば極大、ある方向についてみれば極小になっていることがわかります。いわば、山道の峠や馬の鞍のような形をしているので、このような点のことを鞍点（saddle point）といいます。