行列の平方根

数学のおもに線型代数学および函数解析学における行列の平方根（ぎょうれつのへいほうこん、square root of a matrix）は、数に対する通常の平方根の概念を行列に対して拡張するものである。すなわち、行列 B が行列 A の平方根であるとは、行列の積に関して  が A に等しいときに言う。
「実数の平方根は必ずしも実数にならないが、複素数は必ず複素数の範囲で平方根を持つ」ことに対応する事実として、実行列の平方根は（存在しても）必ずしも実行列にならないが、複素行列が平方根を持てばそれは必ず複素行列の範囲で取れる。
平方根を持たない行列も存在する。
また一般に、ひとつの行列が複数の平方根を持ち得る。実際、2 × 2 単位行列は次のように無数の平方根を持つ。 
このように行列の平方根は無数に存在しうるが、半正定値行列efn2|これはふつう、対称あるいはエルミートで考えるの範疇で行列の主平方根 (principal square root) の概念が定義できて「半正定値行列の主平方根はただ一つ」である（これは「非負実数が非負の平方根（主平方根）をただ一つだけ持つ」という事実に対応する）。
行列が、相異なる二つの非零固有値を持つならば、それは四つの平方根を持つ（より一般に、相異なる n 個の非零固有値を持つ n × n 行列は  個の平方根を持つ）。実際に、そのような仮定を満たす行列 A は A の固有ベクトルを列ベクトルに持つ行列 V とそれに対応する固有値を対角成分に持つ対角行列 D を用いて 1=A = VDV−1 と固有値分解できるから、A の平方根は VD½V−1 で与えられることがわかる。ただし、 は D の任意の平方根で、それは D の対角成分の任意の平方根を同じ位置の対角成分として持つ対角行列であり、その選び方は  通りある。同じ理由で、上で述べた「半正定値行列の主平方根がただ一つに定まる」ことも言える—半正定値行列正定値行列となるための必要十分条件はそのすべての固有値が正となることであった A の全ての非負固有値の主平方根を対角成分に持つ対角行列を  とする行列  はただ一つしかない。
適当な冪零行列 N を用いて I + N の形に書ける行列の平方根  は、二項級数に対する汎函数計算で求められる。同様に、行列の指数函数 exp, 対数函数 log が既知ならば、 exp(½⋅log(A)) を A の（主）平方根とすることができる（収束性に注意せよ）。

**定義**
 定義 (行列の平方根): 行列 B が行列 A の平方根であるとは、 を満たすときに言う。efn2|このとき、平方が定義できるために行列は必然的に正方行列でなければならないことに注意せよ。とくに対称行列の場合が重要である。
 定義 (行列の主平方根)
「非負実数が非負の平方根（主平方根）をただ一つだけ持つ」という事実に対応して
命題
# 半正定値行列は、それ自身が半正定値となるような平方根をただ一つ持つ。
# 一般に、すべての固有値が正の実数となる複素行列はすべての固有値が正の実数となる平方根をただ一つ持つ。
 が成り立つ。そのように定まるただ一つの (the, unique) 平方根は主平方根 (principal square root) と呼ばれる。
主平方根をとる操作は行列全体の成す集合上で連続である。このとき、考えている行列が実行列ならば、その主平方根もまた実行列になる。主平方根に関する性質は、行列に対するholomorphic functional calculusの帰結として得られる。あるいは主平方根の存在と一意性はジョルダン標準形を用いて直截に示せる（後述）。
 注意: 記号  や  は、主平方根を表すために用いる場合や、平方根の任意の一つを表すために用いる場合などがあるので、文脈に注意すべきである。

**計算法**

