Subset#

class libcasm.group.Subset(
self: Subset,
group: GenericGroup,
indices: collections.abc.Set[SupportsInt | SupportsIndex] | None = None,
)#

Bases: pybind11_object

Data structure specifying a subset of group elements, as indices, which may or may not form a subgroup.

Constructor

Parameters:
  • group (GenericGroup) – The group this subset is part of. Must be the head group.

  • indices (Optional[list[int]] = None) – Indices of the elements in the group forming the subset. If None, all elements in the group are included.

Methods

all_subgroup_generators(…)

Return a list of subgroup generators for each subgroup

all_subgroup_orbits(…)

Return a list of subgroup orbits

all_subgroups(…)

Return all subgroups of this subset

close(…)

Extend this subset to be the closure under group multiplication and return the result

cyclic_generators(…)

Return the generators of the cyclic_subgroups for this subset.

cyclic_subgroup_orbits(…)

Return a list of cyclic subgroup orbits

cyclic_subgroups(…)

Return a list of the unique cyclic subgroups (each as a Subset).

extend(…)

Extend this subset by adding indices from other and return the result.

extend_and_close(…)

Extend this subset with other then close under multiplication and return the result.

from_generators(…)

Construct a subset from subgroup generators

is_proper_subset_of(…)

Return True if this subset is a proper subset of other.

is_subset_of(…)

Return True if this subset is a subset of other (allowing equality).

left_cosets(…)

Return a list of left cosets of this subset.

maximal_cyclic_generators(…)

Return the generators of the maximal_cyclic_subgroups for this subset.

maximal_cyclic_subgroup_orbits(…)

Return a list of maximal cyclic subgroup orbits

maximal_cyclic_subgroups(…)

Return a list of maximal cyclic subgroups (each as a Subset).

minimal_generators(…)

Return a minimal set of generators for this subset.

right_cosets(…)

Return a list of right cosets of this subset.

Attributes

group

The head group this subset belongs to.

indices

The indices of elements in the head group that form this subset.

is_abelian_group

Return True if the subset is an abelian group (a commutative group where a*b == b*a for all a, b in the subset).

is_group

Return True if the subset is closed under multiplication and inverses.

is_normal

Return True if the subset is normal (invariant under conjugation).

is_simple_group

Return True if this subset is a simple group