The procedures in subsections 2.4 and 2.5 allow us to create root and weight diagrams for algebras of rank greater than 3. We now give precise definitions for the two processes we used in subsection 3.1 to identify subalgebras of \(B_3 = so(7)\).
We first generalize the method that allowed us to find subalgebras of \(B_3=so(7)\) by identifying subdiagrams in specific crosssections of its root diagram. We refer to this method as ``slicing'', based on an analogy to slicing a loaf of bread. A knife, making parallel cuts through the bread, creates several independent slices of the bread. We use the same idea to slice an algebra's root or weight diagram. A set of \(l1\) linearly independent vectors \(V = \{v^1, \cdots, v^{l1}\}\) defines an \((l1)\)dimensional hyperplane in \(\mathbb{R}^l\). Given \(V\), a slice \(D_{\alpha}\) of an algebra's \(l\)dimensional diagram \(D\) is the subdiagram consisting of the vertex \(\alpha\) and all root vectors and vertices in the hyperplane spanned by \(V\) containing \(\alpha\). A slicing of a diagram \(D\) using \(V\) separates \(D\) into a finite set of disjoint slices. The root vectors which connect vertices from two different slices are called struts. We are interested in slices of \(D\) which contain diagrams corresponding to the algebra's subalgebras. Hence, the slices must contain root vectors of \(D\), and in practice we choose \(V\) to consist of integer linear combinations of simple roots.
A diagram's slices can tell us about its original structure. When dealing with bread, we can obviously stack the slices on top of each other, in order, to recreate an image of the precut loaf of bread  our mind removes the cuts made by the knife. When dealing with root and weight diagrams, we do not have the benefit of using the shape of an ``outer crust'' to guide the stacking of the slices of the diagram. Instead of severing the struts, we color them grey to make them less prominent. This allows us to use the slices and struts to recreate the structure of the original root or weight diagram.
When the dimension of the diagram is greater than 3, stacking slices on top of each other is not an effective means of recreating the root or weight diagram. Instead, we lay the slices out along one direction, much as slices of bread are laid in order along a countertop to make sandwiches. This allows us to display a 3dimensional diagram in two dimensions, as we have shown for \(B_3=so(7)\) in Figure 16, or a 4dimensional diagram in three dimensions, as we have shown for the root diagram of \(B_4 =so(9)\) in Figure 17. Of course, a 5dimensional diagram can be displayed in three dimensions by first laying 4dimensional slices along the \(x\) axis, and then slicing each of these diagrams and spreading them along directions parallel to the \(y\) axis. This procedure generalizes easily to diagrams for rank six algebras, and can be modified to allow any compact \(n\)dimensional diagram to be displayed in three dimensions.




