C'è qualcosa che non mi torna.

Tu questa funzione la chiami 1 volta per elaborare tutta la matrice.

Come fa dim che passi 1 volta sola a valere per tutte le righe della matrice,
mentre ogni riga della della matrice dovrebbe aver bisogno magari di un dim diverso,
se ogni riga ha lunghezza diversa dalle altre?