J'essaie d'utiliser l'indexation avancée pour modifier une grande matrice éparse. Disons que vous avez le code suivant:modification de la matrice fragmentée en utilisant l'indexation avancée en python
import numpy as np
import scipy.sparse as sp
A = sp.lil_matrix((10, 10))
a = np.array([[1,2],[3,4]])
idx = [1,4]
A[idx, idx] += a
Pourquoi ce code ne fonctionne pas? Il me donne l'erreur
ValueError: shape mismatch in assignment
Avec un réseau dense, la même opération a le même problème, bien que le message d'erreur est: 'ValueError: non diffusable l'opérande de sortie avec la forme (2,) ne correspond pas à la forme de diffusion (2,2) '. Essayez-vous de définir une diagonale, ou un carré de valeurs? – hpaulj
J'essayais de définir une sous-matrice de A avec les valeurs de a. – aaragon