import numpy as np
import matplotlib.pyplot as plt
$ \left[ \begin{matrix} 1 \quad 0 \quad ... \quad 0 \\ 0 \quad 1 \quad ... \quad 0 \\ \quad \quad \quad \quad \\ 0 \quad 0 \quad ... \quad 1 \end{matrix} \right]$
$I_2, I_5, I$
I = np.eye(7)
print(I)
Z = np.zeros((4,14))
print(Z)
$ \left[ \begin{matrix} \quad 1 \quad \quad 0 \quad \quad 0 \\ \quad 0 \quad -2 \quad \quad 0 \\ \quad 0 \quad \quad 0 \quad \quad 5 \end{matrix} \right]$
Also diagonal
$ \left[ \begin{matrix} \pi \quad 0 \quad 0 \quad 0 \\ 0 \quad 0 \quad 0 \quad 0 \\ 0 \quad 0 \quad 5 \quad 0 \end{matrix} \right]$
$ \left[ \begin{matrix} 2 \quad 0 \quad 0 \\ 0 \quad 2 \quad 0 \\ 0 \quad 0 \quad 2 \end{matrix} \right]=2I$
$\lambda I$
D = np.diag([1,4,6,3,0])
print(D)
print('')
d = np.diagonal(D)
print(d)
Upper triangular
$ \left[ \begin{matrix} \quad 1 \quad \quad 4 \quad \quad 7 \\ \quad 0 \quad -2 \quad \quad 2 \\ \quad 0 \quad \quad 0 \quad \quad 5 \end{matrix} \right]$
Lower triangular
$ \left[ \begin{matrix} \quad 1 \quad \quad 0 \quad \quad 0 \quad \quad 0 \\ \quad 3 \quad -2 \quad \quad 0 \quad \quad 0 \\ \quad 4 \quad \quad 5 \quad \quad 5 \quad \quad 0 \\ \quad 1 \quad \quad 2 \quad \quad 7 \quad \quad 4 \end{matrix} \right]$
T = np.random.randn(15,15)
plt.imshow(np.triu(T))
plt.show()
plt.imshow(np.tril(T))
plt.show()
intmat = np.random.randint(-4,5,(4,4))
print(intmat.dtype)
print(intmat)
I4 = np.eye(4)
print(I4.dtype)
print(I4)
print((intmat@I4).dtype)
print(intmat@I4)
upper4 = np.triu(np.random.randn(4,4))
print(upper4)
print(intmat@upper4)
from scipy.linalg import toeplitz
toe = toeplitz(np.arange(1,6))
print(toe)
plt.imshow(toe)
plt.show()