code: public static ZMatrixRMaj transposeConjugate(ZMatrixRMaj input , ZMatrixRMaj output )
      {
          if( output == null ) {
              output = new ZMatrixRMaj(input.numCols,input.numRows);
          } else if( input.numCols != output.numRows || input.numRows != output.numCols ) {
              throw new IllegalArgumentException("Input and output shapes are not compatible");
          }
  
          TransposeAlgs_ZDRM.standardConjugate(input, output);
  
          return output;
      }
docs: <p>
  Conjugate transposes input matrix 'a' and stores the results in output matrix 'b':<br>
  <br>
  b-real<sub>i,j</sub> = a-real<sub>j,i</sub><br>
  b-imaginary<sub>i,j</sub> = -1*a-imaginary<sub>j,i</sub><br>
  where 'b' is the transpose of 'a'.
  </p>
  
  @param input The original matrix.  Not modified.
  @param output Where the transpose is stored. If null a new matrix is created. Modified.
  @return The transposed matrix.