Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port group algebras to the current coercion system #6670

Closed
sagetrac-mraum mannequin opened this issue Aug 3, 2009 · 33 comments
Closed

Port group algebras to the current coercion system #6670

sagetrac-mraum mannequin opened this issue Aug 3, 2009 · 33 comments

Comments

@sagetrac-mraum
Copy link
Mannequin

sagetrac-mraum mannequin commented Aug 3, 2009

This upgrades the group algebras to the current coercion system and fixes some issues of multiplication of group algebras A and B, satisfying A == B but not admitting coercion of elements.
This depends on #6669, which concerns homomorphisms from matrix group to other objects.

Apply:

  1. attachment: trac_6670-jhp.patch
  2. attachment: trac-6670-functors.patch

Component: algebra

Author: Martin Raum, John Palmieri

Reviewer: John Palmieri, Martin Raum

Merged: sage-4.7.2.alpha2

Issue created by migration from https://trac.sagemath.org/ticket/6670

@sagetrac-mraum sagetrac-mraum mannequin added this to the sage-4.7.1 milestone Aug 3, 2009
@sagetrac-mraum sagetrac-mraum mannequin added c: algebra labels Aug 3, 2009
@sagetrac-mraum sagetrac-mraum mannequin self-assigned this Aug 3, 2009
@sagetrac-mraum
Copy link
Mannequin Author

sagetrac-mraum mannequin commented Aug 3, 2009

Attachment: trac-6670-group_algebra.patch.gz

@sagetrac-mraum
Copy link
Mannequin Author

sagetrac-mraum mannequin commented Oct 22, 2009

Attachment: trac-6670-group_algebra-2.patch.gz

This is a rebase to 4.1.2

@sagetrac-mraum
Copy link
Mannequin Author

sagetrac-mraum mannequin commented Oct 22, 2009

comment:1

A patch for #6669 has been uploaded. This patch depends on it.

@aghitza
Copy link

aghitza commented Nov 15, 2009

Author: Martin Raum

@robertwb
Copy link
Contributor

comment:3

There's a lot of new code here, but it all looks good, and the doctests are fine too.

Given the amount of category code that went into 4.3, we should make sure all tests pass when applied against that as well. (I tested against 4.2.)

@mwhansen
Copy link
Contributor

comment:4

Needs some work/rebasing for 4.3

@sagetrac-mraum
Copy link
Mannequin Author

sagetrac-mraum mannequin commented Dec 1, 2009

Attachment: trac-6670-group_algebra-3.patch.gz

This is a rebase to 4.3alpha0 .

@robertwb
Copy link
Contributor

comment:6
	sage -t  devel/sage-main/sage/modular/modsym/space.py # Segfault
	sage -t  devel/sage-main/sage/algebras/group_algebra.py # 5 doctests failed
	sage -t  devel/sage-main/sage/interfaces/sage0.py # 1 doctests failed

@sagetrac-mraum
Copy link
Mannequin Author

sagetrac-mraum mannequin commented Jan 21, 2010

Attachment: trac-6670-group_algebra-4.patch.gz

This applies cleanly to a fresh 4.3.1

@roed314
Copy link
Contributor

roed314 commented Feb 15, 2010

comment:8

I'm hoping to take a look at this, but if someone else has time soon and wants to beat me to it, go for it.

@sagetrac-pierre
Copy link
Mannequin

sagetrac-pierre mannequin commented Feb 26, 2010

comment:9

-- This patch does not apply on sage 4.3.3. Mercurial error message :

applying trac-6670-group_algebra-4.patch
patching file sage/algebras/group_algebra.py
Hunk #1 FAILED at 27
Hunk #7 succeeded at 358 with fuzz 2 (offset 9 lines).
Hunk #8 FAILED at 361
2 out of 10 hunks FAILED -- saving rejects to file sage/algebras/group_algebra.py.rej
patch failed, unable to continue (try -v)
patch failed, rejects left in working dir
errors during apply, please fix and refresh trac-6670-group_algebra-4.patch

-- You may want to have a look at the following related bug :

sage: G= SymmetricGroup(5); x, y= G.gens()
sage: A= GroupAlgebra(G)
sage: A( A(x) )

