TransposeConjugate

Trasposizione di una matrice complessa con coniugazione. Inverte o permuta gli assi di una matrice cambiando il segno di una parte immaginaria di un numero complesso, restituendo la matrice modificata.

matrixc matrixc::TransposeConjugate()

Valore Restituito

La matrice coniugata complessa trasposta.

Nota

La coniugazione può essere applicata a matrici o vettori reali (non complessi). In questo caso la matrice o il vettore vengono semplicemente copiati in fase di restituzione.

Semplice algoritmo di trasposizione di una matrice complessa con coniugazione - spiegazione del metodo

//--- Funzione di trasposizione di matrici complesse con coniugazione
matrixc MatrixTransposeConjugate(const matrixcmatrix_a)
  {
 //--- creare una nuova matrix_c con dimensioni inverse a matrix_a
   matrixc matrix_c(matrix_a.Cols(), matrix_a.Rows());
 
 //--- ciclare attraverso tutte le righe della nuova matrice
   for(ulong i=0i<matrix_c.Rows(); i++)
     {
 //--- ciclare attraverso tutte le colonne della nuova matrice
      for(ulong j=0j<matrix_c.Cols(); j++)
        {
 //--- trasferire la parte reale dell'elemento trasponendo l'indice
         matrix_c[i][j].real = matrix_a[j][i].real;
 //--- trasferire la parte immaginaria dell'elemento cambiando il segno (coniugazione)
         matrix_c[i][j].imag = -matrix_a[j][i].imag;
        }
     }
 
 //--- restituire la matrice trasposta con coniugazione
    return(matrix_c);
  }