任意の に対して、 unitary 行列 と上三角行列 が存在して、
ここで は の Hermite 共役 (共役転置) を表わす。 これを の Schur 分解という。
(事実自体は、線形代数の教科書、 例えば佐武 [11] IV§3 にも書いてあるが、 Schur 分解という名前は冠されていないことが多いようである。)
の列ベクトル を Schur ベクトルと呼ぶ。
が Hermite 行列ならば、固有ベクトルの直交性により、 が対角行列になり、 は の固有ベクトルになる。
実行列 に対しては、 を実直交行列 に制限し、 を対角ブロックの大きさが 以下のブロック上三角行列 7に緩和した形の実 Schur 分解
が存在する (実 Schur 分解)。 の対角ブロックの固有値が の固有値である。
(実) Schur 分解の存在は数学的に保証されているが、 それを有限回の四則と開平演算で計算することはできない
Hermite 対称でもないのに、固有ベクトルではなく Schur ベクトルを計算する のは、これが数値的に安定に計算できるからだという。
MATLAB では schur() という関数が用意されている。 [u,t]=schur(a) として u*t*u'-a を計算すると…