docstr: Generate the simplicial triangulation of the N-D hypercube
  containing 2**n vertices
docstr_tok: ["Generate","the","simplicial","triangulation","of","the","N-D","hypercube","containing","2","*","*","n","vertices"]
code: def n_cube(self, dim, symmetry=False, printout=False):
      """
      Generate the simplicial triangulation of the N-D hypercube
      containing 2**n vertices
      """
      origin = list(np.zeros(dim, dtype=int))
      self.origin = origin
      supremum = list(np.ones(dim, dtype=int))
      self.supremum = supremum
  
      # tuple versions for indexing
      origintuple = tuple(origin)
      supremumtuple = tuple(supremum)
  
      x_parents = [origintuple]
  
      if symmetry:
          self.C0 = Simplex(0, 0, 0, self.dim)  # Initial cell object
          self.C0.add_vertex(self.V[origintuple])
  
          i_s = 0
          self.perm_symmetry(i_s, x_parents, origin)
          self.C0.add_vertex(self.V[supremumtuple])
      else:
          self.C0 = Cell(0, 0, origin, supremum)  # Initial cell object
          self.C0.add_vertex(self.V[origintuple])
          self.C0.add_vertex(self.V[supremumtuple])
  
          i_parents = []
          self.perm(i_parents, x_parents, origin)
  
      if printout:
          print("Initial hyper cube:")
          for v in self.C0():
              v.print_out()
  
imports: import numpy
  import copy
label_desc: Use image node_id 3 for calling the Complex obj's underlying member method code with example usage: obj.n_cube(dim, symmetry, printout) without return types