diff --git a/src/sage/categories/examples/finite_dimensional_lie_algebras_with_basis.py b/src/sage/categories/examples/finite_dimensional_lie_algebras_with_basis.py index 9f221f1432e..e8db64d11a9 100644 --- a/src/sage/categories/examples/finite_dimensional_lie_algebras_with_basis.py +++ b/src/sage/categories/examples/finite_dimensional_lie_algebras_with_basis.py @@ -242,7 +242,7 @@ def basis(self): lie_algebra_generators = basis - def gens(self): + def gens(self) -> tuple: """ Return the generators of ``self``. diff --git a/src/sage/categories/finite_dimensional_modules_with_basis.py b/src/sage/categories/finite_dimensional_modules_with_basis.py index 1462073c5f2..a4d012f89b7 100644 --- a/src/sage/categories/finite_dimensional_modules_with_basis.py +++ b/src/sage/categories/finite_dimensional_modules_with_basis.py @@ -36,7 +36,7 @@ class FiniteDimensionalModulesWithBasis(CategoryWithAxiom_over_base_ring): class ParentMethods: - def gens(self): + def gens(self) -> tuple: """ Return the generators of ``self``. diff --git a/src/sage/categories/pushout.py b/src/sage/categories/pushout.py index aa2e5dc9f4f..55cd22d87dd 100644 --- a/src/sage/categories/pushout.py +++ b/src/sage/categories/pushout.py @@ -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:: diff --git a/src/sage/categories/semigroups.py b/src/sage/categories/semigroups.py index 8f2c57feeb9..7c894a03112 100644 --- a/src/sage/categories/semigroups.py +++ b/src/sage/categories/semigroups.py @@ -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``. diff --git a/src/sage/coding/linear_code_no_metric.py b/src/sage/coding/linear_code_no_metric.py index 340887789fb..2a422a2d19d 100644 --- a/src/sage/coding/linear_code_no_metric.py +++ b/src/sage/coding/linear_code_no_metric.py @@ -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. diff --git a/src/sage/combinat/colored_permutations.py b/src/sage/combinat/colored_permutations.py index 2d6a6c31aaa..6a9e5598381 100644 --- a/src/sage/combinat/colored_permutations.py +++ b/src/sage/combinat/colored_permutations.py @@ -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``. diff --git a/src/sage/combinat/free_dendriform_algebra.py b/src/sage/combinat/free_dendriform_algebra.py index fb1cb498c79..2b3ce0ae216 100644 --- a/src/sage/combinat/free_dendriform_algebra.py +++ b/src/sage/combinat/free_dendriform_algebra.py @@ -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). diff --git a/src/sage/combinat/free_prelie_algebra.py b/src/sage/combinat/free_prelie_algebra.py index cb81e811ade..88d54b1f443 100644 --- a/src/sage/combinat/free_prelie_algebra.py +++ b/src/sage/combinat/free_prelie_algebra.py @@ -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). diff --git a/src/sage/geometry/hyperplane_arrangement/arrangement.py b/src/sage/geometry/hyperplane_arrangement/arrangement.py index 7f6ad9b6843..48b77950153 100644 --- a/src/sage/geometry/hyperplane_arrangement/arrangement.py +++ b/src/sage/geometry/hyperplane_arrangement/arrangement.py @@ -3851,7 +3851,7 @@ def ngens(self): return len(self._names) @cached_method - def gens(self): + def gens(self) -> tuple: """ Return the coordinate hyperplanes. diff --git a/src/sage/geometry/linear_expression.py b/src/sage/geometry/linear_expression.py index ad2f4e83c44..547d2eeb5a3 100644 --- a/src/sage/geometry/linear_expression.py +++ b/src/sage/geometry/linear_expression.py @@ -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``. diff --git a/src/sage/geometry/toric_lattice.py b/src/sage/geometry/toric_lattice.py index 4a34a6a510e..d2816aa7287 100644 --- a/src/sage/geometry/toric_lattice.py +++ b/src/sage/geometry/toric_lattice.py @@ -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. diff --git a/src/sage/groups/abelian_gps/abelian_group.py b/src/sage/groups/abelian_gps/abelian_group.py index 97c94e26574..bbe793b3625 100644 --- a/src/sage/groups/abelian_gps/abelian_group.py +++ b/src/sage/groups/abelian_gps/abelian_group.py @@ -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. @@ -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. diff --git a/src/sage/groups/abelian_gps/dual_abelian_group.py b/src/sage/groups/abelian_gps/dual_abelian_group.py index f1a0bf1abac..4aecfd69816 100644 --- a/src/sage/groups/abelian_gps/dual_abelian_group.py +++ b/src/sage/groups/abelian_gps/dual_abelian_group.py @@ -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. diff --git a/src/sage/groups/additive_abelian/additive_abelian_group.py b/src/sage/groups/additive_abelian/additive_abelian_group.py index a856f2120fe..c0a90f0c110 100644 --- a/src/sage/groups/additive_abelian/additive_abelian_group.py +++ b/src/sage/groups/additive_abelian/additive_abelian_group.py @@ -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()``. diff --git a/src/sage/groups/cactus_group.py b/src/sage/groups/cactus_group.py index a12fbb88563..a4a6fe629b0 100644 --- a/src/sage/groups/cactus_group.py +++ b/src/sage/groups/cactus_group.py @@ -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. @@ -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``. diff --git a/src/sage/groups/kernel_subgroup.py b/src/sage/groups/kernel_subgroup.py index 605778784e4..dec7a0be573 100644 --- a/src/sage/groups/kernel_subgroup.py +++ b/src/sage/groups/kernel_subgroup.py @@ -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``. diff --git a/src/sage/groups/lie_gps/nilpotent_lie_group.py b/src/sage/groups/lie_gps/nilpotent_lie_group.py index 19bfb0e2288..1164f28e056 100644 --- a/src/sage/groups/lie_gps/nilpotent_lie_group.py +++ b/src/sage/groups/lie_gps/nilpotent_lie_group.py @@ -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. diff --git a/src/sage/groups/matrix_gps/finitely_generated.py b/src/sage/groups/matrix_gps/finitely_generated.py index ef6ba42a105..afcadc9123a 100644 --- a/src/sage/groups/matrix_gps/finitely_generated.py +++ b/src/sage/groups/matrix_gps/finitely_generated.py @@ -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. diff --git a/src/sage/groups/raag.py b/src/sage/groups/raag.py index ff7aa0ae9c2..22c44cb2312 100644 --- a/src/sage/groups/raag.py +++ b/src/sage/groups/raag.py @@ -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). diff --git a/src/sage/libs/eclib/interface.py b/src/sage/libs/eclib/interface.py index 30e286cea16..419c23cbd70 100644 --- a/src/sage/libs/eclib/interface.py +++ b/src/sage/libs/eclib/interface.py @@ -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. diff --git a/src/sage/modular/arithgroup/arithgroup_generic.py b/src/sage/modular/arithgroup/arithgroup_generic.py index a208688ee62..c647f8d0e50 100644 --- a/src/sage/modular/arithgroup/arithgroup_generic.py +++ b/src/sage/modular/arithgroup/arithgroup_generic.py @@ -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. diff --git a/src/sage/modules/fg_pid/fgp_module.py b/src/sage/modules/fg_pid/fgp_module.py index ef0af193559..cf6efb9ad8c 100644 --- a/src/sage/modules/fg_pid/fgp_module.py +++ b/src/sage/modules/fg_pid/fgp_module.py @@ -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 diff --git a/src/sage/modules/free_module.py b/src/sage/modules/free_module.py index 10343f41b95..7fe7ff4f02d 100644 --- a/src/sage/modules/free_module.py +++ b/src/sage/modules/free_module.py @@ -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): """ @@ -2532,7 +2532,7 @@ def basis(self): """ raise NotImplementedError - def gens(self): + def gens(self) -> tuple: """ Return a tuple of basis elements of ``self``. diff --git a/src/sage/modules/quotient_module.py b/src/sage/modules/quotient_module.py index 09c8b313c91..c917188b029 100644 --- a/src/sage/modules/quotient_module.py +++ b/src/sage/modules/quotient_module.py @@ -119,7 +119,7 @@ def __hash__(self): """ return self.__hash - def gens(self): + def gens(self) -> tuple: """ Return the generators of this module. @@ -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): """ diff --git a/src/sage/modules/submodule.py b/src/sage/modules/submodule.py index 8d00d4f4553..69ec72c33f7 100644 --- a/src/sage/modules/submodule.py +++ b/src/sage/modules/submodule.py @@ -194,7 +194,7 @@ def relations(self): """ return self._ambient.relations() - def gens(self): + def gens(self) -> list: """ Return the generators of this submodule. diff --git a/src/sage/modules/torsion_quadratic_module.py b/src/sage/modules/torsion_quadratic_module.py index 90d50f0e9a9..d6aea600270 100644 --- a/src/sage/modules/torsion_quadratic_module.py +++ b/src/sage/modules/torsion_quadratic_module.py @@ -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``. diff --git a/src/sage/monoids/free_abelian_monoid.py b/src/sage/monoids/free_abelian_monoid.py index 6d1b69b59bb..a4b2465386b 100644 --- a/src/sage/monoids/free_abelian_monoid.py +++ b/src/sage/monoids/free_abelian_monoid.py @@ -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``. @@ -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): """ diff --git a/src/sage/monoids/monoid.py b/src/sage/monoids/monoid.py index 31e6c219f89..7af83b5fe4b 100644 --- a/src/sage/monoids/monoid.py +++ b/src/sage/monoids/monoid.py @@ -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:: @@ -60,7 +60,7 @@ def gens(self): def monoid_generators(self): r""" - Returns the generators for ``self``. + Return the generators for ``self``. EXAMPLES:: diff --git a/src/sage/quadratic_forms/bqf_class_group.py b/src/sage/quadratic_forms/bqf_class_group.py index cd226093eba..6d3aefed881 100644 --- a/src/sage/quadratic_forms/bqf_class_group.py +++ b/src/sage/quadratic_forms/bqf_class_group.py @@ -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. diff --git a/src/sage/quivers/algebra.py b/src/sage/quivers/algebra.py index fee19eb7e93..98e05593177 100644 --- a/src/sage/quivers/algebra.py +++ b/src/sage/quivers/algebra.py @@ -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. @@ -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). diff --git a/src/sage/quivers/path_semigroup.py b/src/sage/quivers/path_semigroup.py index 85aea6517d0..42ff7b0698e 100644 --- a/src/sage/quivers/path_semigroup.py +++ b/src/sage/quivers/path_semigroup.py @@ -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. @@ -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.