Null Space and Nullity of a Matrix

Null Space and Nullity are concepts in linear algebra which are used to identify the linear relationship among attributes.

Null Space:

The null space of any matrix A consists of all the vectors B such that AB = 0 and B is not zero. It can also be thought as the solution obtained from AB = 0 where A is known matrix of size m x n and B is matrix to be found of size n x k. The size of the null space of the matrix provides us with the number of linear relations among attributes.

A generalized description:

Let a matrix be

and there is one vector in the null space of A, i.e,

then B satisfies the given equations,

The idea –



1. AB = 0 implies every row of A when multiplied by B goes to zero.
2. Variable values in each sample(represented by a row) behave the same.
3. This helps in identifying the linear relationships in the attributes.
4. Every null space vector corresponds to one linear relationship.

Nullity:

Nullity can be defined as the number of vectors present in the null space of a given matrix. In other words, the dimension of the null space of the matrix A is called the nullity of A. The number of linear relations among the attributes is given by the size of the null space. The null space vectors B can be used to identify these linear relationship.

Rank Nullity Theorem:
The rank-nullity theorem helps us to relate the nullity of the data matrix to the rank and the number of attributes in the data. The rank-nullity theorem is given by –

Nullity of A + Rank of A = Total number of attributes of A (i.e. total number of columns in A)

Rank:
Rank of a matrix refers to the number of linearly independent rows or columns of the matrix.

Example with proof of rank-nullity theorem:

Consider the matrix A with attributes {X1, X2, X3}
    1  2  0
A = 2  4  0
    3  6  1
then,
Number of columns in A = 3
  \left(\begin{array}{ccc} 1 & 2 & 0\\ 0 & 0 & 0\\ 3 & 6 & 1 \end{array}\right) [R2 -> R2 - 2R1] 
R1 and R3 are linearly independent.
The rank of the matrix A which is the 
number of non-zero rows in its echelon form are 2.
we have,
AB = 0
  \left(\begin{array}{ccc} 1 & 2 & 0\\ 2 & 4 & 0\\ 3 & 6 & 1 \end{array}\right) \left(\begin{array}{c} b1\\b2\\b3  \end{array}\right) = 0 
Then we get,
b1 + 2*b2 = 0
b3 = 0
The null vector we can get is 
  B =  \left(\begin{array}{c} b1\\b2\\b3 \end{array}\right) = \left(\begin{array}{c} -2b2\\b2\\0 \end{array}\right) = \left(\begin{array}{c} -2\\1\\0 \end{array}\right)      
The number of parameter in the general solution is the dimension 
of the null space (which is 1 in this example). Thus, the sum of 
the rank and the nullity of A  is 2 + 1 which
is equal to the number of columns of A.

This rank and nullity relationship holds true for any matrix.

Python Example to find null space of a Matrix:

filter_none

edit
close

play_arrow

link
brightness_4
code

# Sympy is a library in python for 
# symbolic Mathematics
from sympy import Matrix
  
# List A 
A = [[1, 2, 0], [2, 4, 0], [3, 6, 1]]
  
# Matrix A
A = Matrix(A)
  
# Null Space of A
NullSpace = A.nullspace()   # Here NullSpace is a list
  
NullSpace = Matrix(NullSpace)   # Here NullSpace is a Matrix
print("Null Space : ", NullSpace)
  
# checking whether NullSpace satisfies the
# given condition or not as A * NullSpace = 0
# if NullSpace is null space of A
print(A * NullSpace)

chevron_right


Output:

Null Space :  Matrix([[-2], [1], [0]])
Matrix([[0], [0], [0]])

Python Example to find nullity of a Matrix:

filter_none

edit
close

play_arrow

link
brightness_4
code

from sympy import Matrix
  
A = [[1, 2, 0], [2, 4, 0], [3, 6, 1]]
   
A = Matrix(A)
  
# Number of Columns
NoC = A.shape[1]
  
# Rank of A
rank = A.rank()
  
# Nullity of the Matrix
nullity = NoC - rank
  
print("Nullity : ", nullity)

chevron_right


Output:

Nullity :  1


My Personal Notes arrow_drop_up

Possess good Mathematical and Statistical Foundation Learning Data Science and Machine Learning Interested in Mathematical and Statistical Analysis

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :
Practice Tags :


1


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.