In [1]:
import numpy as np
import matplotlib.pyplot as plt

Identity

$ \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$

In [2]:
I = np.eye(7)
print(I)
[[1. 0. 0. 0. 0. 0. 0.]
 [0. 1. 0. 0. 0. 0. 0.]
 [0. 0. 1. 0. 0. 0. 0.]
 [0. 0. 0. 1. 0. 0. 0.]
 [0. 0. 0. 0. 1. 0. 0.]
 [0. 0. 0. 0. 0. 1. 0.]
 [0. 0. 0. 0. 0. 0. 1.]]

Zero

$ \left[ \begin{matrix} 0 \quad 0 \quad ... \quad 0 \\ 0 \quad 0 \quad ... \quad 0 \\ \quad \quad \quad \quad \\ 0 \quad 0 \quad ... \quad 0 \end{matrix} \right]$

0

In [3]:
Z = np.zeros((4,14))
print(Z)
[[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]]

Diagonal

$ \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$

In [4]:
D = np.diag([1,4,6,3,0])
print(D)
print('')

d = np.diagonal(D)
print(d)
[[1 0 0 0 0]
 [0 4 0 0 0]
 [0 0 6 0 0]
 [0 0 0 3 0]
 [0 0 0 0 0]]

[1 4 6 3 0]

Triangular

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]$

In [5]:
T = np.random.randn(15,15)
plt.imshow(np.triu(T))
plt.show()

plt.imshow(np.tril(T))
plt.show()
In [6]:
intmat = np.random.randint(-4,5,(4,4))
print(intmat.dtype)
print(intmat)
int64
[[ 4  4 -1 -3]
 [ 3 -4  2  0]
 [-4 -3  1 -2]
 [-2 -1 -3 -1]]
In [7]:
I4 = np.eye(4)
print(I4.dtype)
print(I4)
float64
[[1. 0. 0. 0.]
 [0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [0. 0. 0. 1.]]
In [8]:
print((intmat@I4).dtype)
print(intmat@I4)
float64
[[ 4.  4. -1. -3.]
 [ 3. -4.  2.  0.]
 [-4. -3.  1. -2.]
 [-2. -1. -3. -1.]]
In [9]:
upper4 = np.triu(np.random.randn(4,4))
print(upper4)
[[ 0.66708081 -0.82897919  1.528551   -1.20390011]
 [ 0.          1.10908626 -0.80243631  0.04556699]
 [ 0.          0.         -0.58055493  1.33860178]
 [ 0.          0.          0.         -0.78214722]]
In [10]:
print(intmat@upper4)
[[ 2.66832325  1.12042827  3.48501369 -3.62549261]
 [ 2.00124244 -6.92328261  6.63428839 -1.11676471]
 [-2.66832325 -0.01134201 -4.28745     7.58179568]
 [-1.33416162  0.54887212 -0.51300092 -0.87142489]]

Toeplitz

In [11]:
from scipy.linalg import toeplitz

toe = toeplitz(np.arange(1,6))
print(toe)
plt.imshow(toe)
plt.show()
[[1 2 3 4 5]
 [2 1 2 3 4]
 [3 2 1 2 3]
 [4 3 2 1 2]
 [5 4 3 2 1]]