Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
5 changed files
with
178 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,4 +5,8 @@ | |
*.log | ||
*.out | ||
*.run.xml | ||
*.sage | ||
*.sage.py | ||
*.scmd | ||
*.sout | ||
*.synctex.gz |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,137 @@ | ||
\addtocounter{section}{1} | ||
\section{} | ||
|
||
The relations | ||
\[ | ||
[h,e] = 2e \,, | ||
\qquad | ||
[h,f] = -2f \,, | ||
\qquad | ||
[e,f] = h | ||
\] | ||
can be regarded as \emph{rewritting rules} | ||
\[ | ||
hf \to fh - 2f \,, | ||
\qquad | ||
eh \to he - 2e \,, | ||
\qquad | ||
ef \to fe + h \,. | ||
\] | ||
To write a monomial~$e^l h^m f^n$ as a linear combination of the given basis monomials we repeatedly apply this rewritting rules and expand the resulting expressions if needed. | ||
This is best done using computers. | ||
We give two solutions for doing so: | ||
|
||
The first solution uses \texttt{python} together with the multi-purpose \texttt{sympy} package to do the necessary work: | ||
|
||
\begin{pythoncode} | ||
from sympy import * | ||
|
||
e, h, f = symbols('e h f', commutative=False) | ||
|
||
def sl2expand(term): | ||
while True: | ||
newterm = term | ||
newterm = newterm.subs(h*f, f*h - 2*f) | ||
newterm = newterm.subs(e*h, h*e - 2*e) | ||
newterm = newterm.subs(e*f, f*e + h) | ||
newterm = expand(newterm) | ||
if newterm == term: | ||
break | ||
else: | ||
term = newterm | ||
return term | ||
\end{pythoncode} | ||
We get from this program the following results: | ||
\begin{consoleoutput} | ||
>>> sl2expand(e * h * f) | ||
-4*f*e + f*h*e - 2*h + h**2 | ||
>>> sl2expand(e**2 * h**2 * f**2) | ||
-288*f*e + 240*f*h*e - 56*f*h**2*e + 4*f*h**3*e + 64*f**2*e**2 - 16*f**2*h*e**2 + f**2*h**2*e**2 - 32*h + 48*h**2 - 18*h**3 + 2*h**4 | ||
>>> sl2expand(h * f**3) | ||
-6*f**3 + f**3*h | ||
>>> sl2expand(h**3 * f) | ||
-8*f + 12*f*h - 6*f*h**2 + f*h**3 | ||
\end{consoleoutput} | ||
Hence | ||
\begin{align*} | ||
ehf | ||
={}& | ||
- 4 f e + f h e - 2 h + h^2 \,, | ||
\\ | ||
e^2 h^2 f^2 | ||
={}& | ||
-288 f e + 240 f h e - 56 f h^2 e + 4 f h^3 e + 64 f^2 e^2 | ||
\\ | ||
{}& | ||
- 16 f^2 h e^2 + f^2 h^2 e^2 - 32 h + 48 h^2 - 18 h^3 + 2 h^4 \,, | ||
\\ | ||
h f^3 | ||
={}& | ||
-6 f^3 + f^3 h \,, | ||
\\ | ||
h^3 f | ||
={}& | ||
-8 f + 12 f h - 6 f h^2 + f h^3 \,. | ||
\end{align*} | ||
|
||
Another software solution is provided by \texttt{sage}, a powerful computer algebra system. | ||
Lie algebras and their PBW bases are already implemented and an explicit explanation can be found in \cite{sage_pbw}. | ||
|
||
% After a first compiling we get a *.sagetex.sage file, on which we have to run sage. | ||
% Then we need to compile the document again. | ||
\begin{sagecommandline} | ||
sage: g = lie_algebras.three_dimensional_by_rank(QQ, 3, names=['E','F','H']) | ||
|
||
sage: def sort_key(x): | ||
....: if x == 'F': | ||
....: return 0 | ||
....: if x == 'H': | ||
....: return 1 | ||
....: if x == 'E': | ||
....: return 2 | ||
|
||
|
||
sage: pbw = g.pbw_basis(basis_key=sort_key) | ||
sage: E,F,H = pbw.algebra_generators() | ||
|
||
An easy test: | ||
sage: H * E - E * H | ||
sage: H * F - F * H | ||
sage: E * F - F * E | ||
|
||
Now the real deal: | ||
sage: E * H * F | ||
sage: E^2 * H^2 * F^2 | ||
sage: H * F^3 | ||
sage: H^3 * F | ||
\end{sagecommandline} | ||
(The above output in the lines 12,~14,~16,~18,~20,~22,~24 is in fact autogenerated by \texttt{sage} when compiling this document.) | ||
|
||
We want to point out that~$h f^3$ can also be computed smartly, and more generally~$h f^n$ for every~$n \geq 0$: | ||
If~$A$ is any~{\algebra{$k$}} and~$a \in A$ then the map~$[a,-] \colon A \to A$ is a derivation of~$A$, i.e. | ||
\[ | ||
[a, xy] | ||
= | ||
[a,x] y + x [a,y] \,. | ||
\] | ||
Hence | ||
\[ | ||
[h, f^n] | ||
= | ||
[h, f f \dotsm f] | ||
= | ||
[h,f] f \dotsm f | ||
+ f [h, f] \dotsm f | ||
+ \dotsb | ||
+ f f \dotsm [h,f] \,. | ||
\] | ||
With~$[h,f] = -2f$ we find that | ||
\[ | ||
[h, f^n] | ||
= | ||
-2 n f^n \,. | ||
\] | ||
With~$[h, f^n] = h f^n - f^n h$ we find by rearranging that | ||
\[ | ||
h f^n = f^n h - 2 n f^n \,. | ||
\] | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters