code: private boolean computeUWV() {
          bidiag.getDiagonal(diag,off);
          qralg.setMatrix(numRowsT,numColsT,diag,off);
  
  //        long pointA = System.currentTimeMillis();
          // compute U and V matrices
          if( computeU )
              Ut = bidiag.getU(Ut,true,compact);
          if( computeV )
              Vt = bidiag.getV(Vt,true,compact);
  
          qralg.setFastValues(false);
          if( computeU )
              qralg.setUt(Ut);
          else
              qralg.setUt(null);
          if( computeV )
              qralg.setVt(Vt);
          else
              qralg.setVt(null);
  
  //        long pointB = System.currentTimeMillis();
  
          boolean ret = !qralg.process();
  
  //        long pointC = System.currentTimeMillis();
  //        System.out.println("  compute UV "+(pointB-pointA)+"  QR = "+(pointC-pointB));
  
          return ret;
      }
docs: Compute singular values and U and V at the same time