bsym.configuration_space

class bsym.configuration_space.ConfigurationSpace(objects, symmetry_group=None)[source]

Bases: object

enumerate_configurations(generator, verbose=False)[source]

Find all symmetry inequivalent configurations within the set produced by generator.

Parameters:
  • generator (generator) – Generator object, that yields the configurations to search through.
  • (opt (verbose) – default=False): Print verbose output.
Returns:

A list of Configuration objects, for each symmetry

inequivalent configuration.

Return type:

unique_configurations (list)

unique_colourings(colours, verbose=False)[source]

Find the symmetry inequivalent colourings for a given number of ‘colours’.

Parameters:
  • colours (list) – A list of each object that may be arranged zero or more times in this system.
  • (opt (verbose) – default=False): Print verbose output.
Returns:

A list of Configuration objects, for each symmetry

inequivalent colouring.

Return type:

unique_colours (list)

unique_configurations(site_distribution, verbose=False, show_progress=False)[source]

Find the symmetry inequivalent configurations for a given population of objects.

Parameters:
  • site_distribution (dict) –

    A dictionary that defines the number of each object to be arranged in this system.

    e.g. for a system with four sites, with two occupied (denoted 1) and two unoccupied (denoted 0):

    { 1: 2, 0: 2 }
    
  • (opt (show_progress) – default=False): Print verbose output.
  • (opt – default=False): Show a progress bar. Setting to True gives a simple progress bar. Setting to “notebook” gives a Jupyter notebook compatible progress bar.
Returns:

A list of Configuration objects, for each symmetry

inequivalent configuration.

Return type:

unique_configurations (list)

bsym.configuration_space.colourings_generator(colours, dim)[source]
bsym.configuration_space.permutation_as_config_number(p)[source]

A numeric representation of a numeric list.

Example

>>> permutation_as_config_number( [ 1, 1, 0, 0, 1 ] )
11001