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.
 - 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 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
4Dive into numerous Python Programming Language Examples for practice and get the best out of the tutorial and learn python one step at a time.
