行列の平方根

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

明示公式

2 × 2 行列の場合は、すべての成分を明示的に計算することによって平方根を求めることはそう難しくない。固有値が退化していない場合の平方根は明示公式として記述できる。
D が n × n 対角行列ならば、D の対角成分の任意の平方根を対応する位置の対角成分に持つ対角行列 R を作れば平方根が得られる。D の対角成分が非負の実数ならば、先の対角行列 R で各成分の符号を全て正としたものは D の主平方根である。
冪等行列の平方根は、自身を平方根に持つ。

対角化の利用

対角化可能行列 A に対し、適当な行列 V と対角行列 D が存在して A = VDV⁻¹ と書ける。これは A が Cⁿ を張る n 個の固有値を持つことと同値である。このとき V はその列ベクトルが n 個の固有ベクトルであるように選べる。そうして A の平方根は D の任意の平方根を用いて  と書ける。実際、 である。
A が対称行列ならば対角化に用いる行列 V は固有ベクトルを適当に選んで直交行列となるようにとれる。この場合、V の逆行列はたんに転置をとるだけであるから、 と書ける。

ジョルダン分解の利用

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

現実的な計算法

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

行列対数関数、行列指数関数による求め方

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

対称行列（エルミート行列）に限定した議論

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

応用

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

極分解

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