Symmetric Flexible and Rigid Graphs

This module implements functionality for investigating rigidity and flexibility of graphs with a symmetry.

Methods

SymmetricFlexRiGraph

CnSymmetricFlexRiGraph

Unsorted

Cn_symmetries_gens() Return the list of generators of Cn symmetries of the graph. An element $\omega$ of order n of the automorphism group of the graph generates a $\mathcal{C}_n$-symmetry of the graph if - each partially invariant is invariant - the set of invariant vertices is independent.
cyclic_subgroups() Return all cyclic subgroups of group with given order.
edge_orbits() Return the orbits of edges.
invariant_vertices() Return the invariant vertices.
is_Cn_symmetry() Return whether sigma generates a $\mathcal{C}_n$-symmetry of the graph.
is_cyclic_subgroup() Return if a group is cyclic, a generator and order.
set_symmetric_positions() Given a dictionary of positions of one vertex from some orbits, the other vertices in the orbits are set symmetrically.
vertex_orbits() Return the orbits of vertices.

AUTHORS:

  • Jan Legerský (2020-03-12): initial version

TODO:

  • missing documentation of methods
  • missing doctests in methods
  • finish Cn-symmetry functionality (NACs, doc, classification)

WARNING:

This module is still under development!

SymmetricFlexRiGraph

class flexrilog.symmetric_flexible_rigid_graph.CnSymmetricFlexRiGraph(data, symmetry, pos=None, name=None, check=True)[source]

Bases: flexrilog.symmetric_flexible_rigid_graph.SymmetricFlexRiGraph

This class is inherited from SymmetricFlexRiGraph. It represents a graph with a given $\mathcal{C}_n$ symmetry, namely, a cyclic subgroup of order n of the automorphism group of the graph such that

  • each partially invariant is invariant
  • the set of invariant vertices is independent.

WARNING:

Only $\mathcal{C}_n$-symmetric NAC-colorings are considered in an instance of CnSymmetricFlexRiGraph for parent methods! For example, FlexRiGraph.NAC_colorings() returns the list of all $\mathcal{C}_n$-symmetric NAC-colorings of the graph.

INPUT:

  • data: provides the information about edges, see FlexRiGraph..
  • symmetrysage.graphs.graph.Graph that is a subgroup of the automorphism group of the graph or the list of its generator. The properties above must hold.

TODO:

  • examples
  • check input as list of edges
  • input only generator
static Cn_symmetries_gens(graph, n)[source]

Return the list of generators of Cn symmetries of the graph.

An element $\omega$ of order n of the automorphism group of the graph generates a $\mathcal{C}_n$-symmetry of the graph if

  • each partially invariant is invariant
  • the set of invariant vertices is independent.
NAC_colorings()[source]

Return $\mathcal{C}_n$-symmetric NAC-colorings.

static cyclic_subgroups(group, order)[source]

Return all cyclic subgroups of group with given order.

edge_orbits()[source]

Return the orbits of edges.

invariant_vertices()[source]

Return the invariant vertices.

static is_Cn_symmetry(graph, sigma, n)[source]

Return whether sigma generates a $\mathcal{C}_n$-symmetry of the graph.

static is_cyclic_subgroup(subgroup)[source]

Return if a group is cyclic, a generator and order.

set_symmetric_positions(pos)[source]

Given a dictionary of positions of one vertex from some orbits, the other vertices in the orbits are set symmetrically.

vertex_orbits()[source]

Return the orbits of vertices.

class flexrilog.symmetric_flexible_rigid_graph.SymmetricFlexRiGraph(data, symmetry, pos=None, name=None, check=True)[source]

Bases: flexrilog.flexible_rigid_graph.FlexRiGraph

The class SymmetricFlexRiGraph is inherited from FlexRiGraph. It represents a graph with a given symmetry.

INPUT:

  • data: provides the information about edges, see FlexRiGraph..
  • symmetrysage.graphs.graph.Graph that is a subgroup of the automorphism group of the graph or the list of its generators

TODO:

examples