二次形式は対称行列を用いて表せる

Published

2024-08-25

Modified

2024-08-25

重要な等式

ベクトルx\in \mathbf{R}^n, とn次の正方行列Aについて,

x^T Ax = x^T A^Tx

が成り立つ. 実際, ベクトルxの第i成分をx_iと表し, 行列Aの第ij成分をA_{ij}と表すことにすると,

\begin{aligned} x^T Ax &= \sum_{i=1}^n x_i (Ax)_i\\ &= \sum_{i=1}^n x_i \sum_{j=1}^n A_{ij}x_j\\ &= \sum_{i,j=1}^n A_{ij}x_i x_j,\\ x^T Ax &= \sum_{i=1}^n x_i (A^Tx)_i\\ &= \sum_{i=1}^n x_i \sum_{j=1}^n A_{ji}x_j\\ &= \sum_{i,j=1}^n A_{ji}x_i x_j \end{aligned}

により, 常に一致する. 以上に寄り, 任意の二次形式は対称行列Sを用いてx^T Sxと表せる. 仮に与えられた行列が対象ではない場合にも

A = \dfrac{A+A^T}{2}

とあらかじめ置き直すことで, 一般性を失わない.

二次形式の微分

Aが対称行列のとき, f(x)=x^T Axについて, その微分は

\dfrac{\partial f}{\partial x} = 2x^TA

となる. ここで, 左辺の微分は勾配を表す.

また, Aが一般の正方行列のときは

\dfrac{\partial f}{\partial x} = x^T(A+A^T)

が成り立つ. このことは, k=1,\cdots , nに対して

\begin{aligned} x^TAx &= \sum_{i,j=1}^n a_{ij} x_ix_j\\ &= \sum_{i,j\neq k} a_{ij} x_ix_j+\sum_{i\neq k} a_{ik} x_ix_k+\sum_{j\neq k} a_{kj} x_jx_k+ a_{kk} x_k^2 \end{aligned}

x_kについて偏微分することで分かる