TransposeConjugate

Transpose une matrice complexe avec conjugaison. Inverse ou permute les axes d'une matrice en changeant le signe de la partie imaginaire d'un nombre complexe, renvoie la matrice modifiée.

matrixc matrixc::TransposeConjugate()

Valeur de Retour

Matrice conjuguée complexe transposée.

Note

Le conjugué peut être appliqué à une matrice ou un vecteur réel (non complexe). Dans ce cas, la matrice ou le vecteur est simplement copié en retour.

Algorithme simple de transposition d'une matrice complexe avec conjugaison - explication de la méthode

//--- Fonction de transposition de matrice complexe avec conjugaison
matrixc MatrixTransposeConjugate(const matrixcmatrix_a)
  {
   //--- crée une nouvelle matrix_c avec des dimensions inverses à matrix_a
   matrixc matrix_c(matrix_a.Cols(), matrix_a.Rows());
 
   //--- parcourt toutes les lignes de la nouvelle matrice
   for(ulong i=0i<matrix_c.Rows(); i++)
     {
      //--- parcourt toutes les colonnes de la nouvelle matrice
      for(ulong j=0j<matrix_c.Cols(); j++)
        {
         //--- transfère la partie réelle de l'élément en transposant l'indice
         matrix_c[i][j].real = matrix_a[j][i].real;
         //--- transfère la partie imaginaire de l'élément en changeant le signe (conjugaison)
         matrix_c[i][j].imag = -matrix_a[j][i].imag;
        }
     }
 
    //--- renvoie la matrice transposée avec conjugaison
    return(matrix_c);
  }