📜  C++ 程序来检查对合矩阵(1)

📅  最后修改于: 2023-12-03 14:39:55.873000             🧑  作者: Mango

C++程序:检查对合矩阵

以下是一个使用C++编写的程序,用于检查一个矩阵是否为对合矩阵。对合矩阵也被称为自共轭矩阵,意思是矩阵的转置等于其共轭。

#include <iostream>
#include <vector>
using namespace std;

// 函数:检查对合矩阵
bool isHermitianMatrix(vector<vector<int>>& matrix) {
    int rows = matrix.size();
    int cols = matrix[0].size();
    
    // 检查每个元素是否满足对合条件
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++) {
            // 检查对应元素及其共轭是否相等
            if (matrix[i][j] != matrix[j][i]) {
                return false;
            }
        }
    }
    
    return true;
}

int main() {
    // 输入矩阵
    vector<vector<int>> matrix = {
        {3, 2, 1},
        {2, 5, 4},
        {1, 4, 6}
    };
    
    // 检查矩阵是否为对合矩阵
    if (isHermitianMatrix(matrix)) {
        cout << "The matrix is a Hermitian matrix." << endl;
    } else {
        cout << "The matrix is not a Hermitian matrix." << endl;
    }
    
    return 0;
}

以上的代码定义了一个 isHermitianMatrix 函数,该函数接受一个二维向量作为输入,并返回一个布尔值。在程序的主函数中,我们定义了一个示例矩阵 matrix,并通过调用 isHermitianMatrix 函数检查矩阵是否是对合矩阵。根据检查结果,程序将输出相应的信息。

此程序使用二重循环遍历矩阵的每个元素,并检查对应元素及其共轭是否相等。如果任意元素不满足对合条件,则返回false,否则返回true。

希望以上介绍对你有所帮助!