Comment ajouter un nombre sur la diagonale d'une matrice python ?

Daidalos August 06, 2019


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

Licence


Activity


Google Ads