diff --git a/spherogram_src/codecs/DT.py b/spherogram_src/codecs/DT.py index f2264c9..35b5380 100644 --- a/spherogram_src/codecs/DT.py +++ b/spherogram_src/codecs/DT.py @@ -293,9 +293,8 @@ def marked_arc(self, vertex): raise ValueError('Marked graph has a dead end at %s.' % V) if len(edges) > 1: break - else: - vertices.add(V) - edge = edges.pop() + vertices.add(V) + edge = edges.pop() left_path.reverse() return left_path + right_path @@ -755,10 +754,9 @@ def find_circle(self, first_edge): if vertex in seen: edges.append(edge) break - else: - seen.add(vertex) - vertices.append(vertex) - edges.append(edge) + seen.add(vertex) + vertices.append(vertex) + edges.append(edge) n = vertices.index(vertex) edges = edges[n:] vertices = vertices[n:] diff --git a/spherogram_src/links/alexander.py b/spherogram_src/links/alexander.py index 5d55e3e..16a2635 100644 --- a/spherogram_src/links/alexander.py +++ b/spherogram_src/links/alexander.py @@ -96,8 +96,7 @@ def strand_matrix_merge(A, a, b): A[:, i] = phi + alpha * psi / mu A[i, i] = gamma + alpha * delta / mu A = A.delete_rows([j]) - A = A.delete_columns([j]) - return A + return A.delete_columns([j]) def test_meta_associativity(): diff --git a/spherogram_src/links/invariants.py b/spherogram_src/links/invariants.py index 57e0f3f..ef972e8 100644 --- a/spherogram_src/links/invariants.py +++ b/spherogram_src/links/invariants.py @@ -58,15 +58,14 @@ def normalize_alex_poly(p, t): p = p * (ti**(-min_exp)) R = p.parent() - p = R.polynomial_ring()(p) - return p + return R.polynomial_ring()(p) def sage_braid_as_int_word(braid): """ Convert a Sage Braid to a word. """ - # Could simplify using braid.Tietze(). + # TODO : Could simplify using braid.Tietze(). G = braid.parent() gen_idx = {g: i + 1 for i, g in enumerate(G.gens())} @@ -144,10 +143,10 @@ def knot_group(self): Returns a finitely presented group:: - sage: K = Link('3_1') - sage: G = K.knot_group() - sage: type(G) - + sage: K = Link('3_1') + sage: G = K.knot_group() + sage: type(G) + """ n = len(self.crossings) F = FreeGroup(n) diff --git a/spherogram_src/links/links_base.py b/spherogram_src/links/links_base.py index 9fe9339..e34a650 100644 --- a/spherogram_src/links/links_base.py +++ b/spherogram_src/links/links_base.py @@ -278,10 +278,10 @@ def other(self): other = nonzero_entry_point if self.strand_index == 0 else 0 return CrossingEntryPoint(self.crossing, other) - def is_under_crossing(self): + def is_under_crossing(self) -> bool: return self.strand_index == 0 - def is_over_crossing(self): + def is_over_crossing(self) -> bool: return self.strand_index != 0 def component(self): @@ -290,8 +290,7 @@ def component(self): next = ans[-1].next() if next == self: break - else: - ans.append(next) + ans.append(next) return ans @@ -506,16 +505,15 @@ def __init__(self, crossings=None, braid_closure=None, check_planarity=True, bui # This is a second Strand in the same component # with the same component_idx, which is OK break - elif component_perm[idx] is None: + if component_perm[idx] is None: if i not in unused_comps: raise ValueError("Two Strand objects in the same component" " have different component_idx values") component_perm[idx] = i unused_comps.remove(i) break - else: - raise ValueError("Two Strand objects in different components" - " have the same component_idx values") + raise ValueError("Two Strand objects in different components" + " have the same component_idx values") else: raise Exception() # This should not happen for i in range(len(self.link_components)): @@ -1008,9 +1006,8 @@ def faces(self): if next == cs0: faces.append(face) break - else: - corners.remove(next) - face.append(next) + corners.remove(next) + face.append(next) return faces @@ -1338,8 +1335,7 @@ def linking_number(self): for i, m in enumerate(tally): if m == 1: n += (self.crossings)[i].sign - n = n / 4 - return n + return n / 4 # should it be n // 4 ? def _pieces(self): """ diff --git a/spherogram_src/links/orthogonal.py b/spherogram_src/links/orthogonal.py index 6dcb880..3b21206 100644 --- a/spherogram_src/links/orthogonal.py +++ b/spherogram_src/links/orthogonal.py @@ -131,15 +131,14 @@ def __init__(self, graph, edge_and_vertex): vertex = edge(vertex) if self[0] == (edge, vertex): break - else: - self.append((edge, vertex)) + self.append((edge, vertex)) self._add_turns() def _add_turns(self): self.turns = turns = [] for i, (e0, v0) in enumerate(self): - (e1, v1) = self[i + 1] + e1, v1 = self[i + 1] if e0.kind == e1.kind: turns.append(0) else: diff --git a/spherogram_src/links/random_links.py b/spherogram_src/links/random_links.py index 507d4f3..9670ce1 100644 --- a/spherogram_src/links/random_links.py +++ b/spherogram_src/links/random_links.py @@ -190,8 +190,7 @@ def random_link(crossings, # Adjust the currently random crossings to match the request if alternating: - link = link.alternating() - return link + return link.alternating() if consistent_twist_regions: twist.make_twist_regions_consistent(link) diff --git a/spherogram_src/links/seifert.py b/spherogram_src/links/seifert.py index 366d2be..182923e 100644 --- a/spherogram_src/links/seifert.py +++ b/spherogram_src/links/seifert.py @@ -134,8 +134,8 @@ def remove_admissible_move(link): reverse_type_II(link, cs1, cs2, label1, label2) link._rebuild(same_components_and_orientations=True) break - else: - found_move = False + + found_move = False return found_move @@ -149,7 +149,7 @@ def isotope_to_braid(link): pass -def is_chain(tree): +def is_chain(tree) -> bool: tails = [e[0] for e in tree] heads = [e[1] for e in tree] return len(set(tails)) == len(tails) and len(set(heads)) == len(heads) diff --git a/spherogram_src/links/simplify.py b/spherogram_src/links/simplify.py index f1da16c..97611d3 100644 --- a/spherogram_src/links/simplify.py +++ b/spherogram_src/links/simplify.py @@ -76,20 +76,20 @@ def reidemeister_I_and_II(link, A): eliminated, changed = reidemeister_I(link, B) if eliminated: break - else: - W, w = A.adjacent[a + 2] - X, x = A.adjacent[a + 3] - Y, y = B.adjacent[b + 1] - Z, z = B.adjacent[b + 2] - eliminated = {A, B} - if W != B: - W[w] = Z[z] - changed.update({W, Z}) - if X != B: - X[x] = Y[y] - changed.update({X, Y}) - remove_crossings(link, eliminated) - break + + W, w = A.adjacent[a + 2] + X, x = A.adjacent[a + 3] + Y, y = B.adjacent[b + 1] + Z, z = B.adjacent[b + 2] + eliminated = {A, B} + if W != B: + W[w] = Z[z] + changed.update({W, Z}) + if X != B: + X[x] = Y[y] + changed.update({X, Y}) + remove_crossings(link, eliminated) + break return eliminated, changed @@ -276,10 +276,9 @@ def dual_graph_as_nx(link): if next == face[0]: faces.append(Face(face, count)) break - else: - to_face_index[next] = count - corners.remove(next) - face.append(next) + to_face_index[next] = count + corners.remove(next) + face.append(next) G = nx.Graph() to_face = {edge: faces[f] for edge, f in to_face_index.items()}