W = [[1, 0], [0, 1]] B = [[1], [2]] A = [[0.1, 0.2]] delta = [[B[i][0]*A[0][j] for j in range(2)] for i in range(2)] adapted = [[round(W[i][j]+delta[i][j], 2) for j in range(2)] for i in range(2)] print("Adapted:", adapted) d_in, d_out, rank = 1000, 1000, 8 print("Full parameters:", d_in*d_out) print("Adapter parameters:", rank*(d_in+d_out))