首頁  >  文章  >  後端開發  >  方陣可以表示為對稱矩陣和反對稱矩陣的和嗎?

方陣可以表示為對稱矩陣和反對稱矩陣的和嗎?

WBOY
WBOY轉載
2023-09-13 17:05:021235瀏覽

方陣可以表示為對稱矩陣和反對稱矩陣的和嗎?

對稱矩陣 - 其轉置等於矩陣本身的矩陣。然後它被稱為對稱矩陣

反對稱矩陣 - 其轉置等於矩陣的負值,然後它被稱為反對稱矩陣。

對稱矩陣和反對稱矩陣的和是一個方陣。要找到這些矩陣的和,我們有以下公式。

設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刪除