# -*- coding: utf-8 -*- """ Created on Tue Mar 2 09:35:27 2021 @author: mouna """ import numpy as np #Test installation print('TP Algebre Lineaire!\n\n') #scalaire s = 5 print("s vaut\n", s) #pour info : vecteur ligne sans utiliser array v = [1, 2, 3, 4, 5, 6, 7] print("v ligne vaut\n", v) #vecteur ligne en tant que array v = np.array([1, 2, 3, 4, 5, 6, 7]) print("v ligne defini en array vaut\n", v) #Partie 1 #Question 1 #vecteur colonne en tant que array u = np.array([[1], [2], [3], [4], [5], [6], [7]]) print("u colonne vaut\n", u) #Question 2 #matrice Z = np.zeros((2, 2)) print("Z vaut\n", Z) #Question 3 M = np.array([[1, 2, 5, 6],[1, 4, 7, 8],[-5, 0, 1, 0]]) print("M vaut\n", M) #Question 4 #multiplication scalaire print("s*M vaut\n", s*M) #Question 5 #attributs de l'array print("M.ndim\n",M.ndim) #Question 6 #acces element print("premier element de v ", v[0]) print("avant dernier elemet de v ", v[-1]) print("element (3,2) de M ", M[2,1]) #Question 7 #matrice diagonale D = np.diag([9,8,7,6]) print("D vaut\n", D) #Question 8 #matrice identite I = np.eye(3) print("I vaut\n",I) #Question9 A = np.array([[0, 1],[1, 0]]) B = np.array([[0, 1],[0, 0]]) print("A vaut\n", A) print("B vaut\n", B) #Question 10 #addition entre matrices print("A+B vaut\n", A+B) #produit element par element print("A*B vaut\n", A*B) #produit matriciel print("A@B vaut\n", A@B) print("B@A vaut\n", B@A) #Question 11 #transpose At=np.transpose(A) Bt=np.transpose(B) print("At vaut\n", At) print("Bt vaut\n", Bt) #Question 12 #determinant C = np.array([[1, 2],[3, 4]]) print("det C vaut\n", np.linalg.det(C)) #Question 13 #rang F = np.array([[1, 2, 7],[-2, -4, -14]]) print("rang F vaut\n", np.linalg.matrix_rank(F)) #Question 14 #inverse X = np.array([[3, 1],[0, 1]]) print("inv X vaut\n", np.linalg.inv(X)) print("test inverse 1\n", X@np.linalg.inv(X)) print("test inverse 2\n", np.linalg.inv(X)@X) #Question 15 #pseudoinverse Y = np.array([[3, 1],[1, 1],[1, 5]]) print("pinv Y vaut\n", np.linalg.pinv(Y)) print("test pinv 1\n", np.linalg.pinv(Y)@Y@np.linalg.pinv(Y)) print("test pinv 2\n", Y@np.linalg.pinv(Y)@Y) # #Question que j'ai enlevée # #val propres et vecteurs propres # A = np.array([[3, 0],[2, 1]]) # valPropres, vecPropres = np.linalg.eig(A) # print("valeurs propres\n", valPropres) # print("vecteurs propres\n", vecPropres) #Question 16 def compteur5(): i = 0 while i < 6: print(i) i = i+1 def cube(x): x1 = x**3 return x1 if __name__ == '__main__' : compteur5() #pour appeler la fonction cube(2) #affichage print (cube(2))