From abc9ed45a0d2c3a799e4a66f9426b25c6ff3c9d1 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 30 Aug 2018 19:37:17 +0000 Subject: rank-2-roots (30aug18) git-svn-id: svn://tug.org/texlive/trunk@48515 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/rank-2-roots/README | 18 + .../doc/latex/rank-2-roots/rank-2-roots.bib | 451 +++++++ .../doc/latex/rank-2-roots/rank-2-roots.pdf | Bin 0 -> 396098 bytes .../doc/latex/rank-2-roots/rank-2-roots.tex | 1243 ++++++++++++++++++++ .../tex/latex/rank-2-roots/rank-2-roots.sty | 762 ++++++++++++ Master/tlpkg/bin/tlpkg-ctan-check | 2 +- Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc | 1 + Master/tlpkg/tlpsrc/rank-2-roots.tlpsrc | 0 8 files changed, 2476 insertions(+), 1 deletion(-) create mode 100644 Master/texmf-dist/doc/latex/rank-2-roots/README create mode 100644 Master/texmf-dist/doc/latex/rank-2-roots/rank-2-roots.bib create mode 100644 Master/texmf-dist/doc/latex/rank-2-roots/rank-2-roots.pdf create mode 100644 Master/texmf-dist/doc/latex/rank-2-roots/rank-2-roots.tex create mode 100644 Master/texmf-dist/tex/latex/rank-2-roots/rank-2-roots.sty create mode 100644 Master/tlpkg/tlpsrc/rank-2-roots.tlpsrc diff --git a/Master/texmf-dist/doc/latex/rank-2-roots/README b/Master/texmf-dist/doc/latex/rank-2-roots/README new file mode 100644 index 00000000000..66d307c0010 --- /dev/null +++ b/Master/texmf-dist/doc/latex/rank-2-roots/README @@ -0,0 +1,18 @@ +___________________________________ + + Rank 2 roots + + v1.0 + + 30 August 2018 +___________________________________ + +Authors : Ben McKay +Maintainer: Ben McKay +E-mail : b.mckay@ucc.ie +Licence : Released under the LaTeX Project Public License v1.3c or + later, see http://www.latex-project.org/lppl.txt + +---------------------------------------------------------------------- + +For mathematicians. Draws rank 2 root systems, with Weyl chambers, weight lattices, and parabolic subgroups. diff --git a/Master/texmf-dist/doc/latex/rank-2-roots/rank-2-roots.bib b/Master/texmf-dist/doc/latex/rank-2-roots/rank-2-roots.bib new file mode 100644 index 00000000000..38a25a6466e --- /dev/null +++ b/Master/texmf-dist/doc/latex/rank-2-roots/rank-2-roots.bib @@ -0,0 +1,451 @@ +% Encoding: ISO-8859-1 + + +@Book{Adams:1996, + Title = {Lectures on exceptional {L}ie groups}, + Author = {Adams, J. F.}, + Publisher = {University of Chicago Press, Chicago, IL}, + Year = {1996}, + Note = {With a foreword by J. Peter May, + Edited by Zafer Mahmud and Mamoru Mimura}, + Series = {Chicago Lectures in Mathematics}, + + ISBN = {0-226-00526-7; 0-226-00527-5}, + Mrclass = {22-01 (22E10)}, + Mrnumber = {1428422}, + Mrreviewer = {William M. McGovern}, + Owner = {user}, + Pages = {xiv+122}, + Timestamp = {2018.07.22} +} + +@Article{Baba:2009, + Title = {Satake diagrams and restricted root systems of semisimple pseudo-{R}iemannian symmetric spaces}, + Author = {Baba, Kurando}, + Journal = {Tokyo J. Math.}, + Year = {2009}, + Number = {1}, + Pages = {127--158}, + Volume = {32}, + + Fjournal = {Tokyo Journal of Mathematics}, + ISSN = {0387-3870}, + Mrclass = {17B20 (17B22 53C35)}, + Mrnumber = {2541161}, + Mrreviewer = {Oksana S. Yakimova}, + Owner = {user}, + Timestamp = {2017.12.04}, + Url = {https://doi.org/10.3836/tjm/1249648414} +} + +@Book{Bourbaki:2002, + Title = {Lie groups and {L}ie algebras. {C}hapters 4--6}, + Author = {Bourbaki, Nicolas}, + Publisher = {Springer-Verlag, Berlin}, + Year = {2002}, + Note = {Translated from the 1968 French original by Andrew Pressley}, + Series = {Elements of Mathematics (Berlin)}, + + ISBN = {3-540-42650-7}, + Mrclass = {17-01 (00A05 20E42 20F55 22-01)}, + Mrnumber = {1890629}, + Owner = {user}, + Pages = {xii+300}, + Timestamp = {2017.11.15}, + Url = {https://doi.org/10.1007/978-3-540-89394-3} +} + +@Book{Carter:2005, + Title = {Lie algebras of finite and affine type}, + Author = {Carter, R. W.}, + Publisher = {Cambridge University Press, Cambridge}, + Year = {2005}, + Series = {Cambridge Studies in Advanced Mathematics}, + Volume = {96}, + + ISBN = {978-0-521-85138-1; 0-521-85138-6}, + Mrclass = {17-02 (17B67)}, + Mrnumber = {2188930}, + Mrreviewer = {Stephen Slebarski}, + Owner = {user}, + Pages = {xviii+632}, + Timestamp = {2017.11.15}, + Url = {https://doi.org/10.1017/CBO9780511614910} +} + +@InCollection{Carter:1995, + Title = {On the representation theory of the finite groups of {L}ie + type over an algebraically closed field of characteristic 0 [ + {MR}1170353 (93j:20034)]}, + Author = {Carter, R. W.}, + Booktitle = {Algebra, {IX}}, + Publisher = {Springer, Berlin}, + Year = {1995}, + Pages = {1--120, 235--239}, + Series = {Encyclopaedia Math. Sci.}, + Volume = {77}, + + Doi = {10.1007/978-3-662-03235-0_1}, + Mrclass = {20C33 (20-02 20G05)}, + Mrnumber = {1392478}, + Owner = {user}, + Timestamp = {2018.05.19}, + Url = {https://doi.org/10.1007/978-3-662-03235-0_1} +} + +@Article{Chuah:2013, + Title = {Cartan automorphisms and {V}ogan superdiagrams}, + Author = {Chuah, Meng-Kiat}, + Journal = {Math. Z.}, + Year = {2013}, + Number = {3-4}, + Pages = {793--800}, + Volume = {273}, + + Fjournal = {Mathematische Zeitschrift}, + ISSN = {0025-5874}, + Mrclass = {17B20 (17B40)}, + Mrnumber = {3030677}, + Mrreviewer = {Zi-Xin Hou}, + Owner = {user}, + Timestamp = {2017.12.04}, + Url = {https://doi.org/10.1007/s00209-012-1030-z} +} + +@InCollection{Draper/Guido:2016, + Title = {On the real forms of the exceptional {L}ie algebra {$\mathfrak + e_6$} and their {S}atake diagrams}, + Author = {Draper Fontanals, Cristina and Guido, Valerio}, + Booktitle = {Non-associative and non-commutative algebra and operator + theory}, + Publisher = {Springer, Cham}, + Year = {2016}, + Pages = {211--226}, + Series = {Springer Proc. Math. Stat.}, + Volume = {160}, + + Mrclass = {17B20 (17A75 17B25 17B60)}, + Mrnumber = {3613831}, + Mrreviewer = {Alberto Elduque}, + Owner = {user}, + Timestamp = {2018.04.30} +} + +@Book{Dynkin:2000, + Title = {Selected papers of {E}. {B}. {D}ynkin with commentary}, + Author = {Dynkin, E. B.}, + Publisher = {American Mathematical Society, Providence, RI; International Press, Cambridge, MA}, + Year = {2000}, + Note = {Edited by A. A. Yushkevich, G. M. Seitz and A. L. Onishchik}, + + ISBN = {0-8218-1065-0}, + Mrclass = {01A75 (60Jxx)}, + Mrnumber = {1757976}, + Mrreviewer = {William M. McGovern}, + Owner = {user}, + Pages = {xxviii+796}, + Timestamp = {2017.11.15} +} + +@Article{Dynkin:1952, + Title = {Semisimple subalgebras of semisimple {L}ie algebras}, + Author = {Dynkin, E. B.}, + Journal = {Mat. Sbornik N.S.}, + Year = {1952}, + Note = {Reprinted in English translation in \cite{Dynkin:2000}.}, + Pages = {349--462 (3 plates)}, + Volume = {30(72)}, + + Mrclass = {09.1X}, + Mrnumber = {0047629}, + Mrreviewer = {I. Kaplansky}, + Owner = {user}, + Timestamp = {2017.11.15} +} + +@Article{Frappat/Sciarrino/Sorba:1989, + Title = {Structure of basic {L}ie superalgebras and of their affine extensions}, + Author = {Frappat, L. and Sciarrino, A. and Sorba, P.}, + Journal = {Comm. Math. Phys.}, + Year = {1989}, + Number = {3}, + Pages = {457--500}, + Volume = {121}, + + Fjournal = {Communications in Mathematical Physics}, + ISSN = {0010-3616}, + Mrclass = {17B70 (17A70 17B40)}, + Mrnumber = {990776}, + Mrreviewer = {A. Pianzola}, + Owner = {user}, + Timestamp = {2017.12.18}, + Url = {http://0-projecteuclid.org.library.ucc.ie/euclid.cmp/1104178142} +} + +@Book{Grove/Benson:1985, + Title = {Finite reflection groups}, + Author = {Grove, L. C. and Benson, C. T.}, + Publisher = {Springer-Verlag, New York}, + Year = {1985}, + Edition = {Second}, + Series = {Graduate Texts in Mathematics}, + Volume = {99}, + + ISBN = {0-387-96082-1}, + Mrclass = {20-01 (20B25 20H15)}, + Mrnumber = {777684}, + Owner = {user}, + Pages = {x+133}, + Timestamp = {2017.11.15}, + Url = {https://doi.org/10.1007/978-1-4757-1869-0} +} + +@Book{Helgason:2001, + Title = {Differential geometry, {L}ie groups, and symmetric spaces}, + Author = {Helgason, Sigurdur}, + Publisher = {American Mathematical Society, Providence, RI}, + Year = {2001}, + Note = {Corrected reprint of the 1978 original}, + Series = {Graduate Studies in Mathematics}, + Volume = {34}, + + ISBN = {0-8218-2848-7}, + Mrclass = {53C35 (22E10 22E46 22E60)}, + Mrnumber = {1834454}, + Owner = {user}, + Pages = {xxvi+641}, + Timestamp = {2017.11.15}, + Url = {https://doi.org/10.1090/gsm/034} +} + +@Book{Humphreys:1990, + Title = {Reflection groups and {C}oxeter groups}, + Author = {Humphreys, James E.}, + Publisher = {Cambridge University Press, Cambridge}, + Year = {1990}, + Series = {Cambridge Studies in Advanced Mathematics}, + Volume = {29}, + + ISBN = {0-521-37510-X}, + Mrclass = {20-02 (20F32 20F55 20G15 20H15)}, + Mrnumber = {1066460}, + Mrreviewer = {Louis Solomon}, + Owner = {user}, + Pages = {xii+204}, + Timestamp = {2017.11.15}, + Url = {https://doi.org/10.1017/CBO9780511623646} +} + +@Book{Kac:1990, + Title = {Infinite-dimensional {L}ie algebras}, + Author = {Kac, Victor G.}, + Publisher = {Cambridge University Press, Cambridge}, + Year = {1990}, + Edition = {Third}, + + ISBN = {0-521-37215-1; 0-521-46693-8}, + Mrclass = {17B65 (17B67 17B68 58F07)}, + Mrnumber = {1104219}, + Owner = {user}, + Pages = {xxii+400}, + Timestamp = {2017.11.15}, + Url = {https://doi.org/10.1017/CBO9780511626234} +} + +@Article{Khastgir/Sasaki:1996, + Title = {Non-canonical folding of {D}ynkin diagrams and reduction of affine {T}oda theories}, + Author = {Khastgir, S. Pratik and Sasaki, Ryu}, + Journal = {Progr. Theoret. Phys.}, + Year = {1996}, + Number = {3}, + Pages = {503--518}, + Volume = {95}, + + Fjournal = {Progress of Theoretical Physics}, + ISSN = {0033-068X}, + Mrclass = {81T10 (17B81 58F07 81R10)}, + Mrnumber = {1388245}, + Mrreviewer = {Mehmet Koca}, + Owner = {user}, + Timestamp = {2017.12.18}, + Url = {https://doi.org/10.1143/PTP.95.503} +} + +@Book{OnishchikVinberg:1990, + Title = {Lie groups and algebraic groups}, + Author = {Onishchik, A. L. and Vinberg, {\`E}. B.}, + Publisher = {Springer-Verlag}, + Year = {1990}, + + Address = {Berlin}, + Note = {Translated from the Russian and with a preface by D. A. Leites}, + Series = {Springer Series in Soviet Mathematics}, + + ISBN = {3-540-50614-4}, + Mrclass = {22-01 (17B20 20G20 22E10 22E15)}, + Mrnumber = {91g:22001}, + Mrreviewer = {James E. Humphreys}, + Owner = {user}, + Pages = {xx+328}, + Timestamp = {2017.11.15} +} + +@Book{Onishchik/Vinberg:1990, + Title = {Lie groups and algebraic groups}, + Author = {Onishchik, A. L. and Vinberg, \`E. B.}, + Publisher = {Springer-Verlag, Berlin}, + Year = {1990}, + Note = {Translated from the Russian and with a preface by D. A. Leites}, + Series = {Springer Series in Soviet Mathematics}, + + ISBN = {3-540-50614-4}, + Mrclass = {22-01 (17B20 20G20 22E10 22E15)}, + Mrnumber = {1064110}, + Mrreviewer = {James E. Humphreys}, + Owner = {user}, + Pages = {xx+328}, + Timestamp = {2017.11.15}, + Url = {https://doi.org/10.1007/978-3-642-74334-4} +} + +@Article{Ransingh:2013, + Title = {Vogan diagrams of untwisted affine {K}ac-{M}oody superalgebras}, + Author = {Ransingh, Biswajit}, + Journal = {Asian-Eur. J. Math.}, + Year = {2013}, + Number = {4}, + Pages = {1350062, 10}, + Volume = {6}, + + Fjournal = {Asian-European Journal of Mathematics}, + ISSN = {1793-5571}, + Mrclass = {17B67 (17B05 17B22 17B40)}, + Mrnumber = {3149279}, + Mrreviewer = {Xiangqian Guo}, + Owner = {user}, + Timestamp = {2018.01.11} +} + +@Article{Ransingh:unpub, + Title = {{Vogan diagrams of affine twisted Lie superalgebras}}, + Author = {Ransingh, B.}, + Journal = {ArXiv e-prints}, + Year = {2013}, + + Month = mar, + Pages = {1--9}, + + Adsnote = {Provided by the SAO/NASA Astrophysics Data System}, + Adsurl = {http://adsabs.harvard.edu/abs/2013arXiv1303.0092R}, + Archiveprefix = {arXiv}, + Eprint = {1303.0092}, + Keywords = {Mathematical Physics, Mathematics - Representation Theory}, + Owner = {user}, + Primaryclass = {math-ph}, + Timestamp = {2018.01.11} +} + +@Article{Regelskis/Vlaar:2016, + Title = {{Reflection matrices, coideal subalgebras and generalized Satake diagrams of affine type}}, + Author = {{Regelskis}, V. and {Vlaar}, B.}, + Journal = {ArXiv e-prints}, + Year = {2016}, + + Month = feb, + Pages = {1--118}, + + Adsnote = {Provided by the SAO/NASA Astrophysics Data System}, + Adsurl = {http://adsabs.harvard.edu/abs/2016arXiv160208471R}, + Archiveprefix = {arXiv}, + Eprint = {1602.08471}, + Keywords = {Mathematical Physics, Mathematics - Quantum Algebra, Mathematics - Representation Theory, Nonlinear Sciences - Exactly Solvable and Integrable Systems}, + Owner = {user}, + Primaryclass = {math-ph}, + Timestamp = {2017.12.04} +} + +@Book{Satake:1980, + Title = {Algebraic structures of symmetric domains}, + Author = {Satake, Ichir\^o}, + Publisher = {Iwanami Shoten, Tokyo; Princeton University Press, Princeton, N.J.}, + Year = {1980}, + Series = {Kan\^o Memorial Lectures}, + Volume = {4}, + + Mrclass = {32-02 (17C35 32Mxx 53C35)}, + Mrnumber = {591460}, + Mrreviewer = {S. Murakami}, + Owner = {user}, + Pages = {xvi+321}, + Timestamp = {2017.11.15} +} + +@Book{Springer:2009, + Title = {Linear algebraic groups}, + Author = {Springer, T. A.}, + Publisher = {Birkh\"auser Boston, Inc., Boston, MA}, + Year = {2009}, + Edition = {second}, + Series = {Modern Birkh\"auser Classics}, + + ISBN = {978-0-8176-4839-8}, + Mrclass = {20G15 (14L10)}, + Mrnumber = {2458469}, + Owner = {user}, + Pages = {xvi+334}, + Timestamp = {2018.03.31} +} + +@InCollection{Zuber:1998, + Title = {Generalized {D}ynkin diagrams and root systems and their folding}, + Author = {Zuber, Jean-Bernard}, + Booktitle = {Topological field theory, primitive forms and related topics ({K}yoto, 1996)}, + Publisher = {Birkh\"auser Boston, Boston, MA}, + Year = {1998}, + Pages = {453--493}, + Series = {Progr. Math.}, + Volume = {160}, + + Mrclass = {17B20 (05C25 20F55)}, + Mrnumber = {1653035}, + Mrreviewer = {Saeid Azam}, + Owner = {user}, + Timestamp = {2017.12.18} +} + +@Book{Vinberg:1994, + Title = {Lie groups and {L}ie algebras, {III}}, + Editor = {Vinberg, \`E. B.}, + Publisher = {Springer-Verlag, Berlin}, + Year = {1994}, + Note = {Structure of Lie groups and Lie algebras, A translation of {{\i}t Current problems in mathematics. Fundamental directions. Vol. 41} (Russian), Akad. Nauk SSSR, Vsesoyuz. Inst. Nauchn. i Tekhn. Inform., Moscow, 1990 [ MR1056485 (91b:22001)], Translation by V. Minachin [V. V. Minakhin], Translation edited by A. L. Onishchik and \`E. B. Vinberg}, + Series = {Encyclopaedia of Mathematical Sciences}, + Volume = {41}, + + ISBN = {3-540-54683-9}, + Mrclass = {22-06 (17-06 22Exx)}, + Mrnumber = {1349140}, + Owner = {user}, + Pages = {iv+248}, + Timestamp = {2017.11.15}, + Url = {https://doi.org/10.1007/978-3-662-03066-0} +} + +@Book{Fulton.Harris:1991, + title = {Representation theory}, + publisher = {Springer-Verlag, New York}, + year = {1991}, + author = {Fulton, William and Harris, Joe}, + volume = {129}, + series = {Graduate Texts in Mathematics}, + isbn = {0-387-97527-6; 0-387-97495-4}, + note = {A first course, Readings in Mathematics}, + doi = {10.1007/978-1-4612-0979-9}, + mrclass = {20G05 (17B10 20G20 22E46)}, + mrnumber = {1153249}, + mrreviewer = {James E. Humphreys}, + pages = {xvi+551}, + url = {https://doi.org/10.1007/978-1-4612-0979-9}, +} + +@Comment{jabref-meta: databaseType:bibtex;} diff --git a/Master/texmf-dist/doc/latex/rank-2-roots/rank-2-roots.pdf b/Master/texmf-dist/doc/latex/rank-2-roots/rank-2-roots.pdf new file mode 100644 index 00000000000..b152c8360e3 Binary files /dev/null and b/Master/texmf-dist/doc/latex/rank-2-roots/rank-2-roots.pdf differ diff --git a/Master/texmf-dist/doc/latex/rank-2-roots/rank-2-roots.tex b/Master/texmf-dist/doc/latex/rank-2-roots/rank-2-roots.tex new file mode 100644 index 00000000000..742682aecef --- /dev/null +++ b/Master/texmf-dist/doc/latex/rank-2-roots/rank-2-roots.tex @@ -0,0 +1,1243 @@ +\documentclass{amsart} +\usepackage{etex} +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenx} + +\title{The Rank 2 Roots Package \\ Version 1.0} +\author{Ben McKay} +\date{30 August 2018} + +\usepackage{etoolbox} +\usepackage{lmodern} +\usepackage[kerning=true,tracking=true]{microtype} +\usepackage{amsmath} +\usepackage{amsfonts} +\usepackage{array} +\usepackage{xparse} +\usepackage{xstring} +\usepackage{longtable} +\usepackage{rank-2-roots} +\usepackage{tikz} +\usepackage[listings]{tcolorbox} +\tcbuselibrary{breakable} +\tcbuselibrary{skins} +\definecolor{example-color}{gray}{.85} +\definecolor{example-border-color}{gray}{.7} +\tcbset{coltitle=black,colback=white,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}} +\usepackage[pdftex]{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{booktabs} +\usepackage{colortbl} +\usepackage{varwidth} +\usepackage{dynkin-diagrams} +\usepackage{fancyvrb} +\usepackage{xspace} +\newcommand{\TikZ}{Ti\textit{k}Z\xspace} +\usepackage{filecontents} +\usetikzlibrary{decorations.markings} +\usetikzlibrary{arrows,decorations.pathmorphing,backgrounds,positioning,fit} +\arrayrulecolor{white} +\makeatletter + \def\rulecolor#1#{\CT@arc{#1}} + \def\CT@arc#1#2{% + \ifdim\baselineskip=\z@\noalign\fi + {\gdef\CT@arc@{\color#1{#2}}}} + \let\CT@arc@\relax +\rulecolor{white} +\makeatother + + + + + +\NewDocumentCommand\todo{m}% +{% +\textcolor{blue}{\textit{#1}} +}% + +\begin{document} +\maketitle +\tableofcontents + +\section{Introduction} +This package concerns mathematical drawings arising in representation theory. +The purpose of this package is to ease drawing of rank 2 root systems, with Weyl chambers, weight lattices, and parabolic subgroups, mostly imitating the drawings of Fulton and Harris \cite{Fulton.Harris:1991}. +We use definitions of root systems and weight lattices as in Carter \cite{Carter:2005} p. 540--609. + + +\section{Root systems} +\NewDocumentCommand\drawroots{m}% +{% +\begin{tikzpicture}[baseline=-.5] +\begin{rootSystem}{#1} +\roots +\end{rootSystem} +\end{tikzpicture} +}% + +\NewDocumentCommand\csdrawroots{m}% +{% +\texttt{\detokenize{\begin{tikzpicture}[baseline=-.5]}}% +\par\noindent% +\texttt{\detokenize{\begin{rootSystem}}\{#1\}}% +\par\noindent% +\texttt{\detokenize{\roots}}% +\par\noindent% +\texttt{\detokenize{\end{rootSystem}}}% +\par\noindent% +\texttt{\detokenize{\end{tikzpicture}}}% +}% + +\newcommand*\mytablecontents{} +\foreach \i in {A,B,C,G}{ + \xappto\mytablecontents{$\i_2$ & \drawroots{\i} & \csdrawroots{\i} +} + \gappto\mytablecontents{\\ \\} +} + +\begin{longtable}{rcm{8cm}} +\caption{The root systems}\\ +\endfirsthead +\caption{\dots continued}\\ +\endhead +\multicolumn{3}{c}{continued \dots}\\ +\endfoot +\endlastfoot +\mytablecontents +\end{longtable} + + +\section{Weights} +Type \verb!\wt{x}{y}! to get a weight at position \((x,y)\) (as measured in a basis of \emph{fundamental weights}). +Type \verb!\wt[multiplicity=n]{x}{y}! to get multiplicity \(m\). +Add an option: \verb!\wt[Z]{x}{y}{m}! to get \verb!Z! passed to TikZ. + + +\RenewDocumentCommand\drawroots{m}% +{% +\begin{tikzpicture}[baseline=-.5] +\begin{rootSystem}{#1} +\roots +\wt[brown]{1}{0} +\wt[red]{0}{1} +\wt[multiplicity=4,blue]{1}{3} +\wt[blue,multiplicity=2]{2}{2} +\wt[blue]{-1}{3} +\end{rootSystem} +\end{tikzpicture} +}% + +\RenewDocumentCommand\csdrawroots{m}% +{% +\texttt{\detokenize{\begin{tikzpicture}[baseline=-.5]}}% +\par\noindent% +\texttt{\detokenize{\begin{rootSystem}}\{#1\}}% +\par\noindent% +\texttt{\detokenize{\roots}}% +\par\noindent% +\texttt{\detokenize{\wt[brown]{1}{0}}}% +\par\noindent% +\texttt{\detokenize{\wt[red]{0}{1}}}% +\par\noindent% +\texttt{\detokenize{\wt[multiplicity=4,blue]{1}{3}}}% +\par\noindent% +\texttt{\detokenize{\wt[blue,multiplicity=2]{2}{2}}}% +\par\noindent% +\texttt{\detokenize{\wt[blue]{-1}{3}}}% +\par\noindent% +\texttt{\detokenize{\end{rootSystem}}}% +\par\noindent% +\texttt{\detokenize{\end{tikzpicture}}}% +}% + +\renewcommand*\mytablecontents{} +\foreach \i in {A,B,C,G}{ + \xappto\mytablecontents{$\i_2$ & \drawroots{\i} & \csdrawroots{\i} +} + \gappto\mytablecontents{\\ \\} +} + +\begin{longtable}{rcm{8cm}} +\caption{Some weights drawn with multiplicities}\\ +\endfirsthead +\caption{\dots continued}\\ +\endhead +\multicolumn{3}{c}{continued \dots}\\ +\endfoot +\endlastfoot +\mytablecontents +\end{longtable} + + + + +\RenewDocumentCommand\drawroots{m}% +{% +\begin{tikzpicture}[baseline=-.5] +\begin{rootSystem}{#1} +\roots +\wt[multiplicity=2,root]{0}{0} +\end{rootSystem} +\end{tikzpicture} +}% + +\RenewDocumentCommand\csdrawroots{m}% +{% +\texttt{\detokenize{\begin{tikzpicture}[baseline=-.5]}}% +\par\noindent% +\texttt{\detokenize{\begin{rootSystem}}\{#1\}}% +\par\noindent% +\texttt{\detokenize{\roots}}% +\par\noindent% +\texttt{\detokenize{\wt[multiplicity=2,root]{0}{0}}}% +\par\noindent% +\texttt{\detokenize{\end{rootSystem}}}% +\par\noindent% +\texttt{\detokenize{\end{tikzpicture}}}% +}% + +\renewcommand*\mytablecontents{} +\foreach \i in {A,B,C,G}{ + \xappto\mytablecontents{$\i_2$ & \drawroots{\i} & \csdrawroots{\i} +} + \gappto\mytablecontents{\\ \\} +} + +\begin{longtable}{rcm{8cm}} +\caption{The root systems with all multiplicities of the adjoint representation, like Fulton and Harris}\\ +\endfirsthead +\caption{\dots continued}\\ +\endhead +\multicolumn{3}{c}{continued \dots}\\ +\endfoot +\endlastfoot +\mytablecontents +\end{longtable} + + + + + + + + + + + + + + + + + + + + + +\RenewDocumentCommand\drawroots{m}% +{% +\begin{tikzpicture}[baseline=-.5] +\begin{rootSystem}{#1} +\roots +\WeylChamber +\end{rootSystem} +\end{tikzpicture} +}% + +\RenewDocumentCommand\csdrawroots{m}% +{% +\texttt{\detokenize{\begin{tikzpicture}[baseline=-.5]}}% +\par\noindent% +\texttt{\detokenize{\begin{rootSystem}}\{#1\}}% +\par\noindent% +\texttt{\detokenize{\roots}}% +\par\noindent% +\texttt{\detokenize{\WeylChamber}}% +\par\noindent% +\texttt{\detokenize{\end{rootSystem}}}% +\par\noindent% +\texttt{\detokenize{\end{tikzpicture}}}% +}% + +\renewcommand*\mytablecontents{} +\foreach \i in {A,B,C,G}{ + \xappto\mytablecontents{$\i_2$ & \drawroots{\i} & \csdrawroots{\i} +} + \gappto\mytablecontents{\\ \\} +} + +\begin{longtable}{rcm{8cm}} +\caption{Weyl chambers}\\ +\endfirsthead +\caption{\dots continued}\\ +\endhead +\multicolumn{3}{c}{continued \dots}\\ +\endfoot +\endlastfoot +\mytablecontents +\end{longtable} + + + + + + + + + + + + + + + + + + + + +\section{Parabolic subgroups} + +\RenewDocumentCommand\drawroots{m}% +{% +\begin{tikzpicture}[baseline=-.5] +\begin{rootSystem}{#1} +\roots +\positiveRootHyperplane +\end{rootSystem} +\end{tikzpicture} +}% + +\RenewDocumentCommand\csdrawroots{m}% +{% +\texttt{\detokenize{\begin{tikzpicture}[baseline=-.5]}}% +\par\noindent% +\texttt{\detokenize{\begin{rootSystem}}\{#1\}}% +\par\noindent% +\texttt{\detokenize{\roots}}% +\par\noindent% +\texttt{\detokenize{\positiveRootHyperplane}}% +\par\noindent% +\texttt{\detokenize{\end{rootSystem}}}% +\par\noindent% +\texttt{\detokenize{\end{tikzpicture}}}% +}% + +\renewcommand*\mytablecontents{} +\foreach \i in {A,B,C,G}{ + \xappto\mytablecontents{$\i_2$ & \drawroots{\i} & \csdrawroots{\i} +} + \gappto\mytablecontents{\\ \\} +} + +\begin{longtable}{rcm{8cm}} +\caption{The positive root hyperplane}\\ +\endfirsthead +\caption{\dots continued}\\ +\endhead +\multicolumn{3}{c}{continued \dots}\\ +\endfoot +\endlastfoot +\mytablecontents +\end{longtable} + + + + + + + + + + + + + + + + + + + + + + + + +\RenewDocumentCommand\drawroots{mm}% +{% +\begin{tikzpicture}[baseline=-.5] +\begin{rootSystem}{#1} +\roots +\parabolic{#2} +\end{rootSystem} +\end{tikzpicture} +}% + +\RenewDocumentCommand\csdrawroots{mm}% +{% +\texttt{\detokenize{\begin{tikzpicture}[baseline=-.5]}}% +\par\noindent% +\texttt{\detokenize{\begin{rootSystem}}\{#1\}}% +\par\noindent% +\texttt{\detokenize{\roots}}% +\par\noindent% +\texttt{\detokenize{\parabolic}\{#2\}}% +\par\noindent% +\texttt{\detokenize{\end{rootSystem}}}% +\par\noindent% +\texttt{\detokenize{\end{tikzpicture}}}% +}% + +\renewcommand*\mytablecontents{} +\foreach \i in {A,B,C,G}{ + \foreach \j in {1,2,3}{ + \xappto\mytablecontents{$\i_{2,\j}$ & \drawroots{\i}{\j} & \csdrawroots{\i}{\j} + } + \gappto\mytablecontents{\\ \\} +} +} + +\begin{longtable}{rcm{8cm}} +\caption{Parabolic subgroups. Each set of roots is assigned a number, with each binary digit zero or one to say whether the corresponding root is crossed or not: \(A_{5,37}\) means the parabolic subgroup of \(A_5\) so that the binary digits of \(37=2^5+2^2+2^0\) give us roots \(0,2,5\) in Bourbaki ordering being compact roots, i.e. having the root vectors of both that root and its negative inside the parabolic subgroup. }\\ +\endfirsthead +\caption{\dots continued}\\ +\endhead +\multicolumn{3}{c}{continued \dots}\\ +\endfoot +\endlastfoot +\mytablecontents +\end{longtable} + + + + + + + + + + + + + + + + + + + + + + + + + + + +\RenewDocumentCommand\drawroots{mm}% +{% +\begin{tikzpicture}[baseline=-.5] +\begin{rootSystem}{#1} +\roots +\parabolic{#2} +\parabolicgrading +\end{rootSystem} +\end{tikzpicture} +}% + +\RenewDocumentCommand\csdrawroots{mm}% +{% +\texttt{\detokenize{\begin{tikzpicture}[baseline=-.5]}}% +\par\noindent% +\texttt{\detokenize{\begin{rootSystem}}\{#1\}}% +\par\noindent% +\texttt{\detokenize{\roots}}% +\par\noindent% +\texttt{\detokenize{\parabolic}\{#2\}}% +\par\noindent% +\texttt{\detokenize{\parabolicgrading}}% +\par\noindent% +\texttt{\detokenize{\end{rootSystem}}}% +\par\noindent% +\texttt{\detokenize{\end{tikzpicture}}}% +}% + +\renewcommand*\mytablecontents{} +\foreach \i in {A,B,C,G}{ + \foreach \j in {1,2,3}{ + \xappto\mytablecontents{$\i_{2,\j}$ & \drawroots{\i}{\j} & \csdrawroots{\i}{\j} + } + \gappto\mytablecontents{\\ \\} +} +} + +\begin{longtable}{rcm{8cm}} +\caption{Parabolic subgroups with grading of the positive roots}\\ +\endfirsthead +\caption{\dots continued}\\ +\endhead +\multicolumn{3}{c}{continued \dots}\\ +\endfoot +\endlastfoot +\mytablecontents +\end{longtable} + + + + +\NewDocumentCommand{\labelWt}{mmmm}% +{% +\node[#1,black] at \weight{#2}{#3} {\(#4\)}; +}% + + +{ +\NewDocumentCommand\labelRoots{}% +{% +\labelWt{above right}{0}{0}{0}% +\labelWt{right}{1}{1}{e_1-e_3}% +\labelWt{right}{2}{-1}{e_1-e_2}% +\labelWt{below}{1}{-2}{e_3-e_2}% +\labelWt{left}{-1}{-1}{e_3-e_1}% +\labelWt{left}{-2}{1}{e_2-e_1}% +\labelWt{above}{-1}{2}{e_2-e_3}% +}% +\setlength{\weightLength}{1cm} +\begin{tikzpicture} +\begin{rootSystem}{A} +\roots +\wt{0}{0} +\labelRoots +\end{rootSystem} +\end{tikzpicture} +} + + +\tikzstyle{weight arrow}=[black,-stealth,shorten <=.25cm,shorten >=.25cm] + +{ +\NewDocumentCommand\wa{O{}mm}% +{% +\IfStrEq{#1}{0}% +{% +\draw[weight arrow] \weight{#2}{#3} -- \weight{#2+1}{#3+1} node[right=-4pt]{\(0\)};% +}% +{% +\draw[weight arrow] \weight{#2}{#3} -- \weight{#2+1}{#3+1};% +}% +}% +\setlength{\weightLength}{.75cm} +\begin{tikzpicture} +\begin{rootSystem}{A} +\setlength{\weightRadius}{1.5pt} +\roots +\wt{0}{0} +\labelWt{above left}{0}{0}{0} +\labelWt{right}{1}{1}{e_1-e_3} +\labelWt{right}{2}{-1}{e_1-e_2} +\labelWt{below}{1}{-2}{e_3-e_2} +\labelWt{left}{-1}{-1}{e_3-e_1} +\labelWt{left}{-2}{1}{e_2-e_1} +\labelWt{above left}{-1}{2}{e_2-e_3} +\wa{0}{0} +\wa[0]{1}{1} +\wa[0]{2}{-1} +\wa[0]{-1}{2} +\wa{1}{-2} +\wa{-1}{-1} +\wa{-2}{1} +\end{rootSystem} +\end{tikzpicture} +} + + + +\begin{tcblisting}{title={Drawing the \(A_2\) root system and a weight at the origin. The option \texttt{root} indicates that this weight is to be coloured like a root.}} +\begin{tikzpicture} +\begin{rootSystem}{A} +\roots +\wt[root]{0}{0} +\end{rootSystem} +\end{tikzpicture} +\end{tcblisting} + + +\begin{tcblisting}{title={Drawing the \(A_2\) root system and a weight at the origin and the positive root hyperplane}} +\begin{tikzpicture} +\begin{rootSystem}{A} +\roots +\wt[root]{0}{0} +\positiveRootHyperplane +\end{rootSystem} +\end{tikzpicture} +\end{tcblisting} + + + + +\section{Coordinate systems} + +The package provides three coordinate systems: hex, square and weight. +Above we have seen the weight coordinates: a basis of fundamental weights. +We can also use weight coordinates like +\[ +\verb!\draw \weight{0}{1} -- \weight{1}{0};! +\] +The square system, used like \verb!\draw (square cs:x=1,y=2) circle (2pt);!, is simply the standard Cartesian coordinate system measured so that the minimum distance between weights is one unit. +The hex coordinate system has basis precisely the fundamental weights of the \(A_2\) lattice. +We can use the hex system in drawing on the \(A_2\) or \(G_2\) weight lattices, as below, as they are the same lattices. + +\begin{tcblisting}{title={Automatic sizing of the weight lattice (the default) \dots}} +\begin{tikzpicture} +\begin{rootSystem}{A} +\wt{0}{0} +\fill[gray!50,opacity=.2] (hex cs:x=5,y=-7) -- (hex cs:x=1,y=1) -- (hex cs:x=-7,y=5) arc (150:270:{7*\weightLength}); +\draw[black,very thick] (hex cs:x=5,y=-7) -- (hex cs:x=1,y=1) -- (hex cs:x=-7,y=5); +\node[above right=-2pt] at (hex cs:x=1,y=1) {\small\(\alpha\)}; +\end{rootSystem} +\end{tikzpicture} +\end{tcblisting} + +\begin{tcblisting}{title={\dots and here with manual sizing, setting the weight lattice to include 3 steps to the right of the origin}} +\begin{tikzpicture} +\AutoSizeWeightLatticefalse +\begin{rootSystem}{A} +\wt{0}{0} +\weightLattice{3} +\fill[gray!50,opacity=.2] (hex cs:x=5,y=-7) -- (hex cs:x=1,y=1) -- (hex cs:x=-7,y=5) arc (150:270:{7*\weightLength}); +\draw[black,very thick] (hex cs:x=5,y=-7) -- (hex cs:x=1,y=1) -- (hex cs:x=-7,y=5); +\node[above right=-2pt] at (hex cs:x=1,y=1) {\small\(\alpha\)}; +\end{rootSystem} +\end{tikzpicture} +\end{tcblisting} + +\begin{tcblisting}{title={Fulton and Harris p. 170}} +\begin{tikzpicture} +\begin{rootSystem}{A} +\draw \weight{3}{1} -- \weight{-4}{4.5}; +\foreach \i in {1,...,4}{\wt{5-2*\i}{\i}} +\node[above right=-2pt] at (hex cs:x=3,y=1){\small\(\alpha\)}; +\end{rootSystem} +\end{tikzpicture} +\end{tcblisting} + + + + + +\begin{tcblisting}{title={Automatic sizing of the weight lattice (the default) \dots}} +\begin{tikzpicture} +\begin{rootSystem}{A} +\setlength{\weightRadius}{2pt} +\draw \weight{3}{1} -- \weight{-3}{4}; +\draw \weight{3}{1} -- \weight{4}{-1}; +\wt{4}{-1} +\foreach \i in {1,...,4}{\wt{5-2*\i}{\i}} +\node[above right=-2pt] at (hex cs:x=3,y=1){\small\(\alpha\)}; +\draw[very thick] \weight{0}{-4} -- \weight{0}{4.5} node[above]{\small\(\left=0\)}; +\draw[very thick] \weight{-4}{0} -- \weight{4.5}{0} node[right]{\small\(\left=0\)}; +\end{rootSystem} +\end{tikzpicture} +\end{tcblisting} + + +\begin{tcblisting}{title={\dots and manual sizing}} +\begin{tikzpicture} +\AutoSizeWeightLatticefalse +\begin{rootSystem}{A} +\setlength{\weightRadius}{2pt} +\weightLattice{4} +\draw \weight{3}{1} -- \weight{-3}{4}; +\draw \weight{3}{1} -- \weight{4}{-1}; +\wt{4}{-1} +\foreach \i in {1,...,4}{\wt{5-2*\i}{\i}} +\node[above right=-2pt] at (hex cs:x=3,y=1){\small\(\alpha\)}; +\draw[very thick] \weight{0}{-4} -- \weight{0}{4.5} node[above]{\small\(\left=0\)}; +\draw[very thick] \weight{-4}{0} -- \weight{4.5}{0} node[right]{\small\(\left=0\)}; +\end{rootSystem} +\end{tikzpicture} +\end{tcblisting} + +\begin{tcblisting}{} +\begin{tikzpicture} +\AutoSizeWeightLatticefalse +\begin{rootSystem}{A} +\setlength{\weightRadius}{2pt} +\weightLattice{4} +\draw \weight{3}{1} -- \weight{-3}{4}; +\draw \weight{3}{1} -- \weight{4}{-1}; +\draw \weight{-3}{4} -- \weight{-4}{3}; +\wt{4}{-1} +\wt{-4}{3} +\foreach \i in {1,...,4}{\wt{5-2*\i}{\i}} +\node[above right=-2pt] at (hex cs:x=3,y=1){\small\(\alpha\)}; +\draw[very thick] \weight{0}{-4} -- \weight{0}{4.5} node[above]{\small\(\left=0\)}; +\draw[very thick] \weight{-4}{0} -- \weight{4.5}{0} node[right]{\small\(\left=0\)}; +\draw[very thick] \weight{4}{-4} -- \weight{-4.5}{4.5} node[above]{\small\(\left=0\)}; +\end{rootSystem} +\end{tikzpicture} +\end{tcblisting} + + +\begin{tcblisting}{} +\setlength{\weightRadius}{2pt} +\setlength\weightLength{.75cm} +\begin{tikzpicture} +\begin{rootSystem}{A} +\foreach \x/\y in {1/0, -1/1, 0/-1, -2/0, 0/2, 2/-2}{\wt{\x}{\y}} +\node[above] at \weight{1}{0} {\small\(L_1\)}; +\node[above] at \weight{-1}{1} {\small\(L_2\)}; +\node[above] at \weight{0}{-1} {\small\(L_3\)}; +\end{rootSystem} +\end{tikzpicture} +\end{tcblisting} + +\begin{tcblisting}{title={Changing the weight length rescales}} +\begin{tikzpicture} +\setlength\weightLength{.3cm} +\begin{rootSystem}{A} +\wt[multiplicity=2]{0}{0} +\foreach \x/\y in {1/1, 2/-1, 1/-2, -1/-1, -2/1, -1/2}{\wt{\x}{\y}} +\end{rootSystem} +\end{tikzpicture} +\end{tcblisting} + +\begin{tcblisting}{} +\begin{tikzpicture} +\setlength\weightLength{.3cm} +\begin{rootSystem}{A} +\foreach \x/\y in {0/0, 3/0, 2/-1, 1/-2, 0/-3, 1/1, -1/-1, -1/2, -2/1, -3/3}{\wt{\x}{\y}} +\end{rootSystem} +\end{tikzpicture} +\end{tcblisting} + +\begin{tcblisting}{} +\begin{tikzpicture} +\setlength\weightLength{.3cm} +\begin{rootSystem}{A} +\foreach \x/\y in {0/0, -3/0, 2/-1, 1/-2, 3/-3, 1/1, -1/-1, -1/2, -2/1, 0/3}{\wt{\x}{\y}} +\end{rootSystem} +\end{tikzpicture} +\end{tcblisting} + +\begin{tcblisting}{title={We use a basis of fundamental weights, as given in Carter's book \cite{Carter:2005} p. 540--609}} +\begin{tikzpicture} +\begin{rootSystem}{B} +\roots +\draw[green!50!black,very thick] \weight{0}{1} -- \weight{1}{0}; +\weightLattice{3} +\wt[blue]{1}{0}{1} +\wt[red]{0}{1}{1} +\end{rootSystem} +\end{tikzpicture} +\end{tcblisting} + + + + + + +Without automatic stretching of the weight lattice to fit the picture, you won't see the weight lattice at all unless you ask for it. + +\AutoSizeWeightLatticefalse + + + + + + +\RenewDocumentCommand\drawroots{m}% +{% +\begin{tikzpicture}[baseline=-.5] +\begin{rootSystem}{#1} +\roots +\end{rootSystem} +\end{tikzpicture} +}% + +\RenewDocumentCommand\csdrawroots{m}% +{% +\texttt{\detokenize{\begin{tikzpicture}[baseline=-.5]}}% +\par\noindent% +\texttt{\detokenize{\begin{rootSystem}}\{#1\}}% +\par\noindent% +\texttt{\detokenize{\roots}}% +\par\noindent% +\texttt{\detokenize{\end{rootSystem}}}% +\par\noindent% +\texttt{\detokenize{\end{tikzpicture}}}% +}% + +\renewcommand*\mytablecontents{} +\foreach \i in {A,B,C,G}{ + \xappto\mytablecontents{$\i_2$ & \drawroots{\i} & \csdrawroots{\i} +} + \gappto\mytablecontents{\\ \\} +} + +\begin{longtable}{rcm{8cm}} +\caption{The root systems}\\ +\endfirsthead +\caption{\dots continued}\\ +\endhead +\multicolumn{3}{c}{continued \dots}\\ +\endfoot +\endlastfoot +\mytablecontents +\end{longtable} + + + + +Type \verb!\wt{x}{y}{m}! to get a weight at position \((x,y)\) (as measured in a basis of \emph{fundamental weights}) with multiplicity \(m\). +Add an option: \verb!\wt[Z]{x}{y}{m}! to get \verb!Z! passed to TikZ. + + +\RenewDocumentCommand\drawroots{m}% +{% +\begin{tikzpicture}[baseline=-.5] +\begin{rootSystem}{#1} +\roots +\wt[brown]{1}{0}{1} +\wt[red]{0}{1}{1} +\wt[blue]{1}{3}{4} +\wt[blue]{2}{2}{2} +\wt[blue]{-1}{3}{1} +\end{rootSystem} +\end{tikzpicture} +}% + +\RenewDocumentCommand\csdrawroots{m}% +{% +\texttt{\detokenize{\begin{tikzpicture}[baseline=-.5]}}% +\par\noindent% +\texttt{\detokenize{\begin{rootSystem}}\{#1\}}% +\par\noindent% +\texttt{\detokenize{\roots}}% +\par\noindent% +\texttt{\detokenize{\wt[brown]{1}{0}{1}}}% +\par\noindent% +\texttt{\detokenize{\wt[red]{0}{1}{1}}}% +\par\noindent% +\texttt{\detokenize{\wt[blue]{1}{3}{4}}}% +\par\noindent% +\texttt{\detokenize{\wt[blue]{2}{2}{2}}}% +\par\noindent% +\texttt{\detokenize{\wt[blue]{-1}{3}{1}}}% +\par\noindent% +\texttt{\detokenize{\end{rootSystem}}}% +\par\noindent% +\texttt{\detokenize{\end{tikzpicture}}}% +}% + +\renewcommand*\mytablecontents{} +\foreach \i in {A,B,C,G}{ + \xappto\mytablecontents{$\i_2$ & \drawroots{\i} & \csdrawroots{\i} +} + \gappto\mytablecontents{\\ \\} +} + +\begin{longtable}{rcm{8cm}} +\caption{Some weights drawn with multiplicities}\\ +\endfirsthead +\caption{\dots continued}\\ +\endhead +\multicolumn{3}{c}{continued \dots}\\ +\endfoot +\endlastfoot +\mytablecontents +\end{longtable} + + + + +\RenewDocumentCommand\drawroots{m}% +{% +\begin{tikzpicture}[baseline=-.5] +\begin{rootSystem}{#1} +\roots +\wt[multiplicity=2]{0}{0} +\end{rootSystem} +\end{tikzpicture} +}% + +\RenewDocumentCommand\csdrawroots{m}% +{% +\texttt{\detokenize{\begin{tikzpicture}[baseline=-.5]}}% +\par\noindent% +\texttt{\detokenize{\begin{rootSystem}}\{#1\}}% +\par\noindent% +\texttt{\detokenize{\roots}}% +\par\noindent% +\texttt{\detokenize{\wt[multiplicity=2]{0}{0}}}% +\par\noindent% +\texttt{\detokenize{\end{rootSystem}}}% +\par\noindent% +\texttt{\detokenize{\end{tikzpicture}}}% +}% + +\renewcommand*\mytablecontents{} +\foreach \i in {A,B,C,G}{ + \xappto\mytablecontents{$\i_2$ & \drawroots{\i} & \csdrawroots{\i} +} + \gappto\mytablecontents{\\ \\} +} + +\begin{longtable}{rcm{8cm}} +\caption{The root systems with all multiplicities of the adjoint representation, like Fulton and Harris}\\ +\endfirsthead +\caption{\dots continued}\\ +\endhead +\multicolumn{3}{c}{continued \dots}\\ +\endfoot +\endlastfoot +\mytablecontents +\end{longtable} + + + + + + + + + + + + + + + + + + + + + +\RenewDocumentCommand\drawroots{m}% +{% +\begin{tikzpicture}[baseline=-.5] +\begin{rootSystem}{#1} +\roots +\WeylChamber +\end{rootSystem} +\end{tikzpicture} +}% + +\RenewDocumentCommand\csdrawroots{m}% +{% +\texttt{\detokenize{\begin{tikzpicture}[baseline=-.5]}}% +\par\noindent% +\texttt{\detokenize{\begin{rootSystem}}\{#1\}}% +\par\noindent% +\texttt{\detokenize{\roots}}% +\par\noindent% +\texttt{\detokenize{\WeylChamber}}% +\par\noindent% +\texttt{\detokenize{\end{rootSystem}}}% +\par\noindent% +\texttt{\detokenize{\end{tikzpicture}}}% +}% + +\renewcommand*\mytablecontents{} +\foreach \i in {A,B,C,G}{ + \xappto\mytablecontents{$\i_2$ & \drawroots{\i} & \csdrawroots{\i} +} + \gappto\mytablecontents{\\ \\} +} + +\begin{longtable}{rcm{8cm}} +\caption{Weyl chambers}\\ +\endfirsthead +\caption{\dots continued}\\ +\endhead +\multicolumn{3}{c}{continued \dots}\\ +\endfoot +\endlastfoot +\mytablecontents +\end{longtable} + + + + + + + + + + + + + + + + + + + + + + + + + + + +\RenewDocumentCommand\drawroots{m}% +{% +\begin{tikzpicture}[baseline=-.5] +\begin{rootSystem}{#1} +\roots +\positiveRootHyperplane +\end{rootSystem} +\end{tikzpicture} +}% + +\RenewDocumentCommand\csdrawroots{m}% +{% +\texttt{\detokenize{\begin{tikzpicture}[baseline=-.5]}}% +\par\noindent% +\texttt{\detokenize{\begin{rootSystem}}\{#1\}}% +\par\noindent% +\texttt{\detokenize{\roots}}% +\par\noindent% +\texttt{\detokenize{\positiveRootHyperplane}}% +\par\noindent% +\texttt{\detokenize{\end{rootSystem}}}% +\par\noindent% +\texttt{\detokenize{\end{tikzpicture}}}% +}% + +\renewcommand*\mytablecontents{} +\foreach \i in {A,B,C,G}{ + \xappto\mytablecontents{$\i_2$ & \drawroots{\i} & \csdrawroots{\i} +} + \gappto\mytablecontents{\\ \\} +} + +\begin{longtable}{rcm{8cm}} +\caption{The positive root hyperplane}\\ +\endfirsthead +\caption{\dots continued}\\ +\endhead +\multicolumn{3}{c}{continued \dots}\\ +\endfoot +\endlastfoot +\mytablecontents +\end{longtable} + + + + + + + + + + + + + + + + + + + + + + + + +\RenewDocumentCommand\drawroots{mm}% +{% +\begin{tikzpicture}[baseline=-.5] +\begin{rootSystem}{#1} +\roots +\parabolic{#2} +\end{rootSystem} +\end{tikzpicture} +}% + +\RenewDocumentCommand\csdrawroots{mm}% +{% +\texttt{\detokenize{\begin{tikzpicture}[baseline=-.5]}}% +\par\noindent% +\texttt{\detokenize{\begin{rootSystem}}\{#1\}}% +\par\noindent% +\texttt{\detokenize{\roots}}% +\par\noindent% +\texttt{\detokenize{\parabolic}\{#2\}}% +\par\noindent% +\texttt{\detokenize{\end{rootSystem}}}% +\par\noindent% +\texttt{\detokenize{\end{tikzpicture}}}% +}% + +\renewcommand*\mytablecontents{} +\foreach \i in {A,B,C,G}{ + \foreach \j in {1,2,3}{ + \xappto\mytablecontents{$\i_{2,\j}$ & \drawroots{\i}{\j} & \csdrawroots{\i}{\j} + } + \gappto\mytablecontents{\\ \\} +} +} + +\begin{longtable}{rcm{8cm}} +\caption{Parabolic subgroups}\\ +\endfirsthead +\caption{\dots continued}\\ +\endhead +\multicolumn{3}{c}{continued \dots}\\ +\endfoot +\endlastfoot +\mytablecontents +\end{longtable} + + + + + + + + + + + + + + + + + + + + + + + + + + + +\RenewDocumentCommand\drawroots{mm}% +{% +\begin{tikzpicture}[baseline=-.5] +\begin{rootSystem}{#1} +\roots +\parabolic{#2} +\parabolicgrading +\end{rootSystem} +\end{tikzpicture} +}% + +\RenewDocumentCommand\csdrawroots{mm}% +{% +\texttt{\detokenize{\begin{tikzpicture}[baseline=-.5]}}% +\par\noindent% +\texttt{\detokenize{\begin{rootSystem}}\{#1\}}% +\par\noindent% +\texttt{\detokenize{\roots}}% +\par\noindent% +\texttt{\detokenize{\parabolic}\{#2\}}% +\par\noindent% +\texttt{\detokenize{\parabolicgrading}}% +\par\noindent% +\texttt{\detokenize{\end{rootSystem}}}% +\par\noindent% +\texttt{\detokenize{\end{tikzpicture}}}% +}% + +\renewcommand*\mytablecontents{} +\foreach \i in {A,B,C,G}{ + \foreach \j in {1,2,3}{ + \xappto\mytablecontents{$\i_{2,\j}$ & \drawroots{\i}{\j} & \csdrawroots{\i}{\j} + } + \gappto\mytablecontents{\\ \\} +} +} + +\begin{longtable}{rcm{8cm}} +\caption{Parabolic subgroups with grading of the positive roots}\\ +\endfirsthead +\caption{\dots continued}\\ +\endhead +\multicolumn{3}{c}{continued \dots}\\ +\endfoot +\endlastfoot +\mytablecontents +\end{longtable} + + + + + +\section{Examples of weights of various representations} + +Henceforth assume \verb!\AutoSizeWeightLatticetrue! (the default). + +\AutoSizeWeightLatticetrue + + +\begin{tcblisting}{title={Fulton and Harris, p. 186}} +\begin{tikzpicture} +\begin{rootSystem}{A} +\foreach \x/\y/\m in +{0/ 1/5, -1/0/5, 1/-1/5, 2/ 0/4, -2/ 2/4, 0/-2/4, + 1/ 2/2, -1/3/2, 3/-2/2, 2/-3/2, -2/-1/2, -3/ 1/2, + 4/-1/1, 3/1/1, -3/ 4/1, -4/ 3/1, -1/-3/1, 1/-4/1} +{\wt[multiplicity=\m]{\x}{\y}} +\end{rootSystem} +\end{tikzpicture} +\end{tcblisting} + + +\begin{tcblisting}{title={A representation of \(G_2\)}} +\setlength\weightLength{1cm} +\begin{tikzpicture} +\begin{rootSystem}{G} +\roots +\foreach \m/\x/\y in { +1/1/1, 1/4/-1, 1/-1/2, 2/2/0, 1/5/-2, +2/0/1, 2/3/-1, 2/-2/2, 4/1/0, 1/-4/3, +2/4/-2, 4/-1/1, 4/2/-1, 2/-3/2, 1/5/-3, +4/0/0, 1/-5/3, 2/3/-2, 4/-2/1, 4/1/-1, +2/-4/2, 1/4/-3, 4/-1/0, 2/2/-2, 2/-3/1, +2/0/-1, 1/-5/2, 2/-2/0, 1/1/-2, 1/-4/1, +1/-1/-1}{\wt[multiplicity=\m]{\x}{\y}} +\positiveRootHyperplane +\WeylChamber +\end{rootSystem} +\end{tikzpicture} +\end{tcblisting} + + +\begin{tcblisting}{title={Dimensions of representations of \(G_2\), parameterized by highest weight}} +\setlength\weightLength{1cm} +\begin{tikzpicture} +\begin{rootSystem}{G} +\roots +\foreach \x/\y/\d in { +0/1/14, 0/2/77, 0/3/273, 1/0/7, 1/1/64, +1/2/286, 2/0/27, 2/1/189, 2/2/729, 3/0/77, +4/0/182, 5/0/318, 6/0/714, 3/1/448, 4/1/924} +{\wt{\x}{\y}\node[black,above] at \weight{\x}{\y} {\(\d\)};} +\positiveRootHyperplane +\WeylChamber +\end{rootSystem} +\end{tikzpicture} +\end{tcblisting} + + +\bibliographystyle{amsplain} +\bibliography{rank-2-roots} + +\end{document} diff --git a/Master/texmf-dist/tex/latex/rank-2-roots/rank-2-roots.sty b/Master/texmf-dist/tex/latex/rank-2-roots/rank-2-roots.sty new file mode 100644 index 00000000000..d129df7847f --- /dev/null +++ b/Master/texmf-dist/tex/latex/rank-2-roots/rank-2-roots.sty @@ -0,0 +1,762 @@ +% +% +% The Rank 2 Roots package. +% +% Version 1.0 +% +% +% This package draws root and weight lattices for rank 2 root systems in LaTeX documents, +% using the TikZ package. +% Please see the file ranktworoots.tex for examples of use of this package. +% +% Benjamin McKay +% b.mckay@ucc.ie +% +% Released under the LaTeX Project Public License v1.3c or later, see +% http://www.latex-project.org/lppl.txt +% +% +% +% +\NeedsTeXFormat{LaTeX2e}[1994/06/01] +\ProvidesPackage{rank-2-roots}[2018/08/30 Rank 2 roots] +\RequirePackage{tikz} +\RequirePackage{xstring} +\RequirePackage{xparse} +\RequirePackage{etoolbox} +\RequirePackage{expl3} +\RequirePackage{pgfkeys} +\RequirePackage{pgfopts} +\usetikzlibrary{ +calc, +arrows, +arrows.meta, +decorations.markings, +positioning, +fadings, +backgrounds, +decorations.pathreplacing, +shadings, +fadings +} + +%% Style options; user can change them. +\newlength\weightRadius +\setlength\weightRadius{1.2pt} +\newlength\weightLength +\setlength\weightLength{.5cm} +\newlength\gradingDot +\setlength\gradingDot{2pt} +\tikzstyle{weight lattice}=[gray!40] +\tikzstyle{root}=[gray] +\tikzstyle{root polygon}=[gray!40,opacity=.5] +\tikzstyle{hyperplane}=[gray!50,fill opacity=.5] +\tikzstyle{Weyl chamber}=[gray!60,fill opacity=.5] +\tikzstyle{grading}=[line width=3pt,gray,opacity=0.5,line cap=round] + +\def\defaultWeightLatticeSize{0} +\newif\ifAutoSizeWeightLattice +\AutoSizeWeightLatticetrue + +\makeatletter +\def\root@system{?} +\def\parabolic@subalgebra{?} +\def\weight@lattice@size{0} + +\def\sqrt@three{1.732050808} +\def\sqrt@threeOverTwo{0.8660254038} +\def\sqrt@threeOverFour{0.4330127019} + + +% hexagonal coordinate system +\define@key{hexkeys}{x}{\def\myx{#1}} +\define@key{hexkeys}{y}{\def\myy{#1}} +\tikzdeclarecoordinatesystem{hex}% +{% +\setkeys{hexkeys}{#1}% +\ifAutoSizeWeightLattice\auto@stretch@hex{\myx}{\myy}\fi% +\pgfmathparse{((\myx)+0.5*(\myy))*\weightLength}% +\pgf@x=\pgfmathresult pt% +\pgfmathparse{\sqrt@threeOverTwo*(\myy)*\weightLength}% +\pgf@y=\pgfmathresult pt% +} +% square coordinate system +\define@key{squarekeys}{x}{\def\myx{#1}} +\define@key{squarekeys}{y}{\def\myy{#1}} +\tikzdeclarecoordinatesystem{square}% +{% +\setkeys{squarekeys}{#1}% +\ifAutoSizeWeightLattice\auto@stretch@square{\myx}{\myy}\fi% +\pgfmathparse{\myx*\weightLength}% +\pgf@x=\pgfmathresult pt% +\pgfmathparse{\myy*\weightLength}% +\pgf@y=\pgfmathresult pt% +} + +\NewDocumentEnvironment{rootSystem}{m}% +{% +\xdef\weight@lattice@size{\defaultWeightLatticeSize}% +\IfSubStr{ABCG}{#1}{}{\unrecognized@root@system{#1}}% +\xdef\root@system{#1}% +\check@root@system{}% +\choose@weight@lattice{}% +}% +{% +\IfStrEq{\weight@lattice@size}{0}%% +{%% +}%% +{%% +\weightLattice{\weight@lattice@size}% +}%% +\xdef\root@system{?}% +\xdef\parabolic@subalgebra{?}% +\xdef\weight@lattice@size{\defaultWeightLatticeSize}% +}% + +\NewDocumentCommand\unrecognized@root@system{m}% +{% +\ClassError{Rank 2 roots}{Unrecognized root system: ``#1''. Allowed values are A,B,C,G}{}% +}% + +\NewDocumentCommand\root@system@not@set{}% +{% +\ClassError{Rank 2 roots}{Error: root system not specified.}{}% +}% + +\NewDocumentCommand\check@root@system{}% +{% +\IfSubStr{ABCG}{\root@system}{}{\root@system@not@set}% +}% + +\NewDocumentCommand\A@weight@lattice{O{}}% +{% +\check@root@system% +\hexgrid[#1]{\weight@lattice@size}% +}% + +\NewDocumentCommand\G@weight@lattice{O{}}% +{% +\check@root@system% +\hexgrid[#1]{\weight@lattice@size}% +}% + +\NewDocumentCommand\B@weight@lattice{O{}}% +{% +\check@root@system% +\begin{scope}[on background layer]% +\draw[weight lattice,step=\weightLength,#1] + ({-\weight@lattice@size*\weightLength},{-\weight@lattice@size*\weightLength}) + grid + ({\weight@lattice@size*\weightLength},{\weight@lattice@size*\weightLength});% +\foreach \i in {-\weight@lattice@size,...,\weight@lattice@size}% +{% +\draw[weight lattice,#1] ({\weightLength*\i},{\weightLength*\weight@lattice@size}) + -- ({\weightLength*\weight@lattice@size},{\weightLength*\i});% +\draw[weight lattice,#1] ({-\weightLength*\weight@lattice@size},{\weightLength*\i}) + -- ({\weightLength*\i},{-\weightLength*\weight@lattice@size});% +\draw[weight lattice,#1] ({-\weightLength*\i},{\weightLength*\weight@lattice@size}) + -- ({-\weightLength*\weight@lattice@size},{\weightLength*\i});% +\draw[weight lattice,#1] ({\weightLength*\weight@lattice@size},{\weightLength*\i}) + -- ({-\weightLength*\i},{-\weightLength*\weight@lattice@size});% +}% +\end{scope}% +}% + +\NewDocumentCommand\C@weight@lattice{O{}}% +{% +\B@weight@lattice[#1]% +}% + + +\NewDocumentCommand\weightLattice{O{}m}% +{% +\check@root@system% +\xdef\weight@lattice@size{#2}% +\IfStrEqCase{\root@system}% +{%% +{A}{\A@weight@lattice[#1]}% +{B}{\B@weight@lattice[#1]}% +{C}{\C@weight@lattice[#1]}% +{G}{\G@weight@lattice[#1]}% +{?}{\root@system@not@set}% +}%% +[\check@root@system]% +}% + +\NewDocumentCommand\hexwt{O{}mm}% +{% +\check@root@system% +\pgfkeys{/weight, default, #1}% +\IfStrEq{\weight@multiplicity}{1}{}% +{%%% +\foreach \i in {2,...,\weight@multiplicity}% +{% +\draw[/weight,weight,#1,fill=none] (hex cs:x=#2,y=#3) circle ({\i*\weightRadius});% +}% +}%%% +\fill[/weight,weight,#1] (hex cs:x=#2,y=#3) circle (\weightRadius);% +}% + +\NewDocumentCommand\squarewt{O{}mm}% +{% +\check@root@system% +\pgfkeys{/weight, default, #1}% +\IfStrEq{\weight@multiplicity}{1}{}% +{%%% +\foreach \i in {2,...,\weight@multiplicity}% +{% +\draw[/weight,weight,#1,fill=none] (square cs:x=#2,y=#3) circle ({\i*\weightRadius});% +}% +}%%% +\fill[/weight,weight,#1] (square cs:x=#2,y=#3) circle (\weightRadius);% +}% + +\newif\if@decimals + +\NewDocumentCommand\make@weight@lattice@at@least{m}% +{% +\pgfmathless{\weight@lattice@size}{#1}% +\IfStrEq{1}{\pgfmathresult}{\xdef\weight@lattice@size{#1}}{} +}% + +\NewDocumentCommand\auto@stretch@hex{mm}% +{% +%% Can we fit this weight? If not, draw a bigger background. +\@decimalsfalse +\IfSubStr{#1}{.}{\global\@decimalstrue}{}% +\IfSubStr{#2}{.}{\global\@decimalstrue}{}% +\xdef\min@wls{0} +\if@decimals% +\IfStrEqCase{\root@system}% +{%% +{A}{\pgfmathint{ceil(max(abs(#1),abs(#2),abs(#1+#2)))}\xdef\min@wls{\pgfmathresult}}% +{B}{\pgfmathint{ceil(max(abs((#1)+(#2)/2),abs(#2)))}\xdef\min@wls{\pgfmathresult}}% +{C}{\pgfmathint{ceil(max(abs((#1)+(#2)),abs(#2)))}\xdef\min@wls{\pgfmathresult}}% +{G}{\pgfmathint{ceil(max(abs(#1),abs(#2),abs(#1+#2)))}\xdef\min@wls{\pgfmathresult}}% +{?}{\root@system@not@set}% +}%% +\else +\IfStrEqCase{\root@system}% +{%% +{A}{\pgfmathint{max(abs(#1),abs(#2),abs(#1+#2))}\xdef\min@wls{\pgfmathresult}}% +{B}{\pgfmathint{max(abs((#1)+(#2)/2),abs(#2))}\xdef\min@wls{\pgfmathresult}}% +{C}{\pgfmathint{max(abs((#1)+(#2)),abs(#2))}\xdef\min@wls{\pgfmathresult}}% +{G}{\pgfmathint{max(abs(#1),abs(#2),abs(#1+#2))}\xdef\min@wls{\pgfmathresult}}% +{?}{\root@system@not@set}% +}%% +\fi% +\make@weight@lattice@at@least{\min@wls}% +}% + + +\NewDocumentCommand\auto@stretch@square{mm}% +{% +%% Can we fit this weight? If not, draw a bigger background. +\@decimalsfalse +\IfSubStr{#1}{.}{\global\@decimalstrue}{}% +\IfSubStr{#2}{.}{\global\@decimalstrue}{}% +\if@decimals% +\pgfmathint{ceil(max(abs(#1),abs(#2)))}\xdef\wls{\pgfmathresult}% +\else +\pgfmathint{max(abs(#1),abs(#2))}\xdef\wls{\pgfmathresult}% +\fi +\pgfmathless{\weight@lattice@size}{\wls}% +\IfStrEq{1}{\pgfmathresult}%{}% +{%% +%\weightLattice{\wls}% +\xdef\weight@lattice@size{\wls}% +}%% +{%% +}%% +}% + + +\def\weight@multiplicity{1} +\pgfkeys{ +/weight/.is family, +/weight, +weight/.style = {fill=gray,draw=gray}, + default/.style = { + multiplicity/.estore in = \weight@multiplicity, + multiplicity = 1, + }, + .search also={/tikz}, +} + +\NewDocumentCommand\wt{O{}mm}%[tikz options,multiplicity=???]{x}{y} +{% +\check@root@system% +\pgfkeys{/weight, default, #1}% +\IfStrEq{\weight@multiplicity}{1}{}% +{%%% +\foreach \i in {2,...,\weight@multiplicity}% +{% +\draw[/weight,weight,#1,fill=none] \weight{#2}{#3} circle ({\i*\weightRadius});% +}% +}%%% +\fill[/weight,weight,#1] \weight{#2}{#3} circle (\weightRadius);% +%}%% +}% + +\NewDocumentCommand\A@roots{O{}}% +{% +\begin{scope}[on background layer]% +\fill[root polygon] +(hex cs:x=1,y=1) -- +(hex cs:x=-1,y=2) -- +(hex cs:x=-2,y=1) -- +(hex cs:x=-1,y=-1) -- +(hex cs:x=1,y=-2) -- +(hex cs:x=2,y=-1) -- +cycle;% +\end{scope}% +\wt[root,#1]{1}{1}% +\wt[root,#1]{-1}{2}% +\wt[root,#1]{-2}{1}% +\wt[root,#1]{-1}{-1}% +\wt[root,#1]{1}{-2}% +\wt[root,#1]{2}{-1}% +}% + +\NewDocumentCommand\B@roots{O{}}% +{% +\begin{scope}[on background layer]% +\fill[root polygon] +(square cs:x=-1,y=-1) -- +(square cs:x=-1,y=1) -- +(square cs:x=1,y=1) -- +(square cs:x=1,y=-1) -- +cycle;% +\end{scope} +\foreach \i in {-1,0,1}% +{% +\foreach \j in {-1,0,1}% +{%% +\IfStrEq{\i}{0}% +{%%% +\IfStrEq{\j}{0}{}% +{%%%% +\squarewt[root,#1]{\i}{\j}% +}%%%% +}%%% +{%%% +\squarewt[root,#1]{\i}{\j}% +}%%% +}%% +}% +}% + +\NewDocumentCommand\C@roots{O{}}% +{% +\begin{scope}[on background layer]% +\fill[root polygon] +(square cs:x=2,y=0) -- +(square cs:x=0,y=2) -- +(square cs:x=-2,y=0) -- +(square cs:x=0,y=-2) -- +cycle;% +\end{scope} +\squarewt[root,#1]{2}{0} +\squarewt[root,#1]{1}{1} +\squarewt[root,#1]{0}{2} +\squarewt[root,#1]{-1}{1} +\squarewt[root,#1]{-2}{0} +\squarewt[root,#1]{-1}{-1} +\squarewt[root,#1]{0}{-2} +\squarewt[root,#1]{1}{-1} +}% + +\NewDocumentCommand\G@roots{O{}}% +{% +\begin{scope}[on background layer]% +\fill[root polygon] +(hex cs:x=1,y=0) -- +(hex cs:x=1,y=1) -- +(hex cs:x=0,y=1) -- +(hex cs:x=-1,y=2) -- +(hex cs:x=-1,y=1) -- +(hex cs:x=-2,y=1) -- +(hex cs:x=-1,y=0) -- +(hex cs:x=-1,y=-1) -- +(hex cs:x=0,y=-1) -- +(hex cs:x=1,y=-2) -- +(hex cs:x=1,y=-1) -- +(hex cs:x=2,y=-1) -- +cycle;% +\end{scope}% +\hexwt[root,#1]{1}{0}% +\hexwt[root,#1]{0}{1}% +\hexwt[root,#1]{-1}{0}% +\hexwt[root,#1]{0}{-1}% +\hexwt[root,#1]{1}{-1}% +\hexwt[root,#1]{-1}{1}% +\hexwt[root,#1]{1}{1}% +\hexwt[root,#1]{2}{-1}% +\hexwt[root,#1]{-1}{2}% +\hexwt[root,#1]{1}{-2}% +\hexwt[root,#1]{-2}{1}% +\hexwt[root,#1]{-1}{-1}% +}% + +\NewDocumentCommand\choose@weight@lattice{}% +{% +\IfStrEqCase{\root@system}% +{%% +{A}{\global\let\weight=\A@weight}% +{B}{\global\let\weight=\B@weight}% +{C}{\global\let\weight=\C@weight}% +{G}{\global\let\weight=\G@weight}% +}%% +[\check@root@system]% +}% + +\NewDocumentCommand\check@weight@lattice{}% +{% +\IfInteger{\weight@lattice@size}% +{}% +{\ClassError{Rank 2 roots}{Error in weight lattice size \weight@lattice@size.}{}}% +}% + +\NewDocumentCommand\roots{O{}}% +{% +\check@root@system% +\check@weight@lattice% +\IfStrEqCase{\root@system}% +{%% +{A}{\A@roots[#1]}% +{B}{\B@roots[#1]}% +{C}{\C@roots[#1]}% +{G}{\G@roots[#1]}% +}%% +[\check@root@system]% +}% + +\NewDocumentCommand\Weyl@chamber{O{}m}% +{% +\begin{scope}[on background layer] +\IfStrEqCase{\root@system}% +{%% +{A}{\fill[Weyl chamber,#1] \weight{0}{#2} -- \weight{0}{0} -- \weight{#2}{0} --cycle;}% +{B}{\fill[Weyl chamber,#1] (square cs:x=#2,y=#2) -- (square cs:x=0,y=0) --(square cs:x=#2,y=0) --cycle;}% +{C}{\fill[Weyl chamber,#1] (square cs:x=#2,y=#2) -- (square cs:x=0,y=0) --(square cs:x=#2,y=0) --cycle;}% +{G}{\fill[Weyl chamber,#1] (hex cs:x={(.5*#2)},y={(.5*#2)}) -- (hex cs:x=0,y=0) --(hex cs:x=#2,y=0) --cycle;}% +}%% +[\check@root@system]% +\end{scope} +}% + +\NewDocumentCommand\Weyl@chamber@to@root@polygon{O{}}% +{% +\begin{scope}[on background layer] +\IfStrEqCase{\root@system}% +{%% +{A}{\fill[Weyl chamber,#1] (hex cs:x=0,y=1.5) -- (hex cs:x=0,y=0) -- (hex cs:x=1.5,y=0) -- (hex cs:x=1,y=1) -- cycle;}% +{B}{\fill[Weyl chamber,#1] (square cs:x=1,y=1) -- (square cs:x=0,y=0) --(square cs:x=1,y=0) --cycle;}% +{C}{\fill[Weyl chamber,#1] (square cs:x=1,y=1) -- (square cs:x=0,y=0) --(square cs:x=2,y=0) --cycle;}% +{G}{\fill[Weyl chamber,#1] (hex cs:x=1,y=1) -- (hex cs:x=0,y=0) --(hex cs:x=1,y=0) --cycle;}% +}%% +[\check@root@system]% +\end{scope} +}% + + +\NewDocumentCommand\WeylChamber{O{}}% +{% +\check@root@system% +\ifAutoSizeWeightLattice +\Weyl@chamber[#1]{\weight@lattice@size}% +\else +\IfStrEq{\weight@lattice@size}{0}% +{%% +\Weyl@chamber@to@root@polygon[#1]% +}%% +{%% +\Weyl@chamber[#1]{\weight@lattice@size}% +}%% +\fi +}% + +\NewDocumentCommand\A@weight{mm}% +{% +(hex cs:x=#1,y=#2)% +}% + +% B weight coordinate system +\define@key{Bkeys}{x}{\def\myx{#1}} +\define@key{Bkeys}{y}{\def\myy{#1}} +\tikzdeclarecoordinatesystem{B weight}% +{% +\setkeys{Bkeys}{#1}% +\ifAutoSizeWeightLattice\auto@stretch@square{(\myx+.5*(\myy))}{(.5*(\myy))}\fi% +\pgfmathparse{((\myx)+.5*(\myy))*\weightLength}% +\pgf@x=\pgfmathresult pt% +\pgfmathparse{.5*(\myy)*\weightLength}% +\pgf@y=\pgfmathresult pt% +} + +\NewDocumentCommand\B@weight{mm}% +{% +(B weight cs:x=#1,y=#2) +}% + +% C weight coordinate system +\define@key{Ckeys}{x}{\def\myx{#1}} +\define@key{Ckeys}{y}{\def\myy{#1}} +\tikzdeclarecoordinatesystem{C weight}% +{% +\setkeys{Ckeys}{#1}% +\ifAutoSizeWeightLattice\auto@stretch@square{(\myx+\myy)}{(\myy)}\fi% +\pgfmathparse{(\myx+\myy)*\weightLength}% +\pgf@x=\pgfmathresult pt% +\pgfmathparse{\myy*\weightLength}% +\pgf@y=\pgfmathresult pt% +} + +\NewDocumentCommand\C@weight{mm}% +{% +(C weight cs:x=#1,y=#2) +}% + + +\NewDocumentCommand\G@weight{mm}% +{% +(hex cs:x={(#1+#2)},y=#2) +}% + +\NewDocumentCommand\draw@hex@grid@line{O{}mmmm}% +{% +\draw[weight lattice,#1] (hex cs:x=#2,y=#3) -- (hex cs:x=#4,y=#5);% +}% + +\NewDocumentCommand\hexgrid{O{}m}% +{% +\begin{scope}[on background layer] +\foreach \i [evaluate=\i as \nsubi using #2-\i] in {0,...,#2}% +{% +\draw@hex@grid@line[#1]{\nsubi}{\i}{-\i-\nsubi}{\i}% +}% +\foreach \i [evaluate=\i as \nsubi using #2-\i] in {1,...,#2}% +{% +\draw@hex@grid@line[#1]{\i+\nsubi}{-\i}{-\nsubi}{-\i}% +}% +\foreach \i [evaluate=\i as \nsubi using #2-\i] in {0,...,#2}% +{% +\draw@hex@grid@line[#1]{\nsubi}{\i}{\nsubi}{-#2}% +}% +\foreach \i [evaluate=\i as \nsubi using #2-\i] in {1,...,#2}% +{% +\draw@hex@grid@line[#1]{-\i}{#2}{-\i}{-\nsubi}% +}% +\foreach \i [evaluate=\i as \nsubi using #2-\i] in {0,...,#2}% +{% +\draw@hex@grid@line[#1]{#2}{-\i}{-\i}{#2}% +}% +\foreach \i [evaluate=\i as \nsubi using #2-\i] in {0,...,#2}% +{% +\draw@hex@grid@line[#1]{\i}{-#2}{-#2}{\i}% +}% +\end{scope} +}% + +\NewDocumentCommand\hexclip{}% +{% +\clip + (hex cs:x=\weight@lattice@size,y=0) -- + (hex cs:x=0,y=\weight@lattice@size) -- + (hex cs:x=-\weight@lattice@size,y=\weight@lattice@size) -- + (hex cs:x=-\weight@lattice@size,y=0) -- + (hex cs:x=0,y=-\weight@lattice@size) -- + (hex cs:x=\weight@lattice@size,y=-\weight@lattice@size) -- + cycle; +}% + +\NewDocumentCommand\A@positive@root@hyperplane{O{}}% +{% +\begin{scope}[on background layer] +\fill[hyperplane,#1] (hex cs:x=-1.5,y=1.5) --(hex cs:x=-1,y=2) --(hex cs:x=1,y=1) --(hex cs:x=2,y=-1) --(hex cs:x=1.5,y=-1.5) --cycle;% +\end{scope} +}% + + +\NewDocumentCommand\B@positive@root@hyperplane{O{}}% +{% +\begin{scope}[on background layer]% +\fill[hyperplane,#1] (square cs:x=-1,y=.5) -- (square cs:x=-1,y=1) -- (square cs:x=1,y=1) -- (square cs:x=1,y=-.5) -- cycle;% +\end{scope}% +}% + + +\NewDocumentCommand\C@positive@root@hyperplane{O{}}% +{% +\begin{scope}[on background layer]% +\fill[hyperplane,#1] (square cs:x=-1.5,y=.5) -- (square cs:x=0,y=2) -- (square cs:x=2,y=0) -- (square cs:x=1.5,y=-.5) -- cycle;% +\end{scope}% +}% + + +\NewDocumentCommand\G@positive@root@hyperplane{O{}}% +{% +\begin{scope}[on background layer]% +\fill[hyperplane,#1] + (hex cs:x=-1,y=1.5) -- + (hex cs:x=-1,y=2) -- + (hex cs:x=0,y=1) -- + (hex cs:x=1,y=1) -- + (hex cs:x=1,y=0) -- + (hex cs:x=2,y=-1) -- + (hex cs:x=1,y=-1) -- + (hex cs:x=1,y=-1.5) -- cycle;% +\end{scope}% +}% + +\NewDocumentCommand\positiveRootHyperplane{O{}}% +{% +\IfStrEqCase{\root@system}% +{%% +{A}{\A@positive@root@hyperplane[#1]}% +{B}{\B@positive@root@hyperplane[#1]}% +{C}{\C@positive@root@hyperplane[#1]}% +{G}{\G@positive@root@hyperplane[#1]}% +}%% +[\check@root@system]% +}% + +\NewDocumentCommand\A@parabolic@one{O{}}% +{% +\begin{scope}[on background layer]% +\fill[hyperplane,#1] (hex cs:x=-2,y=1) -- (hex cs:x=-1,y=2) -- (hex cs:x=1,y=1) -- (hex cs:x=2,y=-1) -- cycle;% +\end{scope}% +}% + +\NewDocumentCommand\A@parabolic@two{O{}}% +{% +\begin{scope}[on background layer]% +\fill[hyperplane,#1] (hex cs:x=-1,y=2) -- (hex cs:x=1,y=1) -- (hex cs:x=2,y=-1) -- (hex cs:x=1,y=-2) -- cycle;% +\end{scope}% +}% + +\NewDocumentCommand\B@parabolic@one{O{}}% +{% +\begin{scope}[on background layer]% +\fill[hyperplane,#1] (square cs:x=-1,y=0) --(square cs:x=-1,y=1) --(square cs:x=1,y=1) --(square cs:x=1,y=0) --cycle;% +\end{scope}% +}% + +\NewDocumentCommand\B@parabolic@two{O{}}% +{% +\begin{scope}[on background layer]% +\fill[hyperplane,#1] (square cs:x=-1,y=1) --(square cs:x=1,y=-1) --(square cs:x=1,y=1) --cycle;% +\end{scope}% +}% + + +\NewDocumentCommand\C@parabolic@one{O{}}% +{% +\begin{scope}[on background layer]% +\fill[hyperplane,#1] (square cs:x=-2,y=0) -- (square cs:x=0,y=2) -- (square cs:x=2,y=0) -- cycle;% +\end{scope}% +}% + + +\NewDocumentCommand\C@parabolic@two{O{}}% +{% +\begin{scope}[on background layer]% +\fill[hyperplane,#1] (square cs:x=-1,y=1) -- (square cs:x=0,y=2) -- (square cs:x=2,y=0) -- (square cs:x=1,y=-1) -- cycle;% +\end{scope}% +}% + + +\NewDocumentCommand\G@parabolic@one{O{}}% +{% +\begin{scope}[on background layer]% +\fill[hyperplane,#1] (hex cs:x=-1,y=1) -- (hex cs:x=-1,y=2) -- (hex cs:x=0,y=1) -- (hex cs:x=1,y=1) -- (hex cs:x=1,y=0) -- (hex cs:x=2,y=-1) -- (hex cs:x=1,y=-1) -- cycle;% +\end{scope}% +}% + + +\NewDocumentCommand\G@parabolic@two{O{}}% +{% +\begin{scope}[on background layer]% +\fill[hyperplane,#1] (hex cs:x=-1,y=2) --(hex cs:x=0,y=1) --(hex cs:x=1,y=1) --(hex cs:x=1,y=0) --(hex cs:x=2,y=-1) --(hex cs:x=1,y=-1) --(hex cs:x=1,y=-2) --cycle;% +\end{scope}% +}% + +\NewDocumentCommand\parabolic{O{}m}% +{% +\xdef\parabolic@subalgebra{#2}% +\IfStrEq{#2}{3}{\positiveRootHyperplane}% +{% +\IfStrEqCase{\root@system#2}% +{%% +{A1}{\A@parabolic@one[#1]}% +{A2}{\A@parabolic@two[#1]}% +{B1}{\B@parabolic@one[#1]}% +{B2}{\B@parabolic@two[#1]}% +{C1}{\C@parabolic@one[#1]}% +{C2}{\C@parabolic@two[#1]}% +{G1}{\G@parabolic@one[#1]}% +{G2}{\G@parabolic@two[#1]}% +}%% +[\check@root@system% +\ClassError{Rank 2 roots}{Parabolic subalgebra ``#2'' not recognized. Allowed values are 1,2,3.}{}]% +}% +}% + +\NewDocumentCommand\parabolicgrading{}% +{% +\IfStrEqCase{\root@system\parabolic@subalgebra}% +{%% +{A1}{\draw[grading] (hex cs:x=-1,y=2) -- (hex cs:x=1,y=1);}% +{A2}{\draw[grading] (hex cs:x=1,y=1) -- (hex cs:x=2,y=-1);}% +{A3}{\draw[grading] (hex cs:x=-1,y=2) -- (hex cs:x=2,y=-1);\draw[grading] (hex cs:x=0,y=2) -- (hex cs:x=2,y=0);}% +{B1}{\draw[grading] (square cs:x=-1,y=1) -- (square cs:x=1,y=1);}% +{B2}{\draw[grading] (square cs:x=0,y=1) -- (square cs:x=1,y=0);\draw[grading] (square cs:x=1,y=1) circle (\gradingDot);}% +{B3}{\draw[grading] (square cs:x=-1,y=1) -- (square cs:x=1,y=0);% +\draw[grading] (square cs:x=0,y=1) -- (square cs:x=1,y=.5);% +\draw[grading] (square cs:x=1,y=1) circle (\gradingDot);}% +{C1}{\draw[grading] (square cs:x=-2,y=1) -- (square cs:x=2,y=1);% +\draw[grading] (square cs:x=-2,y=2) -- (square cs:x=2,y=2);}% +{C2}{\draw[grading] (square cs:x=0,y=2) -- (square cs:x=2,y=0);}% +{C3}{ +\begin{scope} +\clip + (square cs:x=-2,y=2) -- + (square cs:x=2,y=2) -- + (square cs:x=2,y=-2) -- + (square cs:x=-2,y=-2) -- + cycle; +\draw[grading] (square cs:x=0,y=2) -- (square cs:x=2,y=1.333333); +\draw[grading] (square cs:x=-2,y=1.3333333) -- (square cs:x=2,y=0); +\draw[grading] (square cs:x=-2,y=2) -- (square cs:x=2,y=.666666); +\end{scope} +}% +{G1}{\draw[grading] (hex cs:x=-1,y=2) -- (hex cs:x=2,y=-1);\draw[grading] (hex cs:x=0,y=2) -- (hex cs:x=2,y=0);}% +{G2}{\begin{scope}[on background layer] +\IfStrEq{\weight@lattice@size}{0}% +{% +\draw[grading] (square cs:x=1.5,y=\sqrt@three) -- (square cs:x=1.5,y=-\sqrt@three); +\draw[grading] (hex cs:x=0,y=2) -- (hex cs:x=2,y=-2); +\draw[grading] (hex cs:x=-.5,y=2) -- (hex cs:x=1.5,y=-2); +}% +{% +\hexclip +\draw[grading] (hex cs:x=1,y=1) -- (hex cs:x=2,y=-1); +\draw[grading] (hex cs:x=0,y=2) -- (hex cs:x=2,y=-2); +\draw[grading] (hex cs:x=-.5,y=2) -- (hex cs:x=1.5,y=-2); +}% +\end{scope}}% +{G3}{\begin{scope}[on background layer] +\IfStrEq{\weight@lattice@size}{0}{}{\hexclip}% +\foreach \i in {1,...,5}% +{% +\draw[grading] + (square cs:x={.333333333*(\i-1)},y=\sqrt@three) -- + (square cs:x={.333333333*(\i+1)},y=-\sqrt@three); +}% +\end{scope}}% +}%% +}% + + +\makeatother +\endinput diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index e13cc562d8f..56a9495b7a4 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -550,7 +550,7 @@ my @TLP_working = qw( qcircuit qcm qobitree qrcode qstest qsymbols qtree quattrocento quicktype quotchap quoting quotmark quran r_und_s raleway ran_toks randbild randomlist randomwalk randtext - rccol rcs rcs-multi rcsinfo + rank-2-roots rccol rcs rcs-multi rcsinfo readarray realboxes realscripts rec-thy recipe recipebook recipecard recycle rectopma refcheck refenums reflectgraphics refman refstyle diff --git a/Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc b/Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc index c9b4992b42f..47b9f8d60de 100644 --- a/Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc @@ -130,6 +130,7 @@ depend proba depend prooftrees depend pseudocode depend pythonhighlight +depend rank-2-roots depend rec-thy depend revquantum depend ribbonproofs diff --git a/Master/tlpkg/tlpsrc/rank-2-roots.tlpsrc b/Master/tlpkg/tlpsrc/rank-2-roots.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d -- cgit v1.2.3