Replacing 0 with self.zero() works perfectly, thank you!

Best,
Akos

On Thursday, February 3, 2022 at 11:34:43 PM UTC+1 Akos M wrote:

> Thanks for the feedback.
>
> Indeed, defined as such, C is a broken object - this was just the smallest 
> example where I could reproduce the error.
>
> I was hoping that it should be possible to access the module elements 
> without referring to 1, or multiplication. 
> I would like to define multiplication later in the definition of some 
> algebraic structure, but still inherit the methods from the category. 
> (Similarly to 
> https://doc.sagemath.org/html/en/thematic_tutorials/coercion_and_categories.html
> )
>
> In particular, the error originally appeared in the form of 
> "if x == 0:"
> where x is an element of the module, as should be 0 (now coerced..).
>
> Best,
> Akos
> On Thursday, February 3, 2022 at 10:10:29 PM UTC+1 vdelecroix wrote:
>
>> Now I am thinking about it, I am not sure it is a bug. You did 
>> not defined any algebra structure (neither the unit nor the 
>> product on the basis). C is definitely a broken object. 
>>
>> However, it would make sense for C(0) not to call C(1). 
>>
>> Vincent 
>>
>> Le 03/02/2022 à 21:49, Akos M a écrit : 
>> > Thanks, I created - my first - ticket. 
>> > https://trac.sagemath.org/ticket/33285#ticket 
>> > 
>> > Once the ticket is (eventually) resolved, how do I update sage to 
>> involve 
>> > the resolution? 
>> > 
>> > Thanks, 
>> > Akos 
>> > 
>> > On Thursday, February 3, 2022 at 1:39:10 PM UTC+1 vdelecroix wrote: 
>> > 
>> >> It is definitely a bug. Do you know how to open 
>> >> a ticket on the trac server ? 
>> >> 
>> >> The infinite loop comes from C.one() calling C(1) 
>> >> calling C.one()... When you specify a category 
>> >> the inheritance is different and this explains 
>> >> the difference of behaviour. 
>> >> 
>> >> Best 
>> >> Vincent 
>> >> 
>> >> Le 03/02/2022 à 11:29, Akos M a écrit : 
>> >>> 
>> >>> 
>> >>> Hi, 
>> >>> 
>> >>> The snippet 
>> >>> D = CombinatorialFreeModule(ZZ, [1,2]) D(0) 
>> >>> 
>> >>> works fine, however 
>> >>> C = CombinatorialFreeModule(ZZ, [1,2], 
>> category=AlgebrasWithBasis(ZZ)) 
>> >> C(0) 
>> >>> 
>> >>> gets into an infinite loop: 
>> >>> File 
>> >>> 
>> >> 
>> "/opt/sagemath-9.0/local/lib/python3.7/site-packages/sage/categories/magmas.py",
>>  
>>
>> >>> line 488, in one return self(1) File "sage/structure/parent.pyx", 
>> line 
>> >> 900, 
>> >>> in sage.structure.parent.Parent.__call__ 
>> >>> (build/cythonized/sage/structure/parent.c:9218) return mor._call_(x) 
>> File 
>> >>> "sage/categories/map.pyx", line 1694, in 
>> >>> sage.categories.map.FormalCompositeMap._call_ 
>> >>> (build/cythonized/sage/categories/map.c:11607) x = f._call_(x) File 
>> >>> "sage/categories/morphism.pyx", line 549, in 
>> >>> sage.categories.morphism.SetMorphism._call_ 
>> >>> (build/cythonized/sage/categories/morphism.c:8489) cpdef Element 
>> >>> _call_(self, x): File "sage/categories/morphism.pyx", line 568, in 
>> >>> sage.categories.morphism.SetMorphism._call_ 
>> >>> (build/cythonized/sage/categories/morphism.c:8439) return 
>> >> self._function(x) 
>> >>> File 
>> >>> 
>> >> 
>> "/opt/sagemath-9.0/local/lib/python3.7/site-packages/sage/categories/unital_algebras.py",
>>  
>>
>> >>> line 70, in from_base_ring return self.one()._lmul_(r) File 
>> >>> "sage/misc/cachefunc.pyx", line 2310, in 
>> >>> sage.misc.cachefunc.CachedMethodCallerNoArgs.__call__ 
>> >>> (build/cythonized/sage/misc/cachefunc.c:12712) self.cache = 
>> >>> f(self._instance) 
>> >>> 
>> >>> Why is this? Is this expected behaviour? 
>> >>> (Also asked on: 
>> >>> 
>> >> 
>> https://ask.sagemath.org/question/60903/possible-bug-specifying-category-messes-up-coercion/
>>  
>> >> ) 
>> >>> 
>> >>> Thanks, 
>> >>> Akos 
>> >>> 
>> >> 
>> > 
>>
>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/04a2ba26-a673-407d-aafb-dc44bcac02bdn%40googlegroups.com.

Reply via email to