Konstruktion einer Jordanbasis für nilpotente Endomorphismen Eine Bastelanleitung von Stefan Kühnlein Ich will beschreiben, wie sich für einen gegebenen nilpotenten Endomorphismus Φ des n dimensionalen K -Vektorraumes V eine Basis bestimmen lässt, bezüglich derer Φ durch eine Matrix in Jordan-Normalform beschrieben wird. Zur Erinnerung (und Festlegung der Notation) formuliere ich den Satz noch einmal. Satz: Es sei Φ ein nilpotenter Endomorphismus des n -dimensionalen K -Vektorraumes V . Dann gibt es eindeutig bestimmte natürliche Zahlen e und d1 ≥ d2 ≥ d3 ≥ · · · ≥ de ≥ 1, sodass bezüglich einer geeigneten Basis B von V gilt: Jd1 (0) 0 ... 0 .. Jd2 (0) 0 . 0 DBB (Φ) = . .. ... . 0 0 0 ... 0 Jde (0) Die Matrix auf der linken Seite hat offensichtlich Rang n−e , denn das i -te Jordankästchen hat ja Rang di − 1 , und die Summe der di ist gerade n . Wenn weiter βd := #{i : di = d} die Anzahl aller Jordankästchen der Länge d bezeichnet, so gilt: X βd · (d − k). Rang(Φk ) = d≥k Dadurch können Sie die Zahlen βd rekursiv für fallendes d berechnen: βd = Rang(Φd−1 ) − 2βd+1 − 3βd+2 − . . . Oder auch βd = Rang(Φd−1 ) − 2Rang(Φd ) + Rang(Φd+1 ). Insbesondere ist im Fall Φd = 0 die Zahl der Kästchen von Länge d gerade der Rang von Φd−1 , und die der Länge d + 1 ist 0. Das heißt, dass sich die Jordan-Normalform für ein nilpotentes Φ sehr einfach findet. Etwas anders steht es um die Konstruktion einer Jordan-Basis, von der durch obigen Satz nur die Existenz gewährleistet wird. Diese erhalten Sie mit viel Geduld auf die nun beschriebene Art und Weise. Es gelte Φd = 0 6= Φd−1 . Dann gibt es βd = Rang(Φd−1 ) Jordankästchen der Länge d (und kein längeres). Um hierfür den Anfang einer geeigneten Basis zu finden wähle ich βd Vektoren v1 , . . . vβd , die ein Komplement zu Kern (Φd−1 ) erzeugen. Ich setze nun Md := {v1 , . . . vβd } und Bd := Md ∪ Φ(Md ) ∪ · · · ∪ Φd−1 (Md ). Dann ist Bd linear unabhängig, der davon erzeugte Vektorraum Vd ist Φ -invariant, und Φ beschreibt sich darauf bezüglich der Basis Bd in der Sortierung v1 , Φ(v1 ), . . . , Φd−1 (v1 ), v2 , Φ(v2 ), . . . , Φd−1 (v2 ), . . . , vβd , Φ(vβd ), . . . , Φd−1 (vβd ) durch die Matrix Jd (0) 0 ... 0 0 Jd (0) . . . 0 .. ... . 0 0 0 ... 0 Jd (0) ∈ K dβd ×dβd . Das ist schon ein sehr guter Anfang, aber wie geht es jetzt weiter? Wir suchen nun die nächsten Basisvektoren, die auf Jordankästchen der Länge d − 1 führen. Diese dürfen weder in Vd noch in Kern (Φd−2 ) liegen, müssen sich aber im Kern von Φd−1 befinden. Ich wähle dazu ein Komplement zu Kern (Φd−2 ) + Vd in Kern (Φd−1 ) und darin eine Basis Md−1 . Die Dimension eines Komplements zu (Kern(Φd−2 ) + Vd ) ∩ Kern(Φd−1 ) in Kern (Φd−1 ) ist gerade βd−1 . Nun setze ich Bd−1 := Bd ∪ Md−1 ∪ Φ(Md−1 ) ∪ · · · ∪ Φd−2 (Md−1 ) . Wenn Vd−1 der von Bd−1 erzeugte Unterraum ist, so ist Vd−1 invariant unter Φ , und Φ beschreibt sich darauf bezüglich Bd−1 nach geeigneter Nummerierung durch eine Jordan-Normalform, die aus βd Kästchen der Länge d und aus βd−1 Kästchen der Länge d − 1 besteht. So geht es nun weiter. Wenn rekursiv Bi gewählt wurde, so wähle ich einen Komplementärraum zu Kern (Φi−2 ) + hBi i ∩ Kern(Φi−1 ) in Kern (Φi−1 ) und darin eine Basis Mi−1 . Diese enthält dann βi−1 Elemente. Dann setze ich Bi−1 := Bi ∪ Mi−1 ∪ Φ(Mi−1 ) ∪ · · · ∪ Φi−2 (Mi−1 ). Ganz am Ende ist schließlich B := B1 eine Basis von V , und wenn ich die Vektoren nur in der richtigen Reihenfolge hinschreibe, so ist B eine Jordan-Basis. Puuuh. . . Beispiel? Beispiel. Ich nehme natürlich die Multiplikation mit einer Matrix A auf einem K n . Für kleines n geht das Verfahren zu schnell zu Ende, und man sieht die Wirkungsweise nicht. Also muss ich schon eine etwas größere Matrix nehmen, die nicht gerade in JordanNormalform vorliegen sollte, und trotzdem nilpotent ist. Ein Beispiel, das für jeden Körper funktioniert, ist das folgende. 6 −6 0 0 0 0 0 0 1 5 −10 8 −6 4 −2 0 6 −6 0 0 0 0 0 0 1 5 −10 8 −6 4 −2 0 0 6 −10 8 −6 4 −2 0 6 −6 0 0 0 0 0 0 0 5 −9 8 −6 4 −2 0 2 5 −5 0 0 0 0 0 0 A := 0 4 −8 8 −6 4 −2 0 , A = 4 −4 0 0 0 0 0 0 . 0 3 −6 6 −5 4 −2 0 3 −3 0 0 0 0 0 0 0 2 −4 4 −4 4 −2 0 2 −2 0 0 0 0 0 0 1 −1 0 0 0 0 0 0 0 1 −2 2 −2 2 −1 0 A ist nilpotent, A3 = 0 , die Ränge der Potenzen von A sind Rang(A0 ) = 8, Rang(A1 ) = 4, Rang(A2 ) = 1, Rang(A3 ) = 0. Das liefert β3 = 1, β2 = 2, β1 = 1. Nun konstruiere ich eine Jordan-Basis. Ein Komplement zum Kern von A2 ist immer eindimensional. Also brauche ich als erstes einfach einen Vektor, der nicht im Kern von A2 liegt, zum Beispiel den ersten Standardbasisvektor: M3 = {e1 } . Dann besteht B3 aus den Vektoren v1 := (1 0 0 0 0 0 0 0)t , Av1 = (1 1 0 0 0 0 0 0)t und A2 v1 = (6 6 6 5 4 3 2 1)t . Sie erzeugen den dreidimensionalen Unterraum V3 . Nun brauchen wir den Vektorraum Kern (A) + V3 , der als Basis zum Beispiel ( 2 2 2 1 0 0 0 0 , −2 −2 −2 0 2 1 0 0 , 1 1 1 0 −1 0 1 0 , 0 0 0 0 0 0 0 1 ) , v1 , Av1 . hat. Ein mögliches Komplement dazu wird von den Standardbasisvektoren e3 und e7 erzeugt, die auch noch im Kern von A2 liegen. Diese nennen wir nun v4 und v6 , und M2 ist {v4 , v6 } . Damit bekomme ich B2 := B1 ∪ M2 ∪ AM2 = {v1 , Av1 , A2 v1 , v4 , Av4 , v6 , Av6 }, wobei ich die Vektoren schon in der richtigen Reihenfolge hingeschrieben habe. Nun muss ich noch ein Komplement zu Kern (A0 ) + V2 (das ist übrigens V2 ) im Kern von A finden. Ein mögliches Komplement wird erzeugt vom Vektor e8 . Jetzt kommt der große Test. Dazu sei S die Matrix, die die Vektoren von B1 := B2 ∪ {e8 } als Spalten hat (in der richtigen Reihenfolge): 1 1 6 0 −10 0 −2 0 0 1 6 0 −10 0 −2 0 0 0 6 1 −10 0 −2 0 0 0 5 0 −9 0 −2 0 S := 0 0 4 0 −8 0 −2 0 . 0 0 3 0 −6 0 −2 0 0 0 2 0 −4 1 −2 0 0 0 1 0 −2 0 −1 1 Dann hat tatsächlich S −1 AS die erwartete Jordan-Normalform. Bemerkung: Die hierbei benötigten Berechnungen von Kernen beziehungsweise das Auffinden von Komplementen habe ich natürlich mit dem Computer gemacht; ich benutze gerne das Programm pari, aber das ist Geschmackssache.