ミケ猫の小部屋

情報学、数学、語学および料理(暫定)について発信します

【世にも奇妙な関数】行列の指数関数とは?

実数の指数関数 \exp(x)

 \displaystyle \exp(x)=\sum_{i=0}^{\infty} \frac{x^i}{i!}

と書けるように、行列の指数関数 \exp(X)

 \displaystyle \exp(X)=\sum_{i=0}^{\infty} \frac{X^i}{i!}

に書ける。時々思うけど級数って連続な関数を離散の和形式に変換して扱いやすいだろう。

この指数関数はなにかおかしい!

この関数は \exp(X+Y) = \exp(X) \exp(Y)を満たしていない。まずは \exp(X+Y)を展開してみよう。

 \displaystyle \exp(X+Y)=\sum_{i=0}^{\infty} \frac{(X+Y)^i}{i!}

何の変哲もない級数ですね。それから \exp(X) \exp(Y)を展開してみよう。

 \displaystyle \exp(X)=\sum_{i=0}^{\infty} \frac{X^i}{i!}\\
 \displaystyle \exp(Y)=\sum_{i=0}^{\infty} \frac{Y^i}{i!}

簡単な例を考えましょう。上の二式を掛けたら三次の項は \frac{X^0}{0!} \frac{X^1}{1!} \frac{Y^2}{2!}などの三次以下の項から由来する。特に \exp(X) \exp(Y)からそれぞれ一項取り出して次数の和が3になる取り方全部漏れなく一回やる。これにより、

 \displaystyle \exp(X)\exp(Y)=\sum_{i=0}^{\infty}\sum_{j=0}^i \frac{X^j Y^{i-j}}{j!(i-j)!}

が分かる。勘が鋭い人は気づいたかもしれないけど、この式を整理して

 \displaystyle \exp(X)\exp(Y)=\sum_{i=0}^{\infty} \frac{1}{i!} \sum_{j=0}^i \frac{i!}{j!(i-j)!} X^j Y^{i-j} \\
=\sum_{i=0}^{\infty} \frac{1}{i!} \sum_{j=0}^i C_i^j X^j Y^{i-j}

の形になる。内のシグマに「二項定理使って (X+Y)^iになるじゃん」と言いたい人もいるだろうけど、二項定理は行列に対して必ずしも成立しない(X+Y)^2を考えましょう。式を展開したらX^2+XY+YX+Y^2になる。行列の掛け算は交換不可なのでXYYXをまとめることができない。なので一般的に \exp(X+Y) \neq \exp(X) \exp(Y)がある。

\exp(X+Y) = \exp(X) \exp(Y)が成立する場合

容易に想像するけど、XY=YXの時に限って \exp(X+Y) = \exp(X) \exp(Y)が成立する。だが \displaystyle \lim_{n\rightarrow \infty} (exp(\frac{X}{n})\exp(\frac{Y}{n})) ^n=\exp(X+Y) がある。この極限を使って量子回路合成する手法も存在する。

おまけ:正規行列の関数

正規行列は \displaystyle \sum_{i} x_i |i>\lt i|のようにスペクトル分解できる。結論を先に言うと関数fを正規行列 \displaystyle \sum_{i} x_i |i>\lt i|に対して適用したら \displaystyle \sum_{i} f(x_i) |i>\lt i|が得られる。

正規行列のべき乗は固有値だけ変える

 \displaystyle \sum_{i} x_i |i>\lt i|を自乗して

 \displaystyle \sum_{i} x_i |i>\lt i| \sum_{j} x_j |j>\lt j|

に違う固有ベクトル乗算したら相殺する。同じ固有ベクトルは乗算した後1になるので影響はない。それにより  \displaystyle \sum_{i} x_i |i>\lt i|をk乗して

 \displaystyle (\sum_{i} x_i |i>\lt i|)^k= \sum_{i} x_i^k |i>\lt i|

になることが分かる。

級数で関数を定義する

ここでは関数fを冪級数に展開したものは

 \displaystyle f(x)=\sum_{i=0}^{\infty} a_i x^i

と定める。行列Xをそのまま代入すると

 \displaystyle f(X)=\sum_{i=0}^{\infty} a_i X^i=\sum_{i=0}^{\infty} a_i \sum_{j} x_j^k |j>\lt j|

がある。シグマの位置を変えて射影行列を括りだす。

 \displaystyle \sum_{j} (\sum_{i=0}^{\infty} a_i  x_j^k ) |j>\lt j|

がある。そこの \displaystyle \sum_{i=0}^{\infty} a_i  x_j^k に注目するとこれは固有値 x_jを関数fの冪級数に代入したものになる。証明完了。