Ich möchte eine 4x4 Matrix invertieren. Meine Nummern werden im Festkommaformat gespeichert (1.15.16 um genau zu sein).Invert 4x4 Matrix - Numerisch stabilste Lösung benötigt
Mit Gleitkommaarithmetik ich normalerweise nur die adjungierte Matrix und dividieren durch die Determinante (z. B. Brute Force die Lösung). Das hat bei mir bisher funktioniert, aber wenn ich mit Festkommazahlen zu tun habe, bekomme ich aufgrund der verwendeten Multiplikationen einen inakzeptablen Präzisionsverlust.
Hinweis: In der Festpunktarithmetik werfe ich immer einige der am wenigsten signifikanten Bits von unmittelbaren Ergebnissen weg.
Also - Was ist die numerisch stabilste Möglichkeit, eine Matrix zu invertieren? Mir macht die Performance wenig aus, aber einfach zum Gleitkomma zu gehen, würde meine Zielarchitektur verlangsamen.
sind die Größen der Elemente in Ihrer Matrix in der Größenordnung? –
Nein - leider sind sie überall. –
Haben Sie eine ungefähre Konditionsnummer für die Matrix? Das Papier, das ich in meiner Antwort anführe, hat Erfolg bis zu einer Bedingungsnummer von einigen hundert, obwohl dies für 8x8 oder 32x32 Matrizen ist, also können Sie es besser machen. –