Eksponenta macierzy – funkcja macierzowa zdefiniowana dla macierzy kwadratowych analogicznie jak klasyczna funkcja wykładnicza. Eksponentą macierzy rzeczywistej lub zespolonej
wymiaru
jest macierz wymiaru
oznaczana jako
albo
zadana przez szereg potęgowy:
![{\displaystyle e^{X}=\sum _{k=0}^{\infty }{\frac {1}{k!))\,X^{k},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ef88e251a2e151f4af4940fdc817b1f8848d4388)
przy czym przyjmuje się:
![{\displaystyle X^{0}=I,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/023f6cc22171ac9b980d8f38210306fa87a9effc)
- w szczególności
![{\displaystyle 0^{0}=I,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/524477b77da5092d4ccd8071ed5ae13bd8f6829c)
gdzie:
– macierz jednostkowa ![{\displaystyle n\times n,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/4a68d7fc9dff865aeb1cddec80356fb18755a251)
– macierz zerowa ![{\displaystyle n\times n.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/5305052ad745ebdfd6be18c4340624c2490251ae)
Obliczanie eksponenty macierzy
Macierz diagonalna
Jeżeli macierz jest diagonalna
![{\displaystyle D={\begin{bmatrix}d_{1}&0&\ldots &0\\0&d_{2}&\ldots &0\\\vdots &\vdots &\ddots &\vdots \\0&0&\ldots &d_{n}\end{bmatrix)),}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d0c35bca265acc0aeb58eab1dda8b7d4b743822e)
to
![{\displaystyle e^{D}={\begin{bmatrix}e^{d_{1))&0&\ldots &0\\0&e^{d_{2))&\ldots &0\\\vdots &\vdots &\ddots &\vdots \\0&0&\ldots &e^{d_{n))\end{bmatrix)).}](https://wikimedia.org/api/rest_v1/media/math/render/svg/79309d50a0381113cea93b55d41afd25a2bd0ff3)
Macierz diagonalizowalna
Jeżeli macierz
można przedstawić w postaci
![{\displaystyle X=YDY^{-1},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/4e53e3466b756d878f46fe28624cb2856541ae50)
gdzie
– macierz diagonalna, to z tw. (4) wynika, że
![{\displaystyle e^{X}=Ye^{D}Y^{-1}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c55bc974999e655446b927c1f7963ca87b11cf6f)
Tw. Bakera-Campbelli-Hausdorffa
Gdy
oraz
są dostatecznie małe i niekoniecznie komutują, to
![{\displaystyle e^{X}\cdot e^{Y}=e^{Z},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/93de013838eb0a09a52ea0278913f4d51d223be9)
gdzie
jest nieskończonym szeregiem komutatorów, utworzonych z macierzy
oraz
zgodnie z tw. Bakera-Campbella-Hausdorffa(inne języki)
![{\displaystyle Z=X+Y+{\frac {1}{2))[X,Y]+{\frac {1}{12)){\big [}X,[X,Y]{\big ]}-{\frac {1}{12)){\big [}Y,[X,Y]{\big ]}+\ldots ,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/399e666a1330c917bf78db3845e567a7d938cee9)
gdzie
itp. Pozostałe składniki szeregu stanowią bardziej złożone komutatory, zawierające
oraz
Jeżeli
oraz
komutują, tj.
to wszystkie inne komutatory zerują się i otrzymuje się prosty wzór
![{\displaystyle e^{X}\cdot e^{Y}=e^{X+Y))](https://wikimedia.org/api/rest_v1/media/math/render/svg/1cae3c99d32fb7aa892bba253bec31ae7ceed17f)
Numeryczne liczenie eksponenty macierzy
Obliczanie eksponenty macierzy w ogólnym przypadku nie jest proste. Poniżej podano kod w języku python, służący do numerycznego obliczenia eksponenty macierzy, korzystający z biblioteki NumPy, dedykowanej do obliczeń na macierzach. NumPy zawiera funkcję expm
, która oblicza eksponentę macierzy. Program można uruchomić, korzystając np. z darmowego notatnika colab google online, przy czym macierz do obliczeń zadaje się w linii 4 programu, podając kolejne jej wiersze. Poniższy kod liczy eksponentę macierzy
ale łatwo go zmodyfikować do liczenia eksponenty macierzy
Np. X = np. array([[1, 1, 1], [2, 1, 0], [3, 0,1]]) – macierz
z zapisanymi kolejnymi wierszami, zaczynając od wiersza 1-go.
import numpy as np
from scipy.linalg import expm
X = np. array([[1, 0], [0, 1]])
expX = expm(X)
print(expX)
# Wynik
# [[2.71828183 0. ]
# [0. 2.71828183]]
Przykłady
Macierze niekomutujące
Niech będą dane macierze
![{\displaystyle X={\begin{bmatrix}1&0\\0&2\end{bmatrix)),\quad Y={\begin{bmatrix}0&1\\0&0\end{bmatrix))}](https://wikimedia.org/api/rest_v1/media/math/render/svg/0bb7511eb5ac6e59dbad81c2b2b643a4c62ee19c)
Macierze te nie komutują ze sobą, gdyż:
![{\displaystyle XY-YX={\begin{bmatrix}0&-1\\0&0\end{bmatrix))}](https://wikimedia.org/api/rest_v1/media/math/render/svg/80469e18166e7e77da7eab9867362709d7d0fabe)
Nie są więc spełnione założenia Tw. (5). Obliczając eksponenty
oraz
(np. korzystając z kodu w python, podanego wyżej), a następnie mnożąc otrzymane macierze
przez siebie otrzyma się:
![{\displaystyle e^{X}e^{Y}={\begin{bmatrix}2{,}71828183&2{,}71828183\\0&7{,}3890561\end{bmatrix))}](https://wikimedia.org/api/rest_v1/media/math/render/svg/40fd35f0c2a26b7c005c9d77ca39bdfb1baf034a)
zaś
![{\displaystyle e^{X+Y}={\begin{bmatrix}2{,}71828183&4{,}67077427\\0&7{,}3890561\end{bmatrix))}](https://wikimedia.org/api/rest_v1/media/math/render/svg/8039426471319658767e2063dd403c4bee2bc318)
Widać, że tym wypadku
Macierze komutujące
Niech będą dane macierze (tzw. macierze obrotu)
![{\displaystyle X={\begin{bmatrix}\cos x&-\sin x\\\sin x&\cos x\end{bmatrix)),\quad Y={\begin{bmatrix}\cos y&-\sin y\\\sin y&\cos y\end{bmatrix))}](https://wikimedia.org/api/rest_v1/media/math/render/svg/8d6f025e32b59285785fe16920b5f10d5a2d751a)
Macierze te komutują ze sobą dla dowolnych kątów
tj. zawsze mamy:
![{\displaystyle XY-YX={\begin{bmatrix}1&0\\0&1\end{bmatrix))}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a8dd06a14d29a649e26a91a63509f3127028896b)
Z tw. (5) wynika, że w tym wypadku jest prawdą, że
Przykładowo, dla
mamy
![{\displaystyle X={\begin{bmatrix}0&-1\\1&0\end{bmatrix)),\quad Y={\frac {1}{\sqrt {2))}{\begin{bmatrix}1&-1\\1&1\end{bmatrix))}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f164ce543c3b40a0294699686e26bb33ffcf8df8)
Obliczając eksponenty
oraz
(np. korzystając z kodu w python, podanego wyżej), a następnie mnożąc otrzymane macierze
przez siebie, otrzymuje się:
![{\displaystyle e^{X}\cdot e^{Y}={\begin{bmatrix}-0{,}27559796&-2{,}0093024\\-2{,}0093024&-0{,}27559796\end{bmatrix))}](https://wikimedia.org/api/rest_v1/media/math/render/svg/28f550b7776557f02c05e63892f7ab7ead35584e)
Obliczając macierz
a następnie jej eksponentę, otrzymuje się
![{\displaystyle e^{X+Y}={\begin{bmatrix}-0{,}27559796&-2{,}0093024\\-2{,}0093024&-0{,}27559796\end{bmatrix))}](https://wikimedia.org/api/rest_v1/media/math/render/svg/338022985e96b1fd6b1806688cb0d00419fdaeeb)
Widać, iż teraz