def METHOD_NAME(self, show_progress=False, compute_w=True, compute_h=True,
              compute_err=True, robust_cluster=3, niter=1, robust_nselect=-1):
    """ Factorize s.t. WH = data
        Parameters
        ----------
        show_progress : bool
                print some extra information to stdout.
                False, default
        compute_h : bool
                iteratively update values for H.
                True, default
        compute_w : bool
                iteratively update values for W.
                default, True
        compute_err : bool
                compute Frobenius norm |data-WH| after each update and store
                it to .ferr[k].
        robust_cluster : int, optional
                set the number of clusters for robust map selection.
                3, default
        robust_nselect : int, optional
                set the number of samples to consider for robust map
                selection.
                -1, default (automatically determine suitable number)
        Updated Values
        --------------
        .W : updated values for W.
        .H : updated values for H.
        .ferr : Frobenius norm |data-WH|.
    """
    self._robust_cluster = robust_cluster
    self._robust_nselect = robust_nselect
    if self._robust_nselect == -1:
        self._robust_nselect = np.round(np.log(self.data.shape[1])*2)
    AA.METHOD_NAME(self, niter=1, show_progress=show_progress,
              compute_w=compute_w, compute_h=compute_h,
              compute_err=compute_err)