code: def test_multinomial_vector(self):
      random = RandomStreams(utt.fetch_seed())
      n = tensor.lvector()
      pvals = tensor.matrix()
      out = random.multinomial(n=n, pvals=pvals)
      assert out.ndim == 2
      f = function([n, pvals], out)
  
      n_val = [1, 2, 3]
      pvals_val = [[0.1, 0.9], [0.2, 0.8], [0.3, 0.7]]
      pvals_val = np.asarray(pvals_val, dtype=config.floatX)
      seed_gen = np.random.RandomState(utt.fetch_seed())
      numpy_rng = np.random.RandomState(int(seed_gen.randint(2**30)))
  
      # Arguments of size (3,)
      val0 = f(n_val, pvals_val)
      numpy_val0 = np.asarray(
          [
              numpy_rng.multinomial(n=nv, pvals=pv)
              for nv, pv in zip(n_val, pvals_val)
          ]
      )
      assert np.all(val0 == numpy_val0)
  
      # arguments of size (2,)
      val1 = f(n_val[:-1], pvals_val[:-1])
      numpy_val1 = np.asarray(
          [
              numpy_rng.multinomial(n=nv, pvals=pv)
              for nv, pv in zip(n_val[:-1], pvals_val[:-1])
          ]
      )
      assert np.all(val1 == numpy_val1)
  
      # Specifying the size explicitly
      g = function(
          [n, pvals], random.multinomial(n=n, pvals=pvals, size=(3,))
      )
      val2 = g(n_val, pvals_val)
      numpy_rng = np.random.RandomState(int(seed_gen.randint(2**30)))
      numpy_val2 = np.asarray(
          [
              numpy_rng.multinomial(n=nv, pvals=pv)
              for nv, pv in zip(n_val, pvals_val)
          ]
      )
      assert np.all(val2 == numpy_val2)
      self.assertRaises(ValueError, g, n_val[:-1], pvals_val[:-1])
  
imports: from __future__ import absolute_import, print_function, division
  import sys
  import unittest
  import numpy
  from theano.tensor import raw_random
  from theano.tensor.shared_randomstreams import RandomStreams
  from theano import function, shared
  from theano import tensor
  from theano import compile, config, gof
  from theano.tests import unittest_tools
label_desc: Use image node_id 27 for calling the T_SharedRandomStreams obj's underlying member method code with example usage: obj.test_multinomial_vector() without return types