Package sage :: Package graphs :: Package base :: Module graph_backends :: Class GenericGraphBackend
[hide private]
[frames] | no frames]

Class GenericGraphBackend

source code

                      object --+    
                               |    
structure.sage_object.SageObject --+
                                   |
                                  GenericGraphBackend
Known Subclasses:
c_graph.CGraphBackend, NetworkXGraphBackend


A generic wrapper for the backend of a graph.  Various graph classes use
extensions of this class.  Note, this graph has a number of placeholder
functions, so the doctests are rather silly.

DOCTEST:
    sage: import sage.graphs.base.graph_backends



Instance Methods [hide private]
 
add_edge(self, u, v, l, directed)
Add an edge (u,v) to self, with label l.
source code
 
add_edges(self, edges, directed)
Add a sequence of edges to self.
source code
 
add_vertex(self, name)
Add a labelled vertex to self.
source code
 
add_vertices(self, vertices)
Add labelled vertices to self.
source code
 
degree(self, v, directed)
Returns the total number of vertices incident to v.
source code
 
del_edge(self, u, v, l, directed)
Deletes the edge (u,v) with label l.
source code
 
del_vertex(self, v)
Delete a labelled vertex in self.
source code
 
del_vertices(self, vertices)
Delete labelled vertices in self.
source code
 
get_edge_label(self, u, v)
Returns the edge label of (u,v).
source code
 
has_edge(self, u, v, l)
True if self has an edge (u,v) with label l.
source code
 
has_vertex(self, v)
True if self has a vertex with label v.
source code
 
iterator_edges(self, vertices, labels, not_directed)
Iterate over the edges incident to a sequence of vertices.
source code
 
iterator_in_edges(self, vertices, labels)
Iterate over the incoming edges incident to a sequence of vertices.
source code
 
iterator_out_edges(self, vertices, labels)
Iterate over the outbound edges incident to a sequence of vertices.
source code
 
iterator_nbrs(self, v)
Iterate over the vertices adjacent to v.
source code
 
iterator_in_nbrs(self, v)
Iterate over the vertices u such that the edge (u,v) is in self (that is, predecessors of v).
source code
 
iterator_out_nbrs(self, v)
Iterate over the vertices u such that the edge (v,u) is in self (that is, successors of v).
source code
 
iterator_verts(self, verts)
Iterate over the vertices v with labels in verts.
source code
 
loops(self, new)
Get/set whether or not self allows loops.
source code
 
multiple_edges(self, new)
Get/set whether or not self allows multiple edges.
source code
 
name(self, new)
Get/set name of self.
source code
 
num_edges(self, directed)
The number of edges in self INPUT: directed: boolean DOCTEST: sage: G = sage.graphs.base.graph_backends.GenericGraphBackend() sage: G.num_edges(True) Traceback (most recent call last): ...
source code
 
num_verts(self)
The number of vertices in self DOCTEST: sage: G = sage.graphs.base.graph_backends.GenericGraphBackend() sage: G.num_verts() Traceback (most recent call last): ...
source code
 
relabel(self, perm, directed)
Relabel the vertices of self by a permutation.
source code
 
set_edge_label(self, u, v, l, directed)
Label the edge (u,v) by l.
source code

Inherited from structure.sage_object.SageObject: __hash__, __new__, __repr__, _axiom_, _axiom_init_, _gap_, _gap_init_, _gp_, _gp_init_, _interface_, _interface_init_, _interface_is_cached_, _kash_, _kash_init_, _macaulay2_, _macaulay2_init_, _magma_, _magma_init_, _maple_, _maple_init_, _mathematica_, _mathematica_init_, _maxima_, _maxima_init_, _octave_, _octave_init_, _pari_, _pari_init_, _r_init_, _sage_, _singular_, _singular_init_, category, db, dump, dumps, plot, rename, reset_name, save, version

Inherited from object: __delattr__, __getattribute__, __init__, __reduce__, __reduce_ex__, __setattr__, __str__

Class Variables [hide private]
  _loops = False
  _multiple_edges = False
  _name = ''
Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

add_edge(self, u, v, l, directed)

source code 

Add an edge (u,v) to self, with label l.  If directed is True, this is
interpreted as an arc from u to v.

INPUT:
    u,v:      vertices
    l:        edge label
    directed: boolean

DOCTEST:
    sage: G = sage.graphs.base.graph_backends.GenericGraphBackend()
    sage: G.add_edge(1,2,'a',True)
    Traceback (most recent call last):
    ...
    NotImplementedError
 

add_edges(self, edges, directed)

source code 

Add a sequence of edges to self.  If directed is True, these are
interpreted as arcs.

