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.

Reply via email to