**明示公式**
行列の場合は、すべての成分を明示的に計算することによって平方根を求めることはそう難しくない。固有値が退化していない場合の平方根はlabel=明示公式として記述できる。
すなわち、とし、その行列式を、
特性方程式の判別式を
としたとき、
ならば、
の平方根は、
、、、と明示的に表記できる。
平方根となることは、実際に2乗を計算すればから容易にわかる。
あるいは、2次のケイリー・ハミルトンの定理から、としても良い。
これら以外に平方根が存在しないことについては、とした場合、よりは2つの相異なる固有値、と、独立な固有ベクトル、を持つが、任意の2次列ベクトルは、、の1次結合で表せるので、、とすると、
、
すなわち、
であるが、
のため、解は、、に定まる。これにより任意の2次列ベクトルがによりどう変換されるかが定まるが、これはが定まることを意味する。が固有値ゼロを持たない場合は解が4組、固有値ゼロを持つ場合（の場合）は解が2組であるが、これは上記の明示公式で尽くされているので、これら以外には、平方根は存在しない。
の場合は、複雑になる。
かつの最小多項式が1次の場合
となるため、次のように無数の平方根を持つ
 
かつの最小多項式が2次での場合
、のうちどちらかはゼロではなく、ゼロではない方を使って次のように表せる。
、または
、
平方根が２つしかないことは、次のように言える。
とした場合、よりは重根の固有値を持ち、最小多項式が2次のため、、とできるが、任意の2次列ベクトルは、、の1次結合で表せるので、、とすると、
、
すなわち、
であるが、
解は、、、に定まる。これにより任意の2次列ベクトルがによりどう変換されるかが定まるが、これはが定まることを意味する。解は2組であるが、これは上記の明示公式で尽くされているので、これら以外には、平方根は存在しない。
かつの最小多項式が2次での場合
この場合、行列は平方根を持たない。
上記と同様の議論で、とした場合、よりは重根の固有値ゼロを持ち、最小多項式が2次のため、、とできるが、任意の2次列ベクトルは、、の1次結合で表せるので、、とすると、
、
すなわち、
であるが、
これは解を持たない。
が n × n 対角行列ならば、D の対角成分の任意の平方根を対応する位置の対角成分に持つ対角行列 R を作れば平方根が得られる。D の対角成分が非負の実数ならば、先の対角行列 R で各成分の符号を全て正としたものは D の主平方根である。
冪等行列の平方根は、自身を平方根に持つ。

**対角化の利用**
対角化可能行列 A に対し、適当な行列 V と対角行列 D が存在して  と書ける。これは A が  を張る n 個の固有値を持つことと同値である。このとき V はその列ベクトルが n 個の固有ベクトルであるように選べる。そうして A の平方根は D の任意の平方根を用いて  と書ける。実際、 である。
がエルミート行列ならば対角化に用いる行列 V は固有ベクトルを適当に選んでユニタリ行列となるようにとれる。この場合、V の逆行列はたんに随伴をとるだけであるから、 と書ける。

**ジョルダン分解の利用**
正方行列 のジョルダン標準形 をとすると、次が言える。
をの平方根とすると、は、より、の平方根となる。
逆にをの平方根とすると、は、より、の平方根であり、である。
このため、ジョルダン標準形の全ての平方根を知ることができれば、により、の全ての平方根を知ることができる。
とし、とすれば、は、の平方根のうちの一つである。
逆に、、ただしはジョルダン標準形で、とは共通の固有値を持たないとすると、の平方根は、ただし、に限られる。
これは、とすると、
より
となるが、、の対角成分（固有値）をと置き、第１列に注目すれば、だが、とは共通の固有値を持たないため、が言え、順次、第２列、第３列に注目すればが言え、が言える。
からも同様に、と置き、第k行に注目すればだが、とは共通の固有値を持たないため、が言え、順次、第k-1行、第k-2行に注目すればが言え、が言える。このため、上記が言える。
ジョルダン標準形の平方根には、ジョルダン細胞の平方根であるものと、

のようにジョルダン細胞の平方根ではないもの（同じ固有値のジョルダン細胞が複数あるときに発生する）があるので、注意が必要である。

**ジョルダン細胞の平方根**
ジョルダン細胞とはn次正方行列で、のとき、、、のときとなるものを言う。
のとき、ジョルダン細胞の平方根は、下記の行列およびである。
のとき、、のとき
のとき、ジョルダン細胞は、
の場合、平方根0を持つ
の場合、平方根を持たない
例 は平方根を持たない。
のとき、ジョルダン細胞の平方根が２つしかないことは、次から言える。
となる行列が存在したとし、の成分を考える。


