FunctionGraph S¶
graph.spad line 2963 [edit on github]
S: SetCategory
allows us to model graph theory
- *: (%, %) -> FunctionGraph 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
. Cartesian product does apply to function graph produces two arrows out of every node
- +: (%, %) -> %
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
- 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
- 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 aboutx
,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
- 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