UndirectedGraph S¶
graph.spad line 3402 [edit on github]
S: SetCategory
allows us to model graph theory
- *: (%, %) -> UndirectedGraph Product(S, S)
tensor product : the tensor product
G*H
of graphsG
andH
is a graph such that the vertex set ofG*H
is the Cartesian productV
(G
) timesV
(H
); and any two vertices (u
, u’) and (v
,v'
) are adjacent inG
timesH
if and only if u’ is adjacent withv'
andu
is adjacent withv
.
- +: (%, %) -> %
from FiniteGraph S
- addArrow!: (%, Record(name: String, arrType: NonNegativeInteger, fromOb: NonNegativeInteger, toOb: NonNegativeInteger, xOffset: Integer, yOffset: Integer, map: List NonNegativeInteger)) -> %
from FiniteGraph S
- addArrow!: (%, String, NonNegativeInteger, NonNegativeInteger) -> %
from FiniteGraph S
- addArrow!: (%, String, NonNegativeInteger, NonNegativeInteger, List NonNegativeInteger) -> %
from FiniteGraph S
- addArrow!: (%, String, S, S) -> %
from FiniteGraph S
- addObject!: (%, Record(value: S, posX: NonNegativeInteger, posY: NonNegativeInteger)) -> %
from FiniteGraph S
- addObject!: (%, S) -> %
from FiniteGraph S
- adjacencyMatrix: % -> Matrix NonNegativeInteger
from FiniteGraph S
- arrowName: (%, NonNegativeInteger, NonNegativeInteger) -> String
from FiniteGraph S
- arrowsFromArrow: (%, NonNegativeInteger) -> List NonNegativeInteger
from FiniteGraph S
- arrowsFromNode: (%, NonNegativeInteger) -> List NonNegativeInteger
from FiniteGraph S
- arrowsToArrow: (%, NonNegativeInteger) -> List NonNegativeInteger
from FiniteGraph S
- arrowsToNode: (%, NonNegativeInteger) -> List NonNegativeInteger
from FiniteGraph S
- cartesian: (%, %) -> UndirectedGraph Product(S, S)
Cartesian product: the vertex set of
G
o
H
is the Cartesian productV
(G
) timesV
(H
) and any two vertices (u
, u’) and (v
,v'
) are adjacent inG
o
H
if and only if eitheru
=v
and u’ is adjacent withv'
inH
, or u’ =v'
andu
is adjacent withv
inG
.
- closedCartesian: (%, %, (S, S) -> S) -> %
as Cartesian product but returns %.
- closedTensor: (%, %, (S, S) -> S) -> %
as tensor product but returns %.
- coerce: % -> OutputForm
from CoercibleTo OutputForm
- coerce: FinitePoset S -> %
coerce FinitePoset
to graph
- cycleClosed: (List S, String) -> %
from FiniteGraph S
- cycleOpen: (List S, String) -> %
from FiniteGraph S
- deepDiagramSvg: (String, %, Boolean) -> Void
from FiniteGraph S
- diagramHeight: % -> NonNegativeInteger
from FiniteGraph S
- diagramsSvg: (String, List %, Boolean) -> Void
from FiniteGraph S
- diagramSvg2: (String, %, Boolean) -> Void
diagramSvg(fileName,
n
, dispArrowName) creates anSVG
diagram. This is an alternative version which does not shorten lines. fileName: String is the name of theSVG
file that will be createdn:
% is the graph that will be written dispArrowName: Boolean istrue
to include the name of each arrow
- diagramSvg: (String, %, Boolean) -> Void
from FiniteGraph S
- diagramWidth: % -> NonNegativeInteger
from FiniteGraph S
- distance: (%, NonNegativeInteger, NonNegativeInteger) -> Integer
from FiniteGraph S
- distanceMatrix: % -> Matrix Integer
from FiniteGraph S
- flatten: DirectedGraph % -> %
from FiniteGraph S
- getArrowIndex: (%, NonNegativeInteger, NonNegativeInteger) -> NonNegativeInteger
from FiniteGraph S
- getArrows: % -> List Record(name: String, arrType: NonNegativeInteger, fromOb: NonNegativeInteger, toOb: NonNegativeInteger, xOffset: Integer, yOffset: Integer, map: List NonNegativeInteger)
from FiniteGraph S
- getVertexIndex: (%, S) -> NonNegativeInteger
from FiniteGraph S
- getVertices: % -> List Record(value: S, posX: NonNegativeInteger, posY: NonNegativeInteger)
from FiniteGraph S
- incidenceMatrix: % -> Matrix Integer
from FiniteGraph S
- inDegree: (%, NonNegativeInteger) -> NonNegativeInteger
from FiniteGraph S
- initial: () -> %
from FiniteGraph S
- isAcyclic?: % -> Boolean
from FiniteGraph S
- isDirected?: () -> Boolean
from FiniteGraph S
- isDirectSuccessor?: (%, NonNegativeInteger, NonNegativeInteger) -> Boolean
from FiniteGraph S
- isFixPoint?: (%, NonNegativeInteger) -> Boolean
from FiniteGraph S
- isFunctional?: % -> Boolean
from FiniteGraph S
- isGreaterThan?: (%, NonNegativeInteger, NonNegativeInteger) -> Boolean
from FiniteGraph S
- kgraph: (List S, String) -> %
from FiniteGraph S
- laplacianMatrix: % -> Matrix Integer
from FiniteGraph S
- latex: % -> String
from SetCategory
- loopsArrows: % -> List Loop
from FiniteGraph S
- loopsAtNode: (%, NonNegativeInteger) -> List Loop
from FiniteGraph S
- loopsNodes: % -> List Loop
from FiniteGraph S
- looseEquals: (%, %) -> Boolean
from FiniteGraph S
- map: (%, List NonNegativeInteger, List S, Integer, Integer) -> %
from FiniteGraph S
- mapContra: (%, List NonNegativeInteger, List S, Integer, Integer) -> %
from FiniteGraph S
- max: % -> NonNegativeInteger
from FiniteGraph S
- max: (%, List NonNegativeInteger) -> NonNegativeInteger
from FiniteGraph S
- merge: (%, %) -> %
from FiniteGraph S
- min: % -> NonNegativeInteger
from FiniteGraph S
- min: (%, List NonNegativeInteger) -> NonNegativeInteger
from FiniteGraph S
- nodeFromArrow: (%, NonNegativeInteger) -> List NonNegativeInteger
from FiniteGraph S
- nodeFromNode: (%, NonNegativeInteger) -> List NonNegativeInteger
from FiniteGraph S
- nodeToArrow: (%, NonNegativeInteger) -> List NonNegativeInteger
from FiniteGraph S
- nodeToNode: (%, NonNegativeInteger) -> List NonNegativeInteger
from FiniteGraph S
- outDegree: (%, NonNegativeInteger) -> NonNegativeInteger
from FiniteGraph S
- routeArrows: (%, NonNegativeInteger, NonNegativeInteger) -> List NonNegativeInteger
from FiniteGraph S
- routeNodes: (%, NonNegativeInteger, NonNegativeInteger) -> List NonNegativeInteger
from FiniteGraph S
- spanningForestArrow: % -> List Tree Integer
from FiniteGraph S
- spanningForestNode: % -> List Tree Integer
from FiniteGraph S
- spanningTreeArrow: (%, NonNegativeInteger) -> Tree Integer
from FiniteGraph S
- spanningTreeNode: (%, NonNegativeInteger) -> Tree Integer
from FiniteGraph S
- subdiagramSvg: (Scene SCartesian 2, %, Boolean, Boolean) -> Void
from FiniteGraph S
- terminal: S -> %
from FiniteGraph S
- undirectedGraph: (List Record(value: S, posX: NonNegativeInteger, posY: NonNegativeInteger), List Record(name: String, arrType: NonNegativeInteger, fromOb: NonNegativeInteger, toOb: NonNegativeInteger, xOffset: Integer, yOffset: Integer, map: List NonNegativeInteger)) -> %
constructor for graph with given objects and arrows more objects and arrows can be added later if required.
- undirectedGraph: (List S, List List NonNegativeInteger) -> %
constructor for graph with given objects and adjacency matrix.
- undirectedGraph: (List S, List Record(fromOb: NonNegativeInteger, toOb: NonNegativeInteger)) -> %
undirectedGraph(obs, ars)
constructs graph with objectsobs
and arrows ars. This constructor just has pure abstract graph information without decoration information.
- undirectedGraph: FinitePoset S -> %
undirectedGraph(poset)
constructs graph from a partially ordered set. This will be a graph with, at most, one arrow between any two nodes (in each direction).
- undirectedGraph: List Record(value: S, posX: NonNegativeInteger, posY: NonNegativeInteger) -> %
constructor for graph with given objects more objects and arrows can be added later if required.
- undirectedGraph: List S -> %
constructor for graph with given list of object names. Use this version of the constructor if you don
't
intend to create diagrams and therefore don't
care aboutx
,y
coordinates. more objects and arrows can be added later if required.
- unit: (List S, String) -> %
from FiniteGraph S