For the Lie algebras of rank \(l = 6\) or less, we implement a slicing as follows. We first build the algebra's root or weight diagram as described in subsection 2.5. Given three vectors \(v^1\), \(v^2\), and \(v^3\) to define the slicing, we apply an orthonormal transformation so that the slices are contained within the first 3 coordinates of \(\mathbb{R}^l\). We then use the projection (given here for \(l=6\)) \(\mathbb{R}^6 \to \mathbb{R}^3: (x,y,z,u_1,u_2, u_3) \to (x + s_1 {\tiny \bullet} u_1, y + s_2 {\tiny \bullet} u_2, z + s_3 {\tiny \bullet} u_3)\), where \(s_1\), \(s_2\), and \(s_3\) are separation factors used to separate the slices from each other when placed on our 3dimensional countertop.^{4} When helpful, we keep the grey colored struts in the sliced diagrams.^{5} While slicing preserves the length and direction of any root vector within a slice, laying the slices out along one direction obviously changes these characteristics for the grey struts.
The second method used to find subalgebras of \(B_3=so(7)\) in subsection 3.1 involved projecting the 3dimensional diagram into a 2dimensional diagram. A projection of an \(l\)dimensional diagram to an \((l1)\)dimensional diagram is accomplished by projecting along a direction specified by \(p\). To be useful, this projection must preserve the lengths of the roots, and the angles between them, when those roots are orthogonal to \(p\).
Given a direction specified by a vector \(p\), we create a linear transformation to change the basis from the standard basis \(e^1, \cdots, e^l\) to a new orthonormal basis whose first basis vector is \(\frac{p}{p}\). This is accomplished by applying GramSchmidt orthonormalization to the ordered set of vectors \(P = \{p, e^1, e^2, \cdots, e^l\}\), which is linearly dependent, and keeping the first \(l\) nonzero vectors. We then use a linear transformation to convert the standard basis to this new basis and apply it to the simple roots. Finally, we throw away the first coordinate in the expression for each simple root. This allows us to build the root or weight diagram following the procedure in subsection 2.5, using the original simple roots to define the weights \(W^0\textrm{,} \cdots \textrm{,} W^n\), which are then constructed using our projected simple roots. It is faster computationally to apply the projection to the simple roots before building the diagram than to apply the projection to the entire diagram after it has been built. As we can only display diagrams in three dimensions, when \(l \ge 4\), we repeat this procedure \(l3\) times using \(l3\) projection directions \(p^1, \cdots, p^{l3}\).
The GramSchmidt process smoothly transforms a set of linearly independent vectors into a set of orthonormal vectors, and we choose our vectors in \(P\) in a smooth way. However, as \(P\) is linearly dependent, our resulting change of basis transformation will not smoothly depend on \(p\) if \(p \in span(e^1, \cdots, e^{l1})\). Thus, we place the restriction that \(\frac{p}{p} \cdot e^l > \epsilon\), for some small \(\epsilon\). In practice, we are usually interested in directions \(p\) which are integer or halfinteger linear combinations of the simple roots, and change \(p\) to \(p + 0.015e^1 + 0.015e^2 + \cdots + 0.015e^l\). This assures that our projection smoothly depends upon \(p\), or in the case \(l \ge 4\), on \(p^1, \cdots, p^{l3}\).
By setting the separation factors \(s_i = 0\), the slicing method can be used to produce another projection of the diagram \(D\). This choice for \(s_i\) collapses the separate slices \(D_{\alpha}\) onto one another, and centers them about the origin. Given a hyperplane \(V\), this slice and collapse method projects the slices along a direction perpendicular to \(V\). This provides less flexibility that the true projection method, which allows a projection along any direction \(p\) when \(\{p\} \cap V = 0\). Nevertheless, by setting some \(s_i = 0\), the slice and collapse method can produce useful projections of 5dimensional and 6dimensional diagram.
The slight difference between the projection method and slice and collapse method is illustrated in Figure 18 and Figure 19. Figure 18 projects the root diagram of \(C_4=sp(2\cdot 4)\) along the simple root \(r^1\). The result is the root diagram of \(C_3 = sp(2\cdot 3)\). Figure 19 collapses the slices of the root diagram of \(C_4 = sp(2\cdot 4)\), defined using the simple roots \(r^2\), \(r^3\), and \(r^4\), onto the origin. While this diagram contains the \(C_3\) root diagram, consisting of two large triangles on either side of a large hexagon, it also contains smaller triangles on either side of the hexagon. These small triangles are part of an octahedron, which is one of the original slices of \(C_4\). In Figure 19, the octahedron is actually disjoint from the \(C_3\) root diagram.^{6} However, in the true projection, in Figure 18, the octahedron is placed by the projection either above or below the origin. Whenever the slice and project method produces overlapping disjoint diagrams, a better projection can be obtained by translating the collapsed slice away from the origin.





Given an algebra \(g\), the slicing and projection techniques described above produce subdiagrams of the algebra's root and weight diagrams. We then compare these subdiagrams to a list of known Lie algebra diagrams. If the subdiagram's vertices and root configuration exactly matches the configuration of a diagram for the Lie algebra \(g^\prime\), then \(g^\prime\) is a subalgebra of \(g\).
While a projection along one of the diagram's root vectors will only allow an identification of subalgebras of rank \(l1\), slicings of a rank \(l\) algebra's root diagram allow identifications of subalgebras of rank \(l\) and \(l1\). When successfully slicing root diagrams, the middle slice will be the root diagram of a rank \(l1\) subalgebra, and other slices will be different weight diagrams for that subalgebra [12]. If a subdiagram, consisting of some slices, contains the original diagram's highest weight, then it may be used to identify a rank \(l\) subalgebra.
We emphasize that our methods require the subdiagram to contain the original diagram's highest weight. To illustrate, consider the root diagram of \(C_3 = sp(2\cdot 3)\). The short roots in the diagram of \(C_3 = sp(2\cdot 3)\) look like they form the \(A_3 = D_3\) algebra in Figure 9. However, the highest weight of the \(C_3\) diagram is the furthest away from the origin, at the tip of the longest root extending from the origin. This weight is outside any embedding of the \(A_3 = D_3\) root diagram into the root diagram of \(C_3\). In fact, \(A_3 = D_3\) is not a subalgebra of \(C_3\), as there are two operators \(g_1\) and \(g_2\) corresponding to the short roots whose commutator is an operator corresponding to one of the longer roots. Had the subdiagram contained the highest weight, then \(g_1\) and \(g_2\) would have necessarily commuted to a weight contained within the subdiagram.
We have indicated these methods do not work when applied to systems of roots. For example, if projection is applied to the system of roots for \(A_3\), it appears that this algebra contains \(G_2\). When projecting the root diagram for \(A_3\), however, we can clearly see that the resulting diagram is not the root diagram of \(G_2\). Although the projected diagram contains all of the vertices needed for the root diagram of \(G_2\), it does not contain all of the edges.
These methods only allow us to find subalgebras of the complex simple Lie algebras. For the case of real subalgebras of real Lie algebras, these techniques can only indicate which containments are not possible (i.e. a real form of \(C_3\) can not contain a real form of \(A_3\)). See [13] for information regarding the real Lie subalgebras of \(E_6\).