UndirectedGraph S

graph.spad line 3402 [edit on github]

allows us to model graph theory

*: (%, %) -> UndirectedGraph 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.

+: (%, %) -> %

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

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 product V(G) times V(H) and any two vertices (u, u’) and (v, v') are adjacent in G o H if and only if either u = v and u’ is adjacent with v' in H, or u’ = v' and u is adjacent with v in G.

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

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

diagramSvg2: (String, %, Boolean) -> Void

diagramSvg(fileName, n, dispArrowName) creates an SVG diagram. This is an alternative version which does not shorten lines. fileName: String is the name of the SVG file that will be created n: % is the graph that will be written dispArrowName: Boolean is true 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 objects obs 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 about x, y coordinates. more objects and arrows can be added later if required.

unit: (List S, String) -> %

from FiniteGraph S

BasicType

CoercibleTo OutputForm

FiniteGraph S

SetCategory