On 19.07.20 01:01, John H Palmieri wrote:
On Saturday, July 18, 2020 at 2:57:21 PM UTC-7, Christian Nassau wrote:
Hi Sverre,
I don't think it's a good idea to have different zeroes in an
algebraic structure that is also categorized as an abelian group,
unless you take the point that a "graded abelian group" should not
be an "abelian group".
But let me also point out that something similar to what you want
already exists: you can take a homogeneous component of the
Steenrod algebra and look at its zero:
sage: A=SteenrodAlgebra(2)
sage: A[18]
Vector space spanned by (Sq(0,1,0,1), Sq(3,0,0,1), Sq(1,1,2),
Sq(4,0,2), Sq(2,3,1), Sq(5,2,1), Sq(8,1,1), Sq(11,0,1),
Sq(0,6), Sq(3,5), Sq(6,4), Sq(9,3), Sq(12,2), Sq(15,1),
Sq(18)) over Finite Field of size 2
sage: A[18].zero() == A.zero()
True
sage: A[18].zero() == A[17].zero()
False
This suggests that "A[18].zero().degree()" could give 18, and the
fact that it currently gives a ValueError might be considered a bug.
It could equally well give zero. Should A[18] remember that it's in
degree 18, or should is just be an ungraded module?
I don't think zero makes much sense here. The suggestion seems to be to
have in Sage an A[n] that represents homotopy classes of maps from a
fixed suspension of HF2 to HF2. If this is the goal then elements of
A[n] should always have x.degree() = n, and we would also need a
multiplication A[n] * A[m] -> A[n+m]. Currently that product map does
not exist in Sage:
sage: A=SteenrodAlgebra(2)
sage: A[3].an_element() * A[4].an_element()
---------------------------------------------------------------------------
TypeError Traceback (most recent
call last)
TypeError: unsupported operand parent(s) for *: 'Vector space
spanned by (Sq(0,1), Sq(3)) over Finite Field of size 2' and 'Vector
space spanned by (Sq(1,1), Sq(4)) over Finite Field of size 2'
Also, a quick test suggests that the M[n] notation is not part of a
general framework in Sage, and that degrees of inhomogeneous elements
are handled somewhat liberally in other places. This might just reflect
a "cultural" difference between topologists and combinatorialists, of
course:
sage: S=SymmetricFunctions(QQ)
sage: S.an_element().degree()
2
sage: for x in S.an_element().monomials():
....: print (x, x.degree())
....:
s[] 0
s[1] 1
s[2] 2
sage: S.zero().degree()
0
sage: S.graded_algebra() is S
True
--
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/7d4b8529-56ff-d40b-da5d-99186f109ae0%40nullhomotopie.de.