Nicolas, > > Does sage have a functorial Aut construction, > > which yields the group of automorphisms of some object in a category? > > Not yet; it just has End.
Ooh, I can see implementation issues. They center around evaluating an inverse morphism. Say f:A--->A is an automorphism of an infinite group defined by generators and relations. f could be specified by its values on generators provided that an explicit method is given for writing every element of A into the generators. However the inverse map is not explicitly computable from this specification of f, unless one also has an explicit algorithm for writing every element of A in the f-images of the generators. Another example: f could be an element of GL(n, ZZ). The dumb approach is to coerce f into GL(n,QQ) and do linear algebra there. Of course the eventual inverse map will be in GL(n,ZZ) but the dumb computational approach will involve denominators, which moves outside of the ZZ-module category. Probably the right way to implement Aut is to allow the construction of inexplicit inverses and compositions, and just complain if there is an inverse that is not explicitly specified and not "automatically provided" by the category. Maybe make a category adjective meaning "has-automatic-inverse-computation". This is related to the issue of coercing into Hom-sets: how does a category uniquely and algorithmically specify a morphism from its values on a subset of its domain? Happily, I just now realized that for the semidirect product G \ltimes N of groups (equipped with homomorphism f: G ---> Aut(N)) one can get away with using only the monoid structure of Aut(N) ! --Mark -- You received this message because you are subscribed to the Google Groups "sage-combinat-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-combinat-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-combinat-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-combinat-devel?hl=en. For more options, visit https://groups.google.com/groups/opt_out.