0% ont trouvé ce document utile (0 vote)
55 vues6 pages

Propriétés et opérations sur les matrices

Transféré par

Soufiane Aziki
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
55 vues6 pages

Propriétés et opérations sur les matrices

Transféré par

Soufiane Aziki
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Les_matrices

September 3, 2023

1 Les matrices

[ ]: # La matrice ci dessus est représenté sur python comme suit :


M = [[2, 5, 4, 8], [7, 12, 3, 6], [3, 9, 4, 5]]

[ ]: # Quelques propriétés
print("Le nombre de lignes de la matrice est :", len(M))
print("Le nombre de colonnes de la matrice est :", len(M[0]))
print("La première ligne de la matrice est :", M[0])
print("La deuxième ligne de la matrice est :", M[1])
print("La troisième ligne de la matrice est :", M[2])

Le nombre de lignes de la matrice est : 3


Le nombre de colonnes de la matrice est : 4
La première ligne de la matrice est : [2, 5, 4, 8]
La deuxième ligne de la matrice est : [7, 12, 3, 6]
La troisième ligne de la matrice est : [3, 9, 4, 5]

[ ]: # Si A est une matrice en math et M la liste qui la représente sur python


# L'élément A(i,j) est M[i-1][j-1] sur python
print("L'élément de la première ligne et la première colonne est :",M[0][0])
print("L'élément de la deuxième ligne et la première colonne est :",M[1][0])
print("L'élément de la première ligne et la troisième colonne est :",M[0][2])
print("L'élément de la dernière ligne et la première colonne est :",M[-1][0])

L'élément de la première ligne et la première colonne est : 2


L'élément de la deuxième ligne et la première colonne est : 7
L'élément de la première ligne et la troisième colonne est : 4
L'élément de la dernière ligne et la première colonne est : 3

[ ]: # Nous voulons déclarer une matrice de zéros de 4 lignes et 5 colonnes


Z = [[0,0,0,0,0]] * 4
print(Z)

[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

1
[ ]: # Nous voulons déclarer une matrice de zéros de 4 lignes et 5 colonnes
Z = [[0]*5] * 4
print(Z)

[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

[ ]: # Cette méthode présente une anomalie quand on essaie de la modifier


Z[0][0] = 5
print(Z)
# On remarque que toutes les lignes ont été modifiées

[[5, 0, 0, 0, 0], [5, 0, 0, 0, 0], [5, 0, 0, 0, 0], [5, 0, 0, 0, 0]]

[ ]: # La meilleur méthode pour déclarer une matrice de zéros de 4 lignes et de 5␣


↪colonnes est

Y = []
for i in range(4):
[Link]([0]*5)

print(Y)

[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

[ ]: # On essaie de modifier la matrice Y


Y[0][0] = 12
print(Y)

[[12, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

1.1 Exercice 1
1. Ecrire une fonction qui prend en paramètre une matrice M et un entier i tel que i<len(M).
La fonction retourne la i ème ligne (ligne d’indice i) ;
2. Ecrire une fonction qui prend en paramètre une matrice M et un entier j tel que j<len(M[0]).
La fonction retourne la j ème colonne (colonne d’indice j) ;
3. Ecrire une fonction qui prend en paramètre une matrice carrée M. La fonction retourne la
diagonale de la matrice M sous forme de liste ;
4. Ecrire une fonction qui prend en paramètre une matrice carrée M. La fonction retourne la
deuxième diagonale de la matrice M sous forme de liste.

[ ]: # 1
def ligne(M,i):
return M[i]

[ ]: # 2
def colonne(M,j):
C = []
for l in M:

2
[Link](l[j])
return C

# ou
def colonne(M,j):
C = []
for i in range(len(M)):
[Link](M[i][j])
return C

[ ]: # 3
def diagonale(M):
D = []
for i in range(len(M)):
[Link](M[i][i])
return D

[ ]: # 4
def diagonale_2(M):
D = []
for i in range(len(M)):
[Link](M[i][len(M)-1-i])
return D

1.2 Exercice 2
Ecrire une fonction unitaire(n) qui prend en paramètre un entier n et qui retourne la matrice carrée
d’identité de dimension n.

[ ]: def unitaire(n):
M = []
for i in range(n):
[Link]([0]*n)
M[i][i] = 1
return M

1.3 Exercice 3
Ecrire une fonction transpose(M) qui prend en paramètre une matrice M et qui retourne sa trans-
posée.

[ ]: def transpose(M):
l = len(M)
c = len(M[0])
T = []
for i in range(c):
[Link]([0]*l)
for i in range(len(T)):

3
for j in range(len(T[0])):
T[i][j] = M[j][i]
return T

1.4 Exercice 4
Ecrire une fonction qui retourne la somme de deux matrices

[ ]: def somme(A,B):
if len(A)==len(B) and len(A[0])==len(B[0]):
S=[]
for i in range(len(A)):
[Link]([0]*len(A[0]))
for i in range(len(A)):
for j in range(len(A[0])):
S[i][j]=A[i][j]+B[i][j]
return S
else:
return "Math Error"

1.5 Exercice 5
Ecrire une fonction qui retourne la trace d’une matrice

[ ]: def trace(M):
if len(M)==len(M[0]):
s=0
for i in range(len(M)):
s=s+M[i][i]
return s
return "Math Error"

1.6 Exercice 6
Ecrire une fonction qui retourne le produit matriciel de deux matrices

[ ]: def produit(A,B):
if len(A[0])==len(B):
P=[]
for i in range(len(A)):
[Link]([0]*len(B[0]))
for i in range(len(P)):
for j in range(len(P[0])):
for k in range(len(B)):
P[i][j]=P[i][j]+A[i][k]*B[k][j]
return P
return "Math Error"

4
1.7 Exercice 7
Ecrire une fonction qui prend deux matrices A et B et qui retourne True si A est l’inverse de B et
False sinon.

[ ]: def inverse(A,B):
if len(A)==len(A[0])==len(B)==len(B[0]):
return produit(A,B)==produit(B,A)===unitaire(len(A))
return "Math Error"

1.8 Exercice 8
Ecrire une fonction pascal(n) qui retourne une matrice de pascal d’ordre n.
Exemple : Une matrice de pascal d’ordre 4

[ ]: def pascal(n):
P=[]
for i in range(n+1):
[Link]([0]*(n+1))
P[i][0]=1
for i in range(1,n+1):
for j in range(1,n+1):
P[i][j]=P[i-1][j]+P[i-1][j-1]
return P

pascal(4)

[ ]: [[1, 0, 0, 0, 0],
[1, 1, 0, 0, 0],
[1, 2, 1, 0, 0],
[1, 3, 3, 1, 0],
[1, 4, 6, 4, 1]]

1.9 Exercice 9
Écrire une fonction “zoro(n)” qui crée et renvoie une matrice carrée de taille n, comprenant des 1
sur la première ligne, sur la deuxième diagonale et sur la dernière ligne et des 0 partout ailleurs

[ ]: def zoro(n):
Z=[]
for i in range(n):
[Link]([0]*n)
for i in range(n):
Z[0][i]=1
Z[n-1][i]=1
Z[i][n-1-i]=1

5
return Z

zoro(6)

[ ]: [[1, 1, 1, 1, 1, 1],
[0, 0, 0, 0, 1, 0],
[0, 0, 0, 1, 0, 0],
[0, 0, 1, 0, 0, 0],
[0, 1, 0, 0, 0, 0],
[1, 1, 1, 1, 1, 1]]

Vous aimerez peut-être aussi