行列の平方根
数学のおもに線型代数学および函数解析学における行列の平方根(ぎょうれつのへいほうこん、square root of a matrix)は、数に対する通常の平方根の概念を行列に対して拡張するものである。すなわち、行列 B が行列 A の平方根であるとは、行列の積に関して B2  BB が A に等しいときに言う。
「実数の平方根は必ずしも実数にならないが、複素数は必ず複素数の範囲で平方根を持つ」ことに対応する事実として、実行列の平方根は(存在しても)必ずしも実行列にならないが、複素行列が平方根を持てばそれは必ず複素行列の範囲で取れる。
平方根を持たない行列も存在する例えば \begin{bmatrix}0&1\\0&0\end{bmatrix} 。
また一般に、ひとつの行列が複数の平方根を持ち得るたとえば、行列 \begin{bmatrix}33&24\\ 48&57\end{bmatrix} は行列 \begin{bmatrix}1&4\\ 8&5\end{bmatrix}, \begin{bmatrix}5&2\\ 4&7\end{bmatrix} およびこれらの符号を変えたものを平方根に持つ。実際、2 × 2 単位行列は次のように無数の平方根を持つ。
\begin{bmatrix}\sqrt{1-bc}&b\\c&-\sqrt{1-bc}\end{bmatrix},\quad
\begin{bmatrix}-\sqrt{1-bc}&b\\c&\sqrt{1-bc}\end{bmatrix},\quad
\begin{bmatrix}1&0\\0&1\end{bmatrix},\quad
\begin{bmatrix}-1&0\\0&-1\end{bmatrix}
このように行列の平方根は無数に存在しうるが、半正定値行列これはふつう、対称あるいはエルミートで考えるの範疇で行列の主平方根 (principal square root) の概念が定義できて「半正定値行列の主平方根はただ一つ」である(これは「非負実数が非負の平方根(主平方根)をただ一つだけ持つ」という事実に対応する)。
2 × 2 行列が、相異なる二つの非零固有値を持つならば、それは四つの平方根を持つ(より一般に、相異なる n 個の非零固有値を持つ n × n 行列は 2n 個の平方根を持つ)。実際に、そのような仮定を満たす行列 A は A の固有ベクトルを列ベクトルに持つ行列 V とそれに対応する固有値を対角成分に持つ対角行列 D を用いて A = VDV−1 と固有値分解できるから、A の平方根は VD½ V−1 で与えられることがわかる。ただし、D½ は D の任意の平方根で、それは D の対角成分の任意の平方根を同じ位置の対角成分として持つ対角行列であり、その選び方は 2n 通りある。同じ理由で、上で述べた「半正定値行列の主平方根がただ一つに定まる」ことも言える—半正定値行列正定値行列となるための必要十分条件はそのすべての固有値が正となることであった A の全ての非負固有値の主平方根を対角成分に持つ対角行列を D½ とする行列 VD½ V−1 はただ一つしかない。
適当な冪零行列 N を用いて I + N の形に書ける行列の平方根 (I + N)½ は、二項級数に対する汎函数計算で求められる。同様に、行列の指数函数 exp, 対数函数 log が既知ならば、 exp(½⋅log(A)) を A の(主)平方根とすることができる(収束性に注意せよ)。
定義 (行列の平方根): 行列 B が行列 A の平方根であるとは、B2  A を満たすときに言う。このとき、平方が定義できるために行列は必然的に正方行列でなければならないことに注意せよ。とくに対称行列の場合が重要である。
定義 (行列の主平方根)
「非負実数が非負の平方根(主平方根)をただ一つだけ持つ」という事実に対応して
半正定値行列は、それ自身が半正定値となるような平方根をただ一つ持つ。
一般に、すべての固有値が正の実数となる複素行列はすべての固有値が正の実数となる平方根をただ一つ持つ。
が成り立つ。そのように定まるただ一つの (the, unique) 平方根は主平方根 (principal square root) と呼ばれる。
主平方根をとる操作は行列全体の成す集合上で連続である。このとき、考えている行列が実行列ならば、その主平方根もまた実行列になる。主平方根に関する性質は、行列に対する正則汎函数計算の帰結として得られる。あるいは主平方根の存在と一意性はジョルダン標準形を用いて直截に示せる(後述)。
注意: 記号 • や •1/2 は、主平方根を表すために用いる場合や、平方根の任意の一つを表すために用いる場合などがあるので、文脈に注意すべきである。
2 × 2 行列の場合は、すべての成分を明示的に計算することによって平方根を求めることはそう難しくない。固有値が退化していない場合の平方根は二次正方行列の平方根として記述できる。
すなわち、A=\begin{bmatrix}a&b\\c&d\end{bmatrix}とし、その行列式を\Delta=ad-bc、
特性方程式(x-a)(x-d)-bc=x^2-(a+d)x+ad-bc=0の判別式を
\delta=(a+d)^2-4(ad-bc)=(a+d+2\sqrt{\Delta})(a+d-2\sqrt{\Delta})としたとき、
\delta \ne 0ならば、
Aの平方根は、
\frac{1}{\sqrt{a+d+2\sqrt{\Delta}}(A+\sqrt{\Delta}I)、\frac{-1}{\sqrt{a+d+2\sqrt{\Delta}}(A+\sqrt{\Delta}I)、\frac{1}{\sqrt{a+d-2\sqrt{\Delta}}(A-\sqrt{\Delta}I)、\frac{-1}{\sqrt{a+d-2\sqrt{\Delta}}(A-\sqrt{\Delta}I)と明示的に表記できる。
平方根となることは、実際に2乗を計算すれば(A+\sqrt{\Delta}I)^2=A^2+\Delta I+2\sqrt{\Delta}A=(a+d+2\sqrt{\Delta})Aから容易にわかる。
あるいは、2次のケイリー・ハミルトンの定理A^2-(a+d)A+\Delta I=0から(a+d)A=A^2+\Delta I、(a+d+2\sqrt{\Delta})A=A^2+2\sqrt{\Delta}A+\Delta I=(A+\sqrt{\Delta}I)^2としても良い。
これら以外に平方根が存在しないことについては、B^2=Aとした場合、\delta \ne 0よりAは2つの相異なる固有値\lambda_1、\lambda_2と、独立な固有ベクトルAv_1=\lambda_1v_1、Av_2=\lambda_2v_2を持つが、任意の2次列ベクトルは、v_1、v_2の1次結合で表せるので、Bv_1=\alpha_{1 1}v_1+\alpha_{1 2}v_2、Bv_2=\alpha_{2 1}v_1+\alpha_{2 2}v_2とすると、
\lambda_1v_1=Av_1=BBv_1=B(\alpha_{1 1}v_1+\alpha_{1 2}v_2)=(\alpha_{1 1}^2+\alpha_{1 2}\alpha_{2 1})v_1+(\alpha_{1 1}\alpha_{1 2}+\alpha_{1 2}\alpha_{2 2})v_2、
\lambda_2v_2=Av_2=BBv_2=B(\alpha_{2 1}v_1+\alpha_{2 2}v_2)=(\alpha_{2 1}\alpha_{1 1}+\alpha_{2 2}\alpha_{2 1})v_1+(\alpha_{2 1}\alpha_{1 2}+\alpha_{2 2}^2)v_2すなわち、
\begin{bmatrix}\lambda_1&0\\0&\lambda_2\end{bmatrix}=\begin{bmatrix}\alpha_{1 1}&\alpha_{1 2}\\\alpha_{2 1}&\alpha_{2 2}\end{bmatrix}\begin{bmatrix}\alpha_{1 1}&\alpha_{1 2}\\\alpha_{2 1}&\alpha_{2 2}\end{bmatrix}=\begin{bmatrix}\alpha_{1 1}^2+\alpha_{1 2}\alpha_{2 1}&\alpha_{1 2}(\alpha_{1 1}+\alpha_{2 2})\\\alpha_{2 1}(\alpha_{1 1}+\alpha_{2 2})&\alpha_{2 2}^2+\alpha_{1 2}\alpha_{2 1}\end{bmatrix}であるが、
\lambda_1 \ne \lambda_2のため、解は\alpha_{1 1}=\pm\sqrt{\lambda_1}、\alpha_{1 2}=\alpha_{2 1}=0、\alpha_{2 2}=\pm\sqrt{\lambda_2}に定まる。これにより任意の2次列ベクトルxv_1+yv_2がBによりどう変換されるかが定まるが、これはBが定まることを意味する。Aが固有値ゼロを持たない場合は解が4組、固有値ゼロを持つ場合(\Delta=0の場合)は解が2組であるが、これは上記の明示公式で尽くされているので、これら以外には、平方根は存在しない。
\delta = 0の場合は、複雑になる。
D が n × n 対角行列ならば、D の対角成分の任意の平方根を対応する位置の対角成分に持つ対角行列 R を作れば平方根が得られる。D の対角成分が非負の実数ならば、先の対角行列 R で各成分の符号を全て正としたものは D の主平方根である。
冪等行列の平方根は、自身を平方根に持つ。
対角化可能行列 A に対し、適当な行列 V と対角行列 D が存在して A  VDV−1 と書ける。これは A が Cn を張る n 個の固有値を持つことと同値である。このとき V はその列ベクトルが n 個の固有ベクトルであるように選べる。そうして A の平方根は D の任意の平方根を用いて  R = V S V^{-1} と書ける。実際、(V D^{1/2} V^{-1})^2 = V D^{1/2} (V^{-1} V) D^{1/2} V^{-1} = V D V^{-1} = A である。
A が対称行列ならば対角化に用いる行列 V は固有ベクトルを適当に選んで直交行列となるようにとれる。この場合、V の逆行列はたんに転置をとるだけであるから、R = V S {}^{\,t\!}V と書ける。
正方行列 Aのジョルダン標準形 をJ=P^{-1}APとすると、次が言える。
KをJの平方根K^2=Jとすると、B=PKP^{-1}は、B^2=(PKP^{-1})(PKP^{-1})=PK^2P^{-1}=PJP^{-1}=Aより、Aの平方根となる。
逆にBをAの平方根B^2=Aとすると、K=P^{-1}BPは、K^2=(P^{-1}BP)(P^{-1}BP)=P^{-1}B^2P=P^{-1}AP=Jより、Jの平方根であり、B=PKP^{-1}である。
このため、ジョルダン標準形J=P^{-1}APの全ての平方根Kを知ることができれば、B=PKP^{-1}により、Aの全ての平方根Bを知ることができる。
J=\begin{bmatrix}J_1& \cdots &0\\ \vdots & \ddots & \vdots \\0& \cdots &J_m\\ \end{bmatrix}とし、K_i^2=J_i, 1\le i\le mとすれば、K=\begin{bmatrix}K_1& \cdots &0\\ \vdots & \ddots & \vdots \\0 & \cdots &K_m\\ \end{bmatrix}は、Jの平方根のうちの一つである。
逆に、J=\begin{bmatrix}J_1&O\\O&J_2\\ \end{bmatrix}、ただしJ_1, J_2はジョルダン標準形で、J_1とJ_2は共通の固有値を持たないとすると、Jの平方根は、K=\begin{bmatrix}K_1&O\\O&K_2\\ \end{bmatrix}ただし、K_1^2=J_1,K_2^2=J_2に限られる。
これは、K=\begin{bmatrix}K_1&B\\C&K_2\\ \end{bmatrix}, J=K^2とすると、
K^3=KJ=\begin{bmatrix}K_1&B\\C&K_2\\ \end{bmatrix}\begin{bmatrix}J_1&O\\O&J_2\\ \end{bmatrix} = \begin{bmatrix}K_1J_1&BJ_2\\CJ_1&K_2J_2\\ \end{bmatrix}=JK=\begin{bmatrix}J_1&O\\O&J_2\\ \end{bmatrix} \begin{bmatrix}K_1&B\\C&K_2\\ \end{bmatrix} = \begin{bmatrix}J_1K_1&J_1B\\J_2C&J_2K_2\\ \end{bmatrix}より
BJ_2=J_1Bとなるが、B=\begin{bmatrix}b_1&\dots&b_k\\ \end{bmatrix}、J_2の対角成分(固有値)を\lambda_i, 1\le i\le kと置き、第1列に注目すれば、\lambda_1 b_1=J_1b_1だが、J_1とJ_2は共通の固有値を持たないため、b_1=0が言え、順次、第2列、第3列に注目すればb_i=0が言え、B=Oが言える。
CJ_1=J_2Cからも同様に、C=\begin{bmatrix}c_1\\ \vdots\\ c_k\\ \end{bmatrix}と置き、第k行に注目すればc_kJ_1=\lambda_k c_kだが、J_1とJ_2は共通の固有値を持たないため、c_k=0が言え、順次、第k-1行、第k-2行に注目すればc_i=0が言え、C=Oが言える。このため、上記が言える。
ジョルダン標準形の平方根には、ジョルダン細胞の平方根であるものと、
\begin{bmatrix}1&0\\0&1\\ \end{bmatrix} = \begin{bmatrix}\sqrt{1-bc}&b\\c&-\sqrt{1-bc}\\ \end{bmatrix}^2
のようにジョルダン細胞の平方根ではないもの(同じ固有値のジョルダン細胞が複数あるときに発生する)があるので、注意が必要である。
ジョルダン細胞J_n(\lambda)とはn次正方行列で、j<iのときJ_n(\lambda)_{ij}=0、J_n(\lambda)_{ii}=\lambda、J_n(\lambda)_{ii+1}=1、j>i+1のときJ_n(\lambda)_{ij}=0となるものを言う。
\lambda \ne 0のとき、ジョルダン細胞J_n(\lambda)の平方根は、下記の行列Kおよび-Kである。
j<iのときK_{ij}=0、K_{ii}=\sqrt{\lambda}、j>iのときK_{ij}=\frac{(-1)^{j-i-1}(2j-2i-2)!}{2^{2j-2i-1}(j-i-1)!}\lambda^{-(2j-2i-1)/2}
\lambda=0のとき、ジョルダン細胞J_n(0)は、
n=1の場合、平方根0を持つ
n>1の場合、平方根を持たない
例 J_2(0)=\begin{bmatrix}0&1\\0&0\\ \end{bmatrix}は平方根を持たない。
\lambda \ne 0のとき、ジョルダン細胞J_n(\lambda)の平方根が2つしかないことは、次から言える。
K^2=J_n(\lambda)となる行列が存在したとし、K^3の成分を考える。
K^3_{ij}=(J_n(\lambda)K)_{ij}=\begin{cases}\lambda K_{i1}+K_{i+1 j} &(1\le i\le n-1) \\ \lambda K_{nj} &(i=n)\end{cases}
K^3_{ij}=(KJ_n(\lambda))_{ij}=\begin{cases}\lambda K_{i1} &(j=1) \\\lambda K_{ij}+K_{ij-1} &(2\le j\le n)\end{cases}
K^3_{n j} ,2\le j\le nを比較すると、\lambda K_{n j}=\lambda K_{n j}+K_{n j-1}, 2\le j\le nこのためK_{n j}=0, 1\le j\le n-1
K^3_{i j} , 1\le i\le n-1, 2\le j\le nを比較すると、\lambda K_{i j}+K_{i+1 j}=\lambda K_{i j}+K_{i j-1}, 1\le i\le n-1, 2\le j\le nこのためK_{i+1 j+1}=K_{i j}, 1\le i\le n-1, 1\le j\le n-1
このため、Kは上三角行列で、斜めに同じ値が並ばなければならない。K^2=J_n(\lambda)の(n,n)成分を比較することにより、K_{nn}^2=\lambda, K_{nn}=\pm\sqrt{\lambda}が言え、以下(j,n)成分j=n-1,n-2,\dots,1を比較することにより、Kの全ての成分が順番に1次方程式で定まるため、平方根が2つしかないことが言える。
対角化可能でない行列の場合にはジョルダン標準形が利用できる。行列の対数函数#非対角化可能行列の対数の項と同様の級数展開を用いる方法
すべての固有値が正の実数であるような任意の複素行列が、同じ条件の平方根を持つことを見るには、ジョルダンブロックの場合に証明すれば十分である。そのようなブロックは実数 λ > 0 および冪零行列 N を用いて λ(I + N) の形に書ける。平方根の二項級数展開 (1 + z)1/2 = 1 + a1 z + a2  z2 + ⋯(収束域は z < 1)に対し、形式冪級数としての平方は 1 + z に等しい。z を N に置き換えれば、冪零性により有限個を除く全ての項は零となり、S = λ(I + a1 N + a2 N2 + ⋯) が固有値 λ に属するジョルダンブロックの平方根を与える。
一意性を見るには λ = 1 の場合に確認すれば十分である。上で構成した平方根を S = I + L の形に書けば、L は定数項を持たない N の多項式である。固有値が正の実数となる他の任意の平方根 T は T = I + M の形で M が冪零かつ N と(したがって L と)可換となるようにとれる。しかしこのとき 0 = S2 − T2 = 2(L − M)(I + (L + M)/2) であり、また L と M の可換性により L + M は冪零ゆえ I + (L + M)/2 は可逆(逆行列はノイマン級数で与えられる)となるから、したがって L = M.
すべての固有値が正の実数であるような行列 A の最小多項式を p(t) とするとき、A の一般固有空間へのジョルダン分解は p(t)−1 の部分分数分解から導かれる。すなわち、対応する一般固有空間の上への射影は A の実係数多項式として与えられ、各固有空間上で A は上記の通り λ(I + N) の形をしている。固有空間上での平方根の冪級数展開は、A の主平方根が実係数多項式 q(t) に対する q(A) の形をしていることを示すものである。
「対角化」の方法でも「ジョルダン分解」の方法でも、すべての固有値を算出することが必要となるが、それは行列の特性方程式(あるいは最小方程式)のすべての解を求めることと同じであり、行列の次数が大きくなれば非現実的となる。このため、現実的な平方根の求め方が必要となる。
実数a>0の平方根\sqrt{a}が\exp\left(\frac{1}{2}\log(a)\right)で求まることと同様に、
n次実数値正方行列Aの全ての特性根の実数部分が正である場合、
行列対数関数を\log(A)=\log(c)I-\Sigma_{k=1}^{\infin}\frac{1}{k}\left(I-\frac{1}{c}A\right)^kと定義し(cは任意の正数、級数が収束すればcに係らず同じ値に収束する)
行列指数関数を\exp(X)=\Sigma_{k=0}^{\infin}\frac{1}{k!}X^kと定義すれば(Xはn次実数値正方行列)、
2乗するとAとなり、かつ全ての特性根の実数部分が正となる行列\sqrt{A}は、
\sqrt{A}=\exp\left(\frac{1}{2}\log(A)\right)により計算でき、かつこの行列に一意に定まる。
この方法は、固有値を全て求める必要がないこと(「全ての特性根の実数部分が正」という条件は、特性根を全て求めなくても、十分条件がいくつか知られている)、収束計算が速いこと、対称行列に限らず一般の行列に利用可能であることなど、現実的かつ速い計算方法になっている。
また、行列の平方根に限らず、n乗根も同様に計算することができる。
実数の方程式f(x)=x^2-a=0をニュートン法で解く方法を、行列にそのまま適用して求める方法である。
n次正方行列Aに対し、n次正方行列の列X_mを次の漸化式で定める
X_{m+1}=\frac{1}{2}(X_m+AX_m^{-1})
この列が適当な初期値X_0について収束すれば、収束値X_\infinについて、X_\infin^2=Aとなる。
このことは、収束すればX_\infin=\frac{1}{2}(X_\infin+AX_\infin^{-1})が成り立つことから言える。
以下では、対称行列(あるいはエルミート行列)に限定した行列の平方根についての性質を示す。
「正定値行列」とは、対称行列(あるいはエルミート行列)で、その全ての固有値が正の実数であるものをいう。「半正定値行列」とは、対称行列(あるいはエルミート行列)で、その全ての固有値がゼロまたは正の実数であるものをいう。
転置あるいはエルミート共軛を用いれば、より一般に非対称あるいは非エルミートな矩形行列の範疇で「平方根」をとることができる。
定義: 半正定値実正方行列 A に対して、A = B tB(あるいは A = tBB )を満たす任意の矩形行列 B を A の非対称平方根 (asymmetric square root) と呼ぶ。(記号 t は行列の転置を表す)
定義: 半正定値複素正方行列 A に対して、A = BB*(あるいは A = B*B. )を満たす任意の矩形行列 B を A の非エルミート平方根 (non-Hermitian square root) と呼ぶ。(記号 * はエルミート共軛を表す)
B がエルミート(実係数の場合は対称)ならば、B は上で述べたAの平方根と一致する。任意の正定値エルミート行列 A に対し、それ自身正定値エルミートとなる平方根は一意であり、これを主平方根 (unique square root, principal square root)と呼ぶ。
注: コレスキー分解からも平方根の例が得られるが、コレスキー因子と(主)平方根とを混同してはならない。
正実数の平方根は、主平方根に ±1 を掛けたものですべて与えられた。これに対応するように、正定値エルミート行列の任意の非エルミート平方根は、ユニタリ変換によって関連付けられる:
主張: 半正定値行列 T に対し、T = A*A = B*B ならばユニタリ行列 U が存在して A = UB と書ける。
実際、主平方根を B coloneqq T½ と書けば、T が正定値のとき B は可逆で、U = AB−1がユニタリであることは
\begin{align}
U^*U &= \left((B^*)^{-1}A^*\right)\left(AB^{-1}\right) = (B^*)^{-1}T (B^{-1}) \\
&= (B^*)^{-1} B^* B (B^{-1}) = I.
\end{align} からわかる。T が正定値でない半正定値行列のときは逆行列の代わりにムーア・ペンローズ擬逆行列 B+ が取れて、作用素 B+A は部分等長だから、T の核の上で自明となるように拡張して U が得られる。
平方根およびそのユニタリ自由度は線型代数学および函数解析学の全般に応用を持つ。
可逆行列 A に対して、ユニタリ行列 U および正定値行列 P が一意に存在して A = UP と書ける。これを A の極分解と呼ぶ。この正定値行列 P は正定値行列 A*A の主平方根であり、U は U = AP−1 で求まる。
A が可逆でないときでも、適当な方法で P が定まれば(それは一意であり)極分解が定義される。極分解におけるユニタリ作用素 U は一意ではないが、以下のようにして「自然な」ユニタリ行列は求められる: AP+ は A の値域からそれ自身への作用素であり、これは A* の核上自明に延長してユニタリ作用素 U にできるから、この U を極分解に用いればよい。
有限次元数空間上で行列を考える代わりに、任意のヒルベルト空間上の有界作用素に対して、その平方根を考えることができる。とくに有界半正定値作用素に対して、半正定値な平方根としての主平方根は一意に決まる。あるいは非エルミート平方根に関しても同様に考えることができる。無限次元の場合には、平方根がユニタリ作用素を施す違いを除いて決まるという事実は、作用素が閉値域ならば正しい。非有界作用素に対しては、閉かつ稠密に定義された二つの平方根 A, B に対し部分等方な U で A = UB とできることなどは言える。