← retour aux snippets

numpy: einsum bases

Opérations vectorisées via notations Einstein.

objectif

Opérations vectorisées via notations Einstein.

code minimal

import numpy as np
A = np.array([[1,2],[3,4]])
x = np.array([1,1])
y = np.einsum("ij,j->i", A, x)
print(y.tolist())

utilisation

import numpy as np
x = np.array([1,2,3])
print(np.einsum("i,i->", x, x).item())

variante(s) utile(s)

import numpy as np
A = np.arange(8).reshape(2,2,2)
print(np.einsum("ijk->i", A).shape[0])

notes

  • Permet produits, sommes, traces sans boucles explicites.