を比較すると、このため
を比較すると、このため
このため、は上三角行列で、斜めに同じ値が並ばなければならない。の成分を比較することにより、が言え、以下成分を比較することにより、の全ての成分が順番に１次方程式で定まるため、平方根が２つしかないことが言える。

**英語版からの直訳**
対角化可能でない行列の場合にはジョルダン標準形が利用できる。efn2|行列の対数函数#非対角化可能行列の対数の項と同様の級数展開を用いる方法 
すべての固有値が正の実数であるような任意の複素行列が、同じ条件の平方根を持つことを見るには、ジョルダンブロックの場合に証明すれば十分である。そのようなブロックは実数 λ > 0 および冪零行列 N を用いて λ(I + N) の形に書ける。平方根の二項級数展開 1=(1 + z)1/2 = 1 + a1 z + a2  z2 + ⋯（収束域は ）に対し、形式冪級数としての平方は 1 + z に等しい。z を N に置き換えれば、冪零性により有限個を除く全ての項は零となり、 が固有値  に属するジョルダンブロックの平方根を与える。
一意性を見るには 1=λ = 1 の場合に確認すれば十分である。上で構成した平方根を 1=S = I + L の形に書けば、L は定数項を持たない N の多項式である。固有値が正の実数となる他の任意の平方根 T は 1=T = I + M の形で M が冪零かつ N と（したがって L と）可換となるようにとれる。しかしこのとき 1=0 = S2 − T2 = 2(L − M)(I + (L + M)/2) であり、また L と M の可換性により 1=L + M は冪零ゆえ 1=I + (L + M)/2 は可逆（逆行列はノイマン級数で与えられる）となるから、したがって 1=L = M.
すべての固有値が正の実数であるような行列 A の最小多項式を p(t) とするとき、A の一般固有空間へのジョルダン分解は  の部分分数分解から導かれる。すなわち、対応する一般固有空間の上への射影は A の実係数多項式として与えられ、各固有空間上で A は上記の通り λ(I + N) の形をしている。固有空間上での平方根の冪級数展開は、A の主平方根が実係数多項式 q(t) に対する q(A) の形をしていることを示すものである。

**現実的な計算法**
「対角化」の方法でも「ジョルダン分解」の方法でも、すべての固有値を算出することが必要となるが、それは行列の特性方程式（あるいは最小方程式）のすべての解を求めることと同じであり、行列の次数が大きくなれば非現実的となる。このため、現実的な平方根の求め方が必要となる。

**行列対数関数、行列指数関数による求め方**
実数の平方根がで求まることと同様に、
n次実数値正方行列の全ての特性根の実数部分が正である場合、
行列対数関数をと定義し（cは任意の正数、級数が収束すればに係らず同じ値に収束する）
行列指数関数をと定義すれば（はn次実数値正方行列）、
2乗するととなり、かつ全ての特性根の実数部分が正となる行列は、
により計算でき、かつこの行列に一意に定まる。
この方法は、固有値を全て求める必要がないこと（「全ての特性根の実数部分が正」という条件は、特性根を全て求めなくても、十分条件がいくつか知られている）、収束計算が速いこと、対称行列に限らず一般の行列に利用可能であることなど、現実的かつ速い計算方法になっている。
また、行列の平方根に限らず、ｎ乗根も同様に計算することができる。

**ニュートン法**
実数の方程式をニュートン法で解く方法を、行列にそのまま適用して求める方法である。
ｎ次正方行列に対し、ｎ次正方行列の列を次の漸化式で定める
この列が適当な初期値について収束すれば、収束値について、となる。
このことは、収束すればが成り立つことから言える。

