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:

przy czym przyjmuje się:

gdzie:

Twierdzenia I

Oznaczenia:

Twierdzenia:

(1)
(2)
gdzie macierz transponowana macierzy
(3)
gdzie – macierz hermitowsko sprzężona do macierzy
(4) Jeżeli macierz jest odwracalna, to
(5) Jeżeli macierze i komutują (tzn. ich mnożenie jest przemienne, ), to

Z tw. (5) wynika, że

(6)
(7)

Twierdzenia II

(8) Jeżeli jest macierzą symetryczną, to jest macierzą symetryczną.
(9) Jeżeli jest macierzą antysymetryczną, to jest macierzą ortogonalną.
(10) Jeżeli jest macierzą hermitowską, to jest macierzą hermitowską.
(11) Jeżeli jest macierzą antyhermitowską, to jest macierzą unitarną.

Obliczanie eksponenty macierzy

Macierz diagonalna

Jeżeli macierz jest diagonalna

to

Macierz diagonalizowalna

Jeżeli macierz można przedstawić w postaci

gdzie macierz diagonalna, to z tw. (4) wynika, że

Tw. Liego o eksponencie sumy macierzy

Jeżeli oraz nie komutują, to można obliczyć eksponentę sumy tych macierzy, posługując się twierdzeniem Liego

Jeżeli użyje się dostatecznie dużej wartości (np. ), to otrzyma się dokładne przybliżenie, często używane w numerycznego obliczania ewolucji w czasie jednowymiarowych układów kwantowych o wielu cząstkach, gdyż wtedy

Tw. Bakera-Campbelli-Hausdorffa

Gdy oraz są dostatecznie małe i niekoniecznie komutują, to

gdzie jest nieskończonym szeregiem komutatorów, utworzonych z macierzy oraz zgodnie z tw. Bakera-Campbella-Hausdorffa(inne języki)

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

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

Macierze te nie komutują ze sobą, gdyż:

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ę:

zaś

Widać, że tym wypadku

Macierze komutujące

Niech będą dane macierze (tzw. macierze obrotu)

Macierze te komutują ze sobą dla dowolnych kątów tj. zawsze mamy:

Z tw. (5) wynika, że w tym wypadku jest prawdą, że

Przykładowo, dla mamy

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ę:

Obliczając macierz a następnie jej eksponentę, otrzymuje się

Widać, iż teraz

Zobacz też

Inne:

Bibliografia

Linki zewnętrzne