summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/lie-hasse/lie-hasse.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/lie-hasse/lie-hasse.tex')
-rw-r--r--Master/texmf-dist/doc/latex/lie-hasse/lie-hasse.tex555
1 files changed, 555 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/lie-hasse/lie-hasse.tex b/Master/texmf-dist/doc/latex/lie-hasse/lie-hasse.tex
new file mode 100644
index 00000000000..82643fee141
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/lie-hasse/lie-hasse.tex
@@ -0,0 +1,555 @@
+\documentclass{amsart}
+\title[The Lie Hasse package]{The Lie Hasse package \\ Version 1.0}
+%% My name:
+\makeatletter
+\DeclareRobustCommand{\scotsMc}{\scotsMcx{c}}
+\DeclareRobustCommand{\scotsMC}{\scotsMcx{\textsc{c}}}
+\DeclareRobustCommand{\scotsMcx}[1]{%
+ M%
+ \raisebox{\dimexpr\fontcharht\font`M-\height}{%
+ \check@mathfonts\fontsize{\sf@size}{0}\selectfont
+ \kern.3ex\underline{\kern-.3ex #1\kern-.3ex}\kern.3ex
+ }%
+}
+\expandafter\def\expandafter\@uclclist\expandafter{%
+ \@uclclist\scotsMc\scotsMC
+}
+\makeatother
+\newcommand{\authorsname}{\texorpdfstring{Benjamin \scotsMc{}Kay}{Benjamin McKay}}
+\author{\authorsname}
+\address{School of Mathematical Sciences, University College Cork, Cork, Ireland}
+\email{b.mckay@ucc.ie}
+\date{3 February 2020}
+\usepackage{etex}
+\usepackage[T1]{fontenc}
+\usepackage[utf8]{inputenx}
+\usepackage{etoolbox}
+\usepackage{lmodern}
+\RequirePackage[tt=lining]{cfr-lm}
+\usepackage[kerning=true,tracking=true]{microtype}
+\usepackage{amsmath}
+\usepackage{amsfonts}
+\usepackage{mathtools}
+\usepackage{mathtext}
+\usepackage[english]{babel}
+\usepackage[pagebackref]{hyperref}
+ \hypersetup{
+ colorlinks = true, %Colours links instead of ugly boxes
+ urlcolor = black, %Colour for external hyperlinks
+ linkcolor = black, %Colour of internal links
+ citecolor = black %Colour of citations
+ }
+\usepackage{lie-hasse}
+\usetikzlibrary{positioning}
+\usepackage{fancyvrb}\fvset{obeytabs,tabsize=2,fontsize=\small}
+\usepackage[listings]{tcolorbox}
+\tcbuselibrary{breakable}
+\tcbuselibrary{skins}
+\usepackage{varwidth}
+\usepackage{xspace}
+\newcommand{\TikZ}{Ti\textit{k}Z\xspace}
+\definecolor{example-color}{gray}{1}
+\definecolor{example-border-color}{gray}{.8}
+\tcbset{
+ coltitle=black,
+ colback=example-color,
+ colframe=example-border-color,
+ enhanced,breakable,
+ pad at break*=1mm,
+ toprule=1.2mm,
+ bottomrule=1.2mm,
+ leftrule=1mm,
+ rightrule=1mm,
+ toprule at break=-1mm,
+ bottomrule at break=-1mm,
+ before upper={\widowpenalties=3 10000 10000 150}
+}
+\tikzset{
+ /Dynkin diagram,
+ edge length=1cm,
+ ordering=Carter,
+ vertical shift=0}
+\tikzset{
+ background rectangle/.style={
+ shade,
+ top color=olive!20,
+ bottom color=white,
+ draw=olive!15,
+ very thick,
+ rounded corners},
+}
+\begin{document}
+\maketitle
+\begin{center}%
+ \begin{tikzpicture}[show background rectangle]
+ \hasse[
+ edge/.style={},
+ root radius=.02cm,
+ edge length=.5cm,
+ edge quotes/.style={opacity=0}%
+ ]{E}{8}%
+ \end{tikzpicture}%
+\end{center}%
+\begin{center}
+\begin{varwidth}{\textwidth}
+\tableofcontents
+\end{varwidth}
+\end{center}
+\setlength{\arrayrulewidth}{1.5pt}
+
+\section{Quick introduction}
+This package draws the Hasse diagram of the poset of the positive simple roots of each complex simple Lie group, as drawn by Ringel \cite{Ringel:2013}.
+\begin{tcolorbox}[title={Load the package}]
+\begin{Verbatim}
+\documentclass{article}
+\usepackage{lie-hasse}
+\begin{document}
+The Hasse diagram of \(F_4\) is
+\begin{center}
+\hasse[edge length=1cm]{F}{4}
+\end{center}
+\end{document}
+\end{Verbatim}
+\end{tcolorbox}
+\par\noindent{}The Hasse diagram of \(F_4\) is
+\begin{center}
+\hasse[edge length=1cm]{F}{4}
+\end{center}
+Each edge is labelled with the simple root by which vertices differ.
+\begin{tcblisting}{title={Inside a \TikZ statement}}
+\(B_4\) has Dynkin diagram \tikz \dynkin[edge length=.35cm]{B}{4};, Hasse diagram
+\begin{center}
+\hasse[edge length=1cm]{B}{4}
+\end{center}
+\end{tcblisting}
+\begin{tcblisting}{title={Inside a Dynkin diagram environment, diagrams fit together}}
+The Hasse diagram of \(B_4\) is
+\begin{dynkinDiagram}[vertical shift=0,edge length=1cm]{B}{4}
+\hasse{B}{4}
+\end{dynkinDiagram}
+\end{tcblisting}
+We shut off the default vertical shift of the Dynkin diagram, so that it starts at the origin.
+There is an option to \verb!\hasse! for this:
+\begin{tcblisting}{title={Attaching the Dynkin diagram}}
+The Hasse diagram of \(B_4\) is
+\begin{center}
+\hasse[attach Dynkin diagram=true]{B}{4}
+\end{center}
+\end{tcblisting}
+Unfortunately, attaching a Dynkin diagram looks terrible for \(D\) or \(E\) series, so a Dynkin diagram appears below.
+\begin{tcblisting}{title={Attaching the Dynkin diagram}}
+The Hasse diagram of \(D_5\) is
+\begin{center}
+\hasse[attach Dynkin diagram=true]{D}{5}
+\end{center}
+\end{tcblisting}
+\begin{tcblisting}{title={Inside a \TikZ environment}}
+\begin{tikzpicture}
+\hasse{A}{4}
+\draw (4;1) circle (5pt);
+\draw[red] (2;3) circle (5pt);
+\end{tikzpicture}
+\end{tcblisting}
+In this example, we see that the roots of the Hasse diagram are \TikZ{} nodes labelled \(g;i\) for grade \(g\) (i.e. \(g\) units up the page) and index \(i\) (i.e. \(i^{\text{th}}\) root of grade \(g\) drawn on the page, starting from the left).
+
+\section{Inherited options}
+The Lie Hasse package inherits options from the Dynkin diagrams package: the edge lengths are set with
+\begin{Verbatim}
+\tikzset{/Dynkin diagram/edge lengths=1.2cm}
+\end{Verbatim}
+and similarly the ordering of roots with
+\begin{Verbatim}
+\tikzset{/Dynkin diagram/ordering=Bourbaki}
+\end{Verbatim}
+
+\section{Prettier}
+The package includes a more elaborate \verb!\hasseDiagrams! command, taking a list of semicolon separated Dynkin diagram identfiers.
+\begin{tcolorbox}[title={With some global options to make prettier diagrams}]
+\begin{Verbatim}
+\tikzset{
+ background rectangle/.style={
+ shade,
+ top color=olive!20,
+ bottom color=white,
+ draw=olive!15,
+ very thick,
+ rounded corners},
+ /Lie Hasse diagram,
+ edge length=1.2cm,
+ show name=true,
+ vertical shift=0}
+\hasseDiagrams{A4;B4;C4}
+\end{Verbatim}
+\end{tcolorbox}
+\begingroup
+\tikzset{
+ background rectangle/.style={
+ shade,
+ top color=olive!20,
+ bottom color=white,
+ draw=olive!15,
+ very thick,
+ rounded corners},
+ /Lie Hasse diagram,
+ edge length=1.2cm,
+ show name=true,
+ vertical shift=0}
+\hasseDiagrams{A4;B4;C4}
+\endgroup
+Global options:
+\begin{verbatim}
+ edge/.style={ultra thick},
+ edge quotes/.style={/Dynkin diagram/text style,auto,inner sep=2pt},
+\end{verbatim}
+allow to change the edges, and to change the way that labels are printed, and how close labels are to the edges.
+
+
+
+\section{Root order}
+We order the roots as in the Dynkin diagram package: with orderings Adams, Bourbaki, Carter, Dynkin and Kac.
+\emph{Warning:} the default is Carter, \emph{not} Bourbaki; the default in the Dynkin diagram package is Bourbaki.
+We can use this like:
+\begin{Verbatim}
+\tikzset{/Lie Hasse diagram,show name=true,show ordering=true}
+\hasseDiagrams{[ordering=Adams]E6;[ordering=Bourbaki]E6}
+\hasseDiagrams{[ordering=Carter]E6;[ordering=Dynkin]E6}
+\hasseDiagrams{[ordering=Kac]E6}
+\end{Verbatim}
+
+\begingroup
+\tikzset{/Lie Hasse diagram,show name=true,show ordering=true}
+\hasseDiagrams{[ordering=Adams]E6;[ordering=Bourbaki]E6}
+\hasseDiagrams{[ordering=Carter]E6;[ordering=Dynkin]E6}
+\hasseDiagrams{[ordering=Kac]E6}
+\endgroup
+
+\section{Graph height and width}
+The \emph{height} of a Hasse diagram is the number of grades.
+The \emph{width} of each grade is the number of vertices on that grade.
+We recover these with
+\begin{Verbatim}
+\newcount\h
+\rootSystemHeight[G][2]{\h}
+\end{Verbatim}
+to store the height of \(G_2\) in a counter called \verb!\h!, and
+\begin{Verbatim}
+\newcount\w
+\rootSystemWidthAtGrade[G][2]{3}{\w}%
+\end{Verbatim}
+to store the width of \(G_2\) at grade \(3\) in a counter called \verb!\w!.
+
+Once you use \verb!\dynkin{G}{2}! or \verb!\hasse{G}{2}! or the other commands, like
+\begin{Verbatim}
+\rootSystemHeight[G][2]{\h}
+\end{Verbatim}
+the system stores that your default root system is \(G_2\).
+Subsequently calls to
+\begin{Verbatim}
+\rootSystemHeight{\h}
+\end{Verbatim}
+and
+\begin{Verbatim}
+\rootSystemWidthAtGrade{3}{\w}
+\end{Verbatim}
+ do not need to specify the root system.
+
+\begingroup
+The \verb!show height! option:
+\begin{Verbatim}
+\tikzset{/Lie Hasse diagram,show name=true,show height=true}
+\hasseDiagrams{G2}
+\end{Verbatim}
+\tikzset{/Lie Hasse diagram,show name=true,show height=true}
+\hasseDiagrams{G2}
+The \verb!show widths! option:
+\begin{Verbatim}
+\tikzset{/Lie Hasse diagram/show widths=true}
+\hasseDiagrams{G2}
+\end{Verbatim}
+\tikzset{/Lie Hasse diagram/show widths=true}
+\hasseDiagrams{G2}
+\tikzset{/Lie Hasse diagram/show height=false}
+\tikzset{/Lie Hasse diagram/show widths=false}
+\endgroup
+
+\section{Root decompositions}
+Each positive root in a root system is a unique nonnegative integer linear combination of positive simple roots.
+We can recover this expression as
+\begin{Verbatim}
+\rootSum[G][2]{5}{1}{\rs}
+\end{Verbatim}
+which, for the root system \(G_2\), and the root at position \(5;1\) in our Hasse diagram, stores in the variable \verb!\rs! a string which looks like \rootSum[G][2]{5}{1}{\rs}\texttt{\rs}.
+This is a comma separated list of the integer coefficients.
+\emph{Warning:} for the moment, this list of coefficients is in Carter ordering.
+If we omit \verb![G][2]!, the current default root system is implied.
+
+Here is the Dynkin diagram of \(E_8\), indicating the order of the roots in Carter ordering.
+\begin{Verbatim}
+\dynkin[label,ordering=Carter,edge length=.35cm]{E}{8}
+\end{Verbatim}
+\begin{center}
+\dynkin[label,ordering=Carter,edge length=.35cm]{E}{8}
+\end{center}
+Here is the same Dynkin diagram, except showing, at each simple root, the coefficient of that simple root in the highest root.
+\begin{Verbatim}
+\rootSum[E][8]{29}{1}{\rs}
+\dynkin[labels=\rs,ordering=Carter,edge length=.35cm]{E}{8}
+\end{Verbatim}
+\rootSum[E][8]{29}{1}{\rs}
+\begin{center}
+\dynkin[labels=\rs,ordering=Carter,edge length=.35cm]{E}{8}
+\end{center}
+
+The option \verb!for all roots! allows execution of code once on every root.
+\begin{Verbatim}
+\tikzset{/Lie Hasse diagram,
+ edge length=3.2cm,
+ compact root/.code={},
+ noncompact root/.code={},
+ edge quotes/.style={opacity=0},
+ embedded Dynkin diagram/.style={
+ edge length=.4cm,
+ root radius=.05cm
+ },
+ for all roots/.code 2 args={\drawRootAsDynkinSum{#1}{#2}}}
+\hasseDiagrams{D5}
+\end{Verbatim}
+\begingroup
+\tikzset{/Lie Hasse diagram,
+ edge length=3.2cm,
+ compact root/.code={},
+ noncompact root/.code={},
+ edge quotes/.style={opacity=0},
+ embedded Dynkin diagram/.style={
+ edge length=.4cm,
+ root radius=.05cm
+ },
+ for all roots/.code 2 args={\drawRootAsDynkinSum{#1}{#2}}}
+\hasseDiagrams{D5}
+\endgroup
+See more below on compact versus noncompact roots; the code \verb!compact! is applied to draw all of the compact roots, and the code \verb!noncompact! to draw the noncompact roots.
+Setting those codes to be empty, and setting \verb!edge quotes! to be transparent, we get a much simpler Hasse diagram, so that we can see the embedded Dynkin diagrams more clearly.
+
+\section{\texorpdfstring{For all roots \ldots}{For all roots ...}}
+You can make your own macros loop over all of the roots: you define a macro \verb!\foo{g}{i}!, which is fed the grade \(g\) of each root in the diagram, and the \emph{index} \(i\).
+A simple example:
+\begin{Verbatim}
+\newcommand{\foo}[2]%
+{%
+ \node[below,scale=.5] at (#1;#2) {\(#1,#2\)};%
+}%
+\end{Verbatim}
+\newcommand{\foo}[2]%
+{%
+ \node[below,scale=.75] at (#1;#2) {\(#1,#2\)};%
+}%
+Inside a \TikZ{} or \verb!dynkinDiagram! environment:
+\begin{Verbatim}
+\tikzset{/Lie Hasse diagram/edge quotes/.style={opacity=0},
+ /Dynkin diagram/edge length=1.5cm}
+\begin{tikzpicture}
+ \hasse{D}{6}%
+ \forAllPositiveRootsInHasseDiagram{\foo}%
+\end{tikzpicture}
+\end{Verbatim}
+\begingroup
+\tikzset{/Lie Hasse diagram/edge quotes/.style={opacity=0},
+ /Dynkin diagram/edge length=1.5cm}
+\begin{tikzpicture}
+ \hasse{D}{6}%
+ \forAllPositiveRootsInHasseDiagram{\foo}%
+\end{tikzpicture}
+
+If you put this into the \verb!for all roots! option, it executes on its own:
+\begin{Verbatim}
+\tikzset{/Lie Hasse diagram/for all roots/.code 2 args={\foo{#1}{#2}}}
+\hasseDiagrams{C4;D4}
+\end{Verbatim}
+\begingroup
+\tikzset{/Lie Hasse diagram/for all roots/.code 2 args={\foo{#1}{#2}}}
+\hasseDiagrams{C4;D4}
+\endgroup
+\endgroup
+
+\section{Three dimensional effect}
+We draw the \(D,E,F\) Hasse diagrams, following Ringel \cite{Ringel:2013}, as an arrangement of cubes.
+Nutma \cite{Nutma:2010} draws the Hasse diagrams using a more elementary approach, but including also the affine Kac--Moody algebras.
+Opposite sides of any square have the same edge label, by commutativity of addition.
+Hence we don't need to see every edge perfectly.
+The three dimensional effect is the default:
+\begin{Verbatim}
+\hasse{D}{4}\hasse{E}{6}
+\end{Verbatim}
+\begin{center}
+\hasse{D}{4}\hasse{E}{6}
+\end{center}
+We can turn it off:
+\begin{Verbatim}
+\hasse[three D=false]{D}{4}
+\hasse[three D=false]{E}{6}
+\end{Verbatim}
+\begin{center}
+\hasse[three D=false]{D}{4}
+\hasse[three D=false]{E}{6}
+\end{center}
+or globally with \verb!\tikzset{/Lie Hasse diagram/three D=false}!.
+
+The astute reader will perhaps notice that the three dimensional effect is not realistic.
+To be Hasse diagrams, the roots have to line up horizontally by grade.
+This is inconsistent with three dimensional projection of our cubes.
+We have also tried to use only a small number of layers in the three dimensional geometry, so the images are not perfect, but easy enough to read.
+
+We can change the \verb!z shift! to slant the three dimensional images to the right:
+\begingroup
+\begin{Verbatim}
+\hasse[z shift=.1]F4\hasse[z shift=.2]F4\hasse[z shift=.3]F4\hasse[z shift=.4]F4
+\end{Verbatim}
+\hasse[z shift=.1]F4\hasse[z shift=.2]F4\hasse[z shift=.3]F4\hasse[z shift=.4]F4
+\endgroup
+
+We only use three colours and opacities for the faces:
+\begin{Verbatim}
+ top/.style={black!20,opacity=.4},
+ left/.style={black!20,opacity=.9},
+ right/.style={black!20,opacity=.6},
+\end{Verbatim}
+You can change these:
+\begin{Verbatim}
+\hasse[
+ top/.style={red,opacity=.1},
+ right/.style={red,opacity=.2},
+ left/.style={red,opacity=.4}]E6
+\end{Verbatim}
+\begin{center}
+\hasse[
+ top/.style={red,opacity=.1},
+ right/.style={red,opacity=.2},
+ left/.style={red,opacity=.4}]E6
+\end{center}
+
+\section{Label the simple roots}
+Ringel \cite{Ringel:2013} labels his edges like
+\begin{Verbatim}
+\hasseDiagrams{[labels={f,e,d,c,u,b,a}]E7}
+\end{Verbatim}
+\hasseDiagrams{[labels={f,e,d,c,u,b,a}]E7}
+
+\section{Parabolic subgroups}
+This package offers nothing over Ringel's original pictures, except that the user can pick some simple roots whose associated edges are drawn differently.
+The chosen simple roots are called \emph{compact}, following terminology from the theory of parabolic subgroups.
+We let the reader explore the notation for parabolic subgroups in the Dynkin diagrams package, and use this to declare various roots compact.
+\begin{Verbatim}
+\tikzset{/Lie Hasse diagram,attach Dynkin diagram=true,three D=false}
+\hasseDiagrams{D{**x*x*x*}}
+\end{Verbatim}
+\begingroup
+\tikzset{/Lie Hasse diagram,attach Dynkin diagram=true,three D=false}
+\hasseDiagrams{D{**x*x*x*}}
+\endgroup
+Our motivation comes from trying to identify the invariant vector subbundles of the tangent bundle of a rational homogeneous variety \cite{MathOverflow:123801}.
+Such diagrams are often unreadable if we don't turn off the three dimensional graphics.
+By default, noncompact root edges are not drawn.
+\begingroup
+\tikzset{/Lie Hasse diagram,attach Dynkin diagram=true,show name=false,three D=false}
+\begin{Verbatim}
+\hasseDiagrams{E{*xx*x*}}
+\end{Verbatim}
+\hasseDiagrams{E{*xx*x*}}
+\begin{Verbatim}
+\hasseDiagrams{A{x*x*}}
+\end{Verbatim}
+\hasseDiagrams{A{x*x*}}
+\begin{Verbatim}
+\hasseDiagrams{[parabolic=113]B8}
+\end{Verbatim}
+\hasseDiagrams{[parabolic=113]B8}
+\begin{Verbatim}
+\hasseDiagrams{C{**xx*x**}}
+\end{Verbatim}
+\hasseDiagrams{C{**xx*x**}}
+\newpage
+\begin{Verbatim}
+\hasseDiagrams{E{*x*x*x**}}
+\end{Verbatim}
+\hasseDiagrams{E{*x*x*x**}}
+\newpage
+\begin{Verbatim}
+\hasseDiagrams{F{**xx}}
+\end{Verbatim}
+\hasseDiagrams{F{**xx}}
+\begin{Verbatim}
+\hasseDiagrams{G{*x}}
+\end{Verbatim}
+\hasseDiagrams{G{*x}}
+\endgroup
+
+\section{Examples}
+\begingroup
+\tikzset{/Lie Hasse diagram,attach Dynkin diagram=true,show name=true}
+\begin{Verbatim}
+\hasseDiagrams{A1;A2;A3;A4;A5;A6}
+\hasseDiagrams{B3;B4;B5}
+\hasseDiagrams{C2;C3;C4}
+\hasseDiagrams{C5;C6}
+\hasseDiagrams{E6;E7}
+\hasseDiagrams{E8}
+\hasseDiagrams{F4;G2}
+\end{Verbatim}
+\hasseDiagrams{A1;A2;A3;A4;A5;A6}
+\hasseDiagrams{B3;B4;B5}
+\hasseDiagrams{C2;C3;C4}
+\hasseDiagrams{C5;C6}
+\hasseDiagrams{E6;E7}
+\hasseDiagrams{E8}
+\hasseDiagrams{F4;G2}
+\endgroup
+
+\section{Black and white}
+Publishing in colour on paper can be expensive.
+Simple global options:
+\begin{Verbatim}
+\tikzset{
+ background rectangle/.style={
+ shade,
+ top color=gray!15,
+ bottom color=white,
+ draw=gray!5,
+ very thick,
+ rounded corners},
+ /Dynkin diagram/text style/.style={black,scale=.75},
+ /Lie Hasse diagram,
+ edge length=1cm,
+ edge/.style={draw=black!50,ultra thick},
+ edge quotes/.style={black,auto,inner sep=3pt,scale=.75},
+ three D=true,
+ show name=true}
+\end{Verbatim}
+\begingroup
+\tikzset{
+ background rectangle/.style={
+ shade,
+ top color=gray!15,
+ bottom color=white,
+ draw=gray!5,
+ very thick,
+ rounded corners},
+ /Dynkin diagram/text style/.style={black,scale=.75},
+ /Lie Hasse diagram,
+ edge length=1cm,
+ edge/.style={draw=black!50,ultra thick},
+ edge quotes/.style={black,auto,inner sep=3pt,scale=.75},
+ three D=true,
+ show name=true}%
+change our examples to
+\hasseDiagrams{A1;A2;A3;A4;A5;A6}
+\hasseDiagrams{B3;B4;B5}
+\hasseDiagrams{C2;C3;C4}
+\hasseDiagrams{C5;C6}
+\hasseDiagrams{E6;E7}
+\hasseDiagrams{E8}
+\hasseDiagrams{F4;G2}
+\endgroup
+
+\bibliographystyle{amsplain}
+\bibliography{lie-hasse}
+\end{document}