Tableau 1D : ni ligne, ni colonne

Idée

Un tableau de dimension 1 comme A = np.array([1,2,3]) n'est pas une matrice ligne ni une matrice colonne : c'est un objet à part, de forme (3,).

Pourquoi

Un tableau de dimension 1 comme A = np.array([1,2,3]) n'est pas une matrice ligne (1,3) ni une matrice colonne (3,1) : c'est un objet à part, de forme (3,). Quand on le multiplie par une matrice via @, il se range automatiquement à l'horizontale ou à la verticale selon le contexte, pour rendre l'opération licite.

Outil

En sup on identifiait souvent vecteur et matrice colonne ; NumPy distingue les deux. Un vecteur 1D s'orienté automatiquement quand on en a besoin, comme une virgule qui s'adapte à la phrase.

Formule

Le notebook Cell 25 calculé A @ C avec A 1D de shape (3,) et C 2D de shape (3,2). Sans regarder, donner la shape du résultat.

Piège

A = np.array([1,2,3]). A.T retourne un tableau identique de shape (3,). Conceptuellement : Numpy ne peut pas transposer un seul axe. Pour 'vraiment' transposer, il faut d'abord 2D-ifier : A[:,None] (shape (3,1)) ou A[None,:] (shape (1,3)). Confondre A.T (no-op) avec A.reshape(-1,1) (vrai colonnage) casse les calculs matriciels.