code: def multinomial(n, pvals, size=None, **kwargs):
      r"""
      Draw samples from a multinomial distribution.
      The multinomial distribution is a multivariate generalisation of the binomial distribution.
      Take an experiment with one of ``p`` possible outcomes. An example of such an experiment is throwing a dice,
      where the outcome can be 1 through 6. Each sample drawn from the distribution represents n such experiments.
      Its values, ``X_i = [X_0, X_1, ..., X_p]``, represent the number of times the outcome was ``i``.
  
      Parameters
      ----------
      n : int
          Number of experiments.
      pvals : sequence of floats, length p
          Probabilities of each of the p different outcomes. These should sum to 1.
      size : int or tuple of ints, optional
          Output shape. If the given shape is, e.g., ``(m, n, k)``, then ``m * n * k`` samples
          are drawn. Default is None, in which case a single value is returned.
  
      Returns
      -------
      out : ndarray
          The drawn samples, of shape size, if that was provided. If not, the shape is ``(N,)``.
          In other words, each entry ``out[i,j,...,:]`` is an N-dimensional value drawn from the distribution.
  
      Examples
      --------
      Throw a dice 1000 times, and 1000 times again:
  
      >>> np.random.multinomial(1000, [1/6.]*6, size=2)
      array([[164, 161, 179, 158, 150, 188],
             [178, 162, 177, 143, 163, 177]])
  
      A loaded die is more likely to land on number 6:
  
      >>> np.random.multinomial(100, [1/7.]*5 + [2/7.])
      array([19, 14, 12, 11, 21, 23])
      >>> np.random.multinomial(100, [1.0 / 3, 2.0 / 3])
      array([32, 68])
      """
      return _mx_nd_np.random.multinomial(n, pvals, size, **kwargs)
  
imports: from ..ndarray import numpy
  from ..random import seed
  from ..util import wrap_ctx_to_device_func
label_desc: Use image node_id 7 for calling a global function with example usage: multinomial(n, pvals, size) and returns: _mx_nd_np