From Cartan Matrix to Root System
Yesterday, we showed that a Cartan matrix determines its root system up to isomorphism. That is, in principle if we have a collection of simple roots and the data about how each projects onto each other, that is enough to determine the root system itself. Today, we will show how to carry this procedure out.
But first, we should point out what we don’t know: which Cartan matrices actually come from root systems! We know some information, though. First off, the diagonal entries must all be . Why? Well, it’s a simple calculation to see that for any vector
The off-diagonal entries, on the other hand, must all be negative or zero. Indeed, our simple roots must be part of a base , and any two vectors must satisfy . Even better, we have a lot of information about pairs of roots. If one off-diagonal element is zero, so must the corresponding one on the other side of the diagonal be zero. And if they’re nonzero, we have a very tightly controlled number of options. One must be , and the other must be , , or .
But beyond that, we don’t know which Cartan matrices actually arise, and that’s the whole point of our project. For now, though, we will assume that our matrix does in fact arise from a real root system, and see how to use it to construct a root system whose Cartan matrix is the given one. And our method will hinge on considering root strings.
What we really need is to build up all the positive roots , and then the negative roots will just be a reflected copy of . We also know that since there are only finitely many roots, there can be only finitely many heights, and so there is some largest height. And we know that we can get to any positive root of any height by adding more and more simple roots. So we will proceed by building up all the roots of height , then height , and so on until we cannot find any higher roots, at which point we will be done.
So let’s start with roots of height . These are exactly the simple roots, and we are just given those to begin with. We know all of them, and we know that there is nothing at all below them (among positive roots, at least).
Next we come to the roots of height . Every one of these will be a root of height plus another simple root. The problem is that we can’t add just any simple root to a root of height to get another root of height . If we step in the wrong direction we’ll fall right off the root system! We need to know which directions are safe, and that’s where root strings come to the rescue. We start with a root with , and a simple root . We know that the length of the string through must be . But we also know that we can’t step backwards, because would be (in this case) a linear combination of simple roots with both positive and negative coefficients! If then we can’t step forwards either, because we’ve already got the whole root string. But if then we have room to take a step in the direction from , giving a root with height . As we repeat this over all roots of height and all simple roots , we must eventually cover all of the roots of height .
Next are the roots of height . Every one of these will be a root of height plus another simple root. The problem is that we can’t add just any simple root to a root of height to get another root of height . If we step in the wrong direction we’ll fall right off the root system! We need to know which directions are safe, and that’s where root strings come to the rescue… again. We start with a root with , and a simple root . We know that the length of the string through must again be . But now we may be able to take a step backwards! That is, it may turn out that is a root, and that complicates matters. But this is okay, because if is a root, then it must be of height , and we know that we already know all of these! So, look up in our list of roots of height and see if it shows up. If it doesn’t, then the string through starts at , just like before. If it does show up, then the root string must start at . Indeed, if we took another step backwards, we’ve have a root of height , which doesn’t exist. Thus we know where the root string starts. We can also tell how long it is, because we can calculate by adding up the Cartan integers for each of the simple roots we’ve used to build . And so we can tell whether or not it’s safe to take another step in the direction of from , and in this way we can build up each and every root of height .
And so on at each level we start with the roots of height and look from each one in the direction of each simple root . In each case, we can carefully step backwards to determine where the string through begins, and we can calculate the length of the string, and so we can tell whether or not it’s safe to take another step in the direction of from , and we can build up each and every root of height . Of course, it may just happen (and eventually it must happen) that we find no roots of height . At this point, there can be no roots of any larger height either, and we’re done. We’ve built up all the positive roots, and the negative roots are just their negatives.