FiniteGroups

class sage.categories.finite_groups.FiniteGroups(base_category)

Bases: sage.categories.category_with_axiom.CategoryWithAxiom

The category of finite (multiplicative) groups.

EXAMPLES:

sage: C = FiniteGroups(); C
Category of finite groups
sage: C.super_categories()
[Category of finite monoids, Category of groups]
sage: C.example()
General Linear Group of degree 2 over Finite Field of size 3

TESTS:

sage: TestSuite(C).run()
class Algebras(category, *args)

Bases: sage.categories.algebra_functor.AlgebrasCategory

TESTS:

sage: from sage.categories.covariant_functorial_construction import CovariantConstructionCategory
sage: class FooBars(CovariantConstructionCategory):
....:     _functor_category = "FooBars"
....:     _base_category_class = (Category,)
sage: Category.FooBars = lambda self: FooBars.category_of(self)
sage: C = FooBars(ModulesWithBasis(ZZ))
sage: C
Category of foo bars of modules with basis over Integer Ring
sage: C.base_category()
Category of modules with basis over Integer Ring
sage: latex(C)
\mathbf{FooBars}(\mathbf{ModulesWithBasis}_{\Bold{Z}})
sage: import __main__; __main__.FooBars = FooBars # Fake FooBars being defined in a python module
sage: TestSuite(C).run()
extra_super_categories()

Implement Maschke’s theorem.

In characteristic 0 all finite group algebras are semisimple.

EXAMPLES:

sage: FiniteGroups().Algebras(QQ).is_subcategory(Algebras(QQ).Semisimple())
True
sage: FiniteGroups().Algebras(FiniteField(7)).is_subcategory(Algebras(QQ).Semisimple())
False
sage: FiniteGroups().Algebras(ZZ).is_subcategory(Algebras(ZZ).Semisimple())
False
sage: FiniteGroups().Algebras(Fields()).is_subcategory(Algebras(Fields()).Semisimple())
False
class FiniteGroups.ElementMethods
class FiniteGroups.ParentMethods
cardinality()

Returns the cardinality of self, as per EnumeratedSets.ParentMethods.cardinality().

This default implementation calls order() if available, and otherwise resorts to _cardinality_from_iterator(). This is for backward compatibility only. Finite groups should override this method instead of order().

EXAMPLES:

We need to use a finite group which uses this default implementation of cardinality:

sage: R.<x> = PolynomialRing(QQ)
sage: f = x^4 - 17*x^3 - 2*x + 1
sage: G = f.galois_group(pari_group=True); G
PARI group [24, -1, 5, "S4"] of degree 4
sage: G.cardinality.__module__
'sage.categories.finite_groups'
sage: G.cardinality()
24
cayley_graph_disabled(connecting_set=None)

AUTHORS:

  • Bobby Moretti (2007-08-10)
  • Robert Miller (2008-05-01): editing
conjugacy_classes()

Return a list with all the conjugacy classes of the group.

This will eventually be a fall-back method for groups not defined over GAP. Right now just raises a NotImplementedError, until we include a non-GAP way of listing the conjugacy classes representatives.

EXAMPLES:

sage: from sage.groups.group import FiniteGroup
sage: G = FiniteGroup()
sage: G.conjugacy_classes()
Traceback (most recent call last):
...
NotImplementedError: Listing the conjugacy classes for
group <type 'sage.groups.group.FiniteGroup'> is not implemented
conjugacy_classes_representatives()

Return a list of the conjugacy classes representatives of the group.

EXAMPLES:

sage: G = SymmetricGroup(3)
sage: G.conjugacy_classes_representatives()
[(), (1,2), (1,2,3)]
monoid_generators()

Return monoid generators for self.

For finite groups, the group generators are also monoid generators. Hence, this default implementation calls group_generators().

EXAMPLES:

sage: A = AlternatingGroup(4)
sage: A.monoid_generators()
Family ((2,3,4), (1,2,3))
semigroup_generators()

Returns semigroup generators for self.

For finite groups, the group generators are also semigroup generators. Hence, this default implementation calls group_generators().

EXAMPLES:

sage: A = AlternatingGroup(4)
sage: A.semigroup_generators()
Family ((2,3,4), (1,2,3))
some_elements()

Return some elements of self.

EXAMPLES:

sage: A = AlternatingGroup(4)
sage: A.some_elements()
Family ((2,3,4), (1,2,3))
FiniteGroups.example()

Return an example of finite group, as per Category.example().

EXAMPLES:

sage: G = FiniteGroups().example(); G
General Linear Group of degree 2 over Finite Field of size 3