Skip to main content

partition_into_orbits

Function partition_into_orbits 

Source
pub fn partition_into_orbits(
    models: &[Vec<bool>],
    generators: &[Perm],
) -> Vec<Vec<Vec<bool>>>
Expand description

Symmetry-aware solution counting. Partition a set of models into orbits under a generating set of automorphisms; each orbit is the full model_orbit of any of its members. The solution count is the sum of the orbit sizes, so a symmetric instance collapses to one representative per orbit — far fewer than the solutions themselves. (models should be closed under the symmetry, e.g. all models.)