Examples of how to create an identity matrix using numpy in python ?
Using the numpy function identity
Let's create the following identity matrix
\begin{equation}
I = \left( \begin{array}{ccc}
1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 1
\end{array}\right)
\end{equation}
using numpy function identity:
>>> import numpy as np>>> I = np.identity(3)>>> Iarray([[ 1., 0., 0.],[ 0., 1., 0.],[ 0., 0., 1.]])
Another example:
\begin{equation}
I = \left( \begin{array}{ccc}
1 & 0 & 0 & 0 & 0 \\
0 & 1 & 0 & 0 & 0 \\
0 & 0 & 1 & 0 & 0 \\
0 & 0 & 0 & 1 & 0 \\
0 & 0 & 0 & 0 & 1
\end{array}\right)
\end{equation}
>>> I = np.identity(5)>>> Iarray([[ 1., 0., 0., 0., 0.],[ 0., 1., 0., 0., 0.],[ 0., 0., 1., 0., 0.],[ 0., 0., 0., 1., 0.],[ 0., 0., 0., 0., 1.]])
Using the numpy function diagonal
Another example using the numpy function diagonal
>>> import numpy as np>>> A = np.zeros((3,3))>>> Aarray([[ 0., 0., 0.],[ 0., 0., 0.],[ 0., 0., 0.]])>>> np.fill_diagonal(A, 1)>>> Aarray([[ 1., 0., 0.],[ 0., 1., 0.],[ 0., 0., 1.]])
Multiply the identity matrix by a constant
Example of how to multiply a identity matrix by a constant:
\begin{equation}
\lambda_{rr}. I = \left( \begin{array}{ccc}
4 & 0 & 0 \\
0 & 4 & 0 \\
0 & 0 & 4
\end{array}\right)
\end{equation}
with $\lambda_{rr}=4$ (Ridge Regression)
>>> import numpy as np>>> I = np.identity(3)>>> Iarray([[ 1., 0., 0.],[ 0., 1., 0.],[ 0., 0., 1.]])>>> lamda_rr = 4>>> lamda_rr * Iarray([[ 4., 0., 0.],[ 0., 4., 0.],[ 0., 0., 4.]])
Another example how to quickly calculate the operation $\lambda_{rr}. I - Y$:
>>> import numpy as np>>> lamda_rr = 4>>> Y = np.arange(9)>>> Y = Y.reshape(3,3)>>> Yarray([[0, 1, 2],[3, 4, 5],[6, 7, 8]])>>> np.fill_diagonal(Y, Y.diagonal() + lamda_rr)>>> Yarray([[ 4, 1, 2],[ 3, 8, 5],[ 6, 7, 12]])
References
| Links | Site |
|---|---|
| Identity matrix | wikipedia |
| numpy.identity | numpy doc |
| numpy.fill_diagonal | docs.scipy |
| Comment ajouter un nombre sur la diagonale d'une matrice python ? | science-emergence.com |
