Opened 4 years ago
Last modified 3 months ago
#14901 new task
Lie algebras
Reported by:  tscrim  Owned by:  sagecombinat 

Priority:  major  Milestone:  sage8.1 
Component:  algebra  Keywords:  Lie algebras, Kac Moody, days54 
Cc:  sagecombinat, aschilling, nthiery, darij, bsalisbury1, bump, SimonKing  Merged in:  
Authors:  Travis Scrimshaw  Reviewers:  
Report Upstream:  N/A  Work issues:  
Branch:  public/algebras/lie_algebras14901 (Commits)  Commit:  b8bcd7d206444e25d892d1821a1501851357be1b 
Dependencies:  #10963 #14898 #15151 #15289 #15384 #15827 #16820 #16821 #16822 #16823 #16824 #16825 #16826 #22883 #23037 #23517  Stopgaps: 
Description (last modified by )
Initial implementation of Lie algebras in sage.
This will contain the following:
 Free Lie algebras
 Hall basis
 Lyndon basis
 Abelian Lie algebras
 Lie algebras from an associative algebra
 Lie algebras from structure coefficients
 Finite type Lie algebras
 As matrices for types ABCD
 In the Chevalley basis
 gl_{n}
 Untwisted affine Lie algebras constructed from a finite type
 Untwisted affine KacMoody Lie algebras (i.e. the above and the Lie derivative)
 Universal enveloping algebras
 PBW bases
 Quotient, sub, and direct sum Lie algebras and Lie algebra ideals
 Other examples:
 Upper triangular matrices
 Strictly upper triangular matrices
 Heisenberg algebra
 Witt algebra
 Virasoro algebra
 Some nilpotent Lie algebras
 KacMoody algebras based only on a (generalized) Cartan matrix
 Lie algebra (co)homology
 Chargeless and Verma modules for the Virasoro algebra
 Fock space
There might also be the following:
 su_{n}
 recovery of Lie group from Lie algebra
 connection between the quantum group and the Hall algebra (coming from representations of a quiver over F_{q})
With this, one will be able to do basic computations, as well as compute things such as the lower central series (depending on the type).
Current ticket breakdown (more might follow):
 #16820  the categories and the basic framework and finite dimensional given by structure coefficients
 #17416  subalgebras
 #16821  classical Lie algebras
 #16822  PBW basis for the universal enveloping algebra
 #16823  the free Lie algebra
 #16824  ideals, quotients, and finitely presented Lie algebras
 #16825  untwisted affine Lie algebras
 #16826  KacMoody algebras
 #22883  Lie algebra (co)homology
 #23037  Chargeless and Verma modules for the Virasoro algebra
 #22949  Add method to construct a
FiniteDimensionalAlgebra
isomorphic to the Lie algebra  #23517  Verma modules
 #16860  Interface with Gap (not part of the current branch)
 #16861  Interface with LiE (not part of the current branch)
Related tickets:
 #15508  Fock space and LLT algorithm for type A_{n}^{(1)}
 #16055  Jordan algebras
 #15300  Weyl and Clifford algebras
 #16056  Global crystal bases
 #16851  Koszul complexes
 #15484  Yangians for gl_{n}
 #15485  WZW fusion algebras
 #22623  Quantum groups using GAP's QuaGroup package
 #22900  Methods to construct the derivation algebra
Attachments (1)
Change History (50)
comment:1 Changed 4 years ago by
 Description modified (diff)
comment:2 Changed 4 years ago by
 Cc darij added
comment:3 Changed 4 years ago by
 Cc bsalisbury1 added
comment:4 Changed 4 years ago by
 Description modified (diff)
comment:5 Changed 4 years ago by
That's a hell of a project!
At some point, when linear algebra works in combinatorial free modules, I'll want (and probably make) the Lie algebra of primitives of a Hopf algebra.
comment:6 Changed 4 years ago by
 Dependencies changed from #10963 to #10963 #14898
I'm currently setting #14898 as a dependency since that will likely be done before this patch and because they should play together.
comment:7 Changed 4 years ago by
 Dependencies changed from #10963 #14898 to #10963 #14898 #15151
