C程序来检查矩阵是否是斜对称的

斜对称矩阵或反对称矩阵是转置与原矩阵的转置为负的方阵。如果 th row和j th 矩阵的列是a[i][j],即如果a=(a[i][j]),则斜对称条件是-a=-a[j][i]。 例如:

null
Input : matrix:     0   5  -4                             -5   0   1                                                4  -1   0                            Output:  Transpose matrix:   0  -5   4                    5   0  -1                   -4   1   0Skew Symmetric matrix

步骤:

  1. 找到输入矩阵的转置。
  2. 如果输入矩阵等于其转置矩阵的负数,则该矩阵是斜对称的。

JAVA

// java program to check
// whether given matrix
// is skew-symmetric or not
import 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 functions
public 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++

// 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 matrix
void 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 condition
bool 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 matrix
void 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 ( "" );
}
}
// Driver program to test above functions
int 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: " );
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#

// C# program to check
// whether given matrix
// is skew-symmetric or not
using System;
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 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 matrix
static 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 Code
public 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.


Python3

# Python 3 program to check
# whether given matrix
# is skew-symmetric or not
ROW = 3
COL = 3
# Utility function to
# create transpose matrix
def 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 condition
def 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 matrix
def printMatrix(matrix):
for i in range (ROW):
for j in range (COL):
print (matrix[i][j], " " ,end = "")
print ()
# Driver program to test above functions
matrix = [
[ 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 matrix
transpose(transpose_matrix, matrix)
print ( "Transpose matrix:" )
printMatrix(transpose_matrix)
# Check whether matrix is
# skew-symmetric or not
if (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

参考资料: 维基百科 本文由 阿卡什·古普塔 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。 如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享