sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.42k stars 476 forks source link

Lie Methods and Related Combinatorics (tutorial) #8442

Closed 6bbcde06-8197-41f1-b9a3-c998bb839000 closed 13 years ago

6bbcde06-8197-41f1-b9a3-c998bb839000 commented 14 years ago

This patch adds a tutorial about Lie Methods and Related Combinatorics to Sage.

A copy of the html documentation built with dvipng may be found at:

http://match.stanford.edu/bump/thematic_tutorials/lie.html

or built with jsmath:

http://match.stanford.edu/bump/thematic_tutorials-js/lie.html

Note: only the second js version is up to date. I will update the other one later.

Apply:

  1. attachment: trac_8442-rebased-4.6.1.patch
  2. attachment: trac_8442-png-files.patch
  3. attachment: trac_8442-ref-spacing.patch
  4. attachment: 8442_manifest.patch

Then build the doc with

sage -docbuild thematic_tutorials html

add the -j flag to use jsmath.

See also #8470.

CC: @sagetrac-sage-combinat @nilesjohnson

Component: documentation

Author: Daniel Bump

Reviewer: Minh Van Nguyen, Mark Jordan, Dmitrii Pasechnik

Merged: sage-4.6.2.alpha3

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

6bbcde06-8197-41f1-b9a3-c998bb839000 commented 14 years ago

Thematic tutorial: Lie methods and related combinatorics

6bbcde06-8197-41f1-b9a3-c998bb839000 commented 14 years ago
comment:32

Attachment: trac_8442-rebased-4.5.3.patch.gz

I uploaded a new version with minor polishing here and there.

6bbcde06-8197-41f1-b9a3-c998bb839000 commented 14 years ago
comment:33

You may find versions of this tutorial made with both dvipng and jsmath here and here:

http://match.stanford.edu/bump/thematic_tutorials/lie.html http://match.stanford.edu/bump/thematic_tutorials-js/lie.html

6bbcde06-8197-41f1-b9a3-c998bb839000 commented 14 years ago

Description changed:

--- 
+++ 
@@ -1,57 +1,29 @@
 This patch adds a tutorial about Lie Methods and Related Combinatorics to Sage.

-Apply the patch and also copy the files wcf1.png, a2rho.png and standard1.png into $SAGE_ROOT/devel/sage/doc/en/lie/. Then you can build the documentation with the commands:
+The current ticket needs to be coordinated with #8470.

-sage -docbuild lie html
+A copy of the html documentation built with dvipng may be found at:

-sage -docbuild lie pdf
+http://match.stanford.edu/bump/thematic_tutorials/lie.html

