TransposeConjugate

共轭转置一个复矩阵。通过改变复数虚部的符号来反转或置换矩阵的轴,返回修改后的矩阵。

matrixc matrixc::TransposeConjugate()

返回值

转置过的复共轭矩阵。

请注意

共轭可以应用于实(非复)矩阵或向量。在这种情况下,矩阵或向量只是被复制并返回。

用共轭法解释复数矩阵转置的简单算法

//--- 共轭复矩阵转置函数
matrixc MatrixTransposeConjugate(const matrixcmatrix_a)
  {
   //--- 创建一个新的 matrix_c, 其维度与 matrix_a 相反
   matrixc matrix_c(matrix_a.Cols(), matrix_a.Rows());
 
   //--- 遍历新矩阵的所有行
   for(ulong i=0i<matrix_c.Rows(); i++)
     {
      //--- 遍历新矩阵的所有列
      for(ulong j=0j<matrix_c.Cols(); j++)
        {
         //--- 通过转置索引来转移元素的实部
         matrix_c[i][j].real = matrix_a[j][i].real;
         //--- 通过改变符号(共轭)来转移元素的虚部
         matrix_c[i][j].imag = -matrix_a[j][i].imag;
        }
     }
 
    //--- 返回带有共轭的转置矩阵
    return(matrix_c);
  }