As you can see above it is compiled twice, once in 'boot strap mode' and again without. This is because of circular definitions in the code.

Tutorial

If Graph and directedGraph are not already loaded then load them as follows:

(1) -> )library LOOP
Loop is now explicitly exposed in frame frame1
Loop will be automatically loaded when needed from
/home/martin/LOOP.NRLIB/LOOP
(1) -> )library FGRPH
Graph is now explicitly exposed in frame frame1
Graph will be automatically loaded when needed from
/home/martin/FGRPH.NRLIB/GRPH
(1) -> )library FGRPH-
Graph& is now explicitly exposed in frame frame1
Graph& will be automatically loaded when needed from
/home/martin/FGRPH-.NRLIB/GRPH-
(1) -> )library DGRPH
DirectedGraph is now explicitly exposed in frame frame1
DirectedGraph will be automatically loaded when needed from
/home/martin/DGRPH.NRLIB/DGRPH
(1) -> )library FNGRPH
FunctionGraph is now explicitly exposed in frame frame1
FunctionGraph will be automatically loaded when needed from
/home/martin/FGRPH.NRLIB/FGRPH
(1) -> )library UDGRPH
UndirectedGraph is now explicitly exposed in frame frame1
UndirectedGraph will be automatically loaded when needed from
/home/martin/UDGRPH.NRLIB/UDGRPH
(1) -> )library MFGRPH
MultifunctionGraph is now explicitly exposed in frame frame1
MultifunctionGraph will be automatically loaded when needed from
/home/martin/MFGRPH.NRLIB/MFGRPH
(1) -> )library WGRPH
WeightedGraph is now explicitly exposed in frame frame1
WeightedGraph will be automatically loaded when needed from
/home/martin/WGRPH.NRLIB/WGRPH

This graph framework has many methods to create graph instances, click on the following links for details:

merge:(Sum) : union (not necessarily disjoint) of nodes with arrows merged in from appropriate input, if arrow exists from both inputs then it will be duplicated.

"*" : 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) × V(H); and any two vertices (u,u') and (v,v') are adjacent in G × H if and only if u' is adjacent with v' and u is adjacent with v.

cartesian: Cartesian product: the vertex set of G o H is the Cartesian product V(G) × 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.

Computer Algebra Systems

Prerequisites

Other Code

This is one of a series of pages describing code that I have written for FriCAS. Some of this code has already been included with the FriCAS library and so can be used as soon as FriCAS is installed (as described here). Other code on these pages is not yet included with FriCAS and so would have to be compiled from within FriCAS. For an overview of all the code I have written, on various topics, see page here.

IDE for FriCAS

I am working on an IDE for FriCAS based on Eclipse. So far this program is just experimental, in that it is not yet ready for useful work, but feel free to evaluate it.