How to add a number to a matrix diagonal elements in python ?

Published: August 06, 2019

DMCA.com Protection Status

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