Exemple de comment ajouter un nombre sur la diagonale d'une matrice python:
Remplacer les éléments de la diagonale par un même nombre
Pour remplacer les éléments de la diagonale par un même nombre, on peut utiliser la fonction numpy numpy.fill_diagonal
>>> import numpy as np
>>> A = np.arange(9).reshape(3,3)
>>> A
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
>>> np.fill_diagonal(A, 100)
>>> A
array([[100, 1, 2],
[ 3, 100, 5],
[ 6, 7, 100]])
Ajouter un nombre aux éléments de la diagonale
On peut aussi utiliser la fonction numpy.diagonal pour ajouter un nombre aux éléments de la diagonale
>>> A = np.arange(9).reshape(3,3)
>>> A
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
>>> np.fill_diagonal(A, A.diagonal() + 100)
>>> A
array([[100, 1, 2],
[ 3, 104, 5],
[ 6, 7, 108]])
Références
Liens | Site |
---|---|
numpy.fill_diagonal | docs.scipy |
How to add only to diagonals of array in Python? | stackoverflow |
numpy.diagonal | docs.scipy |
numpy.triu_indices | docs.scipy |