def METHOD_NAME(self, niter=10, compute_w=True, compute_h=True,
              show_progress=False, compute_err=True):
    """ Factorize s.t. WH = data
        Parameters
        ----------
        niter : int
                number of iterations.
        show_progress : bool
                print some extra information to stdout.
        compute_h : bool
                iteratively update values for H.
        compute_w : bool
                iteratively update values for W.
        compute_err : bool
                compute Frobenius norm |data-WH| after each update and store
                it to .ferr[k].
        Updated Values
        --------------
        .W : updated values for W.
        .H : updated values for H.
        .ferr : Frobenius norm |data-WH| for each iteration.
    """
    # init some learning parameters
    self._lamb_W = 1.0/niter
    self._lamb_H = 1.0/niter
    NMF.METHOD_NAME(self, niter=niter, compute_w=compute_w,
                  compute_h=compute_h, show_progress=show_progress,
                  compute_err=compute_err)