Je souhaite utiliser la décomposition de la valeur singulière de la matrice A
.Initialize transposed numpy array
Si possible, je voudrais écrire:
V, S, W.T = np.linalg.svd(A)
Mais je ne peux pas initialiser un tableau avec sa transposée. Maintenant, j'ai deux questions:
Pour autant que je comprends les entrailles de python, il n'y a aucune solution évidente à ce problème. Parce que l'appel d'un attribut/méthode de
W
nécessite l'initialisation de l'instance. Il faudrait quelque chose en tant que constructeur en tant qu'attribut@property
.S'il n'y a pas de solution de contournement évidente, laquelle des options suivantes est meilleure/plus idiomatique?
Option 1:
V, S, tmp = np.linalg.svd(A)
W = tmp.T
Option 2:
V, S, W = np.empty(...), np.empty(...), np.empty(...)
V[:, :], S[:, :], W.T[:, :] = np.linalg.svd(A)
Vous pourriez peut-être chronométrer les deux options. – Gribouillis