In the previous article, we have discussed Python Program to Swap Major and Minor Diagonals of a Square Matrix

Given a matrix and the task is to find the squares of all diagonal elements of a given matrix in python.

**What is a matrix:**

A matrix is a rectangular sequence of numbers divided into columns and rows. A matrix element or entry is a number that appears in a matrix.

**Diagonal Matrix:**

The entries outside the main diagonal of a diagonal matrix are all 0; the word usually refers to square matrices.

**Example:**

Above is the matrix which contains 5 rows and 4 columns and having elements from 1 to 20.

In this order, the dimensions of a matrix indicate the number of rows and columns.

Here as there are 5 rows and 4 columns it is called a 5*4 matrix.

**Examples:**

**Example1:**

**Input:**

Given Matrix : 1 5 4 2 3 6 4 2 1

**Output:**

The squares of diagonal elements of first diagonal: 1 9 1 The squares of diagonal elements of second diagonal: 16 9 16

**Example2:**

**Input:**

Given Matrix : 3 8 2 6

**Output:**

The squares of diagonal elements of first diagonal: 9 36 The squares of diagonal elements of second diagonal: 64 4

## Program for Squares of Matrix Diagonal Elements in Python

Below are the ways to find the squares of all diagonal elements of a given matrix in python.

### Method #1: Using For Loop (Static Input)

**Approach:**

- Give the matrix as static input and store it in a variable.
- Calculate the number of rows of the given matrix by calculating the length of the nested list using the len() function and store it in a variable mtrxrows.
- Calculate the number of columns of the given matrix by calculating the length of the first list in the nested list using the len() function and store it in a variable mtrxcolums.
- Loop till the given number of rows using the For loop.
- Inside the For loop, Iterate till the given number of columns using another Nested For loop(Inner For loop).
- Check if the condition
**n**is equal to**m**using the if conditional statement where n is the iterator value of the parent For loop and m is the iterator value of the inner For loop. - If the statement is true, then print the square of the gvnmatrix[n][m].
- Loop till the given number of rows using the For loop.
- Inside the For loop, Iterate till the given number of columns using another Nested For loop(Inner For loop).
- Check if the condition n+m is equal to the mtrxrows-1 using the if conditional statement where n is the iterator value of the parent For loop and m is the iterator value of the inner For loop.
- If the statement is true, then print the square of the gvnmatrix[n][m].
- The Exit of the Program.

**Below is the implementation:**

# Give the matrix as static input and store it in a variable. mtrx = [[1, 5, 4], [2, 3, 6], [4, 2, 1]] # Calculate the number of rows of the given matrix by # calculating the length of the nested list using the len() function # and store it in a variable mtrxrows. mtrxrows = len(mtrx) # Calculate the number of columns of the given matrix by # calculating the length of the first list in the nested list # using the len() function and store it in a variable mtrxcols. mtrxcols = len(mtrx[0]) print("The squares of diagonal elements of first diagonal:") # Loop till the given number of rows using the For loop. for n in range(mtrxrows): # Inside the For loop, Iterate till the given number of columns using another # Nested For loop(Inner For loop). for m in range(mtrxcols): # Check if the condition n is equal to m using the if conditional statement where n # is the iterator value of the parent For loop and m is the iterator value of the # inner For loop. if (n == m): # If the statement is true, then print the square of the gvnmatrix[n][m] print(mtrx[n][m]**2) # Loop till the given number of rows using the For loop. print("The squares of diagonal elements of second diagonal:") for n in range(mtrxrows): # Inside the For loop, Iterate till the given number of columns using another # Nested For loop(Inner For loop). for m in range(mtrxcols): # Check if the condition n+m is equal to the mtrxrows-1 using the if conditional # statement where n is the iterator value of the parent For loop and # m is the iterator value of the inner For loop. if (n+m == mtrxrows-1): # If the statement is true, then print the square of the gvnmatrix[n][m] print(mtrx[n][m]**2)

**Output:**

The squares of diagonal elements of first diagonal: 1 9 1 The squares of diagonal elements of second diagonal: 16 9 16

### Method #2: Using For loop (User Input)

**Approach:**

- Give the number of rows of the matrix as user input using the int(input()) function and store it in a variable.
- Give the number of columns of the matrix as user input using the int(input()) function and store it in another variable.
- Take a list and initialize it with an empty value using [] or list() to say
**gvnmatrix**. - Loop till the given number of rows using the For loop
- Inside the For loop, Give all the row elements of the given Matrix as a list using the list(),map(),int(),split() functions and store it in a variable.
- Add the above row elements list to
**gvnmatrix**using the append() function. - Loop till the given number of rows using the For loop.
- Inside the For loop, Iterate till the given number of columns using another Nested For loop(Inner For loop).
- Check if the condition
**n**is equal to**m**using the if conditional statement where n is the iterator value of the parent For loop and m is the iterator value of the inner For loop. - If the statement is true, then print the square of the gvnmatrix[n][m].
- Loop till the given number of rows using the For loop.
- Check if the condition n+m is equal to the mtrxrows-1 using the if conditional statement where n is the iterator value of the parent For loop and m is the iterator value of the inner For loop.
- If the statement is true, then print the square of the gvnmatrix[n][m].
- The Exit of the Program.

**Below is the implementation:**

# Give the number of rows of the matrix as user input using the int(input()) function # and store it in a variable. mtrxrows = int(input('Enter some random number of rows of the matrix = ')) # Give the number of columns of the matrix as user input using the int(input()) function # and store it in another variable. mtrxcols = int(input('Enter some random number of columns of the matrix = ')) # Take a list and initialize it with an empty value using [] or list() to say gvnmatrix. mtrx = [] # Loop till the given number of rows using the For loop for n in range(mtrxrows): # Inside the For loop, Give all the row elements of the given Matrix as a list using # the list(),map(),int(),split() functions and store it in a variable. l = list(map(int, input( 'Enter {'+str(mtrxcols)+'} elements of row {'+str(n+1)+'} separated by spaces = ').split())) # Add the above row elements list to gvnmatrix using the append() function. mtrx.append(l) print("The squares of diagonal elements of first diagonal:") # Loop till the given number of rows using the For loop. for n in range(mtrxrows): # Inside the For loop, Iterate till the given number of columns using another # Nested For loop(Inner For loop). for m in range(mtrxcols): # Check if the condition n is equal to m using the if conditional statement where n # is the iterator value of the parent For loop and m is the iterator value of the # inner For loop. if (n == m): # If the statement is true, then print the square of the gvnmatrix[n][m] print(mtrx[n][m]**2) # Loop till the given number of rows using the For loop. print("The squares of diagonal elements of second diagonal:") for n in range(mtrxrows): # Inside the For loop, Iterate till the given number of columns using another # Nested For loop(Inner For loop). for m in range(mtrxcols): # Check if the condition n+m is equal to the mtrxrows-1 using the if conditional # statement where n is the iterator value of the parent For loop and # m is the iterator value of the inner For loop. if (n+m == mtrxrows-1): # If the statement is true, then print the square of the gvnmatrix[n][m] print(mtrx[n][m]**2)

**Output:**

Enter some random number of rows of the matrix = 2 Enter some random number of columns of the matrix = 2 Enter {2} elements of row {1} separated by spaces = 3 8 Enter {2} elements of row {2} separated by spaces = 2 6 The squares of diagonal elements of first diagonal: 9 36 The squares of diagonal elements of second diagonal: 64 4

Dive into numerous Python Programming Language Examples for practice and get the best out of the tutorial and learn python one step at a time.