code: public ZMatrixRMaj getH(ZMatrixRMaj H ) {
          H = UtilDecompositons_ZDRM.checkZeros(H,N,N);
  
          // copy the first row
          System.arraycopy(QH.data, 0, H.data, 0, N*2);
  
          for( int i = 1; i < N; i++ ) {
              System.arraycopy(QH.data, (i*N+i-1)*2, H.data, (i*N+i-1)*2, (N-i+1)*2);
          }
  
          return H;
      }
docs: An upper Hessenberg matrix from the decomposition.
  
  @param H If not null then the results will be stored here.  Otherwise a new matrix will be created.
  @return The extracted H matrix.