Skip to content

Commit 9e99cb2

Browse files
author
Release Manager
committed
gh-40123: adding typing annotations on many has_* methods so that we know they return bool ### 📝 Checklist - [x] The title is concise and informative. - [x] The description explains in detail what this PR is about. URL: #40123 Reported by: Frédéric Chapoton Reviewer(s): Travis Scrimshaw
2 parents 9a75586 + 7707f05 commit 9e99cb2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+89
-91
lines changed

src/sage/algebras/affine_nil_temperley_lieb.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ def product_on_basis(self, w, w1):
212212
return self.monomial(w)
213213

214214
@cached_method
215-
def has_no_braid_relation(self, w, i):
215+
def has_no_braid_relation(self, w, i) -> bool:
216216
"""
217217
Assuming that `w` contains no relations of the form `s_i^2` or `s_i s_{i+1} s_i` or
218218
`s_i s_{i-1} s_i`, tests whether `w s_i` contains terms of this form.
@@ -239,10 +239,7 @@ def has_no_braid_relation(self, w, i):
239239
(i + 1) % w.parent().n]
240240
for j in adjacent:
241241
if j in w.descents():
242-
if j in wi.descents():
243-
return False
244-
else:
245-
return True
242+
return j not in wi.descents()
246243
return self.has_no_braid_relation(w * s[w.first_descent()], i)
247244

248245
def _repr_term(self, t, short_display=True):

src/sage/categories/algebras.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ def characteristic(self):
159159
"""
160160
return self.base_ring().characteristic()
161161

162-
def has_standard_involution(self):
162+
def has_standard_involution(self) -> bool:
163163
r"""
164164
Return ``True`` if the algebra has a standard involution and ``False`` otherwise.
165165

src/sage/categories/coxeter_groups.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1427,7 +1427,7 @@ def _test_coxeter_relations(self, **options):
14271427
tester.assertNotEqual(l**p, one, "unexpected relation")
14281428

14291429
class ElementMethods:
1430-
def has_descent(self, i, side='right', positive=False):
1430+
def has_descent(self, i, side='right', positive=False) -> bool:
14311431
"""
14321432
Return whether `i` is a (left/right) descent of ``self``.
14331433
@@ -1459,7 +1459,7 @@ def has_descent(self, i, side='right', positive=False):
14591459
return self.has_left_descent(i) != positive
14601460

14611461
# @abstract_method(optional = True)
1462-
def has_right_descent(self, i):
1462+
def has_right_descent(self, i) -> bool:
14631463
"""
14641464
Return whether `i` is a right descent of ``self``.
14651465
@@ -1478,7 +1478,7 @@ def has_right_descent(self, i):
14781478
"""
14791479
return (~self).has_left_descent(i)
14801480

1481-
def has_left_descent(self, i):
1481+
def has_left_descent(self, i) -> bool:
14821482
"""
14831483
Return whether `i` is a left descent of ``self``.
14841484
@@ -1820,7 +1820,7 @@ def support(self):
18201820
"""
18211821
return set(self.reduced_word())
18221822

1823-
def has_full_support(self):
1823+
def has_full_support(self) -> bool:
18241824
r"""
18251825
Return whether ``self`` has full support.
18261826

src/sage/categories/examples/finite_coxeter_groups.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ class Element(ElementWrapper):
185185
wrapped_class = tuple
186186
__lt__ = ElementWrapper._lt_by_value
187187

188-
def has_right_descent(self, i, positive=False, side='right'):
188+
def has_right_descent(self, i, positive=False, side='right') -> bool:
189189
r"""
190190
Implement :meth:`SemiGroups.ElementMethods.has_right_descent`.
191191

src/sage/categories/examples/finite_weyl_groups.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ def degrees(self):
173173

174174
class Element(ElementWrapper):
175175

176-
def has_right_descent(self, i):
176+
def has_right_descent(self, i) -> bool:
177177
"""
178178
Implement :meth:`CoxeterGroups.ElementMethods.has_right_descent`.
179179
@@ -185,7 +185,7 @@ def has_right_descent(self, i):
185185
True
186186
sage: S._test_has_descent()
187187
"""
188-
return (self.value[i] > self.value[i+1])
188+
return (self.value[i] > self.value[i + 1])
189189

190190

191191
Example = SymmetricGroup

src/sage/combinat/colored_permutations.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ def to_matrix(self):
276276
D = diagonal_matrix(Cp, [g ** i for i in self._colors])
277277
return self._perm.to_matrix() * D
278278

279-
def has_left_descent(self, i):
279+
def has_left_descent(self, i) -> bool:
280280
r"""
281281
Return ``True`` if ``i`` is a left descent of ``self``.
282282
@@ -1431,7 +1431,7 @@ def to_matrix(self):
14311431
"""
14321432
return self._perm.to_matrix() * diagonal_matrix(self._colors)
14331433

1434-
def has_left_descent(self, i):
1434+
def has_left_descent(self, i) -> bool:
14351435
"""
14361436
Return ``True`` if ``i`` is a left descent of ``self``.
14371437

src/sage/combinat/fully_commutative_elements.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -373,12 +373,12 @@ def find_descent(self, s, side='left'):
373373
"""
374374
m = self.parent().coxeter_group().coxeter_matrix()
375375
view = list(self) if side == 'left' else self[::-1]
376-
for (i, t) in enumerate(view):
376+
for i, t in enumerate(view):
377377
if t == s and not any(m[x, t] > 2 for x in view[:i]):
378378
return i
379379
return None
380380

381-
def has_descent(self, s, side='left'):
381+
def has_descent(self, s, side='left') -> bool:
382382
r"""
383383
Determine if ``s`` is a descent on the appropriate side of ``self``.
384384

src/sage/combinat/permutation.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7860,7 +7860,7 @@ def reflection(self, i):
78607860
return self.element_class(self, data, check=False)
78617861

78627862
class Element(Permutation):
7863-
def has_left_descent(self, i):
7863+
def has_left_descent(self, i) -> bool:
78647864
r"""
78657865
Check if ``i`` is a left descent of ``self``.
78667866
@@ -7898,7 +7898,7 @@ def has_left_descent(self, i):
78987898
if val == i + 1:
78997899
return True
79007900

7901-
def has_right_descent(self, i, mult=None):
7901+
def has_right_descent(self, i, mult=None) -> bool:
79027902
r"""
79037903
Check if ``i`` is a right descent of ``self``.
79047904

src/sage/combinat/posets/posets.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3123,7 +3123,7 @@ def bottom(self):
31233123
return None
31243124
return self._vertex_to_element(hasse_bot)
31253125

3126-
def has_bottom(self):
3126+
def has_bottom(self) -> bool:
31273127
"""
31283128
Return ``True`` if the poset has a unique minimal element, and
31293129
``False`` otherwise.
@@ -3178,7 +3178,7 @@ def top(self):
31783178
return None
31793179
return self._vertex_to_element(hasse_top)
31803180

3181-
def has_top(self):
3181+
def has_top(self) -> bool:
31823182
"""
31833183
Return ``True`` if the poset has a unique maximal element, and
31843184
``False`` otherwise.

src/sage/combinat/root_system/root_lattice_realizations.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3642,7 +3642,7 @@ def reflection(self, root, use_coroot=False):
36423642
# Descents
36433643
##########################################################################
36443644

3645-
def has_descent(self, i, positive=False):
3645+
def has_descent(self, i, positive=False) -> bool:
36463646
"""
36473647
Test if ``self`` has a descent at position `i`, that is, if ``self`` is
36483648
on the strict negative side of the `i`-th simple reflection

0 commit comments

Comments
 (0)