#18350: Adams operator
-------------------------------------+-------------------------------------
       Reporter:  elixyre            |        Owner:
           Type:  task               |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.7
      Component:  categories         |   Resolution:
       Keywords:                     |    Merged in:
        Authors:  Jean-Baptiste      |    Reviewers:
  Priez                              |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |  fc8726a50725479d84aa9a07f55e28e1f879880a
  u/elixyre/ticket/18350             |     Stopgaps:
   Dependencies:                     |
-------------------------------------+-------------------------------------

Comment (by alauve):

 I will be merging with ticket #18678 over the next few days. In the
 meantime, some comments for people in-the-know to weigh-in on (will repeat
 in #18678 when updates appear)...

 1. `.adams_operator()` should be moved to `bialgebras.py`, then in
 `hopf_algebras.py` one should overwrite the bialgebras version, allowing
 for negative integer powers. (E.g., the (-2)nd convolution power of the
 identity is none other than the 2nd power of the antipode.)

 2. In fact, while adams operators naturally belong in `bialgebras.py`, the
 present code---in ticket #18678 and #18350---actually belongs in
 `bialgebras_with_basis.py`---as it uses `.module_morphism()` and
 `.apply_multilinear_morphism()`---but this would require more rewriting
 than I feel qualified to handle.

 3. More tickets needed! When poking around for an algebra without basis---
 on which to test my code---I noticed that Sage doesn't know that `QQ[x]`
 is a module over `QQ` (and hence, one cannot build ``QQ[x].tensor(QQ[x])`.
 Crazy.

 4. Similarly, even though `B = FreeAlgebra(QQ,a,b)` is robust enough that
 `B.tensor(B)` doesn't throw errors, quotients are out-of-bounds again.
 Putting `C = B.quotient_ring((a*b-b^2,))`, I get an AttributeError when
 asking for `C.tensor(C)`.

 5. One could also add the following functionality: given linear morphisms
 R,S,T for a bialgebra B, create their convolution product, a new morphism,
 via `RST = B.convolution_product(R,S,T)` or perhaps, defined only at the
 level of a distinguished basis m for B, `RST =
 m.convolution_product(R,S,T)`. However, it seems ticket #15832 will have a
 lot of overlap with such code, so I'll hold off on implementing it unless
 somebody suggests otherwise.


 P.S. Any final votes regarding Amy Pang's recent comment?

--
Ticket URL: <http://trac.sagemath.org/ticket/18350#comment:22>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to