As far as I understand, your index.html should be built from the
source. But I read the source and I find it not well documented from
the point of vue of programmer. I'm really interested in your code as
I implement similar stuff and it would be "time saving" to merge our
classes. Moreover, I could help to submit your code to Sage.
1) You wrote : "A Ribbon graph is a finite set with an involution and
a bijection". You did not precise that the involution is without fixed
point ? Is that volunteer ? In the book I mentionned, the author even
authorize any permutations. This is useful from the point of vue of
Grothendieck's "dessin d'enfants" as a Ribbon graph also encode a
ramified covering of the sphere over three points.
2) The advantage I get from the representation with three permutations
(s,a,f) (s for vertices, a for edges and f for faces) is that it is
immediate to get the inverse. Moreover, it emphasize a duality (s,a,f)
-> (f^-1, a^-1, s^-1) which corresponds to the standard duality of
embedded graphs. But perhaps, it is out of your interest (but your
function anti (which is NOT documented) seems to do that operation).
3) As I mentionned, I only deal with subsets of {0,1,...,n-1} where
you seem to be interested in more general subsets. The way
permutations are actually implemented with Sage suggest that the base
class deal with subsets of {0,1, ..., n-1} and a derived class could
use a permutation with domain (which is just a mapping from {0,1, ...,
n-1} to a subset of size n). But on the other hand, there are very
standard operations which consists to remove edges and it is very
natural in that context tu use "partial permutation".
4) Your main class halfedge contains two mysterious arguments "IsI"
and "decorations". What are they ?
5) If you intend to put your code inside Sage, I find the way
classes/functions are implemented is not clear. Why join is a function
and not a method (as union for Python set) ? Moreover, in Sage, there
is a convention that any class should be denoted in Wiki syntax as
MyFavoriteClass and functions should use lower case with underscore as
my_favorite_function (There are counterexample inside Sage). In your
case, you should be much more precise in the choosen names : Embedding
should become for example RibbonGraphEmbedding or similar.
I have many more comments, but I would like to have more
specifications in each of the methods (and not more example). I want
to understand what is implemented (and how) and not what the code can
do.
Cheers,
Vincent
--
You received this message because you are subscribed to the Google Groups
"sage-combinat-devel" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-combinat-devel?hl=en.