code: public void deleteRow(DMatrixRMaj Q , DMatrixRMaj R , int rowIndex , boolean resizeR ) {
          setQR(Q,R,0);
          if( m - 1 < n ) {
              throw new IllegalArgumentException("Removing any row would make the system under determined.");
          }
  
          m_m = m - 1;
          U_tran.reshape(m,m, false);
  
          if( resizeR )
              R.reshape(m_m,n, false);
          
          computeRemoveGivens(rowIndex);
          updateRemoveQ(rowIndex);
  
          updateRemoveR();
  
          // discard the reference since it is no longer needed
          this.Q = this.R = null;
      }
docs: <p>
  Adjusts the values of the Q and R matrices to take in account the effects of removing
  a row from the 'A' matrix at the specified location.  This operation requires about 6mn + O(n) flops.
  </p>
  
  <p>
  The adjustment is done by computing a series of planar Givens rotations that make the removed row in Q
  equal to [1 0 ... 0].
  </p>
  
  @param Q The Q matrix.  Is modified.
  @param R The R matrix.  Is modified.
  @param rowIndex Which index of the row that is being removed.
  @param resizeR should the shape of R be adjusted?