**対称行列（エルミート行列）に限定した議論**
以下では、対称行列（あるいはエルミート行列）に限定した行列の平方根についての性質を示す。
「正定値行列」とは、対称行列（あるいはエルミート行列）で、その全ての固有値が正の実数であるものをいう。「半正定値行列」とは、対称行列（あるいはエルミート行列）で、その全ての固有値がゼロまたは正の実数であるものをいう。

**定義**
転置あるいはエルミート共軛を用いれば、より一般に非対称あるいは非エルミートな矩形行列の範疇で「平方根」をとることができる。
 定義: 半正定値実正方行列 A に対して、（あるいは 、すなわちAはグラム行列）を満たす任意の矩形行列 B を A の非対称平方根 (asymmetric square root) と呼ぶ。（記号  は行列の転置を表す）
 定義: 半正定値複素正方行列 A に対して、1=A = BB*（あるいは 1=A = B*B）を満たす任意の矩形行列 B を A の非エルミート平方根 (non-Hermitian square root) と呼ぶ。（記号 * はエルミート共軛を表す）
がエルミート（実係数の場合は対称）ならば、B は上で述べたAの平方根と一致する。任意の正定値エルミート行列 A に対し、それ自身正定値エルミートとなる平方根は一意であり、これを主平方根 (unique square root, principal square root)と呼ぶ。
注: コレスキー分解からも平方根の例が得られるが、コレスキー因子と（主）平方根とを混同してはならない。

**非対称平方根のユニタリ自由度**
正実数の平方根は、主平方根に ±1 を掛けたものですべて与えられた。これに対応するように、正定値エルミート行列の任意の非エルミート平方根は、ユニタリ変換によって関連付けられる:
 主張: 半正定値行列 T に対し、1=T = A*A = B*B ならばユニタリ行列 U が存在して 1=A = UB と書ける。
実際、主平方根を  と書けば、T が正定値のとき B は可逆で、がユニタリであることは  からわかる。T が正定値でない半正定値行列のときは逆行列の代わりにムーア・ペンローズ擬逆行列  が取れて、作用素 1=B+A は部分等長だから、T の核の上で自明となるように拡張して U が得られる。

**応用**
平方根およびそのユニタリ自由度は線型代数学および函数解析学の全般に応用を持つ。

**極分解**
可逆行列 A に対して、ユニタリ行列 U および正定値行列 P が一意に存在して 1=A = UP と書ける。これを A の極分解と呼ぶ。この正定値行列 P は正定値行列 A*A の主平方根であり、U は 1=U = AP−1 で求まる。
が可逆でないときでも、適当な方法で P が定まれば（それは一意であり）極分解が定義される。極分解におけるユニタリ作用素 U は一意ではないが、以下のようにして「自然な」ユニタリ行列は求められる: AP+ は A の値域からそれ自身への作用素であり、これは A* の核上自明に延長してユニタリ作用素 U にできるから、この U を極分解に用いればよい。

**一般化**
 有限次元数空間上で行列を考える代わりに、任意のヒルベルト空間上の有界作用素に対して、その平方根を考えることができる。とくに有界半正定値作用素に対して、半正定値な平方根としての主平方根は一意に決まる。あるいは非エルミート平方根に関しても同様に考えることができる。無限次元の場合には、平方根がユニタリ作用素を施す違いを除いて決まるという事実は、作用素が閉値域ならば正しい。非有界作用素に対しては、閉かつ稠密に定義された二つの平方根 A, B に対し部分等方な U で 1=A = UB とできることなどは言える。

**関連項目**
 行列値関数- Holomorphic functional calculus- 行列の対数- Sylvester's formula- Square root of a 2 by 2 matrix- 実二次正方行列#行列変数の函数

**脚注**

**注釈**

**出典**

**参考文献**
isbn=0387972455, Chapter IV, Reisz functional calculus-  df =  - url = http://www.blackmesapress.com/TaylorSeries.htm-  issue = 1 - Citation | last1=Higham | first1=Nicholas | author1-link=:en:Nicholas Higham | title=Functions of Matrices. Theory and Computation | publisher=SIAM | isbn=978-0-89871-646-7 | year=2008
*isbn=0070542368