Package Cl-Graph - Internal and External Symbols

Part of:

asdf-system tinaa, asdf-system cl-graph
CL-Graph is a Common Lisp library for manipulating graphs and running graph algorithms.

Package Cl-Graph uses the packages Cl-Mathstats, Common-Lisp, Metabang.Bind, Metabang.Cl-Containers and Metabang.Utilities. It is also known as Metabang.Graph. It has 398 total symbols and 136 external ones.

Condition

edge-errorThis is the root condition for graph errors that have to do with edges.
graph-edge-not-found-errorThis condition is signaled when an edge cannot be found in a graph.
graph-errorThis is the root condition for errors that occur while running code in CL-Graph.
graph-vertex-not-found-errorThis condition is signaled when a vertex can not be found in a graph.
graph-vertex-not-found-in-edge-errorThis condition is signaled when a vertex can not be found in an edge.

Class

basic-edgeThis is the root class for all edges in CL-Graph.
basic-graphThis is the root class for all graphs in CL-Graph.
directed-edge-mixinThis mixin class is used to indicate that an edge is directed.
dot-attributes-mixin
dot-directed-edge
dot-edge
dot-edge-mixin
dot-graph
dot-graph-mixin
dot-vertex
dot-vertex-mixin
graph-container-directed-edgeA graph-container-directed-edge is both a directed-edge-mixin and a graph-container-edge.
graph-container-edgeThis is the root class for edges in graph-containers. It adds vertex-1 and vertex-2 slots.
graph-container-vertexA graph container vertex keeps track of its edges in the the vertex-edges slot. The storage for t...
graph-matrixStub for matrix based graph. Not implemented.
graph-matrix-edgeStub for matrix based graph. Not implemented.
graph-matrix-vertexStub for matrix based graph. Not implemented.
weighted-edgeA weighted edge is both a weighted-edge-mixin and a graph-container-edge.
weighted-edge-mixinThis mixin class adds a `weight` slot to an edge.

Variable

*depth-first-search-timer*
*dot-edge-attributes*
*dot-graph-attributes*
*dot-vertex-attributes*

Function

