# Matrixfunktion

Eine Matrixfunktion ist in der Mathematik eine Funktion, welche als Funktionsargument eine quadratische Matrix besitzt. Es gibt unterschiedliche Definitionen solcher Funktionen, deren Funktionswerte meistens Skalare oder wieder quadratische Matrizen sind. Generell versteht man in der Mathematik unter dem Begriff Matrixfunktion explizit den letzteren Fall, das bedeutet
    $f:\mathbb {C} ^{n\times n}\to \mathbb {C} ^{n\times n}.$
Zum ersten Fall gehören klassische Funktionen wie die Determinante oder die Spur. Da dieser Fall selbsterklärend ist, wird im Artikel nur der letzte Fall behandelt. Im Artikel werden drei äquivalente Methoden zur Erzeugung einer Matrixfunktion erklärt.

## Einführung

Sei $A=(a_{ij})_{ij}$ eine quadratische Matrix, $\mathbb {C} ^{n\times n}$ der dazugehörige Matrizenraum und $f\colon \mathbb {C} \to \mathbb {C}$ eine skalare Funktion. Das Ziel ist es nun, $f(A)$ zu definieren. Dafür gibt es unterschiedliche Möglichkeiten, darunter:
* Die elementweise Evaluation
       $f(A)=(f(a_{ij}))_{ij}={\begin{pmatrix}f(a_{11})&f(a_{12})&\cdots \\f(a_{21})&f(a_{22})&\cdots \\\vdots &\vdots &\ddots \end{pmatrix}}.$
* Die skalarwertige Evaluation $f:\mathbb {C} ^{n\times n}\to \mathbb {C}$.
* Die matrixwertige Evaluation $f:\mathbb {C} ^{n\times n}\to \mathbb {C} ^{n\times n}$.
Der erste Fall wird häufig von Programmiersprachen verwendet, spielt in der Mathematik aber eine untergeordnete Rolle, da er die Regeln der Matrizen-Algebra bricht.
Den zweiten Fall trifft man häufig an, klassische Beispiele sind die Determinante $\det(A)$, die Spur $\operatorname {tr} (A)$ und der Spektralradius $\rho (A)$.
Die ersten beiden Fälle sind selbsterklärend, deshalb werden wir nur den letzten Fall behandeln und werden solche Funktionen $f:\mathbb {C} ^{n\times n}\to \mathbb {C} ^{n\times n}$ als Matrixfunktionen bezeichnen.
Es existieren noch weitere Fälle, die wir auch nicht behandeln werden, so fällt die Vektorisierung in keine der Kategorien.

## Matrixfunktion

Es existieren unterschiedliche Wege, wie wir die matrixwertige Funktion einer skalaren Funktion $f:\mathbb {C} \to \mathbb {C}$ definieren können. Drei übliche Wege sind
* über die jordansche Normalform,
* über die Polynominterpolation,
* über den Cauchyschen Integralsatz.
Wenn $f$ eine analytische Funktion in einer Umgebung ist, welche das Spektrum umschließt, dann sind alle drei Definitionen äquivalent.
Wir brauchen folgende wichtige Definition, welche uns später garantiert, dass wir die Funktion $f$ auf allen Jordan-Blöcken anwenden können:
    Sei $A\in \mathbb {C} ^{n\times n}$ eine Matrix und $\lambda _{1},\dots ,\lambda _{s}$ ihre eindeutigen Eigenwerte, das heißt $s$ ist die Anzahl Eigenwerte ohne Berücksichtigung algebraischer Vielfachheiten. Sei $m_{i}$ die Größe des größten Jordan-Blockes zum Eigenwert $\lambda _{i}$. Wir nennen eine Funktion $f$ auf dem Spektrum von $A$ definiert, wenn die folgenden Werte existieren
       $f^{(j)}(\lambda _{i}),\quad j=0,\dots ,m_{i}-1,\quad i=1,\dots ,s$

### Definition 1 (Jordan-Normalform)

Sei $f$ auf dem Spektrum von $A\in \mathbb {C} ^{n\times n}$ definiert. Weiter seien $J=Z^{-1}AZ$ die Jordan-Normalform und $J_{1},\dots ,J_{p}$ die dazugehörigen Jordan-Blöcke mit ihren Größen $n_{1},\dots ,n_{p}$, das heißt $n_{1}+\cdots +n_{p}=n$ und $p\leq n$. Seien $\lambda _{1},\dots ,\lambda _{p}$ die zu den $J_{1},\dots ,J_{p}$ dazugehörigen Eigenwerte.
Die Matrixfunktion ist definiert als
    $f(A):=Zf(J)Z^{-1}=Z\operatorname {diag} \left(f(J_{1}),\dots ,f(J_{p})\right)Z^{-1},$
