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)>>> Aarray([[0, 1, 2],[3, 4, 5],[6, 7, 8]])>>> np.fill_diagonal(A, 100)>>> Aarray([[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)>>> Aarray([[0, 1, 2],[3, 4, 5],[6, 7, 8]])>>> np.fill_diagonal(A, A.diagonal() + 100)>>> Aarray([[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 |
