Example of how to add a number to a matrix diagonal elements in python ?
Replace the diagonal element by a same number
To replace the diagonal element by a same number, a solution is to use the numpy function 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]])
Add a number to the diagonal elements of a matrix
It is also possible to add a number to the diagonal elements of a matrix using the numpy function 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]])
References
Links | 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 |