Thanks to visit codestin.com
Credit goes to www.tutorialspoint.com

Numpy identity() Function



The Numpy identity() function is used generate a square identity matrix. An identity matrix is a special type of square matrix that has ones on the main diagonal and zeros in all other positions. This function is commonly used in linear algebra and numerical computations.

Both the numpy.eye() and numpy.identity() functions are used to generate identity matrices. The key difference is that the numpy.identity() function always generates square matrices, meaning the number of rows and columns will be the same, while numpy.eye() allows for the creation of both square and non-square matrices by specifying different values for the number of rows and columns.

Syntax

Following is the syntax of the Numpy identity() function −

numpy.identity(n, dtype=None, like=None)

Parameters

Following are the parameters of the Numpy identity() function −

  • n: The number of rows (and columns) in the output array. The result is always a square matrix.
  • dtype: The desired data type for the matrix. The default is float.
  • like (optional): It allows the creation of an array which is like the input object but uses an existing array-like object (like another NumPy array).

Return Value

The function returns a 2D square NumPy array with ones on the main diagonal and zeros elsewhere.

Example

Following is a basic example to generate a identity matrix using Numpy identity() function −

import numpy as np
identity_matrix = np.identity(5)
print("Identity Matrix:\n", identity_matrix)

Output

Following is the output of the above code −

Identity Matrix:
[[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.]]

Example : Specifying Data Type in 'identity()'

Similar to numpy.eye(), we can specify the data type of the matrix using the dtype parameter. By default, the matrix elements are of type float, but we can change it to int, complex, or other data types as needed.

In the following example, we have generated a 5x5 integer identity matrix by setting the dtype parameter to int −

import numpy as np
int_identity_matrix = np.identity(5, dtype=int)
print("Integer Identity Matrix:\n", int_identity_matrix)

Output

Following is the output of the above code −

Integer Identity Matrix:
 [[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]]

Example : Complex Identity Matrix

We can also create a complex identity matrix using the dtype parameter. This is useful in applications involving complex numbers.

In the following example, we have generated a 3x3 complex identity matrix −

import numpy as np
complex_identity_matrix = np.identity(3, dtype=complex)
print("Complex Identity Matrix:\n", complex_identity_matrix)

Output

Following is the output of the above code −

Complex Identity Matrix:
 [[1.+0.j 0.+0.j 0.+0.j]
 [0.+0.j 1.+0.j 0.+0.j]
 [0.+0.j 0.+0.j 1.+0.j]]

Example : Using 'n' as a Float Value

The number of rows in an array must be an integer. If we assign a float value to n, it will raise a TypeError.

In the following example, we have assigned n to a float value and resulted a Error

import numpy as np
Identity_matrix = np.identity(2.2, dtype=complex)
print("Identity Matrix:\n", Identity_matrix)

Output

Following is the output of the above code −

Traceback (most recent call last):
  File "/home/cg/root/45463/main.py", line 2, in <module>
    Identity_matrix = np.identity(2.2, dtype=complex)
  File "/usr/local/lib/python3.10/dist-packages/numpy/core/numeric.py", line 2187, in identity
    return eye(n, dtype=dtype, like=like)
  File "/usr/local/lib/python3.10/dist-packages/numpy/lib/twodim_base.py", line 215, in eye
    m = zeros((N, M), dtype=dtype, order=order)
TypeError: 'float' object cannot be interpreted as an integer
numpy_array_creation_routines.htm
Advertisements