Graphs, etc...



Greetings.

	Long ago I promised something I never quite finished, which
was to implement D. Knuth's "The Stanford Graphbase" algorithms in
lisp/maxima...

	I have a couple of ideas out of my personal experience:

	1) Allow graphs to be more than "1-dimensional". That is,
work with polytopes instead of graphs. This is for usability in say,
singularity theory (my area), topology... And define all standard
operations for "n-dimensional" structures. In Lisp this is almost
straightforward. In C you would get mad. I mean, in an  n-graph you are
supposed to be able to have the following "1-"dimensional structure

a-b
| |
c d

and adding "edge" c-d does not mean (necessarily) adding "face" [a,b,c,d],
while adding "face" [a,b,c,d] does add "edge" c-d and (optionally) changes
the weights of the vertices-edges... Sounds complicated but a discussion
on the subject could be enlightening for everybody.

	2) DO NOT compute things if the user does not ask for them.
Usually, (s)he  is going to do a number of "graph" operations and then
ask for, say, the adjacency matrix, etc... I think it is always better
to wait for the user's request to do any hard computations.

	3) You can "download" (via http://pfortuny.sdf-eu.org/graph.mac)
a possibly outdated version of a small part of a package I am using for
singularities of space curves. Right now I have left it for a while due
to health reasons, but feel free to edit/modify/change/delete/forget
anything. It is obviously oriented towards my problem, but ideas 1) and
2) are in germ there.

	Hope this helps,


	Pedro.


Pedro Fortuny Ayuso ------------->        http://pfortuny.sdf-eu.org
School of Mathematical Sciences.    Queen Mary College, Univ. London
Mile End Road, London E1 4NS, UK    ------>           www.qmul.ac.uk
pfortuny@sdf-eu.org                         Tfn. Nr. 44 20 7882 5493