FunctionGraph SΒΆ

graph.spad line 3007

allows us to model graph theory

*: (%, %) -> FunctionGraph Product(S, S)
tensor product : the tensor product G*H of graphs G and H is a graph such that the vertex set of G*H is the Cartesian product V(G) times V(H); and any two vertices (u, u’) and (v, v') are adjacent in G times H if and only if u’ is adjacent with v' and u is adjacent with v. Cartesian product does apply to function graph produces two arrows out of every node
+: (%, %) -> %
from FiniteGraph S
=: (%, %) -> Boolean
from BasicType
~=: (%, %) -> Boolean
from BasicType
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
apply: (%, NonNegativeInteger) -> NonNegativeInteger
apply 'function’ represented by this graph to vertex index ‘a’
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
closedTensor: (%, %, (S, S) -> S) -> %
as tensor product but returns %. Cartesian product does apply to function graph produces two arrows out of every node
coAdjoint: (%, List NonNegativeInteger) -> Union(List NonNegativeInteger, failed)
given a mapping from this graph this function tries to calculate a unique reverse mapping back to this graph
coerce: % -> OutputForm
from CoercibleTo OutputForm
contraAdjoint: (%, List NonNegativeInteger) -> Union(List NonNegativeInteger, failed)
given a mapping from this graph this function tries to calculate a unique reverse mapping back to this graph
createWidth: NonNegativeInteger -> NonNegativeInteger
from FiniteGraph S
createX: (NonNegativeInteger, NonNegativeInteger) -> NonNegativeInteger
from FiniteGraph S
createY: (NonNegativeInteger, NonNegativeInteger) -> NonNegativeInteger
from FiniteGraph S
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
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
functionGraph: (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.
functionGraph: List Permutation S -> %
construct graph from a list of permutations.
functionGraph: List Record(value: S, posX: NonNegativeInteger, posY: NonNegativeInteger, next: NonNegativeInteger, map: List NonNegativeInteger) -> %
constructor for graph with given objects more objects and arrows can be added later if required.
functionGraph: 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 about x, y coordinates. more objects and arrows can be added later if required.
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
hash: % -> SingleInteger
from SetCategory
hashUpdate!: (HashState, %) -> HashState
from SetCategory
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
limit: (%, NonNegativeInteger) -> Loop
apply ‘function’ represented by this graph to ‘a’ repeatedly until we reach a loop which is returned as a sequence of vertex indexes.
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
unit: (List S, String) -> %
from FiniteGraph S

BasicType

CoercibleTo OutputForm

FiniteGraph S

SetCategory