def is_complete(self): r""" Return whether that all winners appear. EXAMPLES:: sage: from surface_dynamics import iet sage: p = iet.Permutation('a b c d e f', 'f e d c b a') sage: q = p.rauzy_move('t').rauzy_move('b').rauzy_move('t') sage: f = iet.FlipSequence(q, ['t', 't', 'b', 'b', 'b', 't', 'b', 't'], ....: top_bottom_inverse=True, ....: left_right_inverse=True) sage: f.close() sage: f.is_complete() True """ if not self._start == self._end: raise ValueError('not a loop') n = len(self._start) moved = set() for p, winner, side in self: moved.update(perm_orbit(self._relabelling, p._labels[winner][side])) if len(moved) == n: return True return False
def face_orbit(self, i): r""" Return the orbit of ``i`` under the permutation associated to faces. """ if self._active_darts[i]: return perm_orbit(self._faces,i) return None
def face_orbit(self, i): r""" Return the orbit of ``i`` under the permutation associated to faces. """ if self._active_darts[i]: return perm_orbit(self._faces,i) return None
def edge_orbit(self, i): r""" Return the orbit of the dart ``i`` under the permutation that defines the edges. """ if self._active_darts[i]: return perm_orbit(self._edges,i) return None
def vertex_orbit(self, i): r""" Return the orbit of ``i`` under the permutation that define the vertices. """ if self._active_darts[i]: return perm_orbit(self._vertices,i) return None
def edge_orbit(self, i): r""" Return the orbit of the dart ``i`` under the permutation that defines the edges. """ if self._active_darts[i]: return perm_orbit(self._edges,i) return None
def vertex_orbit(self, i): r""" Return the orbit of ``i`` under the permutation that define the vertices. """ if self._active_darts[i]: return perm_orbit(self._vertices,i) return None