-Depends on #8411 and #8414 since it documents the behavior of Sage after these patches.
+or built with jsmath:
+
+http://match.stanford.edu/bump/thematic_tutorials-js/lie.html
+
+Apply:'''
+
+```
+ trac_8442-rebased-4.5.3.patch
+ trac_8442-png-files.patch
+```
+
+Then build the doc with
+
+```
+sage -docbuild thematic_tutorials html
+```
+
+add the `-j` flag to use jsmath.

-**Notes:** The current ticket needs to be coordinated with #8470.
-
-A copy of the html documentation may be found at:
-
-http://sporadic.stanford.edu/bump/trac_8442/
-
-There are three patches to merge:
-
-```
- trac_8442-lie-rebased.patch
- trac_8442-reviewer.patch
- trac_8442-weyl_groups-revision.patch
-```
-
-The patches do not apply to sage-4.4.2.alpha0 because two files 
-in doc/en/thematic_tutorials are missing: index.rst and bibliography.rst.
-An alternative patch
-
-```
-trac_8442-lie-rebased-to-4.4.2.alpha0
-```
-
-includes these files, and applies cleanly to sage-4.4.2.alpha0. Otherwise it is
-identical to the union of the three patches.
-
-In addition, the three .png files must be where they get properly linked.
-
-**Apply:**
-
-1. #8464
-2. [trac_8442-config.patch](https://github.com/sagemath/sage-prod/files/10648393/trac_8442-config.patch.gz)
-3. [trac_8442-lie-rebased-4.4.2.rc0.patch](https://github.com/sagemath/sage-prod/files/10648394/trac_8442-lie-rebased-4.4.2.rc0.patch.gz)
-4. Copy [wcf1.png](https://github.com/sagemath/sage/files/ticket8442/wcf1.png), [a2rho.png](https://github.com/sagemath/sage/files/ticket8442/a2rho.png), and [standard1.png](https://github.com/sagemath/sage/files/ticket8442/standard1.png) to the directory `doc/en/thematic_tutorials/static/`.
-
-**Revised instructions. Apply:**
-
-```
- trac_8442-lie-rebased-4.5.2.patch
- trac_8442-png-files.patch
-```
-
-
-
-
-
6bbcde06-8197-41f1-b9a3-c998bb839000 commented 14 years ago

Thematic Tutorial: Lie methods and related combinatorics

6bbcde06-8197-41f1-b9a3-c998bb839000 commented 14 years ago
comment:35

Attachment: trac_8442-rebased-4.6.patch.gz

With sage-4.6.alpha1 the patch needed rebasing. I did this, then made a couple of other changes which I think are improvements. I removed the material about intertwining operators, which seems too specialized for a document like this. I will make available this elsewhere. I added a new section called Integration showing how to compute some integrals over Lie groups.

I updated the links at:

http://match.stanford.edu/bump/thematic_tutorials/lie.html

http://match.stanford.edu/bump/thematic_tutorials-js/lie.html

6bbcde06-8197-41f1-b9a3-c998bb839000 commented 14 years ago

Description changed:

--- 
+++ 
@@ -13,7 +13,7 @@
 Apply:'''
jhpalmieri commented 14 years ago
comment:37

This looks like an amazing document to include with Sage. Thanks for working on it.

First, all doctests pass for me.

I get three warnings when building the docs, two of which anyone can fix:

/Applications/sage/devel/sage/doc/en/thematic_tutorials/lie/weyl_character_ring.rst:397: (WARNING/2) Title underline too short.

Integration
-------
/Applications/sage/devel/sage/doc/en/thematic_tutorials/lie/weyl_character_ring.rst:397: (WARNING/2) Title underline too short.

Integration
-------

The third one I think Dan has to do:

/Applications/sage/devel/sage/doc/en/thematic_tutorials/lie/weyl_groups.rst:: WARNING: citation not found: BumpNakasuji2010

A few questions and comments about the text: first, the style in the Sage documentation is to use \Bold{C} for the complex numbers, and similarly for R and Q. This is more of an issue for docstrings for methods, functions, etc., but you might consider changing it.

In introduction.rst,

For example, we could take `G = SU(n)`,
`\mathfrak{g} = \mathfrak{sl}(n, \mathbb{R})`,
`\mathfrak{g}_{\mathbb{C}} = \mathfrak{sl}(n, \mathbb{C})` and
`G = SL(n, \mathbb{C})`.

Should the last "G" be "G{\mathbb{C}}" (or "G{\Bold{C}}")?

In lie_basics.rst, on line 141: However Parabolic subgroups do not exist for compact Lie groups. Don't capitalize "Parabolic".

On line 150:

Such a type is implemented in Sage as a pair ``[`X`,r]``

I would use plain quotes around the X, not backquotes: ``['X',r]``

A few lines later:

The exceptional types are::

    ['G',2],  ['F',4],  ['E',6], ['E',7] or ['E',8].

The indented block is verbatim text, so spacing matters. The inconsistency between double-spacing and single-spacing looks odd to me, and I would just put single spaces after all of the commas.

weyl_character_ring.rst, line 239, with Cartan type `['B',r]`: I would use double back quotes here instead of single ones.

6bbcde06-8197-41f1-b9a3-c998bb839000 commented 14 years ago

8442: Thematic tutorial on Lie methods and related combinatorics

6bbcde06-8197-41f1-b9a3-c998bb839000 commented 14 years ago

Description changed:

--- 
+++ 
@@ -10,10 +10,12 @@

 http://match.stanford.edu/bump/thematic_tutorials-js/lie.html

