Algèbre linéaire avec NumPy
np.dot, np.linalg.inv, np.linalg.eig, np.linalg.solve pour les systèmes d’équations.
Algèbre linéaire avec NumPy est une leçon Learn AI with Python gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Learn AI with Python, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn AI with Python comprend 4 leçons au total.
Algèbre linéaire dans NumPy
NumPy fournit des opérations matricielles au moyen de l’opérateur @ et du module np.linalg, qui constituent la base de presque tous les algorithmes d’apprentissage automatique.
Multiplication matricielle avec @
L’opérateur @ effectue une véritable multiplication matricielle. Les dimensions internes doivent correspondre : (m,k) @ (k,n) donne (m,n).
import numpy as np
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
print(A @ B)
# [[19 22]
# [43 50]]@ et * (important !)
* s’applique élément par élément, tandis que @ effectue une multiplication matricielle. Les confondre est une erreur classique.
print(A * B) # element-wise: [[ 5 12]
# [21 32]]
print(A @ B) # matrix product (different result)np.dot
np.dot est la forme fonctionnelle. Pour les tableaux 2D, elle équivaut à @ ; pour les tableaux 1D, elle calcule le produit scalaire (un scalaire).
u = np.array([1, 2, 3])
v = np.array([4, 5, 6])
print(np.dot(u, v)) # 1*4 + 2*5 + 3*6 = 32Inverse d’une matrice
np.linalg.inv(A) renvoie l’inverse, c’est-à-dire la matrice qui donne la matrice identité lorsqu’elle est multipliée par A. Seules les matrices carrées et non singulières en possèdent un.
A = np.array([[4.0, 7.0], [2.0, 6.0]])
Ainv = np.linalg.inv(A)
print(np.round(A @ Ainv, 6)) # identityDéterminant
np.linalg.det(A) donne le déterminant. Un déterminant égal à 0 signifie que la matrice est singulière et ne peut pas être inversée.
print(np.linalg.det(A)) # 10.0 (nonzero -> invertible)Résolution de systèmes linéaires
Pour résoudre A x = b, préférez np.linalg.solve(A, b) au calcul de l’inverse. Cette méthode est plus rapide et plus stable numériquement.
A = np.array([[3.0, 1.0], [1.0, 2.0]])
b = np.array([9.0, 8.0])
x = np.linalg.solve(A, b)
print(x) # [2. 3.]Pourquoi préférer solve à inv
Calculer inv(A) @ b fait perdre du temps et amplifie les erreurs d’arrondi. solve utilise directement la décomposition LU. En pratique, choisissez solve.
# Avoid: x = np.linalg.inv(A) @ b
# Prefer: x = np.linalg.solve(A, b)Valeurs propres et vecteurs propres
np.linalg.eig(A) renvoie les valeurs propres et les vecteurs propres. Ils sont à la base de la PCA, de l’analyse de stabilité et de bien d’autres applications.
A = np.array([[2.0, 0.0], [0.0, 3.0]])
vals, vecs = np.linalg.eig(A)
print(vals) # [2. 3.]Normes des vecteurs et des matrices
np.linalg.norm mesure la magnitude. Par défaut, il s’agit de la norme euclidienne (L2) pour les vecteurs, utilisée aussi bien pour les distances que pour la régularisation.
v = np.array([3.0, 4.0])
print(np.linalg.norm(v)) # 5.0 (sqrt(9+16))
print(np.linalg.norm(v, 1)) # 7.0 (L1 norm)Transposée
A.T transpose une matrice en échangeant les lignes et les colonnes. Elle apparaît constamment dans des formules comme celles des équations normales.
A = np.array([[1, 2, 3], [4, 5, 6]])
print(A.T)
# [[1 4]
# [2 5]
# [3 6]]Vérification rapide
Testez vos connaissances en algèbre linéaire.
Récapitulatif
Boîte à outils d’algèbre linéaire :
@/np.dotpour les produits matriciels et scalaires (et non*)np.linalg.inv,np.linalg.detnp.linalg.solve(A, b)est préférable à l’inversionnp.linalg.eigpour la décomposition en valeurs propresnp.linalg.normpour les magnitudes,A.Tpour transposer
Questions Fréquemment Posées
La leçon « Algèbre linéaire avec NumPy » est-elle gratuite ?
Oui — le texte complet de « Algèbre linéaire avec NumPy » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Learn AI with Python, passe à CoddyKit PRO. Le cours Learn AI with Python comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Algèbre linéaire avec NumPy » ?
np.dot, np.linalg.inv, np.linalg.eig, np.linalg.solve pour les systèmes d’équations. Tu pratiques Learn AI with Python avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Learn AI with Python ?
Aucune expérience préalable n'est requise. Learn AI with Python sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Algèbre linéaire avec NumPy » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Learn AI with Python ?
Oui. Chaque leçon Learn AI with Python inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Création et propriétés des tableaux
- Indexation, découpage et indexation avancée
- Diffusion et opérations vectorisées
- Algèbre linéaire avec NumPy