class_docstr: Represents a basic subset object.
  
  Explanation
  ===========
  
  We generate subsets using essentially two techniques,
  binary enumeration and lexicographic enumeration.
  The Subset class takes two arguments, the first one
  describes the initial subset to consider and the second
  describes the superset.
  
  Examples
  ========
  
  >>> from sympy.combinatorics import Subset
  >>> a = Subset(['c', 'd'], ['a', 'b', 'c', 'd'])
  >>> a.next_binary().subset
  ['b']
  >>> a.prev_binary().subset
  ['c']
class_docstr_tok: ["Represents","a","basic","subset","object",".","Explanation","===========","We","generate","subsets","using","essentially","two","techniques",",","binary","enumeration","and","lexicographic","enumeration",".","The","Subset","class","takes","two","arguments",",","the","first","one","describes","the","initial","subset","to","consider","and","the","second","describes","the","superset",".","Examples","========",">",">",">","from","sympy.combinatorics","import","Subset",">",">",">","a","=","Subset","(","[","'","c","'",",","'d","'","]",",","[","'","a","'",",","'","b","'",",","'","c","'",",","'d","'","]",")",">",">",">","a.next_binary","(",")",".subset","[","'","b","'","]",">",">",">","a.prev_binary","(",")",".subset","[","'","c","'","]"]
docstr: This is a helper function. It iterates over the
  binary subsets by ``k`` steps. This variable can be
  both positive or negative.
  
  Examples
  ========
  
  >>> from sympy.combinatorics import Subset
  >>> a = Subset(['c', 'd'], ['a', 'b', 'c', 'd'])
  >>> a.iterate_binary(-2).subset
  ['d']
  >>> a = Subset(['a', 'b', 'c'], ['a', 'b', 'c', 'd'])
  >>> a.iterate_binary(2).subset
  []
  
  See Also
  ========
  
  next_binary, prev_binary
docstr_tok: ["This","is","a","helper","function",".","It","iterates","over","the","binary","subsets","by","``","k","``","steps",".","This","variable","can","be","both","positive","or","negative",".","Examples","========",">",">",">","from","sympy.combinatorics","import","Subset",">",">",">","a","=","Subset","(","[","'","c","'",",","'d","'","]",",","[","'","a","'",",","'","b","'",",","'","c","'",",","'d","'","]",")",">",">",">","a.iterate_binary","(","-2",")",".subset","[","'d","'","]",">",">",">","a","=","Subset","(","[","'","a","'",",","'","b","'",",","'","c","'","]",",","[","'","a","'",",","'","b","'",",","'","c","'",",","'d","'","]",")",">",">",">","a.iterate_binary","(","2",")",".subset","[","]","See","Also","========","next_binary",",","prev_binary"]
code: def iterate_binary(self, k):
      """
      This is a helper function. It iterates over the
      binary subsets by ``k`` steps. This variable can be
      both positive or negative.
  
      Examples
      ========
  
      >>> from sympy.combinatorics import Subset
      >>> a = Subset(['c', 'd'], ['a', 'b', 'c', 'd'])
      >>> a.iterate_binary(-2).subset
      ['d']
      >>> a = Subset(['a', 'b', 'c'], ['a', 'b', 'c', 'd'])
      >>> a.iterate_binary(2).subset
      []
  
      See Also
      ========
  
      next_binary, prev_binary
      """
      bin_list = Subset.bitlist_from_subset(self.subset, self.superset)
      n = (int("".join(bin_list), 2) + k) % 2**self.superset_size
      bits = bin(n)[2:].rjust(self.superset_size, "0")
      return Subset.subset_from_bitlist(self.superset, bits)
  
imports: from itertools import combinations
  from sympy.combinatorics.graycode import GrayCode
label_desc: Use image node_id 3 for calling the Subset obj's underlying member method code with example usage: obj.iterate_binary(k) and returns: Subset