Invertierbare Matrizen generieren



  • bja schrieb:

    Für's dechiffrieren brauche ich die Inverse. Zwar weiß ich dass sie existiert, ich frage mich aber, ob ich sie einfach mit Gauss berechnen kann. Im Ring hat ja nicht jedes Element ein Inverses.

    aber jedes ungerade, wenn mich mein gefühl nicht trügt.
    kannst also evtl nicht stur gaussen, sondern musst als pivot ein ungerades element suchen. und wenn mich wieder mein gefühl nicht trügt, wird es das auch immer geben.



  • Wenn es nur darum geht, zufällige invertierbare Matrizen zu finden, warum dann nicht einfach so:
    Man nehme eine zufällige rechte obere Dreiecksmatrix und eine zufälige linke untere Dreiecksmatrix. Beide sind sicher invertierbar (Diagonaleinträge nicht gleich 0). Dann musst du diese nur noch multiplizieren. Prüfen brauchst du hier dann nichts. Das Invertieren von Dreiecksmatrizen stellt auch kein Problem dar. Das Produkt der Inversen stellt dann deine gesuchte Inverse dar.



  • anderer Vorschlag
    man nutze Matrizen in Householderform im SVD style
    Pi=(I2uuTuTu)P_{i}=(I- \frac {2u u^T}{u^Tu})
    man generiere sich auf diese weise einige Matrizen und dann bilde man sich eine MAtrix S welche nur diagonal besetzt ist.
    alle Determinanten der P matrizen sind +1. also ist die gesamt Determinante durch S bestimmt.

    PL=P0...PnP_{L}=P_{0}...P_{n}
    PR=Pn+1...P2nP_{R}=P_{n+1}...P_{2*n}
    M=PLSPRM=P_{L} S P_{R}
    M1=PLTS1PRTM^-1=P_{L}^T S^{-1} P_{R}^T



  • Householdermatrizen muss ich ja auch generieren und multiplizieren. Ist wohl nicht effizienter als der Dreiecksmatrizen-Ansatz. Sehe keinen Vorteil.

    Danke an alle!

    Mal sehen ob ich das schön umsetzen kann.

    (Bis später ;))


Anmelden zum Antworten