INPUT:
    edges:    iterator
    directed: boolean

DOCTEST:
    sage: G = sage.graphs.base.graph_backends.GenericGraphBackend()
    sage: G.add_edges([],True)
    Traceback (most recent call last):
    ...
    NotImplementedError

add_vertex(self, name)

source code 

Add a labelled vertex to self.

INPUT:
    name: vertex label

DOCTEST:
    sage: G = sage.graphs.base.graph_backends.GenericGraphBackend()
    sage: G.add_vertex(0)
    Traceback (most recent call last):
    ...
    NotImplementedError

add_vertices(self, vertices)

source code 

Add labelled vertices to self.

INPUT:
    vertices: iterator of vertex labels

DOCTEST:
    sage: G = sage.graphs.base.graph_backends.GenericGraphBackend()
    sage: G.add_vertices([1,2,3])
    Traceback (most recent call last):
    ...
    NotImplementedError

degree(self, v, directed)

source code 

Returns the total number of vertices incident to v.

INPUT:
    v:       a vertex label
    directed: boolean
OUTPUT:
    degree of v
    
DOCTEST:
    sage: G = sage.graphs.base.graph_backends.GenericGraphBackend()
    sage: G.degree(1, False)
    Traceback (most recent call last):
    ...
    NotImplementedError

del_edge(self, u, v, l, directed)

source code 

Deletes the edge (u,v) with label l.

INPUT:
    u,v:      vertices
    l:        edge label
    directed: boolean

DOCTEST:
    sage: G = sage.graphs.base.graph_backends.GenericGraphBackend()
    sage: G.del_edge(1,2,'a',True)
    Traceback (most recent call last):
    ...
    NotImplementedError

del_vertex(self, v)

source code 

Delete a labelled vertex in self.

INPUT:
    v: vertex label

DOCTEST:
    sage: G = sage.graphs.base.graph_backends.GenericGraphBackend()
    sage: G.del_vertex(0)
    Traceback (most recent call last):
    ...
    NotImplementedError

del_vertices(self, vertices)

source code 

Delete labelled vertices in self.

INPUT:
    vertices: iterator of vertex labels

DOCTEST:
    sage: G = sage.graphs.base.graph_backends.GenericGraphBackend()
    sage: G.del_vertices([1,2,3])
    Traceback (most recent call last):
    ...
    NotImplementedError

get_edge_label(self, u, v)

source code 

Returns the edge label of (u,v).

INPUT:
    u,v: vertex labels

OUTPUT:
    label of (u,v)

DOCTEST:
    sage: G = sage.graphs.base.graph_backends.GenericGraphBackend()
    sage: G.get_edge_label(1,2)
    Traceback (most recent call last):
    ...
    NotImplementedError

has_edge(self, u, v, l)

source code 

True if self has an edge (u,v) with label l.

INPUT:
    u,v: vertex labels
    l: label

OUTPUT:
    boolean

DOCTEST:
    sage: G = sage.graphs.base.graph_backends.GenericGraphBackend()
    sage: G.has_edge(1,2,'a')
    Traceback (most recent call last):
    ...
    NotImplementedError

has_vertex(self, v)

source code 

True if self has a vertex with label v.

INPUT:
    v: vertex label

OUTPUT:
    boolean

DOCTEST:
    sage: G = sage.graphs.base.graph_backends.GenericGraphBackend()
    sage: G.has_vertex(0)
    Traceback (most recent call last):
    ...
    NotImplementedError

iterator_edges(self, vertices, labels, not_directed)

source code 

Iterate over the edges incident to a sequence of vertices.

INPUT:
    vertices:     a list of vertex labels
    labels:       boolean
    not_directed: boolean
    
OUTPUT:
    a generator which yields edges, with or without labels 
    depending on the labels parameter.
    
DOCTEST:
    sage: G = sage.graphs.base.graph_backends.GenericGraphBackend()
    sage: G.iterator_edges([],True,True)
    Traceback (most recent call last):
    ...
    NotImplementedError

iterator_in_edges(self, vertices, labels)

source code 

Iterate over the incoming edges incident to a sequence of vertices.

INPUT:
    vertices:     a list of vertex labels
    labels:       boolean
    
OUTPUT:
    a generator which yields edges, with or without labels 
    depending on the labels parameter.
    
DOCTEST:
    sage: G = sage.graphs.base.graph_backends.GenericGraphBackend()
    sage: G.iterator_in_edges([],True)
    Traceback (most recent call last):
    ...
    NotImplementedError

iterator_out_edges(self, vertices, labels)

source code 

Iterate over the outbound edges incident to a sequence of vertices.

INPUT:
    vertices:     a list of vertex labels
    labels:       boolean
    
