斜对称矩阵或反对称矩阵是转置与原矩阵的转置为负的方阵。如果 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
步骤:
- 找到输入矩阵的转置。
- 如果输入矩阵等于其转置矩阵的负数,则该矩阵是斜对称的。
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