class_docstr: Module component with similar interface to numpy.random
  (numpy.random.RandomState).
  
  Parameters
  ----------
  seed : int or list of 6 int
      A default seed to initialize the random state.
      If a single int is given, it will be replicated 6 times.
      The first 3 values of the seed must all be less than M1 = 2147483647,
      and not all 0; and the last 3 values must all be less than
      M2 = 2147462579, and not all 0.
docstr: Initialize a matrix in which each row is a MRG stream state,
  and they are spaced by 2**72 samples.
docstr_tok: ["Initialize","a","matrix","in","which","each","row","is","a","MRG","stream","state",",","and","they","are","spaced","by","2","*","*","72","samples","."]
code: def get_substream_rstates(self, n_streams, dtype, inc_rstate=True):
      # TODO : need description for parameter and return
      """
      Initialize a matrix in which each row is a MRG stream state,
      and they are spaced by 2**72 samples.
  
      """
      assert isinstance(dtype, string_types)
      assert n_streams < 2**72
      assert n_streams > 0
      rval = np.zeros((n_streams, 6), dtype="int32")
      rval[0] = self.rstate
  
      # If multMatVect.dot_modulo isn't compiled, compile it.
      if multMatVect.dot_modulo is None:
          multMatVect(rval[0], A1p72, M1, A2p72, M2)
  
      # This way of calling the Theano fct is done to bypass Theano overhead.
      f = multMatVect.dot_modulo
      f.input_storage[0].storage[0] = A1p72
      f.input_storage[2].storage[0] = M1
      f.input_storage[3].storage[0] = A2p72
      f.input_storage[5].storage[0] = M2
      for i in xrange(1, n_streams):
          # Inline the following call to bypass Python overhead
          # rval[i] = ff_2p72(rval[i - 1])
          v = rval[i - 1]
          f.input_storage[1].storage[0] = v[:3]
          f.input_storage[4].storage[0] = v[3:]
          f.fn()
          rval[i] = f.output_storage[0].storage[0]
  
      if inc_rstate:
          self.inc_rstate()
  
      return rval
  
imports: from __future__ import absolute_import, print_function, division
  import warnings
  import numpy
  from six import integer_types, string_types
  from six.moves import xrange
  import theano
  from theano import Op, Apply, shared, config, Variable
  from theano import gradient, function
  from theano.gradient import undefined_grad
  from theano import tensor
  from theano.tensor import TensorType, as_tensor_variable, get_vector_length, cast, opt, scal
  from theano.compile import optdb
  from theano.gof import local_optimizer, ParamsType
  from theano.scalar import bool, int32
  from .None import multinomial
label_desc: Use image node_id 6 for calling the MRG_RandomStreams obj's underlying member method code with example usage: obj.get_substream_rstates(n_streams, dtype, inc_rstate) and returns: rval