In [1]:
import numpy as np

In [2]:
a = np.array([10, 20, 30])

In [3]:
print(a)


[10 20 30]

In [4]:
print(np.diag(a))


[[10  0  0]
 [ 0 20  0]
 [ 0  0 30]]

In [5]:
print(np.diag([100, 200, 300]))


[[100   0   0]
 [  0 200   0]
 [  0   0 300]]

In [6]:
print(np.diag(a, k=1))


[[ 0 10  0  0]
 [ 0  0 20  0]
 [ 0  0  0 30]
 [ 0  0  0  0]]

In [7]:
print(np.diag(a, k=-2))


[[ 0  0  0  0  0]
 [ 0  0  0  0  0]
 [10  0  0  0  0]
 [ 0 20  0  0  0]
 [ 0  0 30  0  0]]

In [8]:
print(np.diag([1, 1, 1]))


[[1 0 0]
 [0 1 0]
 [0 0 1]]

In [9]:
print(np.identity(3))


[[1. 0. 0.]
 [0. 1. 0.]
 [0. 0. 1.]]

In [10]:
print(np.identity(3, int))


[[1 0 0]
 [0 1 0]
 [0 0 1]]