OUTPUT:
    a generator which yields edges, with or without labels 
    depending on the labels parameter.
    
DOCTEST:
    sage: G = sage.graphs.base.graph_backends.GenericGraphBackend()
    sage: G.iterator_out_edges([],True)
    Traceback (most recent call last):
    ...
    NotImplementedError

iterator_nbrs(self, v)

source code 

Iterate over the vertices adjacent to v.

INPUT:
    v: vertex label
    
OUTPUT:
    a generator which yields vertex labels
    
DOCTEST:
    sage: G = sage.graphs.base.graph_backends.GenericGraphBackend()
    sage: G.iterator_nbrs(0)
    Traceback (most recent call last):
    ...
    NotImplementedError

iterator_in_nbrs(self, v)

source code 

Iterate over the vertices u such that the edge (u,v) is in self
(that is, predecessors of v).

INPUT:
    v: vertex label
    
OUTPUT:
    a generator which yields vertex labels
    
DOCTEST:
    sage: G = sage.graphs.base.graph_backends.GenericGraphBackend()
    sage: G.iterator_in_nbrs(0)
    Traceback (most recent call last):
    ...
    NotImplementedError

iterator_out_nbrs(self, v)

source code 

Iterate over the vertices u such that the edge (v,u) is in self
(that is, successors of v).

INPUT:
    v: vertex label
    
OUTPUT:
    a generator which yields vertex labels
    
DOCTEST:
    sage: G = sage.graphs.base.graph_backends.GenericGraphBackend()
    sage: G.iterator_out_nbrs(0)
    Traceback (most recent call last):
    ...
    NotImplementedError

iterator_verts(self, verts)

source code 

Iterate over the vertices v with labels in verts.

INPUT:
    vertex: vertex labels
    
OUTPUT:
    a generator which yields vertices
    
DOCTEST:
    sage: G = sage.graphs.base.graph_backends.GenericGraphBackend()
    sage: G.iterator_verts(0)
    Traceback (most recent call last):
    ...
    NotImplementedError

loops(self, new)

source code 

Get/set whether or not self allows loops.        

INPUT:
    new: boolean or None

DOCTEST:
    sage: G = sage.graphs.base.graph_backends.GenericGraphBackend()
    sage: G.loops(True)
    Traceback (most recent call last):
    ...
    NotImplementedError
    sage: G.loops(None)
    Traceback (most recent call last):
    ...
    NotImplementedError

multiple_edges(self, new)

source code 

Get/set whether or not self allows multiple edges.

INPUT:
    new: boolean or None

DOCTEST:
    sage: G = sage.graphs.base.graph_backends.GenericGraphBackend()
    sage: G.multiple_edges(True)
    Traceback (most recent call last):
    ...
    NotImplementedError
    sage: G.multiple_edges(None)
    Traceback (most recent call last):
    ...
    NotImplementedError

name(self, new)

source code 

Get/set name of self.

INPUT:
    new: string or None

DOCTEST:
    sage: G = sage.graphs.base.graph_backends.GenericGraphBackend()
    sage: G.name("A Generic Graph")
    Traceback (most recent call last):
    ...
    NotImplementedError
    sage: G.name(None)
    Traceback (most recent call last):
    ...
    NotImplementedError

num_edges(self, directed)

source code 

The number of edges in self

INPUT:
    directed: boolean

DOCTEST:
    sage: G = sage.graphs.base.graph_backends.GenericGraphBackend()
    sage: G.num_edges(True)
    Traceback (most recent call last):
    ...
    NotImplementedError
    sage: G.num_edges(False)
    Traceback (most recent call last):
    ...
    NotImplementedError

num_verts(self)

source code 

The number of vertices in self

DOCTEST:
    sage: G = sage.graphs.base.graph_backends.GenericGraphBackend()
    sage: G.num_verts()
    Traceback (most recent call last):
    ...
    NotImplementedError

relabel(self, perm, directed)

source code 

Relabel the vertices of self by a permutation.
INPUT:
    perm:     permutation
    directed: boolean

DOCTEST:
    sage: G = sage.graphs.base.graph_backends.GenericGraphBackend()
    sage: G.relabel([],False)
    Traceback (most recent call last):
    ...
    NotImplementedError

set_edge_label(self, u, v, l, directed)

source code 

Label the edge (u,v) by l.

INPUT:
    u,v:      vertices
    l:        edge label
    directed: boolean

DOCTEST:
    sage: G = sage.graphs.base.graph_backends.GenericGraphBackend()
    sage: G.set_edge_label(1,2,'a',True)
    Traceback (most recent call last):
    ...
    NotImplementedError