C Program To Check whether Matrix is Skew Symmetric or not - GeeksforGeeks

29 Nov, 2020
A Skew Symmetric Matrix or Anti-Symmetric Matrix is a square matrix whose transpose is negative to that of the original matrix. If the entry in the ith row and jth column of a matrix is a[i][j], i.e. if A = (a[i][j]) then the skew symmetric condition is -A = -a[j][i].Examples :  
Input : matrix:     0   5  -4          
                   -5   0   1                            
                    4  -1   0                            

Output:  
Transpose matrix:   0  -5   4
                    5   0  -1
                   -4   1   0
Skew Symmetric matrix
Steps:  
Find the transpose of the input matrix.If the input matrix is equal to the negative of its transpose matrix, then the matrix is Skew Symmetrical.
Find the transpose of the input matrix.
If the input matrix is equal to the negative of its transpose matrix, then the matrix is Skew Symmetrical.
 
 
Java
C++
C#
Python3
// java program to check// whether given matrix// is skew-symmetric or notimport java.io.*; class GFG {     static int ROW =3;static int COL =3; // Utility function to create transpose matrix static void transpose(int transpose_matrix[][],                        int matrix[][]){for (int i = 0; i < ROW; i++)    for (int j = 0; j < COL; j++)        transpose_matrix[j][i] = matrix[i][j];} // Utility function to check skew - symmetric// matrix condition static boolean check(int transpose_matrix[][],                    int matrix[][]){    for (int i = 0; i < ROW; i++)        for (int j = 0; j < COL; j++)            if (matrix[i][j] != -transpose_matrix[i][j])                return false;    return true;} // Utility function to print a matrix static void printMatrix(int matrix[][]){    for (int i = 0; i < ROW; i++)    {    for (int j = 0; j < COL; j++)            System.out.print(matrix[i][j] + " ");    System.out.println();    }} // Driver program to test above functionspublic static void main (String[] args) {        int matrix[][] = {                            {0, 5, -4},                            {-5, 0, 1},                            {4, -1, 0},                        };     int transpose_matrix[][] = new int[ROW][COL];     // Function create transpose matrix    transpose(transpose_matrix, matrix);     System.out.println ("Transpose matrix: ");    printMatrix(transpose_matrix);     // Check whether matrix is skew-symmetric or not    if (check(transpose_matrix, matrix))    System.out.println("Skew Symmetric Matrix");    else    System.out.println("Not Skew Symmetric Matrix");              }} // This code is contributed by vt_m.
// C program to check whether given matrix// is skew-symmetric or not#include <stdio.h>#include <stdlib.h> #define ROW 3#define COL 3 // Utility function to create transpose matrixvoid transpose(int transpose_matrix[ROW][COL],                         int matrix[ROW][COL]){   for (int i = 0; i < ROW; i++)      for (int j = 0; j < COL; j++)         transpose_matrix[j][i] = matrix[i][j];} // Utility function to check skew - symmetric// matrix conditionbool check(int transpose_matrix[ROW][COL],                    int matrix[ROW][COL]){    for (int i = 0; i < ROW; i++)        for (int j = 0; j < COL; j++)            if (matrix[i][j] != -transpose_matrix[i][j])                return false;    return true;} // Utility function to print a matrixvoid printMatrix(int matrix[ROW][COL]){    for (int i = 0; i < ROW; i++)    {       for (int j = 0; j < COL; j++)            printf("%d ", matrix[i][j]);       printf("\n");    }} // Driver program to test above functionsint main(){    int matrix[ROW][COL] = {                            {0, 5, -4},                            {-5, 0, 1},                            {4, -1, 0},                           };     int transpose_matrix[ROW][COL];     // Function create transpose matrix    transpose(transpose_matrix, matrix);     printf ("Transpose matrix: \n");    printMatrix(transpose_matrix);     // Check whether matrix is skew-symmetric or not    if (check(transpose_matrix, matrix))       printf("Skew Symmetric Matrix");    else       printf("Not Skew Symmetric Matrix");     return 0;}
// C# program to check// whether given matrix// is skew-symmetric or notusing System; class GFG{static int ROW =3;static int COL =3; // Utility function to// create transpose matrixstatic void transpose(int [,]transpose_matrix,                      int [,]matrix){for (int i = 0; i < ROW; i++)    for (int j = 0; j < COL; j++)        transpose_matrix[j,i] = matrix[i,j];} // Utility function to check// skew - symmetric matrix// conditionstatic bool check(int [,]transpose_matrix,                  int [,]matrix){    for (int i = 0; i < ROW; i++)        for (int j = 0; j < COL; j++)            if (matrix[i, j] !=                -transpose_matrix[i, j])                return false;    return true;} // Utility function// to print a matrixstatic void printMatrix(int [,]matrix){    for (int i = 0; i < ROW; i++)    {    for (int j = 0; j < COL; j++)            Console.Write(matrix[i, j] +                                   " ");    Console.WriteLine();    }} // Driver Codepublic static void Main (){    int [,]matrix = {{0, 5, -4},                     {-5, 0, 1},                     {4, -1, 0},};     int [,]transpose_matrix = new int[ROW, COL];     // Function create transpose matrix    transpose(transpose_matrix, matrix);     Console.WriteLine("Transpose matrix: ");    printMatrix(transpose_matrix);     // Check whether matrix is    // skew-symmetric or not    if (check(transpose_matrix, matrix))    Console.WriteLine("Skew Symmetric Matrix");    else    Console.WriteLine("Not Skew Symmetric Matrix");    }} // This code is contributed by anuj_67.
# Python 3 program to check# whether given matrix# is skew-symmetric or notROW=3COL=3 # Utility function to# create transpose matrixdef transpose(transpose_matrix,matrix):    for i in range (ROW):        for j in range(COL):            transpose_matrix[j][i] = matrix[i][j]             # Utility function to# check skew - symmetric# matrix conditiondef check(transpose_matrix,matrix):    for i in range(ROW):        for j in range(COL):            if (matrix[i][j] != -transpose_matrix[i][j]):                return False    return True     # Utility function to print a matrixdef printMatrix(matrix):    for i in range (ROW):        for j in range(COL):            print(matrix[i][j]," ",end="")        print()         # Driver program to test above functionsmatrix= [            [0, 5, -4],            [-5, 0, 1],            [4, -1, 0],        ]transpose_matrix=[[0 for i in range(3)] for j in range(3)] # Function create transpose matrixtranspose(transpose_matrix, matrix)print("Transpose matrix:")printMatrix(transpose_matrix) # Check whether matrix is# skew-symmetric or notif (check(transpose_matrix, matrix)):    print("Skew Symmetric Matrix")else:    print("Not Skew Symmetric Matrix") # This code is contributed# by Azkia Anam.
Transpose matrix: 
0 -5 4 
5 0 -1 
-4 1 0 
Skew Symmetric Matrix

References : WikipediaThis article is contributed by Akash Gupta. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above. 
 
vt_m
pradiptamukherjee
Matrix
Matrix
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Unique paths in a Grid with Obstacles
Check for possible path in 2D matrix
A Boolean Matrix Question
Mathematics | L U Decomposition of a System of Linear Equations
Python program to add two Matrices
Program to find the Sum of each Row and each Column of a Matrix
Flood fill Algorithm - how to implement fill() in paint?
Implementation of BFS using adjacency matrix
Breadth First Traversal ( BFS ) on a 2D array
Efficiently compute sums of diagonals of a matrix