+Note: only the second js version is up to date. I will update the other one later.
+
 Apply:'''
6bbcde06-8197-41f1-b9a3-c998bb839000 commented 14 years ago
comment:38

Attachment: trac_8442-rebased-4.6.1.patch.gz

6bbcde06-8197-41f1-b9a3-c998bb839000 commented 14 years ago
comment:39

All jhpalmieri's comments are good. I have updated the patch and reposted it as trac_8442-rebased-4.6.1.patch.

jhpalmieri commented 13 years ago
comment:40

I'm attaching a patch to fix the spacing in one table in lie_basics.rst. All tests pass, and with the extra patch, the docs build in both html and pdf formats.

I'm not a Lie algebra expert, nor an expert in Sage's implementation of Lie algebras. Can someone else take a look at this and (I hope) positively review it soon)? It would be nice to get this merged.

jhpalmieri commented 13 years ago

apply on top of other patches

jhpalmieri commented 13 years ago

Description changed:

--- 
+++ 
@@ -17,6 +17,7 @@

trac_8442-rebased-4.6.1.patch trac_8442-png-files.patch

jhpalmieri commented 13 years ago
comment:41

Attachment: trac_8442-ref-spacing.patch.gz

6bbcde06-8197-41f1-b9a3-c998bb839000 commented 13 years ago
comment:42

It appears that the buildbot is trying to apply all 17 patches.

http://sage.math.washington.edu:21100/ticket/8442/

Most of these are superceded, though only admin can actually remove them. As far as I know the three patches

 trac_8442-rebased-4.6.1.patch
 trac_8442-png-files.patch
 trac_8442-ref-spacing.patch

should apply cleanly.

jhpalmieri commented 13 years ago
comment:43

To the buildbot: apply

dimpase commented 13 years ago
comment:44

I'd like to give it a positive review, but I still might like to know more about few related things:

One is about a way to connecting Lie functionality in GAP to the one in Sage. Anything on this?

It would also be good if anything is said regarding the optional Sage package lie (by Marc van Leeuween). Is it right that basically anything doable in lie can be done in Sage? In particular, lie can compute decompositions of, say, a tensor product of two representations into irreducibles. It's not clear to me whether one can do this in Sage (without lie).

Dmitrii

6bbcde06-8197-41f1-b9a3-c998bb839000 commented 13 years ago
comment:45

One is about a way to connecting Lie functionality in GAP to the one in Sage. Anything on this?

One issue with GAP on Sage is that the interface needs a lot of work. There is a lot of power in GAP that can't be accessed from Sage because of this.

The Lie theory in Sage is mostly written from scratch. But here is an example where GAP is involved in the background. We have a class for WeylGroups in weyl_group.py. This class inherits from MatrixGroup_gens which in turn inherits from MatrixGroup_gap. So GAP is involved in Weyl Groups.

It would also be good if anything is said regarding the optional Sage package lie (by Marc van Leeuween). Is it right that basically anything doable in lie can be done in Sage? In particular, lie can compute decompositions of, say, a tensor product of two representations into irreducibles. It's not clear to me whether one can do this in Sage (without lie).

I am not sure whether everything that is doable with LiE is doable with Sage but I do think that anything that is needed from LiE is either in Sage already or (if needed) should be reimplemented. What is in Sage is a pretty complete toolkit for finite-dimensional representations of Lie groups. Decomposing a tensor product into irreducibles is just the multiplication in the WeylCharacterRing. This is addressed in the tutorial. See:

http://match.stanford.edu/bump/thematic_tutorials-js/lie/weyl_character_ring.html#tensor-products-of-representations

Have a look also at the branching rules.

http://match.stanford.edu/bump/thematic_tutorials-js/lie/branching_rules.html

LiE has some functionality for working with Kazhdan-Lusztig polynomials, but that is in Sage, as fast as LiE (though not as fast as Coxeter3). LiE has alternate methods of computing Weyl Characters including use of Demazure characters. Some version of the Demazure character is in the crystal code, but it would also be easy and perhaps useful to add a method to the WeightRing. But it is not urgently needed. Sage uses the Freudenthal multiplicity formula to compute the character.

dimpase commented 13 years ago
comment:46

Replying to @dwbump:

It would also be good if anything is said regarding the optional Sage package lie (by Marc van Leeuween). Is it right that basically anything doable in lie can be done in Sage? In particular, lie can compute decompositions of, say, a tensor product of two representations into irreducibles. It's not clear to me whether one can do this in Sage (without lie).

I am not sure whether everything that is doable with LiE is doable with Sage but I do think that anything that is needed from LiE is either in Sage already or (if needed) should be reimplemented. What is in Sage is a pretty complete toolkit for finite-dimensional representations of Lie groups. Decomposing a tensor product into irreducibles is just the multiplication in the WeylCharacterRing. This is addressed in the tutorial. See:

http://match.stanford.edu/bump/thematic_tutorials-js/lie/weyl_character_ring.html#tensor-products-of-representations

One particular thing I was able to do using Lie was to compute things in classical invariant theory, such as the dimension of the space of invariants of degree k of the m-ary form of degree d (for fixed k,m,d). Basically, that meant computing certain symmetric power of certain representation of GL_m (or SL_m), and finding out whether there was a 1-dimensional sub-representation.

Is this doable in Sage? Thanks!

6bbcde06-8197-41f1-b9a3-c998bb839000 commented 13 years ago
comment:48

Basically, that meant computing certain symmetric power of certain representation of GL_m (or SL_m), and finding out whether there was a 1-dimensional sub-representation.

For symmetric (or exterior) square you can use the frobenius_schur_indicator method. For higher symmetric powers, here is a way. Suppose we want to compute the symmetric 5-th power of the 8-dimensional adjoint representation of SL(3). The relevant groups are SL(3) and SL(8), so we need Weyl Character rings A2 and A7.

sage: A2=WeylCharacterRing("A2",style="coroots")
sage: A7=WeylCharacterRing("A7",style="coroots",cache="true")
sage: s = A7.fundamental_weights()[1]
sage: A7(5*s)
A7(5,0,0,0,0,0,0)
sage: A7(5*s)
A7(5,0,0,0,0,0,0)
sage: A7(5*s).degree()
792

This is the symmetric 5-th power of the standard representation of SL(8), which we want to branch down to SL(3) along the adjoint representation, which is a homomorphism SL(3) --> SL(8). So we create the adjoint representation, then branch the symmetric 5-th power representation of SL(8) down to SL(3).

sage: ad=A2(1,1); ad.degree()
8
sage: A7(5*s).branch(A2,rule=branching_rule_from_plethysm(ad,"A7"))
A2(0,0) + 2*A2(1,1) + A2(0,3) + A2(3,0) + 2*A2(2,2) + A2(1,4) + A2(4,1) + 2*A2(3,3) + A2(2,5) + A2(5,2) + A2(4,4) + A2(5,5)

There is your decomposition into irreducibles. You can see that there is a copy of the trivial representation.

dimpase commented 13 years ago
comment:50

Replying to @dwbump: Very nice! Positive review. (IMHO it would be nice to have your last example included in the tutorial, but I'd leave it to you to decide whether to do this.)

Dmitrii

6bbcde06-8197-41f1-b9a3-c998bb839000 commented 13 years ago
comment:51

Replying to bump: Very nice! Positive review. (IMHO it would be nice to have your last example included in the tutorial, but I'd leave it to you to decide whether to do this.)

I will make a patch for this. Perhaps it should be a separate ticket so as not to further delay this one.

dimpase commented 13 years ago

Changed reviewer from Minh Van Nguyen, Mark Jordan to Minh Van Nguyen, Mark Jordan, Dmitrii Pasechnik

6bbcde06-8197-41f1-b9a3-c998bb839000 commented 13 years ago
comment:54

I just noticed that the trac_8442-png-files containing the .png files is not the right patch!

The files are in the wrong directory (should be doc/en/thematic_tutorials/media) and some of the images are missing. I am puzzled as to how this happened since everything was built and tested.

I am changing the status back to needs_work until I can fix this.

6bbcde06-8197-41f1-b9a3-c998bb839000 commented 13 years ago
comment:55

I replaced the file trac_8442-png-files.patch, and am restoring the status to positive_review.

The correct file is 52266 bytes.

jdemeyer commented 13 years ago
comment:56

Setting milestone to sage-feature because of #8470.

6bbcde06-8197-41f1-b9a3-c998bb839000 commented 13 years ago
comment:57

Setting milestone to sage-feature because of #8470.

At some point Minh Nguyen added the words "needs to be coordinated with #8470" to the description. However #8470 has not been touched for 8 months. It appears to me that #8470 is an orphaned ticket.

I propose that the milestone for this patch should be changed back to 4.6.2.

dimpase commented 13 years ago
comment:58

Replying to @dwbump:

Setting milestone to sage-feature because of #8470.

At some point Minh Nguyen added the words "needs to be coordinated with #8470" to the description. However #8470 has not been touched for 8 months. It appears to me that #8470 is an orphaned ticket.

I propose that the milestone for this patch should be changed back to 4.6.2.

I second this. #8470 is a meta-ticket meant for coordinating documentation. Closing the current ticket is a prereq to closing it. So, please close the current ticket, which in no ways depends on #8470.

jdemeyer commented 13 years ago

Description changed:

--- 
+++ 
@@ -1,6 +1,4 @@
 This patch adds a tutorial about Lie Methods and Related Combinatorics to Sage.
-
-The current ticket needs to be coordinated with #8470.

 A copy of the html documentation built with dvipng may be found at:

@@ -28,5 +26,4 @@

 add the `-j` flag to use jsmath.

-
-
+See also #8470.
jdemeyer commented 13 years ago

Description changed:

--- 
+++ 
@@ -10,13 +10,11 @@

 Note: only the second js version is up to date. I will update the other one later.

-Apply:'''
+Apply:

-```
- trac_8442-rebased-4.6.1.patch
- trac_8442-png-files.patch
- trac_8442-ref-spacing.patch
-```
+1. [attachment: trac_8442-rebased-4.6.1.patch](https://github.com/sagemath/sage-prod/files/10648400/trac_8442-rebased-4.6.1.patch.gz)
+2. [attachment: trac_8442-png-files.patch](https://github.com/sagemath/sage-prod/files/10648402/trac_8442-png-files.patch.gz)
+3. [attachment: trac_8442-ref-spacing.patch](https://github.com/sagemath/sage-prod/files/10648401/trac_8442-ref-spacing.patch.gz)

 Then build the doc with
jdemeyer commented 13 years ago
comment:62

Please add ticket number to commit message of attachment: trac_8442-png-files.patch

6bbcde06-8197-41f1-b9a3-c998bb839000 commented 13 years ago

Attachment: trac_8442-png-files.patch.gz

8442: png files

6bbcde06-8197-41f1-b9a3-c998bb839000 commented 13 years ago
comment:63

Please add ticket number to commit message of trac_8442-png-files.patch

Done.

jdemeyer commented 13 years ago

Attachment: 8442_manifest.patch.gz

jdemeyer commented 13 years ago
comment:64

Added attachment: 8442_manifest.patch, still needs testing.

dimpase commented 13 years ago

Description changed:

--- 
+++ 
@@ -15,6 +15,7 @@
 1. [attachment: trac_8442-rebased-4.6.1.patch](https://github.com/sagemath/sage-prod/files/10648400/trac_8442-rebased-4.6.1.patch.gz)
 2. [attachment: trac_8442-png-files.patch](https://github.com/sagemath/sage-prod/files/10648402/trac_8442-png-files.patch.gz)
 3. [attachment: trac_8442-ref-spacing.patch](https://github.com/sagemath/sage-prod/files/10648401/trac_8442-ref-spacing.patch.gz)
+4. [attachment: 8442_manifest.patch](https://github.com/sagemath/sage-prod/files/10648403/8442_manifest.patch.gz)

 Then build the doc with
dimpase commented 13 years ago
comment:65

Replying to @jdemeyer:

Added attachment: 8442_manifest.patch, still needs testing.

just tested, it works. I also edited the description to mention this patch too.

jdemeyer commented 13 years ago

Merged: sage-4.6.2.alpha3