Skip to content

Commit

Permalink
gh-37258: add type annotations to gens methods
Browse files Browse the repository at this point in the history
    
This is adding type annotations to many `gens` methods.

This will help to make them all return `tuple` later.

### 📝 Checklist

- [x] The title is concise, informative, and self-explanatory.
- [x] The description explains in detail what this PR is about.
    
URL: #37258
Reported by: Frédéric Chapoton
Reviewer(s): Matthias Köppe
  • Loading branch information
Release Manager committed Feb 11, 2024
2 parents df5e77e + b63a2e8 commit 5f9ac40
Show file tree
Hide file tree
Showing 31 changed files with 41 additions and 41 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,7 @@ def basis(self):

lie_algebra_generators = basis

def gens(self):
def gens(self) -> tuple:
"""
Return the generators of ``self``.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ class FiniteDimensionalModulesWithBasis(CategoryWithAxiom_over_base_ring):

class ParentMethods:

def gens(self):
def gens(self) -> tuple:
"""
Return the generators of ``self``.
Expand Down
2 changes: 1 addition & 1 deletion src/sage/categories/pushout.py
Original file line number Diff line number Diff line change
Expand Up @@ -3797,7 +3797,7 @@ def __call__(self, R):
return PermutationGroup([g for g in (R.gens() + self.gens()) if not g.is_one()],
domain=self._domain)

def gens(self):
def gens(self) -> tuple:
"""
EXAMPLES::
Expand Down
2 changes: 1 addition & 1 deletion src/sage/categories/semigroups.py
Original file line number Diff line number Diff line change
Expand Up @@ -906,7 +906,7 @@ def algebra_generators(self):
# gens / monoid/group/*_generators, these methods could possibly
# be removed in favor of aliases gens -> xxx_generators in
# the Algebras.FinitelyGenerated hierarchy
def gens(self):
def gens(self) -> tuple:
r"""
Return the generators of ``self``.
Expand Down
2 changes: 1 addition & 1 deletion src/sage/coding/linear_code_no_metric.py
Original file line number Diff line number Diff line change
Expand Up @@ -373,7 +373,7 @@ def rate(self):
return self.dimension() / self.length()

@cached_method
def gens(self):
def gens(self) -> list:
r"""
Return the generators of this code as a list of vectors.
Expand Down
2 changes: 1 addition & 1 deletion src/sage/combinat/colored_permutations.py
Original file line number Diff line number Diff line change
Expand Up @@ -651,7 +651,7 @@ def _inverse_simple_reflections(self):
return {i: ~s[i] for i in self.index_set()}

@cached_method
def gens(self):
def gens(self) -> tuple:
"""
Return the generators of ``self``.
Expand Down
2 changes: 1 addition & 1 deletion src/sage/combinat/free_dendriform_algebra.py
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,7 @@ def change_ring(self, R):
"""
return FreeDendriformAlgebra(R, names=self.variable_names())

def gens(self):
def gens(self) -> tuple:
"""
Return the generators of ``self`` (as an algebra).
Expand Down
2 changes: 1 addition & 1 deletion src/sage/combinat/free_prelie_algebra.py
Original file line number Diff line number Diff line change
Expand Up @@ -348,7 +348,7 @@ def change_ring(self, R):
"""
return FreePreLieAlgebra(R, names=self.variable_names())

def gens(self):
def gens(self) -> tuple:
"""
Return the generators of ``self`` (as an algebra).
Expand Down
2 changes: 1 addition & 1 deletion src/sage/geometry/hyperplane_arrangement/arrangement.py
Original file line number Diff line number Diff line change
Expand Up @@ -3851,7 +3851,7 @@ def ngens(self):
return len(self._names)

@cached_method
def gens(self):
def gens(self) -> tuple:
"""
Return the coordinate hyperplanes.
Expand Down
2 changes: 1 addition & 1 deletion src/sage/geometry/linear_expression.py
Original file line number Diff line number Diff line change
Expand Up @@ -534,7 +534,7 @@ def ngens(self):
return len(self._names)

@cached_method
def gens(self):
def gens(self) -> tuple:
"""
Return the generators of ``self``.
Expand Down
2 changes: 1 addition & 1 deletion src/sage/geometry/toric_lattice.py
Original file line number Diff line number Diff line change
Expand Up @@ -1511,7 +1511,7 @@ def __init__(self, V, W, check=True, positive_point=None, positive_dual_point=No
raise ValueError('You may not specify both positive_point and positive_dual_point.')
self._flip_sign_of_generator = (scalar_product < 0)

def gens(self):
def gens(self) -> tuple:
"""
Return the generators of the quotient.
Expand Down
4 changes: 2 additions & 2 deletions src/sage/groups/abelian_gps/abelian_group.py
Original file line number Diff line number Diff line change
Expand Up @@ -928,7 +928,7 @@ def gen(self, i=0):
x[i] = 1
return self.element_class(self, x)

def gens(self):
def gens(self) -> tuple:
"""
Return the generators of the group.
Expand Down Expand Up @@ -1875,7 +1875,7 @@ def _repr_(self):
s += '{' + ', '.join(map(str, self.gens())) + '}'
return s

def gens(self):
def gens(self) -> tuple:
"""
Return the generators for this subgroup.
Expand Down
2 changes: 1 addition & 1 deletion src/sage/groups/abelian_gps/dual_abelian_group.py
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@ def gen(self, i=0):
x[i] = 1
return self.element_class(self, x)

def gens(self):
def gens(self) -> tuple:
"""
Return the generators for the group.
Expand Down
2 changes: 1 addition & 1 deletion src/sage/groups/additive_abelian/additive_abelian_group.py
Original file line number Diff line number Diff line change
Expand Up @@ -416,7 +416,7 @@ def __init__(self, cover, rels, gens):
AdditiveAbelianGroup_class.__init__(self, cover, rels)
self._orig_gens = tuple(self(x) for x in gens)

def gens(self):
def gens(self) -> tuple:
r"""
Return the specified generators for self (as a tuple). Compare
``self.smithform_gens()``.
Expand Down
4 changes: 2 additions & 2 deletions src/sage/groups/cactus_group.py
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ def group_generators(self):
return Family(l, lambda x: self.element_class(self, [x]))

@cached_method
def gens(self):
def gens(self) -> tuple:
"""
Return the generators of ``self`` as a tuple.
Expand Down Expand Up @@ -943,7 +943,7 @@ def gen(self, i):
return self.gens()[i]

@cached_method
def gens(self):
def gens(self) -> tuple:
r"""
Return the generators of ``self``.
Expand Down
2 changes: 1 addition & 1 deletion src/sage/groups/kernel_subgroup.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ def _repr_(self):
"""
return "Kernel subgroup defined by {}".format(self._morphism)

def gens(self):
def gens(self) -> tuple:
r"""
Return the generators of ``self``.
Expand Down
2 changes: 1 addition & 1 deletion src/sage/groups/lie_gps/nilpotent_lie_group.py
Original file line number Diff line number Diff line change
Expand Up @@ -310,7 +310,7 @@ def _dRx(self):
return R_a.differential(self.one()).matrix().subs(asubs)

@cached_method
def gens(self):
def gens(self) -> tuple:
r"""
Return a tuple of elements whose one-parameter subgroups generate
the Lie group.
Expand Down
2 changes: 1 addition & 1 deletion src/sage/groups/matrix_gps/finitely_generated.py
Original file line number Diff line number Diff line change
Expand Up @@ -377,7 +377,7 @@ def __init__(self, degree, base_ring, generator_matrices, category=None):
MatrixGroup_generic.__init__(self, degree, base_ring, category=category)

@cached_method
def gens(self):
def gens(self) -> tuple:
"""
Return the generators of the matrix group.
Expand Down
2 changes: 1 addition & 1 deletion src/sage/groups/raag.py
Original file line number Diff line number Diff line change
Expand Up @@ -817,7 +817,7 @@ def algebra_generators(self):
from sage.sets.family import Family
return Family(V, lambda x: d[x])

def gens(self):
def gens(self) -> tuple:
r"""
Return the generators of ``self`` (as an algebra).
Expand Down
2 changes: 1 addition & 1 deletion src/sage/libs/eclib/interface.py
Original file line number Diff line number Diff line change
Expand Up @@ -569,7 +569,7 @@ def saturate(self, bound=-1, lower=2):
self.__two_descent_data().saturate(bound, lower)
self.__saturate = bound

def gens(self):
def gens(self) -> list:
"""
Return a list of the generators for the Mordell-Weil group.
Expand Down
2 changes: 1 addition & 1 deletion src/sage/modular/arithgroup/arithgroup_generic.py
Original file line number Diff line number Diff line change
Expand Up @@ -1028,7 +1028,7 @@ def generators(self, algorithm="farey"):
else:
raise ValueError("Unknown algorithm '%s' (should be either 'farey' or 'todd-coxeter')" % algorithm)

def gens(self, *args, **kwds):
def gens(self, *args, **kwds) -> tuple:
r"""
Return a tuple of generators for this congruence subgroup.
Expand Down
2 changes: 1 addition & 1 deletion src/sage/modules/fg_pid/fgp_module.py
Original file line number Diff line number Diff line change
Expand Up @@ -1017,7 +1017,7 @@ def invariants(self, include_ones=False):
self.invariants.set_cache(w, False)
return self.invariants(include_ones)

def gens(self):
def gens(self) -> tuple:
"""
Return tuple of elements `g_0,...,g_n` of ``self`` such that the module generated by
the `g_i` is isomorphic to the direct sum of `R/e_i R`, where `e_i` are the
Expand Down
4 changes: 2 additions & 2 deletions src/sage/modules/free_module.py
Original file line number Diff line number Diff line change
Expand Up @@ -2515,7 +2515,7 @@ def cardinality(self):
return sage.rings.integer.Integer(1)
return self.base_ring().cardinality() ** self.rank()

__len__ = cardinality # for backward compatibility
__len__ = cardinality # for backward compatibility

def basis(self):
"""
Expand All @@ -2532,7 +2532,7 @@ def basis(self):
"""
raise NotImplementedError

def gens(self):
def gens(self) -> tuple:
"""
Return a tuple of basis elements of ``self``.
Expand Down
4 changes: 2 additions & 2 deletions src/sage/modules/quotient_module.py
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ def __hash__(self):
"""
return self.__hash

def gens(self):
def gens(self) -> tuple:
"""
Return the generators of this module.
Expand All @@ -132,7 +132,7 @@ def gens(self):
sage: Q.gens()
((1, 0), (0, 1))
"""
return tuple([self(list(g)) for g in self._module.gens()])
return tuple(self(list(g)) for g in self._module.gens())

def gen(self, i=0):
"""
Expand Down
2 changes: 1 addition & 1 deletion src/sage/modules/submodule.py
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ def relations(self):
"""
return self._ambient.relations()

def gens(self):
def gens(self) -> list:
"""
Return the generators of this submodule.
Expand Down
2 changes: 1 addition & 1 deletion src/sage/modules/torsion_quadratic_module.py
Original file line number Diff line number Diff line change
Expand Up @@ -520,7 +520,7 @@ def gram_matrix_quadratic(self):
G[i, i] = gens[i].q().lift()
return G

def gens(self):
def gens(self) -> tuple:
r"""
Return generators of ``self``.
Expand Down
6 changes: 3 additions & 3 deletions src/sage/monoids/free_abelian_monoid.py
Original file line number Diff line number Diff line change
Expand Up @@ -265,12 +265,12 @@ def gen(self, i=0):
n = self.__ngens
if i < 0 or not i < n:
raise IndexError(f"argument i (= {i}) must be between 0 and {n-1}")
x = [ 0 for j in range(n) ]
x = [0 for j in range(n)]
x[int(i)] = 1
return self.element_class(self, x)

@cached_method
def gens(self):
def gens(self) -> tuple:
"""
Return the generators of ``self``.
Expand All @@ -280,7 +280,7 @@ def gens(self):
sage: F.gens()
(a0, a1, a2, a3, a4)
"""
return tuple([self.gen(i) for i in range(self.__ngens)])
return tuple(self.gen(i) for i in range(self.__ngens))

def ngens(self):
"""
Expand Down
6 changes: 3 additions & 3 deletions src/sage/monoids/monoid.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,9 @@ def __init__(self, names):
Parent.__init__(self, base=self, names=names, category=category)

@cached_method
def gens(self):
def gens(self) -> tuple:
r"""
Returns the generators for ``self``.
Return the generators for ``self``.
EXAMPLES::
Expand All @@ -60,7 +60,7 @@ def gens(self):

def monoid_generators(self):
r"""
Returns the generators for ``self``.
Return the generators for ``self``.
EXAMPLES::
Expand Down
2 changes: 1 addition & 1 deletion src/sage/quadratic_forms/bqf_class_group.py
Original file line number Diff line number Diff line change
Expand Up @@ -314,7 +314,7 @@ def abelian_group(self):
gens = [BinaryQF(g) for g in gens]
return AdditiveAbelianGroupWrapper(self, gens, ords)

def gens(self):
def gens(self) -> list:
r"""
Return a generating set of this form class group.
Expand Down
4 changes: 2 additions & 2 deletions src/sage/quivers/algebra.py
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ def __init__(self, k, P, order="negdegrevlex"):
bracket=False)
self._assign_names(self._semigroup.variable_names())

def order_string(self):
def order_string(self) -> str:
"""
Return the string that defines the monomial order of this algebra.
Expand All @@ -195,7 +195,7 @@ def order_string(self):
return self._ordstr

@cached_method
def gens(self):
def gens(self) -> tuple:
"""
Return the generators of this algebra (idempotents and arrows).
Expand Down
4 changes: 2 additions & 2 deletions src/sage/quivers/path_semigroup.py
Original file line number Diff line number Diff line change
Expand Up @@ -468,7 +468,7 @@ def gen(self, i):
return self.gens()[i]

@cached_method
def gens(self):
def gens(self) -> tuple:
"""
Return the tuple of generators.
Expand All @@ -487,7 +487,7 @@ def gens(self):
"""
return self.idempotents() + self.arrows()

def is_finite(self):
def is_finite(self) -> bool:
"""
This partial semigroup is finite if and only if the underlying
quiver is acyclic.
Expand Down

0 comments on commit 5f9ac40

Please sign in to comment.