samedi 11 juin 2016

Algorithme en python faisant le produit de deux matrices

 Simple avec numpy : Si C = A*B

C=A.dot(B)


 Sinon:
def cree_mat(n):

    N=[]
    M=[]
    for i in range (0,n):
        N.append(0)
    for i in range(0,n):
        M.append(N)
    print(M)
    return M

def produit(A,B): # realise le calcul de AB avec A et B ayant des dimensions autorisant cette opération.

    if len(A[0]) != len(B): # on vérifie que les dimensions permettent le produit des deux matrices sinon on renvoie une liste vide
        return []
   
    C = cree_mat(len(A), len(B[0]))
   
    for i in range(len(A)): # nombre de ligne de A
        for j in range(len(B[0])): # nombre de colonne de B
            for k in range (len(A[0])): # nombre de colonne de A
                C[i][j] += A[i][k]*B[k][j]
    return C

Aucun commentaire:

Enregistrer un commentaire