public class Undirected.AsDirected extends Directed implements Graph.SubGraph
Directed
Edges (a self-loop remains a single
self-loop, now Directed). There is no loss of information.
Also see Directed.asUndirected()
.Directed.AsUndirected, Directed.C, Directed.Dense, Directed.Edge, Directed.Sparse, Directed.Vertex
Graph.Canonical, Graph.Contraction, Graph.Derived, Graph.Induced, Graph.Renumbered, Graph.SubGraph, Graph.SubGraphs, Graph.ToDirected, Graph.ToUndirected
Value.Atomic, Value.Bool, Value.Char, Value.Chars, Value.Cts, Value.Defer, Value.Discrete, Value.Enum, Value.Inc_Or, Value.Int, Value.Lambda, Value.List, Value.Maybe, Value.Option, Value.Real, Value.Scannable, Value.Structured, Value.Triv, Value.Tuple
unlabelled, unlabelled_O
Constructor and Description |
---|
AsDirected() |
Modifier and Type | Method and Description |
---|---|
boolean |
adjacent(int v0,
int v1)
v0 and v1 are
adjacent if 〈v0, v1〉
is an Edge (isEdge(v0,v1) ) or if
〈v1, v0〉 is. |
Value |
eLabel(int v0,
int v1)
UnsupportedOperation, the default assumption is no
Edge labels.
|
boolean |
isEdge(int v0,
int v1)
Is 〈v0, v1〉 an Edge in 'this' Graph?
Also see
adjacent(v0,v1) . |
Undirected |
parent()
Return the parent Graph of which 'this' is a Child.
|
java.lang.String |
toString()
|
Type |
type()
Note, type(),
Graph.adjacent(int, int) ,
Graph.vLabelled() , Graph.vLabel(int) ,
Graph.eLabelled() , and Graph.eLabel(int, int) must be consistent. |
int |
v2pv(int v)
Vertex 'v' of 'this' Graph corresponds to v2pv(v)
of the
parent Graph. |
Value |
vLabel(int v)
UnsupportedOperation, the default assumption is no
Vertex labels.
|
int |
vSize()
The number of Vertices, |V|≥1,
|
asUndirected, degree, dense, dense, dense, dense, dense, dense, main, sparse, toDirected
A, arrayA, byDegree, byDegree, canonical, canonical1, canonical1R, canonical2, canonical2R, checkProperties, contraction, directPredecessors, directSuccessors, edges, edgesCorrespond, eLabelled, eLabels, eSize, eStats, flatten, hashCode, inDegree, induced, isDirected, isomorphic, isUndirected, joinedTo, localHash, maxEdges, nAutomorphisms, outDegree, randomised, renumbered, selfLoops, structurallyIdentical, subGraphs, subGraphs, toUndirected, vLabelled, vLabels, vPair2n
public Undirected parent()
Child
public int v2pv(int v)
Graph.SubGraph
parent
Graph.v2pv
in interface Graph.SubGraph
public Type type()
Graph
Graph.adjacent(int, int)
,
Graph.vLabelled()
, Graph.vLabel(int)
,
Graph.eLabelled()
, and Graph.eLabel(int, int)
must be consistent.public int vSize()
Graph
eSize()
.public boolean isEdge(int v0, int v1)
Graph
adjacent(v0,v1)
.public boolean adjacent(int v0, int v1)
Graph
adjacent
if 〈v0, v1〉
is an Edge (isEdge(v0,v1)
) or if
〈v1, v0〉 is. (Which somewhat clashes with the term
Adjacency Matrix
for a Directed Graph.)public Value vLabel(int v)
Graph
vLabelled()
and
eLabel(v0,v1)
.public Value eLabel(int v0, int v1)
Graph
eLabelled()
and
vLabel(v)
.public java.lang.String toString()
Value
printing
of
constants
, and in calls to Value.error(java.lang.String)
.
The result does not necessarily fully specify a large, or
infinite(!), Value. (This default returns the Class Name of 'this'.)
Also see print(ps)
.