It is trying to do coercion, as it rightly should IMO. Since you have
specified that it is an algebra, it should have the base ring coercion,
which means that the "algebra" knows what 1 is. An algebra should not be
testing that it knows what 1 is because it is an assumption of being in
that
I agree, any reference to 1 should fail.
But does the zero element of an algebra (i.e. its neutral element as a
Z-module) really have to refer to the identity element of the algebra?
Also, it probably should throw an error, instead of getting stuck in an
infinite loop.
Best,
Akos
On Friday,
As I stated on the ticket, this is not a bug because you have not properly
defined your algebra. It needs to have an (multiplicative) identity
specified as it is rightfully expecting it. This is the correct behavior
because you are saying it is an algebra without specifying what the algebra
There is an explanation and a "solution" on the ticket.
Best
Vincent
Le 03/02/2022 à 23:48, Akos M a écrit :
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
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
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
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
Thanks for creating the ticket.
Once the ticket is solved there are two routes to obtain a
version of SageMath including the fix.
* Either you obtain the corresponding git branch that will be
attached to the ticket and compile this version of the source
code
* Or wait for a release of
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
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
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
11 matches
Mail list logo