docs: def ilsr_rankings(
          n_items, data, alpha=0.0, initial_params=None, max_iter=100, tol=1e-8):
      """Compute the ML estimate of model parameters using I-LSR.
  
      This function computes the maximum-likelihood (ML) estimate of model
      parameters given ranking data (see :ref:`data-rankings`), using the
      iterative Luce Spectral Ranking algorithm [MG15]_.
  
      The transition rates of the LSR Markov chain are initialized with
      ``alpha``. When ``alpha > 0``, this corresponds to a form of regularization
      (see :ref:`regularization` for details).
  
      Parameters
      ----------
      n_items : int
          Number of distinct items.
      data : list of lists
          Ranking data.
      alpha : float, optional
          Regularization parameter.
      initial_params : array_like, optional
          Parameters used to initialize the iterative procedure.
      max_iter : int, optional
          Maximum number of iterations allowed.
      tol : float, optional
          Maximum L1-norm of the difference between successive iterates to
          declare convergence.
  
      Returns
      -------
      params : numpy.ndarray
          The ML estimate of model parameters.
      """
      fun = functools.partial(
              lsr_rankings, n_items=n_items, data=data, alpha=alpha)
      return _ilsr(fun, initial_params, max_iter, tol)