Table of Contents
ToggleA matrix determinant is a special number that can be calculated from a square matrix. It provides important information about the matrix, such as whether the matrix is invertible.
The determinant of a matrix is a single number, not a matrix, and it can be used to solve systems of linear equations, find eigenvalues, and more.
For example, the determinant of a 2×2 matrix A is calculated as follows −
A = [[a, b],
[c, d]]
Det(A) = ad - bc
For larger matrices, the determinant is calculated recursively using a process called cofactor expansion.
NumPy provides the numpy.linalg.det() function to compute the determinant of a matrix. Let us see how this function works with an example of a 2×2 matrix.
In the following example, the determinant of the matrix A is computed using the numpy.linalg.det() function −
# Open Compiler import numpy as np # Define a 2x2 matrix A = np.array([[1, 2], [3, 4]]) # Compute the determinant of the matrix det_A = np.linalg.det(A) print(det_A)
Output:
Following is the output obtained −
-2.0000000000000004
The determinant of a 3×3 matrix is calculated using a more complex formula that involves minors and cofactors. Following is an example of calculating the determinant of a 3×3 matrix using NumPy −
# Open Compiler
import numpy as np
# Define a 3x3 matrix
B = np.array([[6, 1, 1],
[4, -2, 5],
[2, 8, 7]])
# Compute the determinant of the matrix
det_B = np.linalg.det(B)
print(det_B)
Output:
This will produce the following result −
-306.0
Determinants have several important properties. They are as follows −
For a matrix to have a non-zero determinant, it must meet the following conditions −
Determinants are used to solve systems of linear equations using Cramer’s Rule. If we have a system of equations represented by AX = B, where A is the coefficient matrix, X is the vector of unknowns, and B is the constant vector, we can solve for X if det(A) ≠ 0 −
# Open Compiler import numpy as np # Coefficient matrix A = np.array([[2, 1], [5, 7]]) # Constant vector B = np.array([11, 13]) # Solve for X using Cramer's Rule det_A = np.linalg.det(A) A1 = np.array([[11, 1], [13, 7]]) A2 = np.array([[2, 11], [5, 13]]) X1 = np.linalg.det(A1) / det_A X2 = np.linalg.det(A2) / det_A X = np.array([X1, X2]) print(X)
Output:
Following is the output of the above code −
[ 7.11111111 -3.22222222]
Determinants have many practical applications, such as −
If a matrix has a determinant of zero, it is called singular and does not have an inverse. Attempting to compute the inverse of a singular matrix will result in an error. Here is how we can handle such scenarios using NumPy −
# Open Compiler
import numpy as np
def calculate_determinant(matrix):
try:
return np.linalg.det(matrix)
except np.linalg.LinAlgError:
return "Matrix is singular and has no determinant."
# Singular matrix
C = np.array([[1, 2], [2, 4]])
# Attempt to compute the determinant
result = calculate_determinant(C)
print(result)
Output:
Following is the output obtained −
0.0
Key Takeaway: Master matrix determinants with NumPy at Vista Academy!
