Oh, and I think the problem is that homsets are not in "MyCategory", but rather in these categories:
[Category of homsets of my category, Category of homsets, Category of sets, Category of sets with partial maps, Category of objects] For example: sage: Sigma3 = groups.permutation.Symmetric(3) sage: Sigma4 = groups.permutation.Symmetric(4) sage: h34 = Hom(Sigm Sigma Sigma3 Sigma4 sage: h34 = Hom(Sigma3, Sigma4) sage: h34.categories() [Category of homsets of permutation groups and complex reflection or generalized coxeter groups, Category of homsets, Category of sets, Category of sets with partial maps, Category of objects] So modifying the category of groups won't be good enough, I don't think. (In my case, I am trying to do this with simplicial sets.) John On Thursday, July 28, 2016 at 9:34:05 PM UTC-7, John H Palmieri wrote: > > Hi Travis, > > I can't find any combination that works. > > class MyCategory(Category_singleton): > class ParentMethods: > class Endset(CategoryWithAxiom): > def x1(self): > return self.identity() > > class ElementMethods: > class Endset(CategoryWithAxiom): > def x2(self): > return self.identity() > > class Endset(CategoryWithAxiom): > class ParentMethods: > def x3(...) > > class ELementMethods: > def x4(...) > > (& similar with MorphismMethods) > > I don't see any of these methods when I do tab-completion on an > endomorphism set in my category. In this case I want to do something > simple: define a method "one()" that just returns "self.identity()", since > the standard definition of "one" in a homset doesn't seem very sensible. > But I only plan to do it in one particular case, because I don't know if > it's a good idea to do it everywhere, plus also it seems like a good thing > to know how to do for homsets more generally. > > John > > > > On Thursday, July 28, 2016 at 6:42:42 PM UTC-7, Travis Scrimshaw wrote: >> >> Hey John, >> I think in this case you want ElementMethods because your putting this >> in the category of endomorphism, whose elements are the morphisms. The next >> thing I think of is MorphismMethods, but that would apply to all morphisms >> IIRC. >> >> Best, >> Travis >> >> >> On Thursday, July 28, 2016 at 4:17:15 PM UTC-5, John H Palmieri wrote: >>> >>> When defining a category in Sage, is there any way to define >>> "HomsetMethods" for that category? For example, if I want to have certain >>> morphisms only defined when in an endomorphism set (so tab completion is >>> less misleading), I would like to do: >>> >>> class MyCategory(Category_singleton): >>> blah >>> >>> class Endset(CategoryWithAxiom): >>> class HomsetMethods: >>> def some_map(self): >>> """ >>> This is a map which should only exist in a set of >>> endomorphisms. >>> """ >>> >>> Is this possible? >>> >>> -- >>> John >>> >>> -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.