Ich benutze Python numpy für Matrixoperationen. Die Berechnung der Identitätsmatrix führt zu unerwarteten Ergebnissen - Die Standardidentitätsmatrix wird nicht abgerufen.Python numpy - Geben einer Identitätsmatrix mit nicht-diognalen Elementen ungleich
R0 = matrix([
[0.02187598, 0.98329681, -0.18068986],
[0.99856708, -0.01266115, 0.05199501],
[0.04883878, -0.18156839, -0.9821648]
]);
print R0.dot(R0.I)
# prints [[ 1.00000000e+00 0.00000000e+00 5.55111512e-17]
# [ 0.00000000e+00 1.00000000e+00 0.00000000e+00]
# [ -5.55111512e-17 0.00000000e+00 1.00000000e+00]]
Gibt es einen besonderen Grund, warum Sie keine NumPy-Arrays anstelle der Matrixtypen verwenden? – Divakar
Weil ich gegoogelt habe, und das sind diejenigen, die ich zuerst gefunden habe. Wenn numpy Arrays korrekte Ergebnisse liefern, kann ich diese verwenden. Kein Problem. – user3834119
Die Verwendung eines numpligen Arrays anstelle einer 'Matrix' wird nicht helfen. Sie sehen einen normalen Gleitkommazahlfehler. Im Allgemeinen wird das Ergebnis der numerischen Berechnung von "R0.dot (R0.I)" nicht genau die Identitätsmatrix sein. –