Functions for reading/building graphs/digraphs.¶
This module gathers functions needed to build a graph from any other data.
Note
This is an internal module of Sage. All features implemented here are
made available to endusers through the constructors of Graph
and
DiGraph
.
Note that because they are called by the constructors of Graph
and
DiGraph
, most of these functions modify a graph inplace.
from_adjacency_matrix() 
Fill G with the data of an adjacency matrix. 
from_dict_of_dicts() 
Fill G with the data of a dictionary of dictionaries. 
from_dict_of_lists() 
Fill G with the data of a dictionary of lists. 
from_dig6() 
Fill G with the data of a dig6 string. 
from_graph6() 
Fill G with the data of a graph6 string. 
from_incidence_matrix() 
Fill G with the data of an incidence matrix. 
from_oriented_incidence_matrix() 
Fill G with the data of an oriented incidence matrix. 
from_seidel_adjacency_matrix() 
Fill G with the data of a Seidel adjacency matrix. 
from_sparse6() 
Fill G with the data of a sparse6 string. 
Functions¶

sage.graphs.graph_input.
from_adjacency_matrix
(G, M, loops=False, multiedges=False, weighted=False)¶ Fill
G
with the data of an adjacency matrix.INPUT:
G
– aGraph
orDiGraph
.M
– an adjacency matrixloops
,multiedges
,weighted
(booleans) – whether to consider the graph as having loops, multiple edges, or weights. Set toFalse
by default.
EXAMPLES:
sage: from sage.graphs.graph_input import from_adjacency_matrix sage: g = Graph() sage: from_adjacency_matrix(g, graphs.PetersenGraph().adjacency_matrix()) sage: g.is_isomorphic(graphs.PetersenGraph()) True

sage.graphs.graph_input.
from_dict_of_dicts
(G, M, loops=False, multiedges=False, weighted=False, convert_empty_dict_labels_to_None=False)¶ Fill
G
with the data of a dictionary of dictionaries.INPUT:
G
– a graphM
– a dictionary of dictionaries.loops
,multiedges
,weighted
(booleans) – whether to consider the graph as having loops, multiple edges, or weights. Set toFalse
by default.convert_empty_dict_labels_to_None
(boolean) – whether to adjust for empty dicts instead of None in NetworkX default edge labels.
EXAMPLES:
sage: from sage.graphs.graph_input import from_dict_of_dicts sage: g = Graph() sage: from_dict_of_dicts(g, graphs.PetersenGraph().to_dictionary(edge_labels=True)) sage: g.is_isomorphic(graphs.PetersenGraph()) True

sage.graphs.graph_input.
from_dict_of_lists
(G, D, loops=False, multiedges=False, weighted=False)¶ Fill
G
with the data of a dictionary of lists.INPUT:
G
– aGraph
orDiGraph
.D
– a dictionary of lists.loops
,multiedges
,weighted
(booleans) – whether to consider the graph as having loops, multiple edges, or weights. Set toFalse
by default.
EXAMPLES:
sage: from sage.graphs.graph_input import from_dict_of_lists sage: g = Graph() sage: from_dict_of_lists(g, graphs.PetersenGraph().to_dictionary()) sage: g.is_isomorphic(graphs.PetersenGraph()) True

sage.graphs.graph_input.
from_dig6
(G, dig6_string)¶ Fill
G
with the data of a dig6 string.INPUT:
G
– a graphdig6_string
– a dig6 string
EXAMPLES:
sage: from sage.graphs.graph_input import from_dig6 sage: g = DiGraph() sage: from_dig6(g, digraphs.Circuit(10).dig6_string()) sage: g.is_isomorphic(digraphs.Circuit(10)) True

sage.graphs.graph_input.
from_graph6
(G, g6_string)¶ Fill
G
with the data of a graph6 string.INPUT:
G
– a graphg6_string
– a graph6 string
EXAMPLES:
sage: from sage.graphs.graph_input import from_graph6 sage: g = Graph() sage: from_graph6(g, 'IheA@GUAo') sage: g.is_isomorphic(graphs.PetersenGraph()) True

sage.graphs.graph_input.
from_incidence_matrix
(G, M, loops=False, multiedges=False, weighted=False)¶ Fill
G
with the data of an incidence matrix.INPUT:
G
– a graphM
– an incidence matrixloops
,multiedges
,weighted
(booleans) – whether to consider the graph as having loops, multiple edges, or weights. Set toFalse
by default.
EXAMPLES:
sage: from sage.graphs.graph_input import from_incidence_matrix sage: g = Graph() sage: from_incidence_matrix(g, graphs.PetersenGraph().incidence_matrix()) sage: g.is_isomorphic(graphs.PetersenGraph()) True

sage.graphs.graph_input.
from_oriented_incidence_matrix
(G, M, loops=False, multiedges=False, weighted=False)¶ Fill
G
with the data of an oriented incidence matrix.An oriented incidence matrix is the incidence matrix of a directed graph, in which each nonloop edge corresponds to a \(+1\) and a \(1\), indicating its source and destination.
INPUT:
G
– aDiGraph
M
– an incidence matrixloops
,multiedges
,weighted
(booleans) – whether to consider the graph as having loops, multiple edges, or weights. Set toFalse
by default.
EXAMPLES:
sage: from sage.graphs.graph_input import from_oriented_incidence_matrix sage: g = DiGraph() sage: from_oriented_incidence_matrix(g, digraphs.Circuit(10).incidence_matrix()) sage: g.is_isomorphic(digraphs.Circuit(10)) True

sage.graphs.graph_input.
from_seidel_adjacency_matrix
(G, M)¶ Fill
G
with the data of a Seidel adjacency matrix.INPUT:
G
– a graphM
– a Seidel adjacency matrix
EXAMPLES:
sage: from sage.graphs.graph_input import from_seidel_adjacency_matrix sage: g = Graph() sage: from_seidel_adjacency_matrix(g, graphs.PetersenGraph().seidel_adjacency_matrix()) sage: g.is_isomorphic(graphs.PetersenGraph()) True

sage.graphs.graph_input.
from_sparse6
(G, g6_string)¶ Fill
G
with the data of a sparse6 string.INPUT:
G
– a graphg6_string
– a sparse6 string
EXAMPLES:
sage: from sage.graphs.graph_input import from_sparse6 sage: g = Graph() sage: from_sparse6(g, ':I`ES@obGkqegW~') sage: g.is_isomorphic(graphs.PetersenGraph()) True