Matrici sghembe

Considera delle matrici dove ogni riga della matrice può avere una lunghezza diversa

matA=[ [2,7], [1,0] ]         # 2x2 
matB=[ [12], [1,2], [0,4,5] ] # Triangolare... 
matC=[ [1,8,5], [0,5,-1] ]    # 2x3

Copia

def copia(mat):
    nr=len(mat) 
    mm=[] 
    for r in range(nr): 
        riga=[]
        nc=len(mat[r])
        for c in range(nc):   
            riga.append(mat[r]) 
        mm.append(riga) 
    return mm

print(copia(matA))
print(copia(matB))
print(copia(matC))

Prodotto per uno scalare

def scalare(k, mat):
    nr=len(mat) 
    mm=[] 
    for r in range(nr): 
        riga=[]
        nc=len(mat[r])
        for c in range(nc):   
            x=k*mat[r]
            riga.append(x) 
        mm.append(riga) 
    return mm

print(scalare(2, matA))
print(scalare(2, matB))