Projet : calculs matriciels avec numpy
Bonjour
2 - Mes sorties après exécution du programme
3 - Mon code source
Je vous remercie pour votre aide,
A ++
J'ai un projet sur le calcul matriciel avec Numpy à réaliser. J'ai effectué ce travail et je voudrais avoir vos avis sur mes résultats.
Pour la première question, j'ai effectué la somme basique et non celle demandée car je ne vois pas comme la réaliser (Cf. le sujet). Pourriez-vous m'aider à coder la somme demandée ? En effet, ma sortie est de 8 mais normalement, je devrai avoir 7 si je ne dis pas de bêtises.
Pour la deuxième question (Cf. le sujet), je pense avoir juste. Pourriez-vous me dire votre avis ?
En PJ à ce post, vous trouverez :
1 - Mon sujet scanné2 - Mes sorties après exécution du programme
3 - Mon code source
Je vous remercie pour votre aide,
A ++
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import numpy as np from numpy.linalg import matrix_rank print ("Projet 1: calculs matriciels avec la librairie Numpy \n") #vecteur y def vecteur_y (): y = np.array([[1],[1],[1],[1],[1],[1],[1],[1]]) return y #=debug #print ("Le vecteur y : \n\n",vecteur_y()) #matrice identitée dans R⁸ def I_8 (): i = np.identity(8,dtype=int) return i #==debug #print ("La matrice identitée dans R⁸: \n\n",I_8()) #matrice E à construire def matrice_E (): e = np.zeros((8,8),dtype=int) e[0,-1] = 1 return e #===debug #print ("La matrice E : \n\n\n",matrice_E()) #matrice X : matrice d'observation I_8 = np.identity(8,dtype=int) matrice_E = np.zeros((8,8),dtype=int) matrice_E[0,-1] = 1 matrix_x = np.add(I_8, matrice_E) #====debug #print ("La matrice X : \n\n\n", matrix_x) print ("- Calcul de beta avec la formule du sujet") #============utilisation des fonctions de la librairie numpy pour construire le beta Transpose = matrix_x.transpose() Produit1 = Transpose @ matrix_x Inverse = np.linalg.inv(Produit1) Produit2 = Inverse @ Transpose vecteur_y = vecteur_y() #beta devient donc: beta = np.dot(Produit2,vecteur_y) print ("β = \n\n\n",beta) #=====debug #print ("Transpose : \n\n\n",Transpose) #print ( "Produit 1 : \n\n\n",Produit1) #print ("Produit 2 : \n\n\n",Produit2) #print ("Vecteur y : \n\n\n",vecteur_y()) ###programme principal print (" 8 \n") print ("* Question 1: ∑βi \n") print (" i=1 \n") #calcul de sigma de 1 à 8 de beta i print ("\n\n") print ("La somme est de :",np.sum(vecteur_y)) #donner le rang de la matrice X^T X - I8 #calcul de la nouvelle matrice #n = nouvelle matrice n = np.subtract(Transpose @ matrix_x,I_8) print ("X^T X - I8 = matrice n : \n\n",n) print ("\n\n") #calcul du rang de la matrice n print ("** Question 2: \n") n = matrix_rank(n) print ("Le rang de la matrice n: \n",n)
Linux n'a pas de racines IP
Réponses
-
Pour $\beta$ (en Python 3.9):
import numpy as np import numpy.linalg n=8 I8=np.identity(n, dtype=float) E=np.zeros((n, n), dtype=float) E[0, -1]=1. X=I8+E y = np.ones((n,1), dtype=float) # print(f"I8={I8}") # print(f"E={E}") # print(f"X={X}") beta = np.sum((np.linalg.inv(np.transpose(X) @ X)) @ y) print(f"beta={beta}")
ce qui donne bien 7
PS: un intérêt à définir des fonctions pour $I_{8}$, $y$, $E$ ?
-
Salut Paul
Merci pour ton aide. Je vais regarder ça pour comprendre.
Pour I8, y, E, non. J'ai voulu créer des fonctions pour que cela soit "un peu plus beau", mais tu as raison, pas d'interêt à proprement parlé.
Concernant la deuxième question, est-ce que j'ai juste ? J'ai trouvé 2.
MerciLinux n'a pas de racines IP -
Salut Paul,
Ok, j'ai compris comment tu as fait ! Super la ligne qui calcule la somme ! MerciLinux n'a pas de racines IP -
rang = np.linalg.matrix_rank(np.transpose(X)@X - I8) print(f"rang={rang}")
-
Salut Paul,
Merci pour ton code. Nous trouvons pareil, à savoir rang = 2
Moi mon code est plus long mais le principal c'est de trouver !
Merci encore pour ta révision de mon petit projet de maths
Bonne soirée.Linux n'a pas de racines IP
Connectez-vous ou Inscrivez-vous pour répondre.
Bonjour!
Catégories
- 163.1K Toutes les catégories
- 7 Collège/Lycée
- 21.9K Algèbre
- 37.1K Analyse
- 6.2K Arithmétique
- 53 Catégories et structures
- 1K Combinatoire et Graphes
- 11 Sciences des données
- 5K Concours et Examens
- 11 CultureMath
- 47 Enseignement à distance
- 2.9K Fondements et Logique
- 10.3K Géométrie
- 62 Géométrie différentielle
- 1.1K Histoire des Mathématiques
- 68 Informatique théorique
- 3.8K LaTeX
- 39K Les-mathématiques
- 3.5K Livres, articles, revues, (...)
- 2.7K Logiciels pour les mathématiques
- 24 Mathématiques et finance
- 312 Mathématiques et Physique
- 4.9K Mathématiques et Société
- 3.3K Pédagogie, enseignement, orientation
- 10K Probabilités, théorie de la mesure
- 772 Shtam
- 4.2K Statistiques
- 3.7K Topologie
- 1.4K Vie du Forum et de ses membres