docs: @Override
      public ZMatrixRMaj getQ(ZMatrixRMaj Q , boolean compact ) {
          if( compact )
              Q = UtilDecompositons_ZDRM.checkIdentity(Q,numRows,minLength);
          else
              Q = UtilDecompositons_ZDRM.checkIdentity(Q,numRows,numRows);
  
          // Unlike applyQ() this takes advantage of zeros in the identity matrix
          // by not multiplying across all rows.
          for( int j = minLength-1; j >= 0; j-- ) {
              int diagIndex = (j*numRows+j)*2;
              double realBefore = QR.data[diagIndex];
              double imagBefore = QR.data[diagIndex+1];
  
              QR.data[diagIndex] = 1;
              QR.data[diagIndex+1] = 0;
  
              QrHelperFunctions_ZDRM.rank1UpdateMultR(Q, QR.data, j * numRows, gammas[j], j, j, numRows, v);
  
              QR.data[diagIndex] = realBefore;
              QR.data[diagIndex+1] = imagBefore;
          }
  
          return Q;
      }