wobei die $f(J_{1}),\dots ,f(J_{p})$ wie folgt definiert sind
    $f(J_{k})={\begin{pmatrix}f(\lambda _{k})&f^{(1)}(\lambda _{k})&{\frac {f^{(2)}(\lambda _{k})}{2!}}&\cdots &\cdots &{\frac {f^{(n_{k}-1)}(\lambda _{k})}{(n_{k}-1)!}}\\0&f(\lambda _{k})&f^{(1)}(\lambda _{k})&\ddots &\cdots &{\frac {f^{(n_{k}-2)}(\lambda _{k})}{(n_{k}-2)!}}\\0&0&f(\lambda _{k})&\ddots &\ddots &\vdots \\\vdots &\ddots &\ddots &\ddots &\ddots &{\frac {f^{(2)}(\lambda _{k})}{2!}}\\\vdots &\ddots &\ddots &\ddots &f(\lambda _{k})&f^{(1)}(\lambda _{k})\\0&0&\dots &0&0&f(\lambda _{k})\end{pmatrix}},\quad f(J_{k})\in \mathbb {C} ^{n_{k}\times n_{k}},\quad k=1,\dots ,p.$

#### Erklärung der Matrix

Die Matrix in der Definition lässt sich wie folgt erklären, man bildet die Taylor-Reihe von $f(x)$ und verwendet als Entwicklungspunkt den Eigenwert $\lambda _{k}$, das heißt
    $f(x)=\sum _{i=0}^{\infty }{\frac {f^{(i)}(\lambda _{k})}{i!}}(x-\lambda _{k})^{i}$
Nun substituiert man $x$ mit dem Jordan-Block $J_{k}$ und erhält
    $f(J_{k})=\sum _{i=0}^{n_{k}-1}{\frac {f^{(i)}(\lambda _{k})}{i!}}(J_{k}-\lambda _{k}I_{n_{k}})^{i},$
wobei $I_{n_{k}}$ die Identitätsmatrix der Dimension $n_{k}$ ist. Da $(J_{k}-\lambda _{k}I_{n_{k}})$ eine nilpotente Matrix mit Nilpotenzindex $n_{k}$ ist, ist die Taylorreihe endlich und somit ein Polynom. Da Matrizen dieselben Operationen wie Polynome besitzen (Addition, Subtraktion, Multiplikation usw.), existiert auch das Matrixpolynom. Durch Ausschreiben der Taylorreihe erhält man die Matrix aus der Definition
    $f(J_{k})=f(\lambda _{k})I_{n_{k}}+f^{(1)}(\lambda _{k})(J_{k}-\lambda _{k}I_{n_{k}})+\cdots +{\frac {f^{(n_{k}-1)}(\lambda _{k})}{(n_{k}-1)!}}(J_{k}-\lambda _{k}I_{n_{k}})^{n_{k}-1},$
wobei jeder Term eine der diagonalen Linien in der oberen Dreiecksmatrix bildet. Das macht man nun für jeden Jordan-Block.

#### Erläuterungen

* Wenn $A$ diagonalisierbar ist, dann ist die Jordan-Normalform gerade die Diagonalmatrix der Eigenwerte $D=\operatorname {diag} (\lambda _{1},\dots ,\lambda _{n})$ und die Spalten von $Z$ sind die Eigenvektoren. Das bedeutet wiederum, dass
       $f(A)=Zf(D)Z^{-1}$
    und somit hat $f(A)$ die gleichen Eigenvektoren wie $A$ und die Eigenwerte von $f(A)$ erhält man durch Anwendung von $f$ auf die Eigenwert von $A$, das heißt $f(\lambda _{1}),\dots ,f(\lambda _{n})$.
* Es spielt keine Rolle, welche Reihenfolge die Jordan-Blöcke haben, das resultierende $f(A)$ wird dasselbe sein.

#### Beispiel

Seien die Jordan-Blöcke
    $J_{1}={\begin{pmatrix}2&1\\0&2\end{pmatrix}},\qquad J_{2}={\begin{pmatrix}1&1\\0&1\end{pmatrix}}$
und die Funktion $f(x)=x^{3}$ gegeben, dann berechnet man
    $f(J_{1})={\begin{pmatrix}f(2)&f'(2)\\0&f(2)\end{pmatrix}}=4{\begin{pmatrix}2&3\\0&2\end{pmatrix}},\qquad f(J_{2})={\begin{pmatrix}f(1)&f'(1)\\0&f(1)\end{pmatrix}}={\begin{pmatrix}1&3\\0&1\end{pmatrix}}.$
Es lässt sich leicht überprüfen, dass die Resultate mit $J_{1}^{3}$ und $J_{2}^{3}$ übereinstimmen.
Nun ist
    $f(A)=Zf(J)Z^{-1}$
