(Edit: See below)
I am trying to draw a simple picture containing a root system, Weyl chambers and root/weight lattice using pstricks
. I am essentially trying to construct something like figures 6.5, 6.6 and 6.7 (pages 193-196) in these lecture notes. I have been able to do most of it:
\begin{pspicture}[showgrid=false](-3.5,-3.5)(3.5,3.5)\psset{unit=1.3}
\psset{linewidth=1.5pt}
%Weyl Chambers
\pscustom[linewidth=0pt,fillstyle=solid,fillcolor=lightgray]{
\psline(0,3)(0,0)
\psline(0,0)(2.6,1.5)
}
\psline[linestyle=dotted,linewidth=1pt](0,-3)(0,3)
\psline[linestyle=dotted,linewidth=1pt](-2.6,-1.5)(2.6,1.5)
\psline[linestyle=dotted,linewidth=1pt](2.6,-1.5)(-2.6,1.5)
%Roots
\psline{->}(0,0)(2,0) \psline{->}(0,0)(-2,0)
\psline{->}(0,0)(-1,1.732) \psline{->}(0,0)(1,-1.732)
\psline{->}(0,0)(1,1.732) \psline{->}(0,0)(-1,-1.732)
%Fundamental Weights
\psline[linewidth=1pt]{->}(0,0)(0,1)
\psline[linewidth=1pt]{->}(0,0)(0.866,0.5)
\end{pspicture}
but I have problems constructing the weight lattice, like the ones in the lecture notes. Is there a simple way to include this? (It's the lattice spanned by the fundamental weights, the small arrows).
A small bonus question (sorry for asking two questions at once). Many people seem to like TikZ, but I have never used it. Would such a drawing be simpler to draw using TikZ?
Edit: cmhughes has given a very good and useful answer, but as I have written in the comment I still have a small problem with it. What I want is, given two vectors $a = (a_1, a_2)$ and $b = (b_1,b_2)$, to construct the lattice $n_1 a + n_2 b$ where $n_1$ and $n_2$ are integers. Using multido
, I can only make this work if the components of $a$ and $b$ are integers and can be decomposed into square lattices (as in cmhughes example). In other words, figure 6.5 seems to be harder to construct in a simple way than figure 6.6. Is there a simple way to do this?
Best Answer
Below is a replication of Figure 6.6 in your linked document. Note the use of
multido
If you need the arrows to be on top of the dots, simply change their ordering in the code.
UPDATE
I have recreated Figure 6.5 below. As previously, I imagine that there are more clever/elegant/robust ways to achieve it; I've often found that trying to shortcut can cost me more time than going the long way round. Here is the process I used:
AFAIK,
\psdot
can not take algebraic expressions, so I had to use RPN. If someone knows better, please let me know.