Inverse einer Matrix mittels Partitionierung?

2 Antworten

Man zerlegt die Matrix in vier Matrizen mit

P = | A B |
    | C D |

Im konkreten Fall wähle ich A als 3x3 und D als 2x2 Matrix (geht auch anders, falls A und D quadratisch sind)

A = | 1 0 0 |
    | 0 1 0 |
    | 0 0 1 |
D = | 1 0 |
    | 0 1 |
B = | 0 1 |
    | 0 1 |
    | 0 1 |
C = | 0 0 0 |
    | 1 1 1 |

Sei i(M) die Inverse von M. Man berechnet

X = i(D - C*i(A) * B)

X = 1/2 * | 2  0 |
          | 0 -1 |

A' = i(A) + i(A)*B*X*C*i(A)

A' = 1/2 * |  1 -1 -1 |
           | -1  1 -1 |
           | -1 -1  1 |

B' = -i(A)*B*X

B' = 1/2 * | 0 1 |
           | 0 1 |
           | 0 1 |

C' = -X*C*i(A)

C' = 1/2 * | 0 0 0 |
           | 1 1 1 |

Nun gilt:

i(P) = | A' B'|
       | C' X |
i(P) = 1/2 * |  1 -1 -1  0  1 |
             | -1  1 -1  0  1 |
             | -1 -1  1  0  1 |
             | 0   0  0  2  0 |
             | 1   1  1  0 -1 |

Und tatsächlich gilt P*i(P) = E

Die Invertierung einer Blockmatrix sieht kompliziert aus

Block matrix - Wikipedia

aber die Inversen der beiden Nebenmatrizen werden nicht benötigt und wenn man hier konkrete Blöcke einsetzt dürfte das relativ einfach in sich zusammen fallen.

Die Blöcke wären die 4x4 (A) und die 1x1 Einheitsmatrix (D) sowie die 4x1 (C) und 1x4 (B) Vektoren die nur aus der 1 bestehen.