> 백엔드 개발 > C++ > 정방행렬은 대칭행렬과 반대칭행렬의 합으로 표현될 수 있나요?

정방행렬은 대칭행렬과 반대칭행렬의 합으로 표현될 수 있나요?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2023-09-13 17:05:02
앞으로
1297명이 탐색했습니다.

정방행렬은 대칭행렬과 반대칭행렬의 합으로 표현될 수 있나요?

대칭 행렬 - 전치가 행렬 자체와 동일한 행렬입니다. 그런 다음 이를 대칭 행렬이라고 합니다.

반대칭 행렬 - 전치값이 행렬의 음수 값과 같으므로 이를 반대칭 행렬이라고 합니다.

대칭행렬과 반대칭행렬의 합은 정사각행렬입니다. 이러한 행렬의 합을 구하기 위해 다음 공식을 사용합니다.

A가 정사각 행렬이라고 가정합니다. 그런 다음

A = (½)*(A + A`)+ (½ )*(A - A`),

A`는 행렬의 전치입니다.

(½ )(A+ A`)는 대칭 행렬입니다.

(½ )(A - A`)는 반대칭 행렬입니다.

#include <bits/stdc++.h>
using namespace std;
#define N 3
void printMatrix(float mat[N][N]) {
   for (int i = 0; i < N; i++) {
      for (int j = 0; j < N; j++)
         cout << mat[i][j] << " ";
         cout << endl;
   }
}
int main() {
   float mat[N][N] = { { 2, -2, -4 },
   { -1, 3, 4 },
   { 1, -2, -3 } };
   float tr[N][N];
   for (int i = 0; i < N; i++)
   for (int j = 0; j < N; j++)
   tr[i][j] = mat[j][i];
   float symm[N][N], skewsymm[N][N];
   for (int i = 0; i < N; i++) {
      for (int j = 0; j < N; j++) {
         symm[i][j] = (mat[i][j] + tr[i][j]) / 2;
         skewsymm[i][j] = (mat[i][j] - tr[i][j]) / 2;
      }
   }
   cout << "Symmetric matrix-" << endl;
   printMatrix(symm);
   cout << "Skew Symmetric matrix-" << endl;
   printMatrix(skewsymm);
   return 0;
}
로그인 후 복사

출력

Symmetric matrix -
2 -1.5 -1.5
-1.5 3 1
-1.5 1 -3
Skew Symmetric matrix -
0 -0.5 -2.5
0.5 0 3
2.5 -3 0
로그인 후 복사

위 내용은 정방행렬은 대칭행렬과 반대칭행렬의 합으로 표현될 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