Skip to content

Commit

Permalink
Typed a solution to Problem 25.
Browse files Browse the repository at this point in the history
  • Loading branch information
cionx committed May 24, 2019
1 parent 09cd6ab commit e07c143
Show file tree
Hide file tree
Showing 5 changed files with 178 additions and 1 deletion.
4 changes: 4 additions & 0 deletions .gitignore
Expand Up @@ -5,4 +5,8 @@
*.log
*.out
*.run.xml
*.sage
*.sage.py
*.scmd
*.sout
*.synctex.gz
138 changes: 137 additions & 1 deletion sheet_05/exercise_25.tex
@@ -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 \,.
\]

9 changes: 9 additions & 0 deletions sheet_05/references.bib
Expand Up @@ -9,3 +9,12 @@ @book{noncommutative_noetherian
ISBN = {978-0-8218-2169-5},
ISSN = {1065-7339}
}

@online{sage_pbw,
TITLE = {The Poincaré--Birkhoff--Witt Basis For A Universal Enveloping Algebra},
AUTHOR = {Scrimshaw, Travis},
DATE = {2013-11-03},
URL = {http://doc.sagemath.org/html/en/reference/algebras/sage/algebras/lie_algebras/poincare_birkhoff_witt.html},
URLDATE = {2019-05-23},
LABEL = {Sag}
}
Binary file modified sheet_05/sheet_05.pdf
Binary file not shown.
28 changes: 28 additions & 0 deletions sheet_05/specificstyle.sty
Expand Up @@ -4,4 +4,32 @@
\DeclareFieldFormat{postnote}{#1}
\DeclareFieldFormat{multipostnote}{#1}

\usepackage{listings}
\lstnewenvironment{pythoncode}{
\lstset{
numbers = left,
stepnumber = 1,
numbersep = 5pt,
language = Python,
basicstyle = \footnotesize\listingsfont,
showstringspaces = false,
frame = single,
breaklines = true
}
}{}
\lstnewenvironment{consoleoutput}{
\lstset{
basicstyle = \footnotesize\listingsfont,
showstringspaces = false,
frame = single,
breaklines = true
}
}{}

\usepackage{sagetex}

\usepackage{fontspec}
\newfontfamily\listingsfont{DejaVu Sans Mono}
\setmonofont[Scale=MatchLowercase]{DejaVu Sans Mono}

\DeclareMathOperator{\irr}{V}

0 comments on commit e07c143

Please sign in to comment.