def test_matrice_permutation_inverse(): nbErreur = 0 for i in range(1,20) : permut = permutation.permutation_aleatoire(i) mat = permutation.matrice_permutation(permut) if mat != permutation.matrice_permutation_inverse(permutation.matrice_permutation_inverse(mat)) or not(permutation.est_carree(permutation.matrice_permutation_inverse(mat))): nbErreur += 1 print "Erreur lors du test de matrice_permutation_inverse(", mat, ")" return nbErreur
def test_matrice_permutation_inverse(): nbErreur = 0 for i in range(1, 20): permut = permutation.permutation_aleatoire(i) mat = permutation.matrice_permutation(permut) if mat != permutation.matrice_permutation_inverse( permutation.matrice_permutation_inverse(mat)) or not ( permutation.est_carree( permutation.matrice_permutation_inverse(mat))): nbErreur += 1 print "Erreur lors du test de matrice_permutation_inverse(", mat, ")" return nbErreur
def test_produit_permut_d(): nbErreur = 0 #teste avec des matrices aleatoires for i in range(1,20) : mat = permutation.matrice_aleatoire(i) permut = permutation.permutation_aleatoire(i) matPermutation = permutation.matrice_permutation(permut) result = permutation.produit_permut_d(matPermutation,mat) matInversePermut = permutation.matrice_permutation_inverse(matPermutation) if permutation.produit_permut_d(matInversePermut,result) != mat: nbErreur +=1 print "Erreur lors du test de produit_permut_d(", mat, ",", matPermutation, ")" return nbErreur
def resolution_cramer(a,b): """a : une matrice b : une liste correspondant au vecteur B dans l'equation AX = B Le systeme A*X=B doit etre de Cramer sortie : la solution de A*X=B""" P, L, U = decomposition.decomposition_plu(a) P = permutation.matrice_permutation_inverse(P) b = [[b[i]]for i in range(len(b))] b = permutation.produit_permut_g(permutation.transpose(P), b) b = [b[i][0] for i in range(len(b))] Y = resolution_tri_inf_cramer(L, b) X = resolution_tri_sup_cramer(U, Y) return X
def test_produit_permut_d(): nbErreur = 0 #teste avec des matrices aleatoires for i in range(1, 20): mat = permutation.matrice_aleatoire(i) permut = permutation.permutation_aleatoire(i) matPermutation = permutation.matrice_permutation(permut) result = permutation.produit_permut_d(matPermutation, mat) matInversePermut = permutation.matrice_permutation_inverse( matPermutation) if permutation.produit_permut_d(matInversePermut, result) != mat: nbErreur += 1 print "Erreur lors du test de produit_permut_d(", mat, ",", matPermutation, ")" return nbErreur