Gentili studentesse e studenti,
ho trovato un errore nella funzione gauss_jordan_el implementata nel Jupyter Notebook sui sistemi lineari. Per puro caso funzionava sulla matrice dell'esempio, ma mancava un ciclo for. In calce a questo messaggio potete trovare il codice corretto.
Cordiali saluti,
Mirco Zerbetto
# Funzione che effettua l'eliminazione di Gauss - Jordan
def gauss_jordan_el(A):
ZERO = 1.0e-10
B = gauss_el(A)
print ('Matrice trasformata tramite eliminazione di Gauss:\n')
print(B)
print('\n\n')
n, m = np.shape(B)
B[n-1, :] = B[n -1, :] / B[n-1, n-1]
for r in range (n - 2, -1, -1):
for r1 in range (n-1, r, -1):
B[r, :] = B[r, :] - B[r1, :] * B[r, r1] / B[r1, r1]
B[r, :] = B[r, :] / B[r, r]
return B