I have a graded algebra A over a field k, and I would like the following 
behavior: when I multiply homogeneous elements of the tensor square (A 
tensor A), I want signs to appear, as in:

  (a tensor b) (c tensor d) = (-1)^(deg b deg c) (ac tensor bd)

You could ask for the same when multiplying elements of (A tensor B) for 
two graded algebras A and B. This may not be desirable for all graded 
algebras in Sage, but it might be useful in more than one case. How should 
this be implemented?

I'm guessing and/or hoping that modifying something in the category code 
would help, and that one could appropriately initialize the categories of A 
and B to turn this feature on, but I'm confused enough by the category code 
that I don't know where to start. Any suggestions? (Or is the category 
approach not viable, so something else (and what?) should be done?)

To illustrate my confusion, if A is the mod 3 Steenrod algebra and if y is 
an element in (A tensor A), I don't even know how the multiplication y*y is 
defined. Is this category code, coercion, something else? Note that this 
example leads to a bug:

    sage: A = SteenrodAlgebra(3)
    sage: x = A.Q(0)
    sage: x**2
    0

    sage: y = x.coproduct()
    sage: y**2
    2*Q_0 # Q_0

The coproduct is an algebra map, so if x**2=0, then (x.coproduct())**2 
should also be zero, but it's not. If the signs were dealt with 
appropriately, this would be okay, but as it is, we have a bug.

-- 
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