mit
    $f(J)={\begin{pmatrix}f(J_{1})&\mathbf {0} \\\mathbf {0} &f(J_{2})\end{pmatrix}}={\begin{pmatrix}8&12&0&0\\0&8&0&0\\0&0&1&3\\0&0&0&1\end{pmatrix}}.$

### Definition 2 (Polynominterpolation)

Sei $f$ auf dem Spektrum von $A\in \mathbb {C} ^{n\times n}$ definiert. Weiter sei $\varphi$ das Minimalpolynom von $A$, das heißt das monische Polynom mit dem kleinsten Grad, so dass $\varphi (A)=0$. Seien $\lambda _{1},\dots ,\lambda _{s}$ die eindeutigen Eigenwerte und $m_{i}$ die Größe des größten Jordan-Blockes zum Eigenwert $\lambda _{i}$.
Das Polynom der Hermiteinterpolation $P$ besitzt den Grad
    $\operatorname {deg} (P)\leq \sum \limits _{i=1}^{s}m_{i}=\operatorname {deg} (\varphi )$
und erfüllt
    $P^{(j)}(\lambda _{i})=f^{(j)}(\lambda _{i}),\quad j=0,\dots ,m_{i}-1,\quad i=1,\dots ,s$
Die Matrixfunktion ist definiert als
    $f(A):=P(A).$

#### Erläuterungen

* Diese Methode basiert darauf, dass $G(A)$ für ein beliebiges Polynom $G$ vollständig durch die Auswertung der Eigenwerte $G(\lambda _{i})$ bestimmt ist.
* Es ist wichtig zu verstehen, dass das Polynom $P$ von den Werten von $f$ auf dem Spektrum von $A$ abhängt.

#### Beispiel

Sei $p(x)={\tfrac {1}{3}}(x+2)$ das Polynom, welche die oben aufgeführten Interpolationsbedingungen erfüllt. Dann ist für $A\in \mathbb {C} ^{2\times 2}$
    $p(A)={\tfrac {1}{3}}(A+2I_{2}).$

### Definition 3 (Cauchyscher Integralsatz)

Sei $A\in \mathbb {C} ^{n\times n}$ und $f$ sei analytisch auf und innerhalb einer geschlossenen Kontur $\Gamma$, welche das Spektrum $\sigma (A)$ umschließt. Die Matrixfunktion ist definiert als
    $f(A):={\frac {1}{2\pi i}}\int _{\Gamma }f(z)(zI_{n}-A)^{-1}dz,$
wobei $I_{n}$ die Identitätsmatrix ist.
Die Einträge der Matrix $f(A)$ sind explizit
    $f_{kj}={\frac {1}{2\pi i}}\int _{\Gamma }f(z)e_{k}^{\mathrm {T} }(zI_{n}-A)^{-1}e_{j}dz,\quad k=1,\dots ,n,\quad j=1,\dots ,n$
wobei $e_{k},e_{j}$ die entsprechenden Einheitsvektoren sind.

#### Erläuterungen

* Da die Kontour $\Gamma$ um das Spektrum herum geht, gilt $\Gamma \cap \sigma (A)=\emptyset$ und die Resolvente
       $R(A,z)=(zI_{n}-A)^{-1}.$
    existiert.

### Äquivalenz der Definitionen

Die ersten beiden Definition sind äquivalent:
    ${\text{Definition 1}}\equiv {\text{Definition 2}}$
Wenn $f$ zusätzlich analytisch auf und innerhalb der Kontour $\Gamma$ ist, dann sind alle drei Definitionen äquivalent
    ${\text{Definition 1}}\equiv {\text{Definition 2}}\equiv {\text{Definition 3}}.$

### Eigenschaften

Sei $A\in \mathbb {C} ^{n\times n}$ und $f$ auf dem Spektrum von $A$ definiert. Dann gilt
* $f(A)$ und $A$ kommutieren, das heißt $Af(A)=f(A)A$ respektive für den Kommutator gilt $[A,f(A)]=0$.
* $f(A^{*})=f(A)^{*}$.
* $f(XAX^{-1})=Xf(A)X^{-1}$.
* Die Eigenwerte von $f(A)$ sind $f(\lambda _{i})$, wobei $\lambda _{i}$ die Eigenwerte von $A$ sind.
* Falls $A=\operatorname {diag} (A_{1},A_{2},\dots ,A_{p})$, wobei $A_{1},A_{2},\dots ,A_{p}$ Matrizenblöcke auf der Diagonale sind, dann gilt $f(A)=\operatorname {diag} (f(A_{1}),f(A_{2}),\dots ,f(A_{p}))$.
* $f(I_{p}\otimes A)=I_{p}\otimes f(A)$, wobei $\otimes$ das Kronecker-Produkt ist.
* $f(A\otimes I_{p})=f(A)\otimes I_{p}$, wobei $\otimes$ das Kronecker-Produkt ist.