LaTeXで.
dynkin-diagramsパッケージ
Dynkin図形を描きたいという話.dynkin-diagramsというそのものっぽいパッケージがあることに気がついた.使ってみた.Tikzを中で使うので,dvipdfmx利用の場合はドライバ指定を忘れないように.platex+dvipdfmxの場合は
\documentclass[dvipdfmx]{jlreq}
\usepackage{dynkin-diagrams}
\usetikzlibrary{backgrounds}
とする.pdflatexの場合はドライバ指定は不要.
基本書式
\dynkin
という命令が用意されている.書式は
\dynkin[<オプション>]{型}{ランク}
である.ランクが空の場合は一般っぽくなる.
$B_3$:\dynkin{B}{3}
$D_4$:\dynkin{D}{4}
$E_8$:\dynkin{E}{8}
$A_n$:\dynkin{A}{}
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXvqGru_svkyu6WP3ZsZ0x8wilkKKc1VvAFLH9fdUkPX-JWRi4_v5-JsZf0u-RWRKHbtN3AU6AFw-KuED58XpoadKqu8EbZrwIgFS3sjvf0YfrNc3a8uJIbPBmUTNpC9t_v-SiXDjEREY/s320/equation.png)
線の長さが短いとか思っちゃう場合はオプションで解消できる(後で).ランクを空にすると,途中の辺が破線になる.この場所は適当に決まっているけど,変えたい場合は,決まったランクのDynkin図形の辺の一部を破線にすることでできる.オプションmakeIndefiniteEdge
を使う.
もともと:\dynkin{A}{},
変更:\dynkin[makeIndefiniteEdge={1-2}]{A}{4}
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIqYCjtAA81XKbQYrPn2ooNd5H38DVEigensFbhBl9GX8KH4fZPR3Tt41FN-XkKphr_eI1MRIGmXq1JW8oC4DqcOkb6RjmWRgf0libFy6BT8muQHl_ZAA9gMlsZhKX8-uGe0crKUB6cdA/s320/equation.png)
\dynkin[makeIndefiniteEdge={1-2},makeIndefiniteEdge={3-4}]{A}{4}
のように,複数指定することもできる.頂点の番号付けはBourbakiに従う.(後のlabel
オプションも参考.)
affine型は型の後にオプション引数を与える.記号はKacの本に従っているようだ.
$A_5^{(1)}$:\dynkin{A}[1]{5}
$D_4^{(3)}$:\dynkin{D}[3]{4}
オプションextended
により,拡大Dynkin図形を描くことも可能.
$A_1$の拡大Dynkin図形:\dynkin[extended]{A}{1}
$E_7$の拡大Dynkin図形:\dynkin[extended]{E}{7}
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkQuWxe4ohl4EKunCVoR4Mtf0ji3M_F8BCrGMsOXj_srU3EeDmOebUFxGbku-eNEXPVGCXAYNPevXrtoCZApv0qP6yLB_XDxqZQKKcW600dnyQCmoPj9Ozk9lqDfnZgCzsWLSrh7GGBiI/s320/equation.png)
0番目の頂点(加わった頂点)だけ白丸になるのが嫌ならば,\dynkin[extended,affineMark=*]{E}{7}
とすれば良い.また,オプションKac
を指定すると,見た目がKacの本っぽくなる.
\dynkin[Kac,extended]{A}{3}
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmVFlaWEbXtt1uh0Efx4T_XTuk8IwBfTNCplad6yqb8GLqszpBTyGeyrM9uAAv5ASPnVwPTW06ruw98oLCO3qwH1dY04Bonn_XJdosSaEUozqsZsW-10e_f70WW-YtQ9bg0YpBDl6gj6E/s320/equation.png)
佐武図形も描けるよ.(記号はHelgasonの本に従う.)
\dynkin{A}{IIIa}
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRRLPpfF9QaV9hgLZTo6JItXlSbZZmVatsQsUBTuSOuazZbigsNQySIzsyiUJw_mMPKGYzOjDjy4wnQkdn7SSpn-AT2It4OAYPDis8E1Ugkrxi0LT_h2TZHTGRAJrQ595EFi09G6ecDpI/s320/equation.png)
Coxeterグラフを描きたい場合はオプションCoxeter
を指定すればよい.
\dynkin[Coxeter]{B}{4}
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVs8fdpcr_GMXeonBqSILu_g7Td27vJED0HFxaTUZ2MTFhi7qPuQyFdoHnbucGPwKTCoN5hzsqWj8xYbnv7RCZ73Vsbi5rrPRBkqIXXb-G0wHE3MO12V_mZW_kFYiW2vb3E3UUF_RO9wc/s200/equation.png)
スタイル指定
見た目の指定もオプションでできる.
\dynkin[radius=1mm, % 頂点の半径を1mmにする
edgeLength=1cm, % 辺の長さは3cm
label, % 頂点にラベルをつける
mark=o, % 頂点は白丸
]{E}{8} % で,E8を表示
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSBLqB2OkyO8IxacwNUcq02NQTKkrs2V5GY7ggC1qc7c9Qsg41zTJc0ijMY76dxXuPqg6Wz5C4mw2l4KF4Xp5LP8dSaPXY-Yi7gQjC8Pm7PRGpv3pREDTkh6Eietr-Z6Z4daSaDTBsjM8/s320/equation.png)
パッケージ読み込み時に指定しておけば,文書内全てに適用される.
\usepackage[radius=1mm,edgeLength=1cm,label,mark=o]{dynkin-diagrams}
ラベル
上述のように,オプションlabel
により頂点にラベルをつけることができる.順番はBourbaki式だが,他の指定もある.
\dynkin[label]{E}{8}
\dynkin[label,ordering=Adams]{E}{8}
\dynkin[label,ordering=Carter]{E}{8}
\dynkin[label,ordering=Dynkin]{E}{8}
\dynkin[label,ordering=Kac]{E}{8}
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXL6cM-Oyh6Fe36DlXXUROMemz1vkMWIuDQfIDtZKVAtgzy80vK7F0aDRUeu5FKgtxdcw-_OH_AU5PrCp_Gd6Ed0fsgKMO47QwTqHw2xbi1LEBEd0rv-Fk_IgokZwTF17b7xhGwMratK8/s640/equation.png)
ラベルは通常数字がつくだけだが,オプションlabelMacro/.code
でカスタマイズできる.
\dynkin[label,labelMacro/.code={\alpha_{#1}}]{A}{3}% #1がラベル番号になる.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYqTKwm-lIpKUEvsdrvaorg4-6n6GUpHCUCw83aykd7SJNxgSBUWejoKO7npSlh73MKYJNB1r993UiGXPpx4l3d0KcNnntjC0aw1pwFTZaPUe6lgPM_AOpuHsS9cZ_GRgGahfk1KKU57U/s320/equation.png)
Tikz環境内に飛び込み,\dynkinLabelRoot
を使えば個別にラベルをつけることもできる.
\begin{tikzpicture}
\dynkin[mark=o,extended]{B}{3} % B3の拡大Dynkin図形を,頂点を白丸にして描く
\dynkinLabelRoot{0}{\textit{hs}}
\dynkinLabelRoot{1}{\textit{hs}} % 0,1番目の頂点に「hs」というラベルをつける
\end{tikzpicture}
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4fdmwc1rUUpXKS_i5-DZP_swZdIUKqPtvwz8dpuIZixnD8K9_-anA71C9kvg_Shn-dTlOd-9etvtvlj8J8IPQapps35hiZqN9Tcd_LpZoejIr6YSOn0kSEmxRfmRbl57stYCqzr_Dq4w/s200/equation.png)
頂点
上述のように,頂点はオプションmark
で変更できる.デフォルトの黒丸は*
で,白丸にするにはo
.他の指定は次のような感じ.
\dynkin[mark=O]{A}{3}
\dynkin[mark=t]{A}{3}
\dynkin[mark=x]{A}{3}
\dynkin[mark=X]{A}{3}
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9Z7hE0v6VxOjnzHuRmdFkGqxdEISQZsq-CDWfypAo3MefmwYYR7aZqtDELltEhcXNT6moAIOsoznEWVZQ4m_AOKv1feNxCQ198CtB0U6IR3mnRNG4DEwIYm71J3Dz9f5gHu45gjRMKy0/s640/equation.png)
affine型の場合は,0番目の頂点に対してはオプションaffineMark
で指定する.
\dynkin[mark=x,affineMark=O]{A}[1]{3}
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBc-FQaU8jNwUKX6ef_-3F8Yoe_67jELQnZdKjz1Cxf5ffyPPSQ5x6iV2iSyV523NiOSjEDPUJV8Dqlh_AwwFJMVrrTOrkIiId6T3ibK0Wx38B-pyib_nPi3dP4Lis3VN35WTg-iVEORQ/s200/equation.png)
一部だけ変更したい場合は,Tikz環境内に入ってから\dynkinRootMark
を使う.
\begin{tikzpicture}
\dynkin[mark=o]{A}{5}
\dynkinRootMark{*}{2} % 2番目の頂点を黒丸に変更
\dynkinRootMark{O}{4} % 4番目の頂点を二重丸に変更
\end{tikzpicture}
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWTfvv69GDdedb1uCBCRbRj0UBWXn_66fnQzS_J48Rizw2lvRlRRvCXWeOSEpDxC0ILrOEYmeY4h0asHO7-Mr-6qRry52wcmt7yeNQ4IVMk35kgfSZS_P5-kvF3cnhLxXUY8muc4euVno/s320/equation.png)
affine型ならば,\dynkinRootMark{x}{0}
のようにすると0番目の頂点を変更できる.(もちろんaffineMark=x
と等価.)
\dynkin
の第二引数はランクだったけど,ここに頂点表示のリストを並べることもできる.
\dynkin{A}{x*oOtX}% A6型
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5hbYl3fTwcviA7Ix6w2ZDsXk-146y6zjX7cUHwhULZ0B2Q_bk_fXpe-WrL_heVtqfWQaB9ddXqfDkKLzVAHLII-ds_M2vX6SuN2J1w5emAKZ-8Wj13aFz-hyS0fU6nidceM-k1G1lc2Q/s320/equation.png)
affine型の場合に0番目の頂点をこの方法で指定することはできないので,affineMark
を使う.
リストの途中に.
(ピリオド)があると,makeIndefiniteEdge
と同じ効果を及ぼす.
\dynkin{A}{**.x.oo}
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJJnyTKMtsvnZGSTMtH-7CBSeluoKhyHSieHCsQfIGXPR_vmS2apMq_m3yHY-kieRvWhY2XYSFFDBcpw6jK8AuWNUG7Cc39e33q0vnYK2BClVzJ_gOV_6l_l4YYl1mlsi6-pXMPdkEUOY/s320/equation.png)
folding
Dynkin図形のfoldingも実装されている.(ただし「limited support」とのこと.)ply=<n>
をオプションに入れることで,最大$n$個のルートが一つに潰れているfoldingを表す.例えば次の通り.
\dynkin[ply=2]{D}{4}
\dynkin[ply=3]{D}{4}
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcCtiKqQNde4qWUhiBtMnIjS1czf955D4MC4TDP46G5ZwzKzId9Mxxcn5iMFBJ6Mec2xYDpqWuzh8iBJ9VS7zGy6Z1d3eDCc1iMZOq_xP2gmDtCq8N-L1DSMXYvKI8EsTQvHjEzT7Qa_o/s320/equation.png)
ply=2
の省略形(?)としてfold
が用意されている,$D_n^{(1)}$型にfold
を指定すると左右両方ともfoldされる.左のみ,右のみとしたい場合はfoldleft
やfoldright
を指定する.
\dynkin{D}[1]{}
\dynkin[foldleft]{D}[1]{}
\dynkin[foldright]{D}[1]{}
\dynkin[fold]{D}[1]{}
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggNVKb4SmjJKRaoLChNdpCMDJJP6wyth_DnA0PIkyU-dJmFHa_bRTbL5MOrrV1yEeaGFF_jA_PwCBSdEqEvv0i20U2N5yoXP-HkFxeEy28LhnJOPnj_RUq5_5CDWvN0wAgptEVNg0unc8/s640/equation.png)
Tikz環境に入れば,\dynkinFold
によりもっと直接に指定できる.
\begin{tikzpicture}
\dynkin{D}{4}
\dynkinFold[bend left=60]{3}{4}
\end{tikzpicture}
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9Hrd26Vr1_J8n3jj-V6VsFNz5AXTAreq1_FZHcrH_rIG9m9yhFno09OJxzPHmTCvZJwEoPz-IaMgfZn26iYsS1n7PBhgDui8rsIshg9qN_pIPRJoizIlA94HLoAGv_n9xdCxIOPyayAs/s200/equation.png)
bend right
オプションで二つのルートをつなげている線が曲がる.60は曲がっている部分の角度.
$\mathfrak{so}(2p+1,2q+1)$のVogan図形
\dynkin[fold]{D}{oo.o*o.oooo}
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjv-iwwjVN2pGkQ0HJiuMij7XgJn0nwhuuzgiEXK9jIfuRShplJlRKotJz-HZmKkxq7v2lhRdGWdJFkZrMZlIFvlppYRUsyDH6r5G3VApNMFCuRnWlzRe-00oHoLB85pc3EVz6qTXqRvg/s400/equation.png)
0 件のコメント:
コメントを投稿
コメントの追加にはサードパーティーCookieの許可が必要です