정사각 행렬 A의 요소가 모든 i와 j에 대해 aij=−aji를 만족하면 정사각 행렬 A를 반대칭 행렬이라고 합니다. 즉, 행렬 A의 전치가 행렬 A의 음수 값과 같으면, 즉 (AT=−A), 행렬 A를 반대칭 행렬이라고 합니다.
반대칭 행렬의 모든 주대각선 요소는 0입니다.
행렬의 예를 들어보겠습니다.
A= |0 -5 4| |5 0 -1| |-4 1 0|
이는 모든 i와 j에 대해 aij=−aji이므로 왜곡 대칭 행렬입니다. 예를 들어, a12 = -5, a21 = 5는 a12 = -a21을 의미합니다. 마찬가지로 이 조건은 i와 j의 다른 모든 값에도 적용됩니다.
행렬 A의 전치가 행렬 A의 음수와 같다는 것, 즉 AT=−A임을 확인할 수도 있습니다.
A<sup>T</sup>= |0 5 -4| |-5 0 1| |4 -1 0| and A= |0 -5 4| |5 0 -1| |-4 1 0|
AT=−A를 명확하게 볼 수 있으며, 이는 A를 편향 대칭 행렬로 만듭니다.
Input: Enter the number of rows and columns: 2 2 Enter the matrix elements: 10 20 20 10 Output: The matrix is symmetric. 10 20 20 10
행렬은 전치값과 같으면 대칭행렬입니다.
그렇지 않고 전치가 음수와 같으면 행렬은 반대칭입니다. 그렇지 않으면 대칭도 반대칭도 아닙니다. 그에 따라 결과가 인쇄됩니다.
행렬의 대칭성을 확인하는 과정은 다음과 같습니다.
사용자가 행렬의 행과 열 수를 입력해야 합니다.
입력 행렬의 요소가 필요하며 이를 'A'에 저장합니다. 변수 'x'와 'y'를 0으로 초기화합니다.
행렬이 전치와 같지 않으면 임시 변수 'x'에 1의 값을 할당합니다.
그렇지 않고 행렬의 음수가 전치와 같으면 임시 변수 'y'를 1에 할당합니다.
x가 0이면 행렬은 대칭입니다. 그렇지 않고 y가 1이면 행렬은 반대칭입니다.
위 조건 중 어느 것도 충족되지 않으면 행렬은 대칭도 반대칭도 아닙니다.
그런 다음 결과를 인쇄하세요.
#include<iostream> using namespace std; int main () { int A[10][10], i, j, m, n, x = 0, y = 0; cout << "Enter the number of rows and columns : "; cin >> m >> n; cout << "Enter the matrix elements : "; for (i = 0; i < m; i++) for (j = 0; j < n; j++) cin >> A[i][j]; for (i = 0; i < m; i++) { for( j = 0; j < n; j++) { if (A[i][j] != A[j][i]) x = 1; else if (A[i][j] == -A[j][i]) y = 1; } } if (x == 0) cout << "The matrix is symmetric.</p><p> "; else if (y == 1) cout << "The matrix is skew symmetric.</p><p> "; else cout << "It is neither symmetric nor skew-symmetric.</p><p> "; for (i = 0; i < m; i++) { for (j = 0; j < n; j++) cout << A[i][j] << " "; cout << "</p><p> "; } return 0; }
위 내용은 행렬이 반대칭인지 확인하는 C 프로그램?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!