Main Content

Eigenwerte

Zerlegung von Eigenwerten

Eigenwert und Eigenvektor einer Quadratmatrix A sind ein Skalar λ bzw. ein Vektor υ ungleich null, die folgende Gleichung erfüllen:

= λυ.

Wenn die Eigenwerte entlang der Diagonalen einer Diagonalmatrix Λ und die entsprechenden Eigenvektoren die Spalten einer Matrix V bilden, liegt Folgendes vor:

AV = .

Wenn V nicht singulär ist, wird dies zur Eigenwertzerlegung

A = VΛV–1.

Ein gutes Beispiel ist die Koeffizientenmatrix der Differenzialgleichung dx/dt = Ax:

A =
     0    -6    -1
     6     2   -16
    -5    20   -10

Die Lösung für diese Gleichung wird mithilfe der Exponentialfunktion der Matrix ausgedrückt x(t) = etAx(0). Die Anweisung

lambda = eig(A)

ergibt einen Spaltenvektor, der die Eigenwerte von A enthält. Für diese Matrix sind die Eigenwerte komplex:

lambda =
     -3.0710         
     -2.4645+17.6008i
     -2.4645-17.6008i

Der Realteil der jeweiligen Eigenwerte ist negativ, sodass eλt gegen null geht, wenn t erhöht wird. Der Imaginärteil von zwei der Eigenwerte, ±ω, trägt die oszillatorische Komponente, sin(ωt), zur Lösung der Differenzialgleichung bei.

Mit zwei Ausgabeargumenten berechnet eig die Eigenvektoren und speichert die Eigenwerte in einer Diagonalmatrix:

[V,D] = eig(A)
V =
  -0.8326         0.2003 - 0.1394i   0.2003 + 0.1394i
  -0.3553        -0.2110 - 0.6447i  -0.2110 + 0.6447i
  -0.4248        -0.6930            -0.6930          

D =
  -3.0710                 0                 0         
        0           -2.4645+17.6008i        0         
        0                 0           -2.4645-17.6008i

Der erste Eigenvektor ist reell und die beiden anderen Vektoren sind komplexe Konjugate voneinander. Alle drei Vektoren sind normalisiert, sodass sie eine euklidische Länge, norm(v,2), von eins aufweisen.

Die Matrix V*D*inv(V), die prägnanter auch als V*D/V geschrieben werden kann, ist innerhalb des Rundungsfehlers von A. Und inv(V)*A*V, oder V\A*V, ist innerhalb des Rundungsfehlers von D.

Mehrere Eigenwerte

Einige Matrizen haben keine Eigenvektorzerlegung. Diese Matrizen sind nicht diagonalisierbar. Beispiel:

A = [ 1    -2    1 
      0     1    4 
      0     0    3 ]

Für diese Matrix ergibt

[V,D] = eig(A)

Folgendes:

V =

    1.0000    1.0000   -0.5571
         0    0.0000    0.7428
         0         0    0.3714


D =

     1     0     0
     0     1     0
     0     0     3

Es liegt ein doppelter Eigenwert bei λ = 1 vor. Die erste und zweite Spalte von V sind identisch. Für diese Matrix liegt kein vollständiger Satz linearer, unabhängiger Eigenvektoren vor.

Schur-Zerlegung

Viele erweiterte Matrixberechnungen erfordern keine Eigenwertzerlegungen. Sie basieren stattdessen auf der Schur-Zerlegung

A = USU ′ ,

wobei U eine orthogonale Matrix und S eine obere Dreiecks-Blockmatrix mit 1x1 und 2x2 Blöcken entlang der Diagonalen ist. Die Eigenwerte werden von den Diagonalelementen und Blöcken von S erkannt, während die Spalten von U eine orthogonale Basis bereitstellen, die wesentlich bessere numerische Eigenschaften hat als eine Eigenvektormenge.

Vergleichen Sie beispielsweise die Eigenwert- und die Schur-Zerlegungen dieser fehlerhaften Matrix:

A = [ 6    12    19 
     -9   -20   -33 
      4     9    15 ];

[V,D] = eig(A)
V =

  -0.4741 + 0.0000i  -0.4082 - 0.0000i  -0.4082 + 0.0000i
   0.8127 + 0.0000i   0.8165 + 0.0000i   0.8165 + 0.0000i
  -0.3386 + 0.0000i  -0.4082 + 0.0000i  -0.4082 - 0.0000i


D =

  -1.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   1.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   1.0000 - 0.0000i
[U,S] = schur(A)
U =

   -0.4741    0.6648    0.5774
    0.8127    0.0782    0.5774
   -0.3386   -0.7430    0.5774


S =

   -1.0000   20.7846  -44.6948
         0    1.0000   -0.6096
         0    0.0000    1.0000

Die Matrix A ist fehlerhaft, weil sie keinen vollständigen Satz linear unabhängiger Eigenvektoren hat (die zweite und dritte Spalte von V sind identisch). Da nicht alle Spalten von V linear unabhängig sind, hat sie eine hohe Bedingungszahl von etwa ~1e8. Allerdings kann schur drei verschiedene Basisvektoren in U berechnen. Da U orthogonal ist, gilt cond(U) = 1.

Die Matrix S weist den reellen Eigenwert als ersten Eintrag entlang der Diagonalen auf, während der wiederholte Eigenwert durch den 2x2-Block rechts unten dargestellt wird. Die Eigenwerte des 2x2-Blocks sind ebenfalls Eigenwerte von A:

eig(S(2:3,2:3))
ans =

   1.0000 + 0.0000i
   1.0000 - 0.0000i

Siehe auch

|

Verwandte Themen

Externe Websites