# How to Calculate the Determinant of a Matrix or ndArray using numpy in Python?

In this article, we will learn how to calculate the determinant of a matrix using the numpy library in Python. The determinant of a matrix is a scalar value that can represent the matrix in a compact form. It is a useful quantity in linear algebra, and it has several applications in various fields, such as physics, engineering, and computer science.

In this article, we will first examine the determinant's definition and properties. We will then learn how to calculate the determinant of a matrix using numpy and look at a few examples to see how it works in practice.

## Definition and Properties of the Determinant

The determinant of a matrix is a scalar value that can be used to describe the properties of a matrix in a compact form. It is often denoted by either |A| or det(A), where A is the matrix. The determinant is a fundamental concept in linear algebra and has several important properties that make it a powerful tool in mathematical calculations.

• One of the most notable properties of the determinant is that it is equal to the product of the eigenvalues of the matrix. Eigenvalues are a set of special scalar values that represent how the matrix acts on certain vectors, and they play a crucial role in many applications of linear algebra.

• Another important property of the determinant is that it is equal to the product of the diagonals of the upper or lower triangular matrix. A triangular matrix is a matrix that has zeros below or above the diagonal, and this property is useful when calculating determinants of large matrices.

• The determinant can also be calculated by taking the sum of the products of the elements in any row or column with appropriate signs. This property provides an alternative method to calculate the determinant and is helpful in situations where the matrix is not triangular.

• Moreover, the determinant can be calculated by taking the elements' product on the matrix's main diagonal, dividing it by the determinant of the matrix of co-factors, minors, or ad-joints. These matrices are derived from the original matrix and have unique properties that make them helpful in calculating the determinant.

### Calculating the Determinant of a Matrix using numpy

To calculate the determinant of a matrix using numpy, we can use the linalg.det() function. This function takes a matrix as input and returns the determinant of the matrix. Let's look at an example −

import numpy as np
# create a 2x2 matrix
matrix = np.array([[5, 6], [7, 8]])
# calculate the determinant of the matrix
determinant = np.linalg.det(matrix)
print(determinant)


### Output

-2.000000000000005


### Code Explanation

As you can see, the linalg.det() function calculates the determinant of the matrix and returns it as a scalar value. In this case, the determinant of the matrix is -2.0.

### Calculating the Determinant of a Higher-Dimensional Matrix

To calculate the determinant of a higher-dimensional matrix, we can use the same linalg.det() function. Let's look at an example −

import numpy as np
# create a 3x3 singular matrix
matrix = np.array([[20, 21, 22], [23, 24, 25], [26, 27, 28]])
# calculate the determinant of the matrix
determinant = np.linalg.det(matrix)
print(determinant)


### Output

2.131628207280298e-14


### Code Explanation

As you can see, the linalg.det() function can also be used to calculate the determinant of a higher-dimensional matrix. In this case, the determinant of the matrix is 0.0.

### Calculating the Determinant of a Singular Matrix

singular matrix is a matrix that does not have an inverse. The determinant of a singular matrix is 0, which means that it is not invertible. Let's look at an example −

### Example 1

In the following example, the linalg.det() function returns 0 for a singular matrix, which indicates that it is not invertible.

import numpy as np
# create a 3x3 matrix
matrix = np.array([[10, 11, 12], [13, 14, 15], [16, 17, 18]])
# calculate the determinant of the matrix
determinant = np.linalg.det(matrix)
print(determinant)


### Output

0.0


### Example 2

The linalg.slogdet() function returns the sign and the logarithm of the determinant of a matrix. The determinant is calculated using the LU decomposition method, which is more stable and accurate than the method used by the linalg.det() function.

One advantage of using the linalg.slogdet() function is that it is more stable and accurate than the linalg.det() function, especially for large matrices. However, keep in mind that it returns the logarithm of the determinant, so you will need to take the exponent of the result to get the actual determinant

import numpy as np
# create a 3x3 matrix
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# calculate the determinant of the matrix using the linalg.slogdet() function
sign, determinant = np.linalg.slogdet(matrix)
print(determinant)


### Output

-inf


## Conclusion

This article taught us how to calculate a matrix's determinant using Python numpy. We looked at the definition and properties of the determinant, and we saw how to calculate the determinant of a matrix using the linalg.det() function. We also looked at a few examples to see how it works in practice. We also learned how to calculate the determinant of a matrix using numpy in Python.

The determinant is a scalar value that can be used to represent a matrix in a compact form, and it has a number of applications in various fields. To calculate the determinant of a matrix using numpy, we can use the linalg.det() function, which takes a matrix as input and returns the determinant. Alternatively, we can use the linalg.slogdet() function, which returns the sign and the logarithm of the determinant using the LU decomposition method. Both functions allow us to calculate the determinant of a matrix in Python easily, and they are useful tools for anyone working with matrices in scientific and engineering applications.

Updated on: 26-Jul-2023

653 Views 