For defining the action on Fock space needs #15151.
comment:8 Changed 4 years ago by
 Dependencies changed from #10963 #14898 #15151 to #10963 #14898 #15151 #15289
To do PBW(type) bases, I'll need #15289.
Changed 4 years ago by
comment:9 Changed 4 years ago by
Okay, here's the current version of the patch for reference for those don't want to get/use the combinat queue. It does about 80% or so of the functionality I want, but it probably could use some restructuring. It's also missing a lot of documentation (most importantly doctests). Here's what's done and (mostly) working:
 Free Lie algebras in the Hall basis
 The Lyndon basis for the free Lie algebra
 Abelian Lie algebras
 Lie algebras from an associative algebra
 Lie algebras from structure coefficients
 Finite type Lie algebras
 As matrices for types ABCD
 In the Chevalley basis
 gl_{n}
 The Lie algebra of strictly upper triangular matrices
 The Lie algebra of upper triangular matrices
 Untwisted affine Lie algebras constructed from a finite type
 Untwisted affine KacMoody Lie algebras (i.e. the above and the Lie derivative) [done]
 Universal enveloping algebras
 KacMoody algebras based only on a (generalized) Cartan matrix
 LLT basis and Fock spaces for U_{q}(sl_{n}) [done]
 PBW(type) bases of universal enveloping algebra (quantum group) [done for Lie algebras up to abstracting internal structure]
 canonical bases of quantum groups [90% done]
 the Heisenberg Lie algebras and some other misc examples
 quotient, sub, and direct sum Lie algebras and Lie algebra ideals [doesn't always seem to reduce properly]
Everything else:
 twisted affine Lie and KacMoody algebras via loop groups/diagram automorphims [I want to do this, but haven't started and might push to a later ticket]
 the Goodman and Wenzl modified LLT algorithm [haven't started yet]
 polynomial representations for sl_{n} [doesn't give the correct results]
 implementation of quantum groups [65% done]
 connection between the quantum group and the Hall algebra (coming from representations of a quiver over F_{q}) [I would need to understand Hall algebras better to do this]
 su_{n} [possibly to be dropped as the Sage infrastructure does not seem to be there]
 recovery of Lie group from Lie algebra (where it makes sense) [0% done, likely to be dropped]
comment:10 Changed 4 years ago by
 Branch set to public/algebras/lie_algebras14901
 Dependencies changed from #10963 #14898 #15151 #15289 to #10963 #14898 #15151 #15289 #15384
comment:11 Changed 4 years ago by
 Commit set to 9d3326862166e28f7424271a7c8a5d18dedb7e13
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
9d33268  #14901: Initial implementation of Lie algebras. 
db19b7c  Merge branch 'public/monoids/15289indexed' into public/algebras/lie_algebras14901 
643bfcb  Merge branch 'public/combinat/root_systems/improvements' into public/algebras/lie_algebras14901 
362fd5e  # Tue Oct 29 20:14:19 2013 +0100 
b2914f3  # Sun Oct 27 13:58:49 2013 +0100 
9d9cae3  # Sat Oct 19 11:50:04 2013 +0200 
0251a33  Trac #13394: Implement faster and safer WeakValueDictionary? 
c1b5afe  #15289: Implemented indexed monoids and groups. 
6fd33b2  #15169: Fix FreeAlgebra? element constructor from a base field. 
0fa598a  imported patch root_system_datats.patch 
comment:12 Changed 4 years ago by
 Keywords days54 added
comment:13 followup: ↓ 14 Changed 4 years ago by
You might find this link interesting and relevant. Apparently this person implemented quite a bit...
comment:14 in reply to: ↑ 13 Changed 4 years ago by
Replying to kcrisman:
You might find this link interesting and relevant. Apparently this person implemented quite a bit...
Thanks. That has the branching rules and operations on the algebras themselves, which is useful, than doing computations within them.
Also as a reference for myself: http://coropa.sourceforge.net/
comment:15 Changed 4 years ago by
 Commit changed from 9d3326862166e28f7424271a7c8a5d18dedb7e13 to 658e41d5b948fba42eb55a12edcca8880502716e
Branch pushed to git repo; I updated commit sha1. New commits:
658e41d  Merge branch 'master' into public/algebras/lie_algebras14901 
comment:16 Changed 4 years ago by
 Commit changed from 658e41d5b948fba42eb55a12edcca8880502716e to efecd11e40e7528972576cbcf9edabdf6ac449af
Branch pushed to git repo; I updated commit sha1. New commits:
efecd11  Fixes to printing of PBW basis elements. 
eec85ad  Merge branch 'public/combinat/root_systems/improvements15384' into public/algebras/lie_algebras14901 
b4c7865  Merge branch 'master' into public/combinat/root_systems/improvements15384 
e40f892  Changed horizontal to basic_untwisted. 
930782b  Fixed indentation error. 
f87789d  Merge branch 'master' into public/combinat/root_systems/improvements15384 
comment:17 Changed 4 years ago by
 Commit changed from efecd11e40e7528972576cbcf9edabdf6ac449af to 4466b12a784901161b4700ebb06b4120022cf7d5
comment:18 Changed 4 years ago by
 Commit changed from 4466b12a784901161b4700ebb06b4120022cf7d5 to 84b241fc071155f21f29c7169b45a6505a02bb23
comment:19 Changed 4 years ago by
 Description modified (diff)
 Type changed from enhancement to task
comment:20 Changed 4 years ago by
 Commit changed from 84b241fc071155f21f29c7169b45a6505a02bb23 to d79c483ad3eed88edc5919e14284c9466a0b4998
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
d79c483  Merge branch 'public/combinat/root_systems/improvements15384' into public/algebras/lie_algebras14901 
585729a  Merge branch 'public/modules/fock_space' into public/algebras/lie_algebras14901 
702f96a  Merge branch 'u/tscrim/lie_algebras14901' of trac.sagemath.org:sage into public/algebras/lie_algebras14901 
4548a5b  Merge branch 'public/modules/fock_space' of trac.sagemath.org:sage into public/modules/fock_space 
31b1cf2  Finished GW algorithm and finalized files. 
0374b6f  Merge branch 'master' into public/algebras/lie_algebras14901 
20af672  Merge branch 'master' into public/modules/fock_space 
1d8057a  Merge branch 'u/tscrim/lie_algebras14901' of ssh://trac.sagemath.org:2222/sage into public/algebras/lie_algebras14901 
63ac373  Tweaks to Virasoro algebra documentation. 
90424b3  More work on GW algorithm. 
comment:21 Changed 4 years ago by
 Description modified (diff)
comment:22 Changed 4 years ago by
Also for reference (and in case anyone can translate mathematica code into pseudocode or pseudo Sage) http://www.equaonline.com/math/SuperLie/.
comment:23 Changed 4 years ago by
 Milestone changed from sage6.1 to sage6.2
comment:24 Changed 4 years ago by
 Commit changed from d79c483ad3eed88edc5919e14284c9466a0b4998 to 3eb678411d781b02ea8a4aa80b4d96b7680c1850
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
6863447  Merge branch 'master' into public/algebras/lie_algebras14901

a970464  Work on finite dimensional Lie algebras with bases.

b153849  Merge branch 'master' into public/algebras/lie_algebras14901

494ad67  Merge branch 'develop' into public/algebras/lie_algebras14901

4038bc8  Starting work.

b09a669  Fixed implementation, now to documentation.

2fdb307  Started new file for PBW algebras and ideals.

6fb3c0d  Merge branch 'develop' into public/algebras/fp_algebras

d2d1019  Refactoring PBW ideals and FP algebras.

6213e71  Merge branch 'develop' into public/algebras/fp_algebras

comment:25 Changed 4 years ago by
 Cc bump added
comment:26 Changed 4 years ago by
 Commit changed from 3eb678411d781b02ea8a4aa80b4d96b7680c1850 to 4b66ac3a08008550ef1fac8e0fec92f18a54191a
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
a278afa  Added cardinality methods.

f681606  Added cardinality to free abelian monoid for consistancy.

3a0e50b  Merge branch 'develop' into public/monoids/15289indexed

d4606cc  Added more robustness to element creation.

991953a  Merge branch 'develop' into public/monoids/15289indexed

480188e  Merge branch 'public/monoids/15289indexed' into public/algebras/lie_algebras14901

cc0c2a5  Merge branch 'develop' into public/algebras/lie_algebras14901

c3e7244  Added are_linearly_dependent.

b8ef03b  Merge branch 'public/linear_algebra/linear_dep_check15827' into public/algebras/lie_algebras14901

4b66ac3  Refactoring of Lie algebras with structure coefficients.

comment:27 Changed 4 years ago by
 Dependencies changed from #10963 #14898 #15151 #15289 #15384 to #10963 #14898 #15151 #15289 #15384 #15827
comment:28 Changed 4 years ago by
 Commit changed from 4b66ac3a08008550ef1fac8e0fec92f18a54191a to f3562392e5f28d3db1a7f82c7b778bb97134b967
Branch pushed to git repo; I updated commit sha1. New commits:
f356239  Fixes from refactoring and (hopefully) a working version of finitely presented algebras.

comment:29 Changed 4 years ago by
 Cc SimonKing added
comment:30 Changed 4 years ago by
 Commit changed from f3562392e5f28d3db1a7f82c7b778bb97134b967 to 11c9bf3a512df00c991c051e69a89704dc76cb4f
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
7db4ef0  Trac 10963: Fixed repr for the symmetric group algebra by improving a bit the generic repr methods in the categories

367d72e  Trac 10963: fixed trivial doctest failure

8919180  Trac 10963: reverted change that was meant to be put in #15801

d1b5374  Trac 10963: reverted change that required #15801 for no good reason

4580db1  Trac 10963: fixed trivial doctest failures

f44661f  Trac 15801: added repr in HeckeModule_free_module (the generic one in modules with basis can't handle it anymore)

feab04a  manual merge with 6.2.beta8

ce2193e  Merge branch 'public/ticket/10963docdistributive' of trac.sagemath.org:sage into public/ticket/10963docdistributive

e5567c1  Merge branch 'public/ticket/10963docdistributive' into public/algebras/lie_algebras14901

11c9bf3  Cleaning up bad merging.

comment:31 Changed 3 years ago by
 Commit changed from 11c9bf3a512df00c991c051e69a89704dc76cb4f to e30bf4eb0918544f3441707bd26452f79310adcc
Branch pushed to git repo; I updated commit sha1. New commits:
6de0121  Tweaks to elements and struct coeffs.

1c1b4eb  Changed monomial_cmp to generator_cmp and added free (static)method to monoids and groups category.

47b5be7  Removed __contains__ and fix monomial_cmp in indexed_monoid.py

4097a8c  Merge branch 'develop' into public/monoids/15289indexed

374ae3d  Merge branch 'public/monoids/15289indexed' into public/algebras/base_lie_algebras

211e1c7  Merge branch 'public/algebras/base_lie_algebras' into public/algebras/lie_algebras14901

23301a8  Misc fixes and tweaks.

e30bf4e  Merge branch 'public/monoids/15289indexed' into public/algebras/lie_algebras14901

comment:32 Changed 3 years ago by
 Milestone changed from sage6.2 to sage6.3
comment:33 Changed 3 years ago by
 Commit changed from e30bf4eb0918544f3441707bd26452f79310adcc to c738b02cdbc10b5e1f241426873687dfe126627a
comment:34 Changed 3 years ago by
 Commit changed from c738b02cdbc10b5e1f241426873687dfe126627a to 850ab5c582dbaa6f47aebc6ecdbb900bb57c186b
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
f9f8b9f  Merge branch 'public/combinat/root_systems/improvements15384' into public/algebras/lie_algebras14901

56e3891  Putting out some fires.

329ea79  Merge branch 'develop' into public/algebras/base_lie_algebras

6da634b  Merge branch 'develop' into public/algebras/base_lie_algebras

dc6747b  Better repr/latex and actually use IndexedGenerators.

2346150  Merge branch 'public/algebras/base_lie_algebras' into public/algebras/lie_algebras14901

4785df5  Some fixes from the merge.

21e7b0b  Removed s from affine Lie algebras module name.

1edf001  Merge branch 'public/algebras/base_lie_algebras' into public/algebras/lie_algebras14901

850ab5c  Putting out more fires. (Untwisted) Affine Lie algebras working agian.

comment:35 Changed 3 years ago by
 Commit changed from 850ab5c582dbaa6f47aebc6ecdbb900bb57c186b to b8bcd7d206444e25d892d1821a1501851357be1b
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
ecdc00f  Fixed doctests because of different processing of input.

909196e  Merge branch 'develop' into public/monoids/15289indexed

1db7c1d  Merge branch 'develop' into public/monoids/15289indexed

73a4e48  Implemented other changes/improvements Nicolas suggested.

b9f6f18  Merge branch 'develop' into public/monoids/15289indexed

45ee958  Merge branch 'public/monoids/15289indexed' into public/algebras/lie_algebras14901

399bb1e  Rebased over changes from indexed generators.

ab4fa91  Removed duplicate code and fixed ideals.

469a5b2  Putting out more fires.

b8bcd7d  Merge branch 'public/algebras/lie_algebras14901' of trac.sagemath.org:sage into public/algebras/lie_algebras14901

comment:36 Changed 3 years ago by
 Milestone changed from sage6.3 to sage6.4
comment:37 Changed 3 years ago by
 Dependencies changed from #10963 #14898 #15151 #15289 #15384 #15827 to #10963 #14898 #15151 #15289 #15384 #15827 #16819 #16820 #16821 #16822 #16823 #16824 #16825 #16826
 Description modified (diff)
 Keywords changed from Lie algebras Kac Moody, days54 to Lie algebras, Kac Moody, days54
comment:38 Changed 3 years ago by
 Description modified (diff)
FYI  #16819 has been split off and is ready for review.
comment:39 Changed 3 years ago by
 Description modified (diff)
comment:40 Changed 3 years ago by
 Description modified (diff)
comment:41 Changed 3 years ago by
More references/information/future work:
Atlas of Lie groups and representations  http://www.liegroups.org/
comment:42 Changed 3 years ago by
 Dependencies changed from #10963 #14898 #15151 #15289 #15384 #15827 #16819 #16820 #16821 #16822 #16823 #16824 #16825 #16826 to #10963 #14898 #15151 #15289 #15384 #15827 #16820 #16821 #16822 #16823 #16824 #16825 #16826
 Description modified (diff)
comment:43 Changed 7 months ago by
 Description modified (diff)
comment:44 Changed 6 months ago by
 Dependencies changed from #10963 #14898 #15151 #15289 #15384 #15827 #16820 #16821 #16822 #16823 #16824 #16825 #16826 to #10963 #14898 #15151 #15289 #15384 #15827 #16820 #16821 #16822 #16823 #16824 #16825 #16826 #22883
 Description modified (diff)
Lie algebra (co)homology is done in #22883. It is not the most efficient implementation and doesn't seem work very well for Lie algebras of dimension larger than 10 due to the amount of information needed to be computed (i.e., large dimensional vector spaces).
comment:45 Changed 6 months ago by
 Description modified (diff)
 Milestone changed from sage6.4 to sage8.0
comment:46 Changed 6 months ago by
 Description modified (diff)
comment:47 Changed 5 months ago by
 Dependencies changed from #10963 #14898 #15151 #15289 #15384 #15827 #16820 #16821 #16822 #16823 #16824 #16825 #16826 #22883 to #10963 #14898 #15151 #15289 #15384 #15827 #16820 #16821 #16822 #16823 #16824 #16825 #16826 #22883 #23037
 Description modified (diff)
#23037 adds a little bit more to the representation theory in Sage. Good followups will include trivial, adjoint, and tensor product representations for Lie algebras.
comment:48 Changed 3 months ago by
 Description modified (diff)
 Milestone changed from sage8.0 to sage8.1
comment:49 Changed 3 months ago by
 Dependencies changed from #10963 #14898 #15151 #15289 #15384 #15827 #16820 #16821 #16822 #16823 #16824 #16825 #16826 #22883 #23037 to #10963 #14898 #15151 #15289 #15384 #15827 #16820 #16821 #16822 #16823 #16824 #16825 #16826 #22883 #23037 #23517
Other (poosible) additions: