# How to Calculate Trace of a Matrix using numpy in Python?

Calculating the trace of a matrix using Numpy is a common operation in linear algebra that can be used to extract important information about the matrix. The trace of a matrix is defined as the sum of the elements on the matrix's main diagonal, which runs from the top left to the bottom right corner. In this article, we will learn various methods to calculate the trace of a matrix using the NumPy library in Python.

Before we begin, let's first import the NumPy library −

import numpy as np


Next, let's define a matrix using the np.array function −

A = np.array([[1,2,3], [4,5,6], [7,8,9]])


## Example 1

To calculate the trace of this matrix, we can use the np.trace function from NumPy

import numpy as np
A = np.array([[1,2,3], [4,5,6], [7,8,9]])
trace = np.trace(A)
print(trace)


## Output

15


The np.trace function takes a single argument, which is the matrix whose trace we want to calculate. It returns the trace of the matrix as a scalar value.

## Example 2

Alternatively, we can also calculate the trace of a matrix using the sum function and indexing the elements on the main diagonal −

import numpy as np
A = np.array([[1,2,3], [4,5,6], [7,8,9]])
trace = sum(A[i][i] for i in range(A.shape))
print(trace)


## Output

15


Here, we are using the shape attribute of the matrix to determine its dimensions, and using a for loop to iterate over the elements on the main diagonal.

It is important to note that the trace of a matrix is only defined for square matrices, meaning matrices with the same number of rows and columns. If you try to calculate the trace of a non-square matrix, you will get an error.

## Example 3

In addition to calculating the trace of a matrix, NumPy also provides several other functions and methods for performing various linear algebra operations, such as calculating the determinant, the inverse, and the eigenvalues and eigenvectors of a matrix. Here is a list of some of the most useful linear algebra functions provided by NumPy −

• np.linalg.det − Calculates the determinant of a matrix

• np.linalg.inv − Calculates the inverse of a matrix.

• np.linalg.eig − Calculates the eigenvalues and eigenvectors of a matrix.

• np.linalg.solve − Solves a system of linear equations represented by a matrix

• np.linalg.lstsq − Solves the linear least-squares problem.

• np.linalg.cholesky − Computes the Cholesky decomposition of a matrix.

To use these functions, you will need to import the linalg sub module of NumPy−

 import numpy.linalg as LA


## Example 3

For example, to calculate the determinant of a matrix using NumPy, you can use the following code −

import numpy as np
import numpy.linalg as LA
A = np.array([[1,2,3], [4,5,6], [7,8,9]])
det = LA.det(A)
print(det)


## Output

0.0


NumPy's linear algebra functions are optimized for performance, making them ui-table for large-scale scientific and mathematical computing applications. In addition to providing a wide range of linear algebra functions, NumPy also provides several convenience functions for creating and manipulating matrices and n-arrays, such as np.zeros, np.ones, np.eye, and np.diag.

## Example 4

Here is an example of how to create a matrix of zeros using the np.zeros function −

import numpy as np
A = np.zeros((3,3)) # Creates a 3x3 matrix of zeros
print(A)


## Output

This will output the following matrix

[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]


## Example 5

Similarly, the np.ones function can create a matrix of ones, and the np.eye function can create an identity matrix. For example −

import numpy as np
A = np.ones((3,3)) # Creates a 3x3 matrix of ones
B = np.eye(3) # Creates a 3x3 identity matrix
print(A)
print(B)


## Output

This will output the following matrix.

[[1. 1. 1.]
[1. 1. 1.]
[1. 1. 1.]]

[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]


## Example 6

Finally, the np.diag function can create a diagonal matrix from a given list or array. For example −

import numpy as np
A = np.diag([1,2,3]) # Creates a diagonal matrix from the given list
print(A)


## Output

This will output the following matrix.

[[1 0 0]
[0 2 0]
[0 0 3]]


## Conclusion

In conclusion, NumPy is a powerful Python library for performing linear algebra operations. Its wide range of functions and methods make it an essential tool for scientific and mathematical computing, and its optimized performance makes it suitable for large-scale applications. Whether you need to calculate the trace of a matrix, find the inverse of a matrix, or solve a system of linear equations, NumPy has the tools you need to get the job done.

Updated on: 26-Jul-2023

58 Views 