%vertex-degreeCalled internally by `vertex-degree` and `average-vertex-degree`.
append-unique
average-vertex-clustering-coefficientReturns the average `vertex-clustering-coefficient` of all the vertexes in the graph.
average-vertex-degreeReturns the average degree of the all of the vertexes in `graph` that pass the `vertex-filter`. B...
column-sums
copy-vertex-datum
format-dot-attributes
get-nodelist-relativesCollects set of unique relatives of nodes in node-list.
get-transitive-closureGiven a list of vertices, returns a combined list of all of the nodes in the transitive closure(s...
make-vertex-datum
map-pathsApply fn to each path that starts at start-vertex and is of exactly length length
map-shortest-pathsApply fn to each shortest path starting at `start-vertex` of depth `depth`. The `filter` predicat...
neighbors-to-children
node-color
node-depth
node-parent
print-dot-key-value
remove-listRemoves all elements in original from target.
row-sums
test-dot-external
textify
vertex-clustering-coefficientThe vertex-clustering-coefficient is, informally, a measure of the number of triangles in which a...
vertex-degreeReturns the degree of `vertex`. The degree is computed by totaling the `edge-size` (e.g., the `we...
vertex-degree-countsReturns an associative-container mapping edge-counts to the number of vertexes with that edge-cou...
vertex-degree-summaryPrints a summary of vertex degrees in `graph` to standard-out. Both the average degree of all ver...
vertex-triangle-count

Generic-Function

add-edgeAdd-edge adds an existing edge to a graph. As add-edge-between-vertexes is generally more natural...
add-edge-between-vertexesAdds an edge between two vertexes and returns it. If force-new? is true, the edge is added eve...
add-edge-to-vertexAttaches the edge `edge` to the vertex `vertex`.
add-edges-to-graph
add-vertexAdds a vertex to a graph. If called with a vertex, then this vertex is added. If called with a va...
adjacentpReturn true if vertex-1 and vertex-2 are connected by an edge. [?? compare with vertices-share-ed...
any-undirected-cycle-pReturns true if there are any undirected cycles in `graph`.
assign-levelSets the depth of `vertex` to level and then recursively sets the depth of all of the children of...
assortativity-coefficientAn assortative graph is one where vertexes of the same type are more likely to have edges betwee...
breadth-first-search-graph
breadth-first-visitor
child-vertexesReturns a list of the vertexes to which `vertex` is connected by an edge and for which `vertex` i...
complete-linksAdd edges between vertexes in the new-graph for which the matching vertexes in the old-graph hav...
connected-component-countReturns the number of connected-components of graph.
connected-componentsReturns a union-find-container representing the connected-components of `graph`.
connected-graph-pReturns true if graph is a connected graph and nil otherwise.
delete-edgeDelete the `edge' from the `graph' and returns it.
delete-edge-between-vertexesFinds an edge in the graph between the two specified vertexes. If values (i.e., non-vertexes) are...
delete-vertexRemove a vertex from a graph. The 'vertex-or-value' argument can be a vertex of the graph or a 'v...
depthReturns the maximum depth of the vertexes in graph assuming that the roots are of depth 0 and tha...
dfs
dfs-back-edge-p
dfs-cross-edge-p
dfs-edge-type
dfs-forward-edge-p
dfs-tree-edge-p
dfs-visit
directed-edge-pReturns true if-and-only-if edge is directed
dot-attribute-value
edge->dotUsed by graph->dot to output edge formatting for `edge` onto the `stream`. The function can assum...
edge-countReturns the number of edges attached to `vertex`. Compare with the more flexible `vertex-degree`.
edge-lessp-by-directionReturns true if and only if edge-1 is undirected and edge-2 is directed.
edge-lessp-by-weightReturns true if the weight of edge-1 is strictly less than the weight of edge-2.
edgesReturns a list of the edges of `thing`.
element
ensure-valid-dot-attribute
find-connected-componentsReturns a list of sub-graphs of `graph` where each sub-graph is a different connected component o...
find-edgeSearch `graph` for an edge whose vertexes match `edge`. This means that `vertex-1` of the edge in...
find-edge-between-vertexesSearches `graph` for an edge that connects vertex-1 and vertex-2. [?? Ignores error-if-not-found...
find-edge-between-vertexes-ifFinds and returns an edge between value-or-vertex-1 and value-or-vertex-2 if one exists. Unless e...
find-edge-ifReturns the first edge in `thing` for which the `predicate` function returns non-nil. If the `key...
find-edges-ifReturns a list of edges in `thing` for which the `predicate` returns non-nil. [?? why no key func...
find-vertexSearch 'graph' for a vertex with element 'value'. The search is fast but inflexible because it us...
find-vertex-ifReturns the first vertex in `thing` for which the `predicate` function returns non-nil. If the `k...
find-vertexes-ifReturns a list of vertexes in `thing` for which the `predicate` returns non-nil. [?? why no key f...
force-undirectedEnsures that the graph is undirected (possibly by calling change-class on the edges).
generate-directed-free-treeReturns a version of graph which is a directed free tree rooted at root.
graph->dotGenerates a description of `graph` in DOT file format. The formatting can be altered using `graph...
graph->dot-external
graph->dot-propertiesUnless a different graph-formatter is specified, this method is called by graph->dot to output gr...
graph-edge-mixture-matrixReturn the `mixing-matrix` of graph based on the classifier and the edge-weight function. The mix...
graph-mixing-matrixReturn the `mixing-matrix` of graph based on the classifier and the edge-weight function. The mix...
graph-rootsReturns a list of the roots of graph. A root is defined as a vertex with no source edges (i.e., a...
has-children-pIn a directed graph, returns true if vertex has any edges that point from vertex to some other ve...
has-parent-pIn a directed graph, returns true if vertex has any edges that point from some other vertex to th...
in-cycle-pReturns true if `start-vertex` is in some cycle in `graph`. This uses child-vertexes to generate ...
in-undirected-cycle-pReturn true if-and-only-if an undirected cycle in graph is reachable from start-vertex.
initialize-vertex-data
iterate-childrenCalls fn on every vertex that is either connected to vertex by an undirected edge or is at the ta...
iterate-container
iterate-edgesCalls `fn` on each edge of graph or vertex.
iterate-neighborsCalls fn on every vertex adjecent to vertex See also iterate-children and iterate-parents.
iterate-parentsCalls fn on every vertex that is either connected to vertex by an undirected edge or is at the so...
iterate-source-edgesIn a directed graph, calls `fn` on each edge of a vertex that begins at vertex. In an undirected ...
iterate-target-edgesIn a directed graph, calls `fn` on each edge of a vertex that ends at vertex. In an undirected gr...
iterate-vertexesCalls `fn` on each of the vertexes of `thing`.
make-edge-containerMake-edge-container is called during graph creation and can be used to create specialized contain...
make-edge-for-graphIt should not usually necessary to call this in user code. Creates a new edge between vertex-1 an...
make-filtered-graphTakes a GRAPH and a TEST-FN (a single argument function returning NIL or non-NIL), and filters th...
make-graphCreate a new graph of type `graph-type'. Graph type can be a symbol naming a sub-class of basic-...
make-graph-from-vertexesCreate a new graph given a list of vertexes (which are assumed to be from the same graph). The ne...
make-vertex-containerMake-vertex-container is called during graph creation and can be used to create specialized conta...
make-vertex-edges-containerCalled during the initialization of a vertex to create the create the container used to store the...
make-vertex-for-graphCreates a new vertex for graph `graph`. The keyword arguments include: * vertex-class : specify ...
map-over-all-combinations-of-k-edges
map-over-all-combinations-of-k-vertexes
minimum-spanning-treeReturns a minimum spanning tree of graph if one exists and nil otherwise.
mst-find-set
mst-link
mst-make-set
mst-tree-union
neighbor-vertexesReturns a list of the vertexes to which `vertex` is connected by an edge disregarding edge direct...
number-of-neighborsReturns the number of neighbors of `vertex` (cf. `neighbor-vertexes`). [?? could be a defun]
other-vertexAssuming that the value-or-vertex corresponds to one of the vertexes for `edge`, this method retu...
out-edge-for-vertex-pReturns true if the edge is connected to vertex and is either an undirected edge or a directed ed...
parent-vertexesReturns a list of the vertexes to which `vertex` is connected by an edge and for which `vertex` i...
project-bipartite-graphCreates the unimodal bipartite projects of existing-graph with vertexes for each vertex of existi...
renumber-edgesAssign a number to each edge in a graph in some unspecified order. [?? internal]
renumber-vertexesAssign a number to each vertex in a graph in some unspecified order. [?? internal]
replace-vertexReplace vertex `old` in graph `graph` with vertex `new`. The edge structure of the graph is maint...
rootpReturns true if `vertex` is a root vertex (i.e., it has no incoming (source) edges).
search-for-vertexSearch 'graph' for a vertex with element 'value'. The 'key' function is applied to each element b...
source-edge-countReturns the number of source edges of vertex (cf. source-edges). [?? could be a defun]
source-edgesReturns a list of the source edges of `vertex`. [?? Could be a defun].
source-vertexReturns the source-vertex of a directed edge. Compare with `vertex-1`.
subgraph-containingReturns a new graph that is a subset of `graph` that contains `vertex` and all of the other verte...
tag
tag-all-edgesSets the `tag` of all the edges of `thing` to true. [?? why does this exist?]
tag-edgesSets the `tag` of all the edges of `thing` to true. [?? why does this exist?]
tagged-edge-pReturns true if-and-only-if edge's tag slot is t
target-edge-countReturns the number of target edges of vertex (cf. target-edges). [?? could be a defun]
target-edgesReturns a list of the target edges of `vertex`. [?? Could be a defun].
target-vertexReturns the target-vertex of a directed edge. Compare with `vertex-2`.
topological-sortReturns a list of vertexes sorted by the depth from the roots of the graph. See also assign-level...
traverse-elementsWIP
traverse-elements-helperWIP
undirected-edge-pReturns true if-and-only-if edge is undirected
untag-all-edgesSets the `tag` of all the edges of `thing` to nil. [?? why does this exist?]
untag-edgesSets the `tag` of all the edges of `thing` to true. [?? why does this exist?]
untagged-edge-pReturns true if-and-only-if edge's tage slot is nil
vertex->dotUnless a different vertex-formatter is specified with a keyword argument, this is used by graph->...
vertex-countReturns the number of vertexes in `graph`. [?? could be a defun]
vertexesReturns a list of the vertexes of `thing`.
vertices-share-edge-pReturn true if vertex-1 and vertex-2 are connected by an edge. [?? Compare adjacentp]
weightReturns the weight of an edge. This defaults to 1.0 and can only be altered if the edge is a sub-...
write-name-for-dot

Macro

with-changing-vertexThis is used to maintain consistency when changing the value of vertex elements while iterating o...