...fails. This bug may or may not be automatically fixed by your patch.

-- The docstring on line 367 of group_algebra.py mentions GroupAlgebra.call(), even though this method has been suppressed.

@sagetrac-pierre sagetrac-pierre mannequin removed the s: needs review label Feb 26, 2010
@sagetrac-mraum
Copy link
Mannequin Author

sagetrac-mraum mannequin commented Mar 23, 2011

Changed work issues from unpickling problems to none

@fchapoton
Copy link
Contributor

comment:12

For the bot:

Apply trac-6670-group_algebra-6.patch, trac-6670-group_algebra-7.patch

@jhpalmieri
Copy link
Member

comment:13

Some minor comments:

  • The first line of the new file is redundant: "Group algebra of a group". Maybe it should just be "Group algebras"?
  • The new file should be added to the reference manual, by adding an appropriate line to sage/doc/en/reference/algebras.rst.

More interesting:

  • Can you implement coercion from R[H] to R[G] if H is a subgroup of G, or more generally from R[H] to S[G] if there is a coercion from H to G and from R to S? Then coercing from the base ring R to R[G] would just be the special case where R=S and H is the trivial group.

A more important issue: I'm not sure that I agree with the implementation. I would have it inherit from CombinatorialFreeModule, and then unique representation is built in nicely so you don't have to cache the results as you do now. You can also implement the Hopf algebra structure on the group algebra pretty easily. For reference, you should look at the files

  • sage/categories/examples/hopf_algebras_with_basis.py for a simple (not very full-featured) implementation of group algebras.

  • sage/algebras/steenrod/steenrod_algebra.py for the implementation of the Steenrod algebra, including all of its Hopf algebra structure, inheriting from CombinatorialFreeModule. This has a lot of things you don't need, but if you want to base the implementation on the first file, or if you want to modify the print representation of elements (which I recommend), you might be able to use this one to help fill in some details.

@jhpalmieri

This comment has been minimized.

@jhpalmieri
Copy link
Member

Changed author from Martin Raum to Martin Raum, John Palmieri

@jhpalmieri
Copy link
Member

comment:14

Here's a new version, which makes the changes I suggested, and also adds some documentation at the top of the file. I think I preserved all of the tests from the previous version, so we're not losing any functionality. There are some new things, like an antipode and a comultiplication for elements.

@jhpalmieri
Copy link
Member

comment:15

Attachment: trac_6670-jhp.patch.gz

@jhpalmieri

This comment has been minimized.

@sagetrac-mraum
Copy link
Mannequin Author

sagetrac-mraum mannequin commented Jul 29, 2011

comment:16

I'm afraid the new version is quite similar to the original (though much better), so that I wouldn't be a legitimate reviewer. On the other hand, since the changes that you introduced are located in some function that you added I could review this part, as soon as I am back from holidays and you could review the other part. Do you think this is a legitimate solution?

One thing: The functor needs to be modified, using the new apply methods, that are available thanks to Simon's work. I will do this, if you don't do it first.

@sagetrac-mraum
Copy link
Mannequin Author

sagetrac-mraum mannequin commented Jul 31, 2011

comment:17

I think it is important to note that on #11318 it is suggested unifying GroupAlgebra(G, A) and G.algebra(A). But I think we should still get this patch into Sage to have at least some more modern construction until we finally have the implementation anticipated in #11318.

@sagetrac-mraum

This comment has been minimized.

@sagetrac-mraum
Copy link
Mannequin Author

sagetrac-mraum mannequin commented Jul 31, 2011

comment:18

Attachment: trac-6670-functors.patch.gz

I attached a patch that changes the way functors are called.

Also I reviewed the parts that you implemented. That is, the transition to CombinatorialFreeModule. I would give this a positive review. So if you agree with the procedure that I described above and are fine with the rest of the code you can give this a positive review as a whole.

@jhpalmieri
Copy link
Member

Reviewer: John Palmieri, Martin Raum

@jhpalmieri
Copy link
Member

comment:19

Looks good to me. The point about #11318 is a good one, although I don't like the way elements of G.algebra(R) are printed, compared to elements of GroupAlgebra(G,R).

@jdemeyer
Copy link

Merged: sage-4.7.2.alpha2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants