Re: Graphs, etc...



Dear Pedro,

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

do you have a reference (on the web, maybe) for that?

> 	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.

I believe this is the same as the hypergraph model.

A hypergraph is a set of vertices together with a set of hyperedges, each 
of which is a subset of the vertex set. I.e., a 2-graph is an ordinary 
graph.

> 	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.

Yes, this is why I talked about delayed computation. I only meant that it 
is somewhat wasteful to throw away the collection of perfect matchings 
just because the user deleted an edge.

> 	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.

Done
> 	Hope this helps,

Yes it does. Sorry that my reply is so short, but I'm running out of time.

MArtin