首页 > 后端开发 > C++ > 一个方阵可以表示为对称矩阵和反对称矩阵的和吗?

一个方阵可以表示为对称矩阵和反对称矩阵的和吗?

WBOY
发布: 2023-09-13 17:05:02
转载
1246 人浏览过

一个方阵可以表示为对称矩阵和反对称矩阵的和吗?

对称矩阵 - 其转置等于矩阵本身的矩阵。然后它被称为对称矩阵

反对称矩阵 - 其转置等于矩阵的负值,然后它被称为反对称矩阵。

对称矩阵和反对称矩阵的和是一个方阵。要找到这些矩阵的和,我们有以下公式。

设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
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板