Inverse einer (singulären) Blockmatrix

1 view (last 30 days)
Cem Tuygar
Cem Tuygar on 7 Aug 2024
Answered: Rajanya on 12 Aug 2024
Hallo zusammen,
ich versuche folgende Gleichung zu lösen:
Q = A - B*(C^-1)*B'
Hier sollen A und B erstmal beliebige Matrizen sein, und C ist eine Matrix der Form
C = [C1, C2'; C2, 0], mit C1,C2 als Submatrizen von C.
Da C offensichtlich singulär ist bzw. badly scaled, kann ich diese Gleichung über inv(C) nicht lösen. Gibt es für dieses Problem eine geeignete Funktion oder Vorgehensweise in Matlab?
Beste Grüße und Danke im Voraus

Answers (1)

Rajanya
Rajanya on 12 Aug 2024
I understand you are not being able to calculate ‘Q’ in the above equation because ‘C’ is a singular matrix. You can use the ‘Moore-Penrose pseudoinverse’ for calculating the pseudo-inverse of singular matrices. In MATLAB, you can use the ‘pinv’ function to compute the pseudoinverse of a singular matrix. You can compute the aforementioned equation in the following way:
C_pinv = pinv(C)
Q = A B*C_pinv*B';
You can refer to the MATLAB documentation to know about the Moore-Penrose pseudoinverse:
Hope this answers your question.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!