TransposeConjugate

Transposing a complex matrix with conjugation. Reverse or permute the axes of a matrix by changing a sign of an imaginary part of a complex number, return the modified matrix.

matrix matrix::TransposeConjugate()

Return Value

Transposed complex conjugate matrix.

 

Simple algorithm of transposing a complex matrix with conjugation - method explanation

//--- Complex matrix transpose function with conjugation
matrix MatrixTranspose(const matrixmatrix_a) {
    //--- create a new matrix_c with dimensions inverse to matrix_a
    matrix matrix_c(matrix_a.Cols(), matrix_a.Rows());
 
    //--- go through all the rows of the new matrix
    for (ulong i = 0i < matrix_c.Rows(); i++) {
        //--- go through all the columns of the new matrix
        for (ulong j = 0j < matrix_c.Cols(); j++) {
            //--- transfer the real part of the element by transposing the index
            matrix_c[i][j].real = matrix_a[j][i].real;
            
            //--- transfer the imaginary part of the element by changing the sign (conjugation)
            matrix_c[i][j].imag = -matrix_a[j][i].imag;
        }
    }
 
    //--- return the transposed matrix with conjugation
    return (matrix_c);
}