Page 1 of 1

SVD mit Numpy, die nichts zurückgibt, beendet das Programm stattdessen [geschlossen]

Posted: 14 Feb 2025, 02:59
by Guest
Ich habe eine lineare Algebra -Übung, bei der ich die Umkehrung einer bestimmten Matrix mit SVD finden muss. Ich habe diesen Code unter Verwendung von Numpy erstellt. Bei der Ausführung pausiert der Code jedoch lange, bevor er früh endet-ich weiß, dass er frühzeitig endet, da er Zeile 11 nicht erreicht, wo ich versuche, die S-Werte zu drucken. Es erreicht auch Zeile 17 nicht. < /P>
import numpy as np

A = np.array([[[6,0,2],[2,6,5],[9,7,1]],
[[1,6,4],[5,4,9],[6,9,2]],
[[3,5,9],[5,3,7],[8,3,3]]])

ans = np.zeros((A.shape[0], A.shape[1], 3)) # Where A is 3x3x3 array

def svd_inverse(mat):
U, S, V = np.linalg.svd(mat)
print(S) # to test whether or not the is reaching this line
return V @ (S**(-1)) @ U.transpose()

for k in range(3):
ans[:,:,k] = svd_inverse(A[:,:,k])

print(f"Inverse: {ans}")
< /code>
Ich habe bereits versucht, dies mit MATLAB zu lösen, und habe die Ergebnisse erfolgreich erhalten, wie es hier in einem Screenshot zu sehen ist. Mit dem Live -Code -Screenshot hier. Ich habe bereits versucht, andere Foren und Beiträge zu durchsuchen, die Dokumentation zu lesen, aber ohne Erfolg. Kann mir jemand helfen? Ich stecke tagelang hier fest. Vielen Dank im Voraus. P>