Strongly regular graphs

The strongly_regular_graph module defines the StronglyRegularGraph class, which represents a strongly regular graph, with some of its properties, such as its stronly regular parameters.

AUTHORS:

  • Paul Leopardi (2016-10-19): initial version

class boolean_cayley_graphs.strongly_regular_graph.StronglyRegularGraph(graph=None, **kwargs)[source]

Bases: boolean_cayley_graphs.graph_improved.GraphImproved

A strongly regular graph, with lazy attributes for some computed properties.

The class inherits from GraphImproved, and is initialized either from a graph or from keyword arguments.

EXAMPLES:

sage: from boolean_cayley_graphs.royle_x_graph import royle_x_graph
sage: g = royle_x_graph()
sage: g.is_strongly_regular()
True
sage: from boolean_cayley_graphs.strongly_regular_graph import StronglyRegularGraph
sage: srg = StronglyRegularGraph(g)
sage: srg.is_strongly_regular()
True

TESTS:

sage: from boolean_cayley_graphs.royle_x_graph import royle_x_graph
sage: from boolean_cayley_graphs.strongly_regular_graph import StronglyRegularGraph
sage: g = royle_x_graph()
sage: srg = StronglyRegularGraph(g)
sage: print(srg)
Graph on 64 vertices

sage: from boolean_cayley_graphs.royle_x_graph import royle_x_graph
sage: from boolean_cayley_graphs.strongly_regular_graph import StronglyRegularGraph
sage: g = royle_x_graph()
sage: srg = StronglyRegularGraph(g)
sage: latex(srg)
\begin{tikzpicture}
\definecolor{cv0}{rgb}{0.0,0.0,0.0}
...
\Edge[lw=0.1cm,style={color=cv0v1,},](v0)(v1)
...
\end{tikzpicture}
automorphism_group[source]

The automorphism group of the graph.

EXAMPLES:

sage: from boolean_cayley_graphs.royle_x_graph import royle_x_graph
sage: g = royle_x_graph()
sage: from boolean_cayley_graphs.strongly_regular_graph import StronglyRegularGraph
sage: srg = StronglyRegularGraph(g)
sage: srg.automorphism_group.structure_description()
'(C2 x C2 x C2 x C2 x C2 x C2) : S8'
group_order[source]

The order of the automorphism group of the graph.

EXAMPLES:

sage: from boolean_cayley_graphs.royle_x_graph import royle_x_graph
sage: g = royle_x_graph()
sage: from boolean_cayley_graphs.strongly_regular_graph import StronglyRegularGraph
sage: srg = StronglyRegularGraph(g)
sage: srg.group_order
2580480
matrix_GF2[source]

The adjacency matrix of the graph, over \(\mathbb{F}_2\).

EXAMPLES:

sage: from boolean_cayley_graphs.bent_function import BentFunction
sage: bentf = BentFunction([0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,0])
sage: g = bentf.cayley_graph()
sage: from boolean_cayley_graphs.strongly_regular_graph import StronglyRegularGraph
sage: sg = StronglyRegularGraph(g)
sage: sg.matrix_GF2
[0 0 0 1 0 0 0 1 0 0 0 1 1 1 1 0]
[0 0 1 0 0 0 1 0 0 0 1 0 1 1 0 1]
[0 1 0 0 0 1 0 0 0 1 0 0 1 0 1 1]
[1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1]
[0 0 0 1 0 0 0 1 1 1 1 0 0 0 0 1]
[0 0 1 0 0 0 1 0 1 1 0 1 0 0 1 0]
[0 1 0 0 0 1 0 0 1 0 1 1 0 1 0 0]
[1 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0]
[0 0 0 1 1 1 1 0 0 0 0 1 0 0 0 1]
[0 0 1 0 1 1 0 1 0 0 1 0 0 0 1 0]
[0 1 0 0 1 0 1 1 0 1 0 0 0 1 0 0]
[1 0 0 0 0 1 1 1 1 0 0 0 1 0 0 0]
[1 1 1 0 0 0 0 1 0 0 0 1 0 0 0 1]
[1 1 0 1 0 0 1 0 0 0 1 0 0 0 1 0]
[1 0 1 1 0 1 0 0 0 1 0 0 0 1 0 0]
[0 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0]
rank[source]

The 2-rank of the graph.

EXAMPLES:

sage: from boolean_cayley_graphs.royle_x_graph import royle_x_graph
sage: g = royle_x_graph()
sage: from boolean_cayley_graphs.strongly_regular_graph import StronglyRegularGraph
sage: srg = StronglyRegularGraph(g)
sage: srg.rank
64
strongly_regular_parameters[source]

The strongly regular parameters of the graph.

EXAMPLES:

sage: from boolean_cayley_graphs.royle_x_graph import royle_x_graph
sage: g = royle_x_graph()
sage: g.is_strongly_regular(parameters=True)
(64, 35, 18, 20)
sage: from boolean_cayley_graphs.strongly_regular_graph import StronglyRegularGraph
sage: srg = StronglyRegularGraph(g)
sage: srg.is_strongly_regular()
True
sage: srg.strongly_regular_parameters
(64, 35, 18, 20)