# Exploring Lie theory with GAP

Willem A. de Graaf  Dipartimento di Matematica
Università di Trento
Italy<EMAIL_ADDRESS>
###### Abstract.

We illustrate the Lie theoretic capabilities of the computational algebra
system GAP4 by reporting on results on nilpotent orbits of simple Lie algebras
that have been obtained using computations in that system. Concerning
reachable elements in simple Lie algebras we show by computational means that
the simple Lie algebras of exceptional type have the Panyushev property. We
computationally prove two propositions on the dimension of the abelianization
of the centralizer of a nilpotent element in simple Lie algebras of
exceptional type. Finally we obtain the closure ordering of the orbits in the
null cone of the spinor representation of the group
$\mathrm{Spin}_{13}(\mathbb{C})$. All input and output of the relevant GAP
sessions is given.

###### Key words and phrases:

Lie groups, Lie algebras, nilpotent orbits, computational methods

###### 1991 Mathematics Subject Classification:

17B45, 20G05

The author was partially supported by an Australian Research Council grant,
identifier DP190100317.

##  1\. Introduction

This paper has two purposes. Firstly, it serves to introduce and advertise the
capabilities of the computer algebra system GAP4 [GAP21] to perform
computations related to various aspects of Lie theory. The main objects
related to Lie theory that GAP can deal with directly are Lie algebras and
related finite structures such as root systems and Weyl groups. But Lie
algebras play an important role in the study of the structure and
representations of linear algebraic groups. So also the algorithms implemented
in GAP can also be used to perform computations regarding those objects.

The second purpose of the paper is to describe the results of three
computational projects that I have been involved in. The first of these is the
subject of Section 3 and concerns reachable nilpotent orbits in Lie algebras
of exceptional type. Let $\mathop{\mathfrak{g}}$ be a semisimple complex Lie
algebra and let $e\in\mathop{\mathfrak{g}}$ be nilpotent. By
$\mathop{\mathfrak{g}}_{e}$ we denote the centralizer of $e$ in
$\mathop{\mathfrak{g}}$. The element $e$ is said to be reachable if
$e\in[\mathop{\mathfrak{g}}_{e},\mathop{\mathfrak{g}}_{e}]$. A nilpotent $e$
lies in a so-called $\mathfrak{\mathop{sl}}_{2}$-triple, which defines a
grading on $\mathop{\mathfrak{g}}$. Panyushev [Pan04] proposed a
characterization of reachable nilpotent elements in terms of this grading;
here we call this the Panyushev property of $\mathop{\mathfrak{g}}$. In
[Pan04] this property was proved for Lie algebras of type $A$. Yakimova
[Yak10] showed that the Lie algebras of type $B$, $C$, $D$ also have the
Panyushev property. In Section 3 we show by calculations in GAP that the
simple Lie algebras of exceptional type also have the Panyushev property.

The second project concerns the quotients
$\mathop{\mathfrak{g}}_{e}/[\mathop{\mathfrak{g}}_{e},\mathop{\mathfrak{g}}_{e}]$
where again $e$ is a nilpotent element in a simple complex Lie algebra
$\mathop{\mathfrak{g}}$. These play an important role in [PT14]. In Section 4
we show that a statement proved in [PT14] for the simple Lie algebras of
classical type also holds for the exceptional types, albeit with a few
explicitly listed exceptions. The results of Sections 3, 4 have also appeared
in the arxiv preprint [Gra13], without giving the details of the computations.

In Section 5 we look at the null cone of the spinor representation of the
group $\mathrm{Spin}_{13}(\mathbb{C})$. The orbits of this group in the null
cone were first listed in [GV78]. A’ Campo and Popov [DK15, Example (f), p.
348] observed, also by computational means, that these orbits coincide with
the strata of the null cone (and they corrected the dimensions given in
[GV78]). Here we show how an algorithm given in [GVY12] can be extended to
this case to obtain the closure ordering of these orbits. We give a simple
implementation in GAP and obtain the closure diagram. Furthermore, we use GAP
to study the stabilizers of the elements of the null cone.

In this paper we will not give a full introduction into working with Lie
algebras in GAP but refer to the reference manual of GAP which can be found on
its website, and to the manuals of the various packages that are listed in the
next section. The website of GAP also has various introductory materials of a
more general nature. The topics that we discuss in this paper all involve
semisimple Lie algebras. For a general introduction to the theory of these
algebras we refer to the book by Humphreys, [Hum78].

We will give all input and output of the GAP sessions. Most commands return
very quickly. If a command takes markedly longer then we display the runtime,
by using the GAP function `time`; this command displays the runtime in
milliseconds, so that a value of, for example, `23345` means 23.3 seconds.

Acknowledgements. I thank Alexander Elashvili for suggesting the topic of
Section 3 and Alexander Premet for suggesting the computations reported on in
Section 4. I thank the anonymous referee for many comments which helped to
improve the exposition of the paper.

##  2\. Preliminaries

GAP4 [GAP21] is an open source computational algebra system. Its mathematical
functionality is contained in a “core system” (which consists of a small
kernel written in C and a library of functions written in the GAP language)
and a rather large number of packages which can be loaded separately. The GAP
library has a number of functions for constructing and working with Lie
algebras and their representations. For an overview we refer to the reference
manual of GAP. Furthermore there are the following packages that deal with
various aspects of Lie theory:

  * •

CoReLG [DFdG20], for working with real semisimple Lie algebras.

  * •

FPLSA [GK19], for dealing with finitely presented Lie algebras.

  * •

LieAlgDB [CdGSGT19], which contains various databases of small dimensional Lie
algebras.

  * •

LiePRing, [VLE18] containing a database and algorithms for Lie $p$-rings.

  * •

LieRing [CdGGT19], for computing with Lie rings.

  * •

NoCK [BJS+19], for the computation of Tolzano’s obstruction for compact
Clifford-Klein forms.

  * •

QuaGroup [dGGT19a], for computations with quantum groups.

  * •

SLA [dGGT19b], for computations with various aspects of semisimple Lie
algebras.

  * •

Sophus [SGT18], for computations in nilpotent Lie algebras.

We also mention the package CHEVIE for dealing with groups of Lie type and
related structures such as Weyl groups and Iwahori-Hecke algebras. This
package is built on GAP3, not GAP4\. We refer to its website
https://webusers.imj-prg.fr/~jean.michel/chevie/chevie.html for more
information.

The projects discussed in this paper mainly use the GAP core system and the
package SLA. In the next two subsections we briefly look at how simple Lie
algebras and their modules are constructed in GAP and how SLA deals with
nilpotent orbits in simple Lie algebras.

###  2.1. Simple Lie algebras in GAP

GAP has a function `SimpleLieAlgebra` for creating the simple split Lie
algebras over fields of characteristic 0. (The semisimple Lie algebras can be
constructed by the function `DirectSumOfAlgebras`.) They are given by a
multiplication table with respect to a Chevalley basis (for the latter concept
we refer to [Hum78, Theorem 25.2]). For the base field we usually take the
rational numbers because often the computations with these algebras are
entirely rational, that is, require no solutions to polynomial equations. The
$i$-th basis element of such a Lie algebra is written as `v.i`. In the next
example we construct the simple Lie algebra of type $E_{8}$, a basis of it and
two of its elements.

    gap> L:= SimpleLieAlgebra( "E", 8, Rationals );
    <Lie algebra of dimension 248 over Rationals>
    gap> b:= Basis(L);; b[123];
    v.123
    gap> b[2]-3*b[5]+1/7*b[100];
    v.2+(-3)*v.5+(1/7)*v.100

Such simple Lie algebras come with a lot of data like a Chevalley basis and a
root system. Again we refer to the reference manual for more details.

There also is a function for constructing the irreducible modules of a
semisimple Lie algebra. Such a module is given by a highest weight, which is a
nonnegative integral linear combination of the fundamental weights. This
linear combination is just given by its coefficient vector. (The order of the
fundamental weights is given by the Cartan matrix of the root system of the
Lie algebra.) The action of an element of the Lie algebra on an element of its
module is computed by the infix caret operator `^`. In the next example we
construct the irreducible 3875-dimensional module of the Lie algebra of type
$E_{8}$. We see that the computation in GAP takes about 174 seconds. We also
compute the action of an element of the Lie algebra on an element of the
module.

    gap> L:= SimpleLieAlgebra( "E", 8, Rationals );;
    gap> V:= HighestWeightModule( L, [1,0,0,0,0,0,0,0] ); time;
    <3875-dimensional left-module over <Lie algebra of dimension 248
    over Rationals>>
    174425
    gap> bL:= Basis(L);; bV:= Basis(V);;
    gap> bL[1]^bV[263];
    -1*y112*v0

(For an explanation of the notation of the basis elements of these modules we
again refer to the reference manual.)

###  2.2. Nilpotent orbits in GAP

Here we recall some definitions and facts on nilpotent orbits. For more
background information we refer to the the book by Collingwood and McGovern
([CM93]). Secondly we show how the package SLA deals with nilpotent orbits.

Let $\mathop{\mathfrak{g}}$ be a semisimple Lie algebra over $\mathbb{C}$ (or
over an algebraically closed field of characteristic 0). Let $G$ denote the
adjoint group of $\mathop{\mathfrak{g}}$; this is the identity component of
the automorphism group of $\mathop{\mathfrak{g}}$. An
$e\in\mathop{\mathfrak{g}}$ is said to be nilpotent if the adjoint map
$\mathrm{\mathop{ad}}e:\mathop{\mathfrak{g}}\to\mathop{\mathfrak{g}}$ is
nilpotent. If $e\in G$ is nilpotent then the entire orbit $Ge$ consists of
nilpotent elements, and is therefore called a nilpotent orbit.

By the Jacobson-Morozov theorem a nilpotent $e\in\mathop{\mathfrak{g}}$ lies
in an $\mathfrak{\mathop{sl}}_{2}$-triple $(f,h,e)$ (where $[e,f]=h$,
$[h,e]=2e$, $[h,f]=-2f$). Let $\mathfrak{h}\subset\mathop{\mathfrak{g}}$ be a
Cartan subalgebra containing $h$. Let $\Phi$ be the root system of
$\mathop{\mathfrak{g}}$ with respect to $\mathfrak{h}$. Then there is a basis
of simple roots $\Delta=\\{\alpha_{1},\ldots,\alpha_{\ell}\\}$ of $\Phi$, such
that $\alpha_{i}(h)\in\\{0,1,2\\}$. The Dynkin diagram of $\Delta$, where the
node corresponding to $\alpha_{i}$ is labeled $\alpha_{i}(h)$, is called a
weighted Dynkin diagram. It uniquely determines the orbit $Ge$.

The nilpotent orbits of the simple Lie algebras have been classified, see
[CM93]. In the SLA package they can be constructed with the command
`NilpotentOrbits`. The output is a list of objects that carry some information
such as the weighted Dynkin diagram of the orbit and an
$\mathfrak{\mathop{sl}}_{2}$-triple containing a representative. Here is an
example for the Lie algebra of type $E_{7}$, where we inspect the weighted
Dynkin diagram and the third element of an $\mathfrak{\mathop{sl}}_{2}$-triple
of the 37-th orbit (that is, a representative of the nilpotent orbit).

    gap> L:= SimpleLieAlgebra("E",7,Rationals);;
    gap> no:= NilpotentOrbits(L);;
    gap> Length(no);
    44
    gap> WeightedDynkinDiagram( no[37] );
    [ 2, 0, 0, 2, 0, 0, 2 ]
    gap> SL2Triple( no[37] )[3];
    v.8+v.11+v.13+v.15+v.22+v.23+v.24

Now we briefly describe the concept of induced nilpotent orbit.

A subalgebra of $\mathop{\mathfrak{g}}$ is said to be parabolic if it contains
a Borel subalgebra (i.e., a maximal solvable subalgebra). Let
$\mathop{\mathfrak{h}}$ be a fixed Cartan subalgebra of
$\mathop{\mathfrak{g}}$. Let $\Phi$ denote the root system of
$\mathop{\mathfrak{g}}$ with respect to $\mathop{\mathfrak{h}}$, and let
$\Delta$ be a fixed set of simple roots. For a root $\alpha$ we denote the
corresponding root space in $\mathop{\mathfrak{g}}$ by
$\mathop{\mathfrak{g}}_{\alpha}$. For a subset $\Pi\subset\Delta$ we define
$\mathop{\mathfrak{p}}_{\Pi}$ to be the subalgebra generated by
$\mathop{\mathfrak{h}}$, $\mathop{\mathfrak{g}}_{-\alpha}$ for $\alpha\in\Pi$
and $\mathop{\mathfrak{g}}_{\alpha}$ for all positive roots $\alpha$. Then
$\mathop{\mathfrak{p}}_{\Pi}$ is a parabolic subalgebra. Furthermore, every
parabolic subalgebra is $G$-conjugate to a subalgebra of the form
$\mathop{\mathfrak{p}}_{\Pi}$.

Let $\mathop{\mathfrak{p}}=\mathop{\mathfrak{p}}_{\Pi}$ for a subset
$\Pi\subset\Delta$. Let $\Psi\subset\Phi$ be the root subsystem that consists
of the roots that are linear combinations of the elements of $\Pi$. Then
$\mathop{\mathfrak{p}}=\mathfrak{l}\oplus\mathfrak{n}$ where $\mathfrak{l}$ is
the subalgebra spanned by $\mathop{\mathfrak{h}}$ and
$\mathop{\mathfrak{g}}_{\alpha}$ for $\alpha\in\Psi$. Secondly, $\mathfrak{n}$
is spanned by $\mathop{\mathfrak{g}}_{\alpha}$ for positive $\alpha$ that do
not lie in $\Psi$. The decomposition
$\mathop{\mathfrak{p}}=\mathfrak{l}\oplus\mathfrak{n}$ is called the Levi
decomposition of $\mathop{\mathfrak{p}}$ and the subalgebra $\mathfrak{l}$ is
called a (standard) Levi subalgebra of $\mathop{\mathfrak{g}}$. We observe
that $\mathfrak{l}$ is a reductive Lie algebra. In the sequel nilpotent orbits
in Levi subalgebras appear. The definitions of their properties are the
obvious analogues of the definitions concerning semisimple Lie algebras.

Now let $\mathfrak{p}\subset\mathop{\mathfrak{g}}$ be a parabolic subalgebra,
with Levi decomposition $\mathfrak{p}=\mathfrak{l}\oplus\mathfrak{n}$. Let
$L\subset G$ be the connected subgroup of $G$ with Lie algebra $\mathfrak{l}$.
Let $Le^{\prime}$ be a nilpotent orbit in $\mathfrak{l}$. Lusztig and
Spaltenstein ([LS79]) have shown that there is a unique nilpotent orbit
$Ge\subset\mathop{\mathfrak{g}}$ such that
$Ge\cap(Le^{\prime}\oplus\mathfrak{n})$ is open and nonempty in
$Le^{\prime}\oplus\mathfrak{n}$. The orbit $Ge$ is said to be induced from the
orbit $Le^{\prime}$. Nilpotent orbits which are not induced are called rigid.

Let $n$ be a non-negative integer. The irreducible components of the locally
closed set

$A^{n}=\\{x\in\mathop{\mathfrak{g}}\mid\dim Gx=n\\}$

are called sheets of $\mathop{\mathfrak{g}}$ (see [Bor82], [BK79]). A sheet is
$G$-stable and contains a unique nilpotent orbit. Sheets in general are not
disjoint, and different sheets may contain the same nilpotent orbit. The
sheets of $\mathop{\mathfrak{g}}$ are indexed by $G$-classes of pairs
$(\mathfrak{l},Le^{\prime})$, where $\mathfrak{l}$ is a Levi subalgebra, and
$Le^{\prime}$ is a rigid nilpotent orbit in $\mathfrak{l}$, see [Bor82]. The
nilpotent orbit that is contained in the corresponding sheet is equal to the
nilpotent orbit induced from $Le^{\prime}$. The rank of the sheet
corresponding to the pair $(\mathfrak{l},Le^{\prime})$ is defined to be the
dimension of the centre of $\mathfrak{l}$.

In the SLA package a sheet is represented by a sheet diagram. We first explain
how this is defined. Consider a parabolic subalgebra
$\mathop{\mathfrak{p}}=\mathop{\mathfrak{p}}_{\Pi}$ with corresponding Levi
subalgebra $\mathfrak{l}$. Let $Le^{\prime}$ be a rigid nilpotent orbit in
$\mathfrak{l}$, then the pair $(\mathfrak{l},Le^{\prime})$ corresponds to a
sheet. Now we label the Dynkin diagram of $\Phi$ in the following way. Write
$\Delta=\\{\alpha_{1},\ldots,\alpha_{\ell}\\}$. If $\alpha_{i}\not\in\Pi$ then
node $i$ has label 2. The subdiagram consisting of the nodes $i$ such that
$\alpha_{i}\in\Pi$ is the Dynkin diagram of the semisimple part of
$\mathfrak{l}$. To these nodes we attach the labels of the weighted Dynkin
diagram of $Le^{\prime}$. It is known that the weighted Dynkin diagram of a
rigid nilpotent orbit only has labels 0,1. So from a sheet diagram we can
identify $\mathfrak{l}$ and $Le^{\prime}$ and hence the corresponding sheet.

The SLA package has a function `InducedNilpotentOrbits` for computing the
induced nilpotent orbits of a simple Lie algebra. This function returns a list
of records that is in bijection with the sheets of the Lie algebra. Each
record has two components: `norbit` which is the nilpotent orbit contained in
the sheet, and `sheetdiag` which is the list of labels of the sheet diagram of
the sheet. Here is an example for the simple Lie algebra of type $E_{7}$.

    gap> L:= SimpleLieAlgebra( "E", 7, Rationals );;
    gap> ind:= InducedNilpotentOrbits( L );;
    gap> Length( ind );
    46
    gap> ind[34];
    rec( norbit := <nilpotent orbit in Lie algebra of type E7>,
      sheetdiag := [ 2, 0, 0, 1, 0, 2, 2 ] )
    gap> WeightedDynkinDiagram( ind[19].norbit );
    [ 0, 0, 0, 2, 0, 0, 2 ]
    gap> WeightedDynkinDiagram( ind[22].norbit );
    [ 0, 0, 0, 2, 0, 0, 2 ]
    gap> WeightedDynkinDiagram( ind[34].norbit );
    [ 0, 0, 0, 2, 0, 0, 2 ]

The numbering of the nodes of the Dynkin diagram of the Lie algebra of type
$E_{7}$ follows [Hum78, §11.4]. Hence the sheet diagram of the 34-th sheet is

$2~{}~{}~{}~{}0~{}~{}~{}~{}\overset{\text{\normalsize
0}}{1}~{}~{}~{}~{}0~{}~{}~{}~{}2~{}~{}~{}~{}2$

We obtain the Dynkin diagram of the corresponding Levi subalgebra
$\mathfrak{l}$ by removing the nodes labeled 2; wee see that its semisimple
part is of type $D_{4}$. The weighted Dynkin diagram of the rigid nilpotent
orbit in $\mathfrak{l}$ has a 1 on the central node and zeros elsewhere. The
rank of the sheet is the dimension of the centre of $\mathfrak{l}$; this is
the number of 2’s in the diagram, and we see that it is 3.

Furthermore we see that sheets 19 and 22 contain the same nilpotent orbit. By
inspection it can be verified that there are no other sheets that contain this
nilpotent orbit. Hence this is a nilpotent orbit lying in three sheets.

##  3\. Reachable elements

For $e\in\mathop{\mathfrak{g}}$ we denote its centralizer in
$\mathop{\mathfrak{g}}$ by $\mathop{\mathfrak{g}}_{e}$. In [Pan04] an $e$ in
$\mathop{\mathfrak{g}}$ is defined to be reachable if
$e\in[\mathop{\mathfrak{g}}_{e},\mathop{\mathfrak{g}}_{e}]$. Such an element
has to be nilpotent. It is obvious that $e$ is reachable if and only if all
elements in its orbit are reachable. Hence if $e$ is reachable then we also
say that its orbit $Ge$ is reachable.

In [EG93], Elashvili and Grélaud listed the reachable orbits in simple complex
Lie algebras $\mathop{\mathfrak{g}}$ (in that paper reachable elements are
called compact, in analogy with [BB92]). For a given semisimple Lie algebra we
can easily obtain this classification in GAP4, using the SLA package. Here is
an example for the simple Lie algebra of type $E_{6}$.

    gap> L:= SimpleLieAlgebra( "E", 6, Rationals );;
    gap> nL:= NilpotentOrbits( L );;
    gap> reach:= [ ];;
    gap> for o in nL do
    > e:= SL2Triple( o )[3]; ge:= LieCentralizer( L, Subalgebra(L,[e]) );
    > if e in LieDerivedSubalgebra( ge ) then Add( reach, o ); fi;
    > od;
    gap> Length( reach );
    6
    gap> WeightedDynkinDiagram( reach[3] );
    [ 0, 0, 0, 1, 0, 0 ]

This simple procedure obtains six reachable nilpotent orbits. For each such
orbit we can look at its weighted Dynkin diagram to identify it in the known
lists of nilpotent orbits as in [CM93, §8.4]. The third element of our list of
reachable orbits corresponds to the orbit with label $3A_{1}$ in the list in
[CM93, §8.4].

Let $e\in\mathop{\mathfrak{g}}$ be nilpotent, lying in the
$\mathfrak{\mathop{sl}}_{2}$-triple $(f,h,e)$. The subalgebra spanned by
$(f,h,e)$ acts on $\mathop{\mathfrak{g}}$ (by restricting the adjoint
representation of $\mathop{\mathfrak{g}}$). By the representation theory of
$\mathfrak{\mathop{sl}}_{2}(\mathbb{C})$ the eigenvalues of
$\mathrm{\mathop{ad}}h$ are integers. Hence we get a grading

$\mathop{\mathfrak{g}}=\bigoplus_{k\in\mathbb{Z}}\mathop{\mathfrak{g}}(k)$

where $\mathop{\mathfrak{g}}(k)=\\{x\in\mathop{\mathfrak{g}}\mid[h,x]=kx\\}$.
Now set
$\mathop{\mathfrak{g}}(k)_{e}=\mathop{\mathfrak{g}}(k)\cap\mathop{\mathfrak{g}}_{e}$,
and let $\mathop{\mathfrak{g}}(\geq 1)_{e}$ denote the subalgebra spanned by
all $\mathop{\mathfrak{g}}(k)_{e}$, $k\geq 1$.

Panyushev ([Pan04]) showed that, for $\mathop{\mathfrak{g}}$ of type $A_{n}$,
$e$ is reachable if and only if $\mathop{\mathfrak{g}}(\geq 1)_{e}$ is
generated as Lie algebra by $\mathop{\mathfrak{g}}(1)_{e}$. Here we call this
the Panyushev property of $\mathop{\mathfrak{g}}$. In [Pan04] it is stated
that this property also holds for the other classical types and the question
is posed whether it holds for the exceptional types. In [Yak10] a proof is
given that the Panyushev property holds in types $B_{n}$, $C_{n}$, $D_{n}$.
Computations in GAP show that it also holds for the exceptional types.

######  Proposition 3.1.

Let $\mathop{\mathfrak{g}}$ be a simple Lie algebra of exceptional type. Then
$\mathop{\mathfrak{g}}$ has the Panyushev property.

###### Proof.

One direction is easily seen to hold in general. Indeed, suppose that if
$\mathop{\mathfrak{g}}(\geq 1)_{e}$ is generated as Lie algebra by
$\mathop{\mathfrak{g}}(1)_{e}$. Since $e\in\mathop{\mathfrak{g}}(2)_{e}$ it
immediately follows that $e$ is reachable.

The converse is shown by case by case computations in GAP. Here we show this
for the Lie algebra of type $E_{6}$. We let reach be the list of reachable
nilpotent orbits, as computed above.

    gap> for o in reach do
    > e:= SL2Triple( o )[3]; ge:= LieCentralizer( L, Subalgebra(L,[e]) );
    > h:= SL2Triple( o )[2]; gr:= SL2Grading( L, h );
    > gegeq1:= Intersection( ge, Subspace( L, Concatenation( gr[1] ) ) );
    > ge1:= Intersection( ge, Subspace( L, gr[1][1] ) );
    > Print( Subalgebra( L, Basis(ge1) ) = gegeq1, " " );
    > od;
    true true true true true true

The identifier gr contains the grading corresponding to the
$\mathfrak{\mathop{sl}}_{2}$-triple. This is a list consisting of three lists.
The first of these has bases of the subspaces
$\mathop{\mathfrak{g}}(1),\mathop{\mathfrak{g}}(2),\ldots$. So
$\mathop{\mathfrak{g}}(\geq 1)_{e}$ is the intersection of
$\mathop{\mathfrak{g}}_{e}$ and the subspace spanned by all elements in the
union of the lists in gr[1]; this space is assigned to the identifier
`gegeq`1\. Secondly, $\mathop{\mathfrak{g}}(1)_{e}$ is the intersection of
$\mathop{\mathfrak{g}}_{e}$ and the subspace spanned by the first element of
gr[1]; this space is assigned to `ge`1\. The penultimate line instructs GAP to
print true if the subalgebra generated by $\mathop{\mathfrak{g}}(1)_{e}$ is
equal to $\mathop{\mathfrak{g}}(\geq 1)_{e}$. ∎

Yakimova ([Yak10]) studied the stronger condition
$\mathop{\mathfrak{g}}_{e}=[\mathop{\mathfrak{g}}_{e},\mathop{\mathfrak{g}}_{e}]$.
In this paper we call elements $e$ satisfying this condition strongly
reachable. She showed that for $\mathop{\mathfrak{g}}$ of classical type, $e$
is strongly reachable if and only if the nilpotent orbit of $e$ is rigid. By
an explicit example this is shown to fail for $\mathop{\mathfrak{g}}$ of
exceptional type. For the exceptional types we can show the following.

######  Proposition 3.2.

Let $\mathop{\mathfrak{g}}$ be a simple Lie algebra of exceptional type. Let
$e\in\mathop{\mathfrak{g}}$ be nilpotent. Then $e$ is strongly reachable if
and only if $e$ is both reachable and rigid.

###### Proof.

If $e$ is strongly reachable then it is reachable, but also rigid by [Yak10],
Proposition 11. As the SLA package has a function for determining the rigid
nilpotent orbits, the converse can easily be shown by direct computation. But
it also follows from Proposition 3.1. Indeed, if $e$ is rigid then
$\mathop{\mathfrak{g}}(0)_{e}$ is semisimple, so
$[\mathop{\mathfrak{g}}(0)_{e},\mathop{\mathfrak{g}}(0)_{e}]=\mathop{\mathfrak{g}}(0)_{e}$.
Furthermore,
$[\mathop{\mathfrak{g}}(0)_{e},\mathop{\mathfrak{g}}(1)_{e}]=\mathop{\mathfrak{g}}(1)_{e}$
by [Yak10, Lemma 8] (where this is shown to hold for all nilpotent $e$). By
the Panyushev property this implies that
$[\mathop{\mathfrak{g}}_{e},\mathop{\mathfrak{g}}_{e}]=\mathop{\mathfrak{g}}_{e}$.
∎

######  Remark 3.3.

We can easily compute the rigid nilpotent orbits that are not strongly
reachable. Here is an example for the Lie algebra of type $E_{8}$.

    gap> L:= SimpleLieAlgebra( "E", 8, Rationals );;
    gap> rig:= RigidNilpotentOrbits( L );;
    gap> exc:= [ ];;
    gap> for o in rig do
    > e:= SL2Triple( o )[3]; ge:= LieCentralizer( L, Subalgebra(L,[e]) );
    > if ge <> LieDerivedSubalgebra(ge) then Add( exc, o ); fi;
    > od;
    gap> Length( exc );
    3
    gap> WeightedDynkinDiagram( exc[1] );
    [ 0, 0, 0, 0, 0, 1, 0, 1 ]

We see that we have obtained three nilpotent orbits that are rigid but not
strongly reachable. Comparing the weighted Dynkin diagram of the first of
those orbits with the tables in [CM93] we see that its Bala-Carter label is
$A_{3}+A_{1}$. Table 1 contains the rigid but not strongly reachable orbits in
the Lie algebras of exceptional type; it is used in the proof of [PS18, Lemma
3.7]. For an explanation of the notation used for the labels we refer to
[CM93, §8.4].

type | $E_{7}$ | $E_{8}$ | $E_{8}$ | $E_{8}$ | $F_{4}$ | $G_{2}$
---|---|---|---|---|---|---
label B | $(A_{3}+A_{1})^{\prime}$ | $A_{3}+A_{1}$ | $D_{5}(a_{1})+A_{2}$ | $A_{5}+A_{1}$ | $\widetilde{A}_{2}+A_{1}$ | $A_{1}$
$(\dim\mathop{\mathfrak{g}}_{e},\dim[\mathop{\mathfrak{g}}_{e},\mathop{\mathfrak{g}}_{e}])$ | (41,40) | (84,83) | (46,45) | (46,45) | (16,15) | (6,5)
Table 1. Rigid but not strongly reachable nilpotent orbits

From the last line we see that in all cases
$[\mathop{\mathfrak{g}}_{e},\mathop{\mathfrak{g}}_{e}]$ is of codimension 1 in
$\mathop{\mathfrak{g}}_{e}$. Taking Proposition 3.2 into account we see that
this implies that $\mathop{\mathfrak{g}}_{e}=\langle
e\rangle\oplus[\mathop{\mathfrak{g}}_{e},\mathop{\mathfrak{g}}_{e}]$. In
[PS18] the $e$ with this property are called almost reachable.

##  4\. The quotients $\mathfrak{c}_{e}$

Let $\mathop{\mathfrak{g}}$ be a simple Lie algebra, and $e$ a representative
of a nilpotent orbit. As before we denote its centralizer by
$\mathop{\mathfrak{g}}_{e}$. In this section we consider the quotient
$\mathfrak{c}_{e}=\mathop{\mathfrak{g}}_{e}/[\mathop{\mathfrak{g}}_{e},\mathop{\mathfrak{g}}_{e}]$.
These have been studied by Premet and Topley [PT14] in relation to finite
$W$-algebras. In [PT14] it is shown that the statement of Proposition 4.1
holds without exceptions for the classical Lie algebras. Proposition 4.1, as
well as the tables of [Gra13, Section 3], are used in [PT14] for showing that
for $\mathop{\mathfrak{g}}$ of exceptional type,
$U(\mathop{\mathfrak{g}},e)^{\mathrm{ab}}$ (the abelianization of a finite
$W$-algebra $U(\mathop{\mathfrak{g}},e)$) is isomorphic to a polynomial ring
(with the same six exceptions as Proposition 4.1).

######  Proposition 4.1.

Let $\mathop{\mathfrak{g}}$ be a simple Lie algebra of exceptional type. Let
$e\in\mathop{\mathfrak{g}}$ be a representative of an induced nilpotent orbit
lying in a unique sheet. Then the rank of that sheet is equal to
$\dim\mathfrak{c}_{e}$, except the cases listed in Table 2.

$\mathop{\mathfrak{g}}$ | label | weighted Dynkin diagram | rank | $\dim\mathfrak{c}_{e}$
---|---|---|---|---
$E_{6}$ | $A_{3}+A_{1}$ | $0~{}~{}~{}~{}1~{}~{}~{}~{}\overset{\text{\normalsize 1}}{0}~{}~{}~{}~{}1~{}~{}~{}~{}0$ | 1 | 2
$E_{7}$ | $D_{6}(a_{2})$ | $0~{}~{}~{}~{}1~{}~{}~{}~{}\overset{\text{\normalsize 1}}{0}~{}~{}~{}~{}1~{}~{}~{}~{}0~{}~{}~{}~{}2$ | 2 | 3
$E_{8}$ | $D_{6}(a_{2})$ | $0~{}~{}~{}~{}1~{}~{}~{}~{}\overset{\text{\normalsize 1}}{0}~{}~{}~{}~{}0~{}~{}~{}~{}0~{}~{}~{}~{}1~{}~{}~{}~{}0$ | 1 | 3
$E_{8}$ | $E_{6}(a_{3})+A_{1}$ | $1~{}~{}~{}~{}0~{}~{}~{}~{}\overset{\text{\normalsize 0}}{0}~{}~{}~{}~{}1~{}~{}~{}~{}0~{}~{}~{}~{}1~{}~{}~{}~{}0$ | 1 | 3
$E_{8}$ | $E_{7}(a_{2})$ | $0~{}~{}~{}~{}1~{}~{}~{}~{}\overset{\text{\normalsize 1}}{0}~{}~{}~{}~{}1~{}~{}~{}~{}0~{}~{}~{}~{}2~{}~{}~{}~{}2$ | 3 | 4
$F_{4}$ | $C_{3}(a_{1})$ | 1 0 1 0 | 1 | 3
Table 2. Table of exceptions to Proposition 4.1.

###### Proof.

The proof is obtained by explicit computations in GAP with the SLA package
loaded. We show the computation for the Lie algebra of type $E_{8}$. First we
compute the list of sheets (as explained in Section 2.2). For each sheet we
compute $\dim\mathfrak{c}_{e}$, where $e$ is a representative of the unique
nilpotent orbit in the sheet. These dimensions are stored in the list `dims`.
Secondly, for each sheet we compute the number of sheets having the same
nilpotent orbit as the given sheet. This number is stored in the list `nr`.

    gap> L:= SimpleLieAlgebra( "E", 8, Rationals );;
    gap> shts:= InducedNilpotentOrbits( L );;
    gap> nr:= [ ];; dims:= [ ];;
    gap> for s in shts do
    > e:= SL2Triple( s.norbit )[3];
    > ge:= LieCentralizer( L, Subalgebra( L, [e] ) );
    > Add( dims, Dimension(ge)-Dimension(LieDerivedSubalgebra(ge)) );
    > Add( nr, Length( Filtered( shts, t -> t.norbit = s.norbit ) ) );
    > od;

For each sheet whose nilpotent orbit lies in no other sheet (that is, the
corresponding element of `nr` is 1) we compute its rank, which is equal to the
number of 2’s in its sheet diagram (see Section 2.2). If the rank is not equal
to $\dim\mathfrak{c}_{e}$ then we store the sheet in the list `exc`. At the
end this list contains the elements of Table 2.

    gap> exc:= [ ];;
    gap> for i in [1..Length(shts)] do
    > if nr[i]=1 then
    > rk:= Length( Filtered( shts[i].sheetdiag, x -> x = 2 ) );
    > if rk <> dims[i] then Add( exc, shts[i] ); fi;
    > fi; od;
    gap> WeightedDynkinDiagram( exc[1].norbit );
    [ 0, 1, 1, 0, 1, 0, 2, 2 ]
    gap> Length( Filtered( exc[1].sheetdiag, x -> x = 2 ) );
    3
    gap> Position( shts, exc[1] );
    8
    gap> dims[8];
    4

So we have obtained the data of the penultimate line of Table 2. ∎

######  Proposition 4.2.

Let $\mathop{\mathfrak{g}}$ be a simple Lie algebra of exceptional type, and
let $e\in\mathop{\mathfrak{g}}$ be a nilpotent orbit that lies in more than
one sheet. Then the maximal rank of such a sheet is strictly smaller than
$\dim\mathfrak{c}_{e}$.

###### Proof.

Also this proposition is proved by direct computation. Again we show the
computation for the simple Lie algebra of type $E_{8}$. We assume that the
first part of the computation explained in the proof of the previous
proposition has been done. In this case, for each sheet such that the
corresponding number in `nr` is greater than one, we first determine all
sheets that have the same nilpotent orbit. This list is assigned to the
identifier `sh`. Then we compute the rank of all sheets in `sh`. If the
maximum of those ranks is not strictly smaller than $\dim\mathfrak{c}_{e}$
(where $e$ is a representative of the nilpotent orbit in the considered sheet)
then we print a `?`; otherwise we print a `!`. Since we only obtain `!`, the
proposition is proved in this case.

    gap> for i in [1..Length(shts)] do
    > if nr[i] > 1 then
    > sh:= Filtered( shts, t -> t.norbit = shts[i].norbit );
    > rks:= List( sh, r -> Length( Filtered( r.sheetdiag, x -> x=2 ) ) );
    > if Maximum( rks ) >= dims[i] then Print("?"); else Print("!"); fi;
    > fi; od;
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

∎

######  Remark 4.3.

Let $e\in\mathop{\mathfrak{g}}$ be nilpotent lying in the
$\mathfrak{\mathop{sl}}_{2}$-triple $(f,h,e)$. The Jacobi identity implies
that the adjoint map
$\mathrm{\mathop{ad}}h:\mathop{\mathfrak{g}}\to\mathop{\mathfrak{g}}$
stabilizes $\mathop{\mathfrak{g}}_{e}$ and
$[\mathop{\mathfrak{g}}_{e},\mathop{\mathfrak{g}}_{e}]$. Hence it induces a
map $\mathrm{\mathop{ad}}h:\mathfrak{c}_{e}\to\mathfrak{c}_{e}$. The
representation theory of $\mathfrak{\mathop{sl}}_{2}(\mathbb{C})$ implies that
$\mathrm{\mathop{ad}}h$ acts with non-negative integral eigenvalues on
$\mathfrak{c}_{e}$. The paper [Gra13] contains tables listing those
eigenvalues for the nilpotent orbits of exceptional simple Lie algebras.

##  5\. Closures of nilpotent orbits of $\mathrm{Spin}_{13}$

Let $G$ be a reductive complex algebraic group and let $V$ be a finite-
dimensional rational $G$-module. Then the invariant ring $\mathbb{C}[V]^{G}$
is finitely generated by homogeneous elements. The null cone $N_{G}(V)$ is
defined to be the zero locus of the homogeneous invariants of positive degree.
The null cone is stable under the action of $G$ but in general consists of an
infinite number of orbits. Hesselink [Hes79] constructed a stratification of
the null cone, by which it is possible to study its geometric properties. In
[VP89, §5.5, 5.6] Popov and Vinberg gave a version of this theory in
characteristic 0 that works with certain elements, called characteristics, in
the Lie algebra of $G$. Popov [Pop03] developed an algorithm to compute these
characteristics.

The $G$-module $V$ is said to be visible (or observable) if the null cone has
a finite number of orbits. Kac [Kac80] classified the visible representations
of reductive algebraic groups. It turns out that irreducible visible
representations of connected simple groups either arise as so-called
$\theta$-groups or as the spinor modules of $\mathrm{Spin}_{11}(\mathbb{C})$
and $\mathrm{Spin}_{13}(\mathbb{C})$. For an algorithm for determining the
closures of the nilpotent orbits of a $\theta$-group we refer to [GVY12]. The
orbits of the spinor module $\mathrm{Spin}_{11}(\mathbb{C})$ have been
determined by Igusa [Igu70]. It is likely that the closures of the nilpotent
orbits can be determined in the same way as is done below.

Kac and Vinberg [GV78] classified the orbits of the group
$\mathrm{Spin}_{13}(\mathbb{C})$ on its 64-dimensional spinor module. It turns
out that the null cone has 13 orbits (excluding 0). A’ Campo and Popov [DK15,
Example (f), p. 348], using their implementation of Popov’s algorithm [DK15,
Appendix C] for computing the characteristics of the strata, observed that
there are also 13 strata in the null cone. This implies that the strata are
orbits. Moreover, their computations gave the dimensions of the orbits in the
null cone, which were not all correctly given in [GV78].

The package SLA also has an implementation of Popov’s algorithm. So we can
recover these observations by a computation using that package. In this
section we give an algorithm, which is similar to an algorithm given in
[GVY12], to determine when the (Zariski-) closure of a stratum contains a
given other stratum. This algorithm works under some hypotheses that are shown
to be satisfied by the spinor module of $\mathrm{Spin}_{13}(\mathbb{C})$. We
discuss a simple implementation of this algorithm in GAP and we obtain the
Hasse diagram of the closures of the orbits in the null cone of the spinor
module of $\mathrm{Spin}_{13}(\mathbb{C})$.

###  5.1. Preliminaries on the strata of the nullcone

Everything we will say here works for reductive groups, but for simplicity we
consider a simple algebraic group $G$ over $\mathbb{C}$. We let
$\mathop{\mathfrak{g}}$ be its Lie algebra and
$(~{},~{}):\mathop{\mathfrak{g}}\times\mathop{\mathfrak{g}}\to\mathbb{C}$ the
Killing form (so
$(x,y)=\mathrm{\mathop{Tr}}((\mathrm{\mathop{ad}}x)(\mathrm{\mathop{ad}}y))$).
We say that a semisimple element $h\in\mathop{\mathfrak{g}}$ is rational if
the eigenvalues of $\mathrm{\mathop{ad}}h$ lie in $\mathbb{Q}$. This is
equivalent to saying that the eigenvalues of $h$ on any
$\mathop{\mathfrak{g}}$-module are rational.

Let $\mathop{\mathfrak{h}}\subset\mathop{\mathfrak{g}}$ be a Cartan
subalgebra. Then by $\mathop{\mathfrak{h}}_{\mathbb{Q}}$ we denote the set of
its rational elements, which is a vector space over $\mathbb{Q}$ of dimension
$\dim_{\mathbb{C}}\mathop{\mathfrak{h}}$. We define the norm of
$h\in\mathop{\mathfrak{h}}_{\mathbb{Q}}$ by $||h||=\sqrt{(h,h)}$.

Now we let $V$ be a rational $G$-module and consider the null cone $N_{G}(V)$.
By the Hilbert-Mumford criterion a $v\in V$ lies in $N_{G}(V)$ if and only if
there is a cocharacter $\chi:\mathbb{C}^{*}\to G$ such that $\lim_{t\to
0}\chi(t)\cdot v=0$ (see [Kra84, Section III.2]). Setting $h=d\chi(1)$ we have
that $h$ is a rational semisimple element and writing $v$ as a sum of
$h$-eigenvectors we get that the corresponding eigenvalues are all positive.

For a rational semisimple $h\in\mathop{\mathfrak{g}}$ and $\tau\in\mathbb{Q}$
we let $V_{\tau}$ be the $\tau$-eigenspace of $h$. Furthermore, we set

$V_{\geq 2}(h)=\bigoplus_{\tau\geq 2}V_{\tau}(h).$

Let $v\in V$. Then a characteristic of $v$ is a shortest rational semisimple
element $h\in\mathop{\mathfrak{g}}$ such that $v\in V_{\geq 2}(h)$. We have
the following facts concerning characteristics (see [VP89, §5.5, 5.6], [Gra17,
§7.4.1, 7.4.2]):

  1. (1)

$v$ has a characteristic if and only if $v\in N_{G}(V)$.

  2. (2)

If $h\in\mathop{\mathfrak{g}}$ is a characteristic of $v\in V$ and $g\in G$
then $\mathop{\mathrm{Ad}}(g)(h)$ is a characteristic of $gv$.

  3. (3)

Let $\mathop{\mathfrak{h}}$ be a fixed Cartan subalgebra of
$\mathop{\mathfrak{g}}$. Then there are a finite number of characteristics
$h_{1},\ldots,h_{s}$ in $\mathop{\mathfrak{h}}$, up to the action of $G$.

  4. (4)

For $1\leq i\leq s$ let $S(h_{i})$ be the set of all $v\in N_{G}(V)$ such that
$v$ has a characteristic that is $G$-conjugate to $h_{i}$. The set $S(h_{i})$
is called the stratum corresponding to $h_{i}$.

  5. (5)

The stratification of $N_{G}(V)$ is $N_{G}(V)=S(h_{1})\cup\cdots\cup S(h_{s})$
(disjoint union).

Popov [Pop03] (see also [Gra17, §7.4.3]) devised an algorithm to compute the
characteristics $h_{1},\ldots,h_{s}$ in $\mathop{\mathfrak{h}}$. The algorithm
also computes the dimensions of the corresponding strata.

###  5.2. Closures of the strata

The topological notions (closed sets, open sets, closure,…) that we use here
are relative to the Zariski topology.

Let $\mathop{\mathfrak{h}}$ be a fixed Cartan subalgebra of
$\mathop{\mathfrak{g}}$. For a rational $h\in\mathop{\mathfrak{h}}$ we let
$Z(h)=\\{g\in G\mid\mathop{\mathrm{Ad}}(g)(h)=h\\}$; then
$\mathop{\mathfrak{z}}(h)=\\{x\in\mathop{\mathfrak{g}}\mid[x,h]=0\\}$ is the
Lie algebra of $Z(h)$. Both $Z(h)$ and $\mathop{\mathfrak{z}}(h)$ stabilize
the spaces $V_{\tau}(h)$ for $\tau\in\mathbb{Q}$.

Let $h_{1},\ldots,h_{s}\in\mathop{\mathfrak{h}}$ be the characteristics of the
strata of the nullcone of $V$.

Here we assume two things:

  1. (1)

Each $V_{2}(h_{i})$ has an open $Z(h_{i})$-orbit.

  2. (2)

The strata coincide with the $G$-orbits in the nullcone.

######  Remark 5.1.

Let $h$ be one of the characteristics. A $v\in V_{2}(h)$ lies in the open
$Z(h)$-orbit if and only if $\mathop{\mathfrak{z}}(h)\cdot v=V_{2}(h)$.

Under these hypotheses we can generalize a few results from [GVY12].

######  Lemma 5.2.

Let $h$ be one of the characteristics. Then the open $Z(h)$-orbit in
$V_{2}(h)$ is equal to $V_{2}(h)\cap S(h)$. Moreover, $h$ is a characteristic
of every element in $V_{2}(h)\cap S(h)$.

###### Proof.

Let $u$ be an element of the open $Z(h)$-orbit in $V_{2}(h)$. From Theorem 5.4
in [VP89] it follows that the set of elements of $V_{2}(h)$ with
characteristic $h$ is open and nonempty. As nonempty open sets intersect,
there is a $g\in Z(h)$ such that $g\cdot u$ has characteristic $h$. But then
the characteristic of $u=g^{-1}\cdot(gu)$ is
$\mathop{\mathrm{Ad}}(g^{-1})(h)=h$. It follows that $h$ is a characteristic
of $u$, and in particular that $u\in S(h)$.

For $\tau\in\mathbb{Q}$ and $w\in V_{2}(h)$ set

${\mathop{\mathfrak{g}}}_{w}=\\{x\in\mathop{\mathfrak{g}}\mid x\cdot
w=0\\},\text{ and
}{\mathop{\mathfrak{g}}}_{\tau,w}=\\{x\in{\mathop{\mathfrak{g}}}_{w}\mid[h,x]=\tau
x\\}.$

Let $v\in V_{2}(h)\cap S(h)$. Since $v$ lies in the closure of $Z(h)u$, we
have that
$\dim\mathop{\mathfrak{g}}_{\tau,v}\geq\dim\mathop{\mathfrak{g}}_{\tau,u}$,
for all $\tau\in\mathbb{Q}$. Because $u,v\in S(h)$ and our assumption that the
strata are $G$-orbits, $v$ and $u$ lie in the same $G$-orbit. Hence
$\dim\mathop{\mathfrak{g}}_{v}=\dim\mathop{\mathfrak{g}}_{u}$. But
$\mathop{\mathfrak{g}}_{v}$ is the direct sum of the various
$\mathop{\mathfrak{g}}_{\tau,v}$, and similarly for
$\mathop{\mathfrak{g}}_{u}$. It follows that
$\dim\mathop{\mathfrak{g}}_{\tau,v}=\dim\mathop{\mathfrak{g}}_{\tau,u}$ for
all $\tau$. But

${\mathop{\mathfrak{g}}}_{0,v}=\\{x\in\mathop{\mathfrak{z}}(h)\mid x\cdot
v=0\\},$

and similarly for $\mathop{\mathfrak{g}}_{0,u}$. This implies that
$\dim\mathop{\mathfrak{z}}(h)v=\dim\mathop{\mathfrak{z}}(h)u$. So also the
orbit $Z(h)v$ is open in $V_{2}(h)$ by Remark 5.1. In particular, $v$ lies in
the open $Z(h)$-orbit in $V_{2}(h)$. ∎

######  Lemma 5.3.

Let $W$ denote the Weyl group of the root system of $\mathop{\mathfrak{g}}$.
Let $h,h^{\prime}$ be two of the characteristics. Then $S(h^{\prime})$ is
contained in the closure of $S(h)$ if and only if there is a $w\in W$ such
that $U=V_{2}(h^{\prime})\cap V_{\geq 2}(wh)$ contains a point of
$S(h^{\prime})$. Furthermore, the intersection of $U$ and $S(h^{\prime})$ is
open in $U$.

###### Proof.

Here we use the fact that $\overline{S(h)}=GV_{\geq 2}(h)$ ([VP89], Theorem
5.6). This immediately implies the “only if” part.

Let $P(h)$ denote the parabolic subgroup with Lie algebra $\oplus_{\tau\geq
0}\mathop{\mathfrak{g}}_{\tau}(h)$. Using the Bruhat decomposition we then
have

$\overline{S(h)}=\bigcup_{w\in W}P(h^{\prime})wP(h)(V_{\geq
2}(h))=\bigcup_{w\in W}P(h^{\prime})w(V_{\geq 2}(h)).$

Suppose that $S(h^{\prime})\subset\overline{S(h)}$. Let $v^{\prime}\in
V_{2}(h^{\prime})\cap S(h^{\prime})$. Then it follows that there are $p\in
P(h^{\prime})$, $w\in W$, $v\in V_{\geq 2}(h)$ with $v^{\prime}=pw\cdot v$, or
$p^{-1}\cdot v^{\prime}=w\cdot v$.

We have that $P(h^{\prime})=Z(h)\ltimes N$, where $N$ is the unipotent
subgroup of $G$ with Lie algebra
$\oplus_{\tau>0}\mathop{\mathfrak{g}}_{\tau}(h)$. So $p^{-1}=zn$ with $z\in
Z(h)$, $n\in N$. As $v^{\prime}\in V_{2}(h^{\prime})$, we see that
$nv^{\prime}=v^{\prime}+v^{\prime\prime}$ with $v^{\prime\prime}\in
V_{>2}(h^{\prime})$. So $p^{-1}\cdot v^{\prime}=zv^{\prime}+zv^{\prime\prime}$
with $zv^{\prime}\in V_{2}(h^{\prime})$, $zv^{\prime\prime}\in
V_{>2}(h^{\prime})$. In particular, $p^{-1}\cdot v^{\prime}\in V_{\geq
2}(h^{\prime})$. But $w\cdot v\in V_{\geq 2}(wh)$. So $p^{-1}\cdot
v^{\prime}\in V_{\geq 2}(h^{\prime})\cap V_{\geq 2}(wh)$. Denote the latter
space by $\widetilde{U}$.

Since $h^{\prime}$ and $wh$ commute, $\widetilde{U}$ is stable under
$h^{\prime}$. So $\widetilde{U}$ is the direct sum of
$h^{\prime}$-eigenspaces. Hence $zv^{\prime}\in\widetilde{U}$. So, in fact,
$zv^{\prime}\in U$, and obviously, $zv^{\prime}\in S(h^{\prime})$.

The last statement follows from [VP89], Theorem 5.4. ∎

These lemmas underpin a direct method for checking whether
$S(h^{\prime})\subset\overline{S(h)}$:

  1. (1)

For all $w\in W$ compute the space $U_{w}=V_{2}(h^{\prime})\cap V_{\geq
2}(wh)$.

  2. (2)

Take a random point $u\in U_{w}$. If
$\dim\mathop{\mathfrak{z}}(h^{\prime})\cdot u=\dim V_{2}(h^{\prime})$, then
conclude that $S(h^{\prime})\subset\overline{S(h)}$.

If in Step 2, the equality does not hold, then it is very likely that $U_{w}$
contains no point of $S(h^{\prime})$. However, we still need to prove it. One
method for that is described in [GVY12, Section 5], based on computing the
generic rank of a matrix with polynomial entries. It also works here. However,
a different approach is also possible: Compute the weights
$\mu_{1},\ldots,\mu_{r}\in\mathop{\mathfrak{h}}^{*}$ of the weight spaces
whose sum is $U_{w}$. By using the form $(~{},~{})$ we obtain an isomorphism
$\nu:\mathop{\mathfrak{h}}\to\mathop{\mathfrak{h}}^{*}$ by $\nu(x)(y)=(x,y)$.
We consider the Euclidean space
$\mathop{\mathfrak{h}}_{\mathbb{R}}=\mathbb{R}\otimes\mathop{\mathfrak{h}}_{\mathbb{Q}}$
with inner product $(~{},~{})$. Let $C$ be the convex hull in
$\mathop{\mathfrak{h}}_{\mathbb{R}}$ of the points
$\hat{h}_{i}=\nu^{-1}(\mu_{i})$. Note that all $\hat{h}_{i}$ lie in the affine
space $H_{2}$ consisting of all $x\in\mathop{\mathfrak{h}}_{\mathbb{R}}$ with
$(h^{\prime},x)=2$. So also $C\subset H_{2}$. Let $\tau\in\mathbb{Q}$ be such
that $(h^{\prime},\tau h^{\prime})=2$, then also $\tau h^{\prime}\in H_{2}$.
Now if $\tau h^{\prime}$ does not lie in $C$ then $U_{w}$ has no point of
$S(h^{\prime})$. This follows from the following fact: let $u\in U_{w}$, and
let $C^{\prime}$ be the convex hull of $\nu^{-1}(\mu)$, where $\mu$ ranges
over the weights involved in an expression of $u$ as sum of weight vectors,
and let $\tilde{h}$ be the point on $C^{\prime}$ closest to 0, and let
$\hat{h}$ be such that $(\tilde{h},\hat{h})=2$, then $\hat{h}$ is a
characteristic of $u$, or $\mathop{\mathfrak{h}}$ does not contain a
characteristic of $u$ (see [VP89, Section 5.5] or [Gra17, Lemma 7.4.16]).

###  5.3. Implementation for $\mathrm{Spin}_{13}$

The Lie algebra of $G=\mathrm{Spin}_{13}(\mathbb{C})$ is the simple Lie
algebra of type $B_{6}$. We can construct this Lie algebra in GAP. The nodes
of the Dynkin diagram of the root system of this Lie algebra are numbered in
the usual way (see, for example, [Hum78, §11.4]). Denoting the corresponding
fundamental weights by $\lambda_{1},\ldots,\lambda_{6}$ we have that the
highest weight of the spinor module is $\lambda_{6}$. The SLA package contains
the function `CharacteristicsOfStrata` which implements Popov’s algorithm. On
input a semisimple Lie algebra and a dominant weight it returns a list of two
lists: the first is the list of characteristics, the second is the list of
dimensions of the corresponding strata. In the next example we compute the
characteristics of the strata of the spinor module of $G$ (which takes about
87 seconds). With `SortParallel` we sort the list of dimensions, and apply the
same permutation to the list of characteristics. We display the list of
dimensions and the first characteristic, which is an element of
$\mathop{\mathfrak{g}}$. Comparing with [DK15, Example (f), p. 348] we see
that we get the same dimensions as A’Campo and Popov.

    gap> L:= SimpleLieAlgebra("B",6,Rationals);;
    gap> st:= CharacteristicsOfStrata( L, [0,0,0,0,0,1] );; time;
    86818
    gap> chars:= st[1];; dims:= st[2];;
    gap> SortParallel( dims, chars );
    gap> dims;
    [ 22, 32, 35, 42, 43, 43, 46, 50, 50, 53, 56, 58, 62 ]
    gap> chars[1];
    (2/3)*v.73+(4/3)*v.74+(2)*v.75+(8/3)*v.76+(10/3)*v.77+(2)*v.78

Above we already argued that the strata are $G$-orbits. In order to be able to
apply the algorithm of the previous section we need to show that for each
characteristic $h$ the space $V_{2}(h)$ has an open $Z(h)$-orbit. For this we
first construct the spinor module $V$ (this is done with the GAP function
HighestWeightModule). If x, v are elements of the Lie algebra L and the module
V respectively, then `x^v` is the result of acting with x on `v`. Since the
basis elements of the module that is output by `HighestWeightModule` are
weight vectors relative to the Cartan subalgebra of `L` that contains the
characteristics, the following function can be used to find a basis of
$V_{2}(h)$:

    V2:= function( V, h )
      return Filtered( Basis(V), v -> h^v = 2*v );
    end;

Let $h$ be a characteristic, say the fifth one. We show that $V_{2}(h)$ has an
open $Z(h)$-orbit:

    gap> V:= HighestWeightModule( L, [0,0,0,0,0,1] );;
    gap> h:= chars[5];;
    gap> v2:= V2( V, h );;
    gap> v:= Sum( v2, x -> Random([-100..100])*x );;
    gap> zh:= LieCentralizer( L, Subalgebra( L, [h] ) );;
    gap> zhv:= Subspace( V, List( Basis(zh), x -> x^v ) );;
    gap> Dimension( zhv ) = Length(v2);
    true

Here we take a random point $v$ of $V_{2}(h)$. We let `zh`, `zhv` be the
centralizer $\mathop{\mathfrak{z}}(h)$ and the space
$\mathop{\mathfrak{z}}(h)\cdot v$ respectively. The last line shows that
$\dim\mathop{\mathfrak{z}}(h)\cdot v=\dim V_{2}(h)$. This implies that the
orbit of $v$ is open in $V_{2}(h)$ (Remark 5.1). We have executed this
procedure for all characteristics, and hence both hypotheses of the previous
section are satisfied.

Now in order to execute the procedure of the previous section we need
functions for computing $V_{\geq 2}(h)$ and $wh$ for $w$ in the Weyl group
$W$. The function for the former is straightforward:

    Vgeq2:= function( V, h )

            local m,i;

            m:= MatrixOfAction( Basis(V), h );
            i:= Filtered( [1..Length(m)], i -> m[i][i] >= 2 );
            return Basis( V ){i};
    end;

That is, we take the matrix of `h` (which is diagonal) and return the list of
basis vectors that correspond to an eigenvalue which is at least 2.

In order to compute $wh$ we consider a Chevalley basis of $L$, [Hum78, Theorem
25.2]. Such a basis consists of elements $x_{\alpha}$ for $\alpha$ in the root
system, and $h_{1},\ldots,h_{\ell}$ that lie in the Cartan subalgebra. We
refer to the cited theorem for the multiplication table with respect to this
basis. For a root $\alpha$ we set $h_{\alpha}=[x_{\alpha},x_{-\alpha}]$. Then
we have $wh_{\alpha}=h_{w\alpha}$. Furthermore, if
$\alpha_{1},\ldots,\alpha_{\ell}$ are the simple roots then
$h_{\alpha_{i}}=h_{i}$.

A simple Lie algebra in GAP, constructed with the function `SimpleLieAlgebra`,
has a stored Chevalley basis. This is a list consisting of three lists. In the
first list we have the $x_{\alpha}$ for $\alpha$ a positive root. In the
second list we have the $x_{\alpha}$ for $\alpha$ a negative root. The third
list has the elements $h_{1},\ldots,h_{\ell}$. The ordering that is used on
the positive roots is height compatible (cf. [Hum78, §10.1]). This means that
the $x_{\alpha_{i}}$ for $1\leq i\leq\ell$ come first. Denote the positive
roots, as ordered by GAP, by $\alpha_{1},\ldots,\alpha_{n}$. For $n+1\leq
i\leq 2n$ set $\alpha_{i}=-\alpha_{i-n}$. The SLA package has a function,
`WeylGroupAsPermGroup`, that gives the Weyl group as a permutation group on
$1,\ldots,2n$. If $w$ is an element of this group then the corresponding
element of the Weyl group acts as $\alpha_{i}\mapsto\alpha_{i^{w}}$. These
considerations yield the following function for computing $wh$, where $w$ is
given as a permutation and $h$ lies in the given Cartan subalgebra. Here the
first two input parameters are the following: `BH` is the basis of the Cartan
subalgebra with basis vectors $h_{1},\ldots,h_{l}$; `hs` is the list
$h_{\alpha_{i}}$ for $1\leq i\leq 2n$.

    wh:= function( BH, hs, w, h )

            local cf, i;

            cf:= Coefficients( BH, h );
            i:= List( [1..Length(cf)], j -> j^w );
            return cf*hs{i};
    end;

With this preparation we can give the implementation of the algorithm
described in Section 5.2. Here we give the simplified probabilistic version,
where we do not prove the non-inclusions. (The complete version is longer as
it includes an implemtation of a function to check membership of a convex
hull. It has been used to prove the correctness of the diagram in Figure 1,
and is available from the author upon request.) We start by defining a number
of global variables that will be accessed by the function. Most of these have
been explained above. The list `eW` contains all elements of the Weyl group.
The function `inc` is a straightforward implementation of the algorithm given
in Section 5.2.

    L:= SimpleLieAlgebra("B",6,Rationals);
    st:= CharacteristicsOfStrata( L, [0,0,0,0,0,1] );
    chars:= st[1];; dims:= st[2];;
    SortParallel( dims, chars );

    V:= HighestWeightModule(L,[0,0,0,0,0,1]);
    R:= RootSystem(L);
    ch:= ChevalleyBasis(L);
    hs:= List( [1..36], i -> ch[1][i]*ch[2][i] );
    hs:= Concatenation( hs, -hs );
    h:= ch[3];
    BH:= Basis( CartanSubalgebra(L), h );
    eW:= Elements( WeylGroupAsPermGroup(R) );

    inc:= function( h1, h2 )

            local v2, zh1, w, vgeq2, U, u;

            v2:= Subspace( V, V2( V, h1 ) );
            zh1:= BasisVectors( Basis( LieCentralizer( L, Subalgebra( L, [h1]))));
            for w in eW do
                vgeq2:= Subspace( V, Vgeq2( V, wh( BH, hs, w, h2 ) ) );
                U:= Intersection( v2, vgeq2 );
                if Dimension(U) > 0 then
                   u:= Sum( Basis(U), x -> Random([-30..30])*x );
                   if Subspace( V, List( zh1, x -> x^u)) = v2 then
                      return true;
                   fi;
                fi;
            od;

            return false;

    end;

We now give a short example of the useage of this function.

    gap> inc( chars[6], chars[9] ); time;
    true
    228
    gap> inc( chars[6], chars[7] ); time;
    false
    3923358

Here we see that the orbit with the sixth characteristic is contained in the
closure of the orbit with the ninth characteristic, but not in the closure of
the orbit with the seventh characteristic. The first computation takes 0.2
seconds whereas the second computation takes 3923.3 seconds. This is explained
by the fact that for the second computation the entire Weyl group is
transversed, which has 46080 elements, whereas the first computation is
decided after considering just one element of the Weyl group.

###  5.4. Closure diagram and stabilizers

By applying the implementation of the previous section we arrive at the Hasse
diagram in Figure 1 that displays the closure relation of the orbits in the
null cone.

Figure 1. Hasse diagram of the closures of the orbits of $\mathrm{Spin}_{13}$
in the null cone

Using Lemma 5.2 it is straightforward to find representatives of the orbits in
the null cone. We illustrate this by an example:

    gap> h:=chars[5];;
    gap> v2:=V2( V, h );;
    gap> zh:= Basis( LieCentralizer( L, Subalgebra(L,[h])) );;
    gap> Length(v2);
    32
    gap> v:= v2[1]+v2[32];;
    gap> Dimension( Subspace( V, List( zh, x -> x^v ) ) );
    32

This computation shows that the constructed element `v` is a representative of
the orbit corresponding to the fifth characteristic. (We have found it by
systematically trying sums of elements of `v2`; here we do not go into that.)

Given an element $v\in V$ we can consider its stabilizer in
$\mathop{\mathfrak{g}}$:

${\mathop{\mathfrak{g}}}_{v}=\\{x\in\mathop{\mathfrak{g}}\mid x\cdot v=0\\},$

which is the Lie algebra of the stabilizer in $G$. The SLA package does not
contain a function for computing this stabilizer, but it is easily written:

    stab:= function( v ) # v in V, we return its stabilizer in L

            local m, sol;

            m:= List( Basis(L), x -> Coefficients( Basis(V), x^v ) );
            sol:= NullspaceMat( m );
            return List( sol, x -> x*Basis(L) );
    end;

We then can use GAP functionality to study the structure of the stabilizer. We
use the function `LeviMalcevDecomposition` which for a Lie algebra `K` returns
a list of two subalgebras. The first of these is semisimple, the second is
solvable and `K` is their semidirect sum. In our example this goes as follows.

    gap> K:= Subalgebra( L, stab(v) );;
    gap> ld:=LeviMalcevDecomposition(K);;
    gap> SemiSimpleType(ld[1]);
    "A4"
    gap> Dimension(ld[2]);
    11

We see that the stabilizer is the semidirect product of a simple Lie algebra
of type $A_{4}$ and an 11-dimensional solvable ideal. By inspecting the basis
elements of this ideal it is easily seen that it is spanned by root vectors
corresponding to positive roots. Hence the ideal is unipotent. We indicate
this by saying that the stabilizer is of type $A_{4}\ltimes U_{11}$. By doing
similar computations for all 13 characteristics we arrive at Table 3.

nr | dim | type of stabilizer
---|---|---
1 | 22 | $A_{5}\ltimes U_{21}$
2 | 32 | $A_{2}+G_{2}\ltimes U_{24}$
3 | 35 | $A_{1}+B_{3}\ltimes U_{19}$
4 | 42 | $B_{2}+T_{1}\ltimes U_{25}$
5 | 43 | $A_{4}\ltimes U_{11}$
6 | 43 | $C_{3}\ltimes U_{14}$
7 | 46 | $B_{2}\ltimes U_{22}$
8 | 50 | $A_{1}+A_{2}\ltimes U_{17}$
9 | 50 | $A_{2}\ltimes U_{20}$
10 | 53 | $A_{1}+A_{1}\ltimes U_{19}$
11 | 56 | $A_{1}+A_{1}\ltimes U_{16}$
12 | 58 | $B_{2}\ltimes U_{10}$
13 | 62 | $A_{1}\ltimes U_{13}$
Table 3. Stabilizers of the orbits in the null cone of the spinor
representation of $\mathrm{Spin}_{13}$

We see that the sum of the dimension in the second column and the dimension of
the stabilizer is always $78=\dim\mathop{\mathfrak{g}}$ (which should be the
case as $\dim\mathop{\mathfrak{g}}_{v}+\dim\mathop{\mathfrak{g}}\cdot
v=\dim\mathop{\mathfrak{g}}=78$).

## References

  * [BB92] Philippe Blanc and Jean-Luc Brylinski, _Cyclic homology and the Selberg principle_ , J. Funct. Anal. 109 (1992), no. 2, 289–330.
  * [BJS+19] M. Boche’nski, P. Jastrzkebski, A. Szczepkowska, A. Tralle, and A. Woike, _NoCK, nock-package for computing obstruction for compact Clifford-Klein forms., Version 1.4_ , https://pjastr.github.io/NoCK, Oct 2019, Refereed GAP package.
  * [BK79] Walter Borho and Hanspeter Kraft, _Über Bahnen und deren Deformationen bei linearen Aktionen reduktiver Gruppen_ , Comment. Math. Helv. 54 (1979), no. 1, 61–104.
  * [Bor82] Walter Borho, _Über Schichten halbeinfacher Lie-Algebren_ , Invent. Math. 65 (1981/82), no. 2, 283–317.
  * [CdGGT19] S. Cical‘o, W. A. de Graaf, and T. GAP Team, _LieRing, computing with finitely presented Lie rings, Version 2.4.1_ , https://gap-packages.github.io/liering/, Feb 2019, Refereed GAP package.
  * [CdGSGT19] S. Cical‘o, W. A. de Graaf, C. Schneider, and T. GAP Team, _LieAlgDB, a database of Lie algebras, Version 2.2.1_ , https://gap-packages.github.io/liealgdb/, Oct 2019, Refereed GAP package.
  * [CM93] David H. Collingwood and William M. McGovern, _Nilpotent orbits in semisimple Lie algebras_ , Van Nostrand Reinhold Mathematics Series, Van Nostrand Reinhold Co., New York, 1993.
  * [DFdG20] H. Dietrich, P. Faccin, and W. de Graaf, _CoReLG, computing with real Lie algebras, Version 1.54_ , https://gap-packages.github.io/corelg/, Jan 2020, Refereed GAP package.
  * [dGGT19a] W. A. de Graaf and T. GAP Team, _QuaGroup, computations with quantum groups, Version 1.8.2_ , https://gap-packages.github.io/quagroup/, Oct 2019, Refereed GAP package.
  * [dGGT19b] by same author, _SLA, computing with simple Lie algebras, Version 1.5.3_ , https://gap-packages.github.io/sla/, Nov 2019, Refereed GAP package.
  * [DK15] Harm Derksen and Gregor Kemper, _Computational invariant theory_ , enlarged ed., Encyclopaedia of Mathematical Sciences, vol. 130, Springer, Heidelberg, 2015, With two appendices by Vladimir L. Popov, and an addendum by Norbert A’Campo and Popov, Invariant Theory and Algebraic Transformation Groups, VIII.
  * [EG93] Alexander G. Elashvili and Gérard Grélaud, _Classification des éléments nilpotents compacts des algèbres de Lie simples_ , C. R. Acad. Sci. Paris, Série I 317 (1993), 445–447.
  * [GAP21] The GAP Group, _GAP – Groups, Algorithms, and Programming, Version 4.11.1_ , 2021.
  * [GK19] V. Gerdt and V. Kornyak, _FPLSA, finitely presented Lie algebras, Version 1.2.4_ , Jan 2019, Refereed GAP package.
  * [Gra13] Willem A. de Graaf, _Computations with nilpotent orbits in SLA_ , `https://arxiv.org/abs/1301.1149`, 2013.
  * [Gra17] by same author, _Computation with linear algebraic groups_ , Monographs and Research Notes in Mathematics, CRC Press, Boca Raton, FL, 2017.
  * [GV78] V. Gatti and E. Viniberghi, _Spinors of $13$-dimensional space_, Adv. in Math. 30 (1978), no. 2, 137–155.
  * [GVY12] W.A. de Graaf, È.B. Vinberg, and O.S. Yakimova, _An effective method to compute closure ordering for nilpotent orbits of $\theta$-representations_, J. Algebra 371 (2012), 38–62.
  * [Hes79] Wim H. Hesselink, _Desingularizations of varieties of nullforms_ , Invent. Math. 55 (1979), no. 2, 141–163.
  * [Hum78] James E. Humphreys, _Introduction to Lie algebras and representation theory_ , Graduate Texts in Mathematics, vol. 9, Springer-Verlag, New York-Berlin, 1978, Second printing, revised.
  * [Igu70] Jun-ichi Igusa, _A classification of spinors up to dimension twelve_ , Amer. J. Math. 92 (1970), 997–1028.
  * [Kac80] V. G. Kac, _Some remarks on nilpotent orbits_ , J. Algebra 64 (1980), 190–213.
  * [Kra84] Hanspeter Kraft, _Geometrische Methoden in der Invariantentheorie_ , Aspects of Mathematics, D1, Friedr. Vieweg & Sohn, Braunschweig, 1984.
  * [LS79] G. Lusztig and N. Spaltenstein, _Induced unipotent classes_ , J. London Math. Soc. (2) 19 (1979), no. 1, 41–52.
  * [Pan04] Dmitri I. Panyushev, _On reachable elements and the boundary of nilpotent orbits in simple Lie algebras_ , Bull. Sci. math. 128 (2004), 859–870.
  * [Pop03] V. L. Popov, _The cone of Hilbert null forms_ , Tr. Mat. Inst. Steklova 241 (2003), no. Teor. Chisel, Algebra i Algebr. Geom., 192–209, English translation in: Proc. Steklov Inst. Math. 241 (2003), no. 1, 177–194.
  * [PS18] Alexander Premet and David I. Stewart, _Rigid orbits and sheets in reductive Lie algebras over fields of prime characteristic_ , J. Inst. Math. Jussieu 17 (2018), no. 3, 583–613.
  * [PT14] Alexander Premet and Lewis Topley, _Derived subalgebras of centralisers and finite $W$-algebras_, Compos. Math. 150 (2014), no. 9, 1485–1548.
  * [SGT18] C. Schneider and T. GAP Team, _Sophus, computing in nilpotent Lie algebras, Version 1.24_ , https://gap-packages.github.io/sophus/, Apr 2018, Refereed GAP package.
  * [VLE18] M. Vaughan-Lee and B. Eick, _LiePRing, database and algorithms for Lie p-rings, Version 1.9.2_ , https://gap-packages.github.io/liepring/, Oct 2018, Refereed GAP package.
  * [VP89] È. B. Vinberg and V. L. Popov, _Invariant theory_ , Algebraic geometry, 4 (Russian), Itogi Nauki i Tekhniki, Akad. Nauk SSSR Vsesoyuz. Inst. Nauchn. i Tekhn. Inform., Moscow, 1989, English translation in: V. L. Popov and È. B. Vinberg, Invariant Theory, in: Algebraic Geometry IV, Encyclopedia of Mathematical Sciences, Vol. 55, Springer-Verlag, Proc. Steklov Inst. Math. 264 (2009), no. 1, 146–158, pp. 137–314.
  * [Yak10] Oksana S. Yakimova, _On the derived algebra of a centraliser_ , Bull. Sci. Math. 134 (2010), 579–587.


# Modeling and Analysis of Analog Non-Volatile Devices for Compute-In-Memory
Applications

Carl Brando, Minseong Park, Sayma Nowshin Chowdhury,
Matthew Chen, Kyusang Lee and Sahil Shah Carl Brando, S. Chowdhury, M Chen and
S. Shah are with the Department of Electrical and Computer Engineering at
University of Maryland, College Park, MD, USA e-mail: (sshah389@umd.edu). M
park and K Lee are with the Department of Electrical and Computer Engineering
at University of Virginia, Charlottesville, VA, USA e-mail:
(kl6ut@virginia.edu).

###### Abstract

This paper introduces a novel simulation tool for analyzing and training
neural network models tailored for compute-in-memory hardware. The tool
leverages physics-based device models to enable the design of neural network
models and their parameters that are more hardware-accurate. The initial study
focused on modeling a CMOS-based floating-gate transistor and memristor device
using measurement data from a fabricated device. Additionally, the tool
incorporates hardware constraints, such as the dynamic range of data
converters, and allows users to specify circuit-level constraints. A case
study using the MNIST dataset and LeNet-5 architecture demonstrates the tool’s
capability to estimate area, power, and accuracy. The results showcase the
potential of the proposed tool to optimize neural network models for compute-
in-memory hardware.

##  I Introduction

Machine learning algorithms are increasingly being used to analyze data
generated by edge devices, such as autonomous robots [1] and remote
sensors[2]. The complexity of these algorithms has led to a growing need to
research and develop unique computing architectures, circuits, and devices.
Specifically, for edge applications with constrained resources, there is a
significant need for developing systems that can enable high energy efficiency
and small area while sustaining the required accuracy.

This need has led to a variety of system architectures that can reduce the
overall power consumption of machine learning accelerators. Specifically,
studies have used software-driven optimizations to reduce the overall model
size [3], leveraged data flow between memory and compute in neural networks to
develop optimal digital architectures [4], and alternative architectures for
performing computation [5]. Compute-in-memory architectures are a promising
direction that has been shown to reduce the overall power consumption of
workloads that are memory bound, which is the case for machine learning
algorithms [6]. Various traditional memory devices such as SRAM [7] and DRAM
[8] as well emerging memory devices such as spintronics [9, 10] and phase-
change memory [11] devices have been shown to be used for compute-in-memory
architectures.

Figure 1: Overview of the simulation platform based on measured non-volatile
devices.

Compute-in-memory architecture can greatly benefit from analog non-volatile
devices. Analog non-volatile devices can provide a greater degree of density
for storing weights with similar precision compared to traditional memory
devices. However, the current implementation of compute-in-memory
architectures that use analog non-volatile devices have a fixed system
architecture and are benchmarked against specific datasets [7]. Further, a
significant number of studies use a separate training framework and then in
turn tune the weights for the analog synapses [12]. However, given the non-
linearity and variations observed in analog non-volatile devices scaling this
framework to a large number of devices is challenging.

This study introduces our preliminary effort in developing a Python-based
simulation framework designed to explore the extensive design space of analog
non-volatile device-based compute-in-memory architectures and evaluate
hardware performance across diverse datasets and neural network models.
Additionally, the framework accurately models analog non-volatile devices by
measuring fabricated devices. Currently, the simulator encompasses two such
devices: Resistive Random Access Memory (ReRAM) [13] and Floating-Gate (FG)
transistors. The FG device was fabricated using a 65nm CMOS process, and the
ReRAM was fabricated by using atomic layer deposition (ALD) and electron-beam
(e-beam) evaporation. This study compares the performance of these two analog
non-volatile devices on MNIST dataset [14] using a standard LeNet-5
architecture [15], offering power, area, and accuracy estimates for each model
and dataset. An overview of the proposed simulator is depicted in Figure 1.

Figure 2: Measurement of the ReRAM device fabricated by using atomic layer
deposition (ALD) and electron-beam (e-beam) evaporation on the left.
Characterization of FG device fabricated in 65nm CMOS process on the right.

##  II Non-volatile Devices

###  II-A Resistive Random Access Memory

Resistive Random Access Memory (ReRAM) is built using memristors or ReRAMs.
ReRAMs are two terminal devices that can have different resistances programmed
across the terminals. The devices can be constructed by sandwiching a metal
oxide between two conducting electrodes, as shown in 2 [13]. The ReRAM used in
this study is fabricated by using atomic layer deposition (ALD) and electron-
beam (e-beam) evaporation. The ReRAM is constructed with a 50/25 nm
Tantalum/Platinum top electrode, 5 nm of HfO2 switching oxide, and 5/30 nm
Titanium/Platinum bottom electrode [13].

Figure 2 shows the current vs. voltage characteristics of our ReRAM. Applying
a positive voltage across the device (set) decreases its resistance. While
applying a negative voltage across the device (reset) will increase its
resistance[13]. These transitions are associated with the distribution of
oxygen vacancies controllable through set (positive) and reset (negative)
pulses. By applying voltages lower than set pulses, the resistance of the
device can be measured without fluctuation. The length of the oxide minus the
length of the filament is called the gap.

The current vs. voltage characteristics of the device is non-linear even when
keeping the resistance state of the ReRAM device constant. In order to model
this device during training and performance measurements we need to model the
ReRAM’s non-linear behavior. For this analysis, we used equation (1) to model
the devices I vs. V characteristics, where $V$ is the voltage across

$I(V)=I_{0}\exp{\bigg{(}-\frac{g}{g_{0}}\bigg{)}}\sinh{\bigg{(}\frac{V}{V_{0}}\bigg{)}}$
(1)

the device, $I$ is the current through the device, $I_{0}$, $g_{0}$, and
$V_{0}$ are calibration parameters obtained from measured data of a physical
device and $g$ represents the gap between the end of the filament and the
opposite electrode[16].

###  II-B Floating-Gate Transistors

Floating-gate transistors (FG) are a type of Field Effect Transistor (FET)
with a floating gate that allows charge to be stored on it, resulting in a
non-linear relationship between input voltage, stored charge, and output
current. Figure 2(b) shows a PMOS-FG transistor designed using the standard
65nm CMOS process, where the input is coupled through a capacitor. Charge can
be modified on the floating gate by hot-electron injection or Fowler-Nordheim
(FN) tunneling [17, 18]. Measured results for hot-electron injection and FN
tunneling are presented in Figure 2(b), showing how the drain current varies
with these methods.

For hot-electron injection, a 4.5 V pulse is applied for 50 $\mu$s, resulting
in an average threshold voltage change of 42.34mV, while a 5.8 V tunneling
voltage is used to remove charges from the floating gate, leading to a
threshold voltage change of 22.06mV. The floating node voltage depends on
$V_{tun}$, $V_{DD}$, and $V_{out}$, and an EKV-derived transistor equation is
used to model these relationships [19, 20], as shown in equations 2 and 3.

$\displaystyle I_{synapse}=$ (2) $\displaystyle
I_{th_{pmos}}(\ln^{2(1+{e^{{(\kappa(V_{DD}-V_{FG}-V_{TP})+\sigma(V_{DD}-V_{d}))}/2U_{T}}})}$
$\displaystyle-\ln^{2(1+{e^{{(\kappa(V_{DD}-V_{FG}-V_{TP})-(V_{DD}-V_{d})}/2U_{T}}})})$
$\displaystyle V_{FG}\propto V_{FG_{0}}+C_{in}\times
V_{in}/C_{T}+C_{gdo}\times V_{d}/C_{T}$ (3) $\displaystyle+C_{gso}\times
V_{s}/C_{T}+C_{tun}\times V_{tun}/C_{T}$

Equation 3 describes the total floating-gate voltage ($V_{FG}$), which is
proportional to the floating gate charge ($Q_{FG}$), input ($V_{in}$), drain
voltage ($V_{d}$), source voltage ($V_{s}$), and tunneling voltage
($V_{tun}$). In this equation, $C_{in}$ represents the input capacitance,
while $C_{T}$ denotes the total capacitance on the floating node, including
input capacitance, tunneling capacitance, oxide capacitance, and overlap
capacitances of source and drain regions. The input and tunneling capacitance
are implemented using Metal Oxide Semiconductor (MOS) caps with dimensions of
$W\times L=3\mu m^{2}$ and $W\times L=0.16\mu m^{2}$, respectively. The study
characterized FG transistors in a 65nm process and performed a fit using
equation 2 to determine these parameters. The Python modeling employs the
values derived from the fit, and Figure 2(b) depicts the difference between
the measured data and the EKV-derived model.

##  III Overall Architecture

Figure 3 shows the non-volatile crossbar array for matrix-vector
multiplication (MVM), consisting of four main elements: digital-to-analog
converters (DACs), non-volatile memory devices (M+/-), differential
transimpedance amplifiers (DTAs), and analog-to-digital converters. The matrix
values are stored in the memory elements, while the input vector is encoded as
voltages by the DACs. Each memory element outputs a current on its
corresponding bit-line based on the voltage on its select-line (produced by
the DAC) and the stored current value. KCL ensures that the currents flowing
into the DTAs are the sum of the bit-line currents. To handle negative matrix
values, each value is represented by a pair of memory elements, with M-
producing a larger current than M+ for negative values. The DTAs subtract the
currents (I+ - I-) and multiply by a fixed gain, resulting in the negative
weights reducing the magnitude of the final voltage (Vo). Finally, the ADC
converts the voltage produced by the DTA back into a digital value.

###  III-A ReRAM Memory Element

Based on equation (1) we can see that the current through the ReRAM device
depends on the state of the device $g$ and the voltage across it $V$. To
utilize the ReRAM in MVM we encode the matrix values as a gap distance ($g$).
The DACs encode the inputs as voltages on the bit-lines while the DTAs hold
the voltage of the select-lines constant so the voltage across the ReRAM ($V$)
is directly controlled by the bit-line voltage. Finally, the resulting current
through the Re-RAMs is collected through the select-lines.

###  III-B Floating Gate Memory Element

Based on equation (2) and (3) we can see that the current through the FG
depends on the floating node voltage $V_{FG_{0}}$ and the input $V_{in}$. To
utilize the FG in MVM we encode the matrix values as floating node voltage
($V_{FG_{0}}$). The DACs encode the inputs as voltages on the bit-lines that
represent $V_{in}$ in equation (2) and (3). The source of the FG is connected
to $V_{DD}$ so $V_{S}=V_{DD}$ and the drain or the FG is connected to the
select-line, which has its voltage held constant by the DTA. This allows
${V_{d}}$ and ${V_{s}}$ to remain constant and the select-line to collect the
current of all the FGs connected to it.

Figure 3:  Overall Architecture for performing inference using the non-volatile memory. The DACs encode the inputs as an analog voltage, the memory elements output a current based on the DAC line voltage and stored value, the DTA outputs the difference in current as a voltage (with a fixed gain), and finally, the ADC converts the voltage back into a digital value as the output. TABLE I: LeNet-5 Training Results Memory | IO | Weight | Peak Layer | Avg Layer | Peak Neuron | Avg Neuron | Overall
---|---|---|---|---|---|---|---
Type | Quantization | Quantization | Power (W) | Power (W) | Current (mA) | Current (mA) | Accuracy (%)
ReRAM |  $8$ bits |  $36$ levels | $1.034$ | $0.24968$ | $0.1$ | $0.08$ | $97$
|  |  |  |  $+0.454$ (DAC/ADC) |  $+0.288$ (DAC/ADC) |  |
FG |  $8$ bits |  $256$ levels | $0.0103$ | $0.0024$ | $0.03$ | $0.0015$ | $97$
|  |  |  |  $+0.485$ (DAC/ADC) |  $+0.288$ (DAC/ADC) |  |

###  III-C DTA and ADCs

ADCs, DACs and DTAs have a limited input and output dynamic range that limits
the possible voltage and current values. There are two places where limits are
imposed on the voltages and currents. One limit is imposed by the maximum
amount of current that the DTA can sink from each of the select lines. The
following equation $I_{DTA}=I_{max}*tanh(I_{sl}/I_{max})$ governs the current
limit that is imposed during training and inference, where $I_{DTA}$ is the
current that the DTA does sink on each bit-line, ${I_{max}}$ is the maximum
current the DTA can sink (defined as a constant), and $I_{sl}$ is the current
that would flow out of the bit-line if the DTA had no limit. The current limit
was set to $0.1$ mA for ReRAMs and $1.0$ mA for FGs. These values were chosen
based on the overall output current with respect to the input voltage of the
devices.

The output voltage of the DTA is also limited by the power supply rails. The
following equation $V_{ADC}=V_{max}*tanh(relu*(G*(I_{+}-I_{-})/V_{max}))$ is
used to model the voltage limit during inference and training, where $V_{ADC}$
is the voltage supplied to the ADC for conversion, $V_{max}$ is the max output
voltage of the DTA which was set to 0.5 V and 0.6 V for ReRAM and FGs, $I_{+}$
is the output from the equation that defines $I_{DTA}$ for the positive
weights, $I_{-}$ is the output from the same equation for the negative
weights, and $G$ is the fixed gain of the DTA. The limit imposed on the output
voltage also serves as the activation function for the CNN. As this MVM
architecture can only support positive input values the $relu$ function is
used to model that.

Figure 4: Current measurements at 0.1 V with ReRAM device programmed at
different states. [13]

##  IV Learning Algorithms

The non-linear behavior of the devices described in the previous section is
embedded as part of the Python simulation infrastructure. Additionally, we use
Stochastic Gradient Descent (SGD) to update the parameters of the convolution
and fully connected layers model. These parameters correspond to a specific
device property and the learning algorithm directly updates them.
Additionally, we impose limits on the voltage and current to simulate
saturation and finite dynamic range of the data converters.

The current through the ReRAM device is modeled using equation 1, where the
gap distance represents the weight stored in the ReRAM device. The weights are
stored as a value from -1 to 1 but get inversely mapped to the minimum and
maximum gap distance before being used in equation 1. The FG device used as a
non-volatile analog device provides an output current that is non-linearly
dependent on input voltage and stored charge as shown in equation 2. The
learning algorithm directly updates the $V_{FG0}$ shown in equation 3.
Additionally, we limit the input voltages between 0.2 to 0.6 volts during
training and inference.

##  V Hardware Constraints and Simulator Results

Table I provides a summary of the results obtained for the two analog non-
volatile devices. To accurately model the quantization observed in the
measured devices, the study performed a quantization on the inputs, weights,
and outputs of each layer, and computed the overall accuracy during testing.
To simulate the dynamic range of digital-to-analog converters (DACs) and
analog-to-digital converters (ADCs), linear quantization was applied to the
layer inputs and outputs. However, the weights programmed into the floating
gates (FGs) were quantized linearly, since they are represented as floating
node voltages. For Resistive Random Access Memories (ReRAMs), a moving average
over a set of resistance states was used to quantize the trained weights from
a measured device, as the distribution of resistance states is not linear.

The power consumption shown in Table I also includes power from an 8-bit ADC
and 8-bit DAC with a dynamic range of 0.2 V to 0.8 V. For this initial study
we simulated the ADC power draw in 130nm (where ReRAM devices are available)
and 65nm CMOS process (where our current FG devices are fabricated). The
average power draw of a single ADC was $9.38\mu W$ in both processes. A
current steering DAC was also simulated using the same technology nodes which
resulted in a power consumption of $400\mu W$. For this analysis, the ADC
power consumption of a layer was calculated to be the ADC power multiplied by
the number of outputs for that layer. For the DAC power consumption of a
layer, the power consumption of a single DAC is multiplied by the number of
inputs for that layer.

The area for a pair of ReRAM devices (with an access transistor) is $8.64\mu
m^{2}$ and the area for a FG device pair is $78.72\mu m^{2}$. For this study
each trainable weight was stored in a single device pair. Each DAC has an area
of $25600\mu m^{2}$ and each ADC has an area of $6681.1\mu m^{2}$.

Further, to obtain the overall power and current dissipation the simulator
enables calculating the average and peak power and current for all neurons in
each layer. The layer power was calculated by summing the currents into each
DTA and multiplying by $V_{DD}$. The inference simulation performed in this
analysis did not account for the rise and fall time for the DACs or
acquisition time for the ADCs. Therefore, the peak power reported is the
maximum power that the layer would dissipate given a set of inputs and
weights. The final power average was calculated by taking the average over all
the averages calculated for each layer, and the final peak power was
calculated by taking the peak power out of each layer’s peak power.

##  VI Discussion

Overall both the ReRAM and FG model was able to be trained to perform
inferences on the MNIST dataset with models that closely match the device
characteristics [14]. Table I shows the trade-offs between the ReRAM and FG
memories. The overall area for the ReRAMs was significantly lower but the
overall power was significantly higher. This is because FGs produce a lower
current given the same input voltage as compared to the ReRAM devices. While
the ReRAM devices are fabricated in the metal layers of the process and only
require one transistor.

With the simulated neuron currents, we can make better-informed decisions on
transistor sizing for the DACs and DTAs. Also by comparing the power from the
tile current with the power from the DACs + ADCs we can make informed decision
on the sizing of tiles [12]. The more inputs a neuron has the more current
will flow through the neuron. The ReRAM neuron currents were higher meaning
that smaller tiles would need to be used to maintain accuracy and reasonable
transistor sizing on models with a larger number of parameters (weights and
biases).

Another factor that can go into tile sizing is the ratio between the power due
to the tile current and the DAC + ADC power. As the tile grows larger the DAC
+ ADC power grows linearly, while the power from tile current grows
quadratically. It is important that the tile size is large enough that the
power overhead from the DACs and ADCs is small compared to the power from the
neuron currents. When optimizing for area a similar relationship applies to
the area of the DACs and ADCs v.s. the area of the memory devices.

In this analysis we sized the tiles such that they match the layers in the
LeNet-5 architecture. Based on the various tile sizes we can see that peak
power layer for the ReRAMs had an DAC + ADC overhead of $0.454W$ which is less
than the average power from the ReRAM’s tile current ($0.25W$). However the
peak power layer overhead for the FGs ($0.485W$) was much larger then the
average power from the FG’s tile current ($0.0024W$). This means that the
sizing for the ReRAM tile is reasonable (for the peak power layer) but could
be made larger for the FGs. The smallest layer in the architecture had a DAC +
ADC overhead of $0.034W$ which was much higher than the tile current power for
that specific layer ($0.003W$ for ReRAMs, and $1.4\mu W$ for the FGs).

## References

  * [1] K. N. McGuire, C. De Wagter, K. Tuyls, H. J. Kappen, and G. C. H. E. de Croon, “Minimal navigation solution for a swarm of tiny flying robots to explore an unknown environment,” _Science Robotics_ , vol. 4, no. 35, p. eaaw9710, Oct. 2019. [Online]. Available: https://robotics.sciencemag.org/lookup/doi/10.1126/scirobotics.aaw9710
  * [2] R. H. Olsson, R. B. Bogoslovov, and C. Gordon, “Event driven persistent sensing: Overcoming the energy and lifetime limitations in unattended wireless sensors,” in _2016 IEEE SENSORS_ , Oct. 2016, pp. 1–3.
  * [3] S. Han, J. Pool, J. Tran, and W. Dally, “Learning both Weights and Connections for Efficient Neural Network,” p. 9.
  * [4] V. Sze, “Designing Hardware for Machine Learning: The Important Role Played by Circuit Designers,” _IEEE Solid-State Circuits Magazine_ , vol. 9, no. 4, pp. 46–54, 2017, number: 4 Conference Name: IEEE Solid-State Circuits Magazine.
  * [5] S. Chowdhury and S. Shah, “Hardware aware modeling of mixed-signal spiking neural network,” _IEEE NEWCAS_ , 2022.
  * [6] A. Ankit, I. E. Hajj, S. R. Chalamalasetti, G. Ndu, M. Foltin, R. S. Williams, P. Faraboschi, W.-m. Hwu, J. P. Strachan, K. Roy, and D. S. Milojicic, “PUMA: A Programmable Ultra-efficient Memristor-based Accelerator for Machine Learning Inference,” _arXiv:1901.10351 [cs]_ , Jan. 2019, arXiv: 1901.10351. [Online]. Available: http://arxiv.org/abs/1901.10351
  * [7] M. Ali, A. Jaiswal, S. Kodge, A. Agrawal, I. Chakraborty, and K. Roy, “IMAC: In-Memory Multi-Bit Multiplication and ACcumulation in 6T SRAM Array,” _IEEE Transactions on Circuits and Systems I: Regular Papers_ , vol. 67, no. 8, pp. 2521–2531, Aug. 2020, conference Name: IEEE Transactions on Circuits and Systems I: Regular Papers.
  * [8] O. Mutlu, S. Ghose, J. Gómez-Luna, and R. Ausavarungnirun, “Processing data where it makes sense: Enabling in-memory computation,” _Microprocessors and Microsystems_ , vol. 67, pp. 28–41, Jun. 2019. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S0141933118302291
  * [9] D. Fan, Z. He, and S. Angizi, “Leveraging spintronic devices for ultra-low power in-memory computing: Logic and neural network,” in _2017 IEEE 60th International Midwest Symposium on Circuits and Systems (MWSCAS)_ , Aug. 2017, pp. 1109–1112, iSSN: 1558-3899.
  * [10] A. Sengupta, A. Banerjee, and K. Roy, “Hybrid Spintronic-CMOS Spiking Neural Network with On-Chip Learning: Devices, Circuits, and Systems,” _Physical Review Applied_ , vol. 6, no. 6, p. 064003, Dec. 2016. [Online]. Available: https://link.aps.org/doi/10.1103/PhysRevApplied.6.064003
  * [11] R. Khaddam-Aljameh, M. Stanisavljevic, J. Fornt Mas, G. Karunaratne, M. Braendli, F. Liu, A. Singh, S. M. Müller, U. Egger, A. Petropoulos, T. Antonakopoulos, K. Brew, S. Choi, I. Ok, F. L. Lie, N. Saulnier, V. Chan, I. Ahsan, V. Narayanan, S. R. Nandakumar, M. Le Gallo, P. A. Francese, A. Sebastian, and E. Eleftheriou, “HERMES Core – A 14nm CMOS and PCM-based In-Memory Compute Core using an array of 300ps/LSB Linearized CCO-based ADCs and local digital processing,” in _2021 Symposium on VLSI Circuits_ , Jun. 2021, pp. 1–2, iSSN: 2158-5636.
  * [12] Q. Wang, X. Wang, S. H. Lee, F.-H. Meng, and W. D. Lu, “A deep neural network accelerator based on tiled rram architecture,” in _2019 IEEE International Electron Devices Meeting (IEDM)_ , 2019, pp. 14.4.1–14.4.4.
  * [13] M. Park, Y. Yuan, Y. Baek, A. H. Jones, N. Lin, D. Lee, H. S. Lee, S. Kim, J. C. Campbell, and K. Lee, “Neuron-Inspired Time-of-Flight Sensing via Spike-Timing-Dependent Plasticity of Artificial Synapses,” _Advanced Intelligent Systems_ , vol. 4, no. 3, p. 2100159, 2022, _eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1002/aisy.202100159. [Online]. Available: https://onlinelibrary.wiley.com/doi/abs/10.1002/aisy.202100159
  * [14] “MNIST handwritten digit database, Yann LeCun, Corinna Cortes and Chris Burges.” [Online]. Available: http://yann.lecun.com/exdb/mnist/
  * [15] Y. Lecun, “Gradient-Based Learning Applied to Document Recognition,” _PROCEEDINGS OF THE IEEE_ , vol. 86, no. 11, 1998.
  * [16] Z. Jiang, Y. Wu, S. Yu, L. Yang, K. Song, Z. Karim, and H.-S. P. Wong, “A compact model for metal–oxide resistive random access memory with experiment verification,” _IEEE Transactions on Electron Devices_ , vol. 63, no. 5, pp. 1884–1892, 2016.
  * [17] S. Kim, S. Shah, and J. Hasler, “Floating-gate FPAA calibration for analog system design and built-in self test.” IEEE, 2017, pp. 1–4.
  * [18] S. Kim, J. Hasler, and S. George, “Integrated Floating-Gate Programming Environment for System-Level ICs,” _IEEE Transactions on Very Large Scale Integration (VLSI) Systems_ , vol. 24, no. 6, pp. 2244–2252, Jun. 2016, conference Name: IEEE Transactions on Very Large Scale Integration (VLSI) Systems.
  * [19] B. A. Minch, C. Diorio, P. Hasler, and C. A. Mead, “Translinear circuits using subthreshold floating-gate MOS transistors,” _Analog Integrated Circuits and Signal Processing_ , vol. 9, no. 2, pp. 167–179, Mar. 1996. [Online]. Available: http://link.springer.com/10.1007/BF00166412
  * [20] S. Shah, H. Toreyin, J. Hasler, and A. Natarajan, “Temperature Sensitivity and Compensation on a Reconfigurable Platform,” _IEEE Transactions on Very Large Scale Integration (VLSI) Systems_ , vol. 26, no. 3, pp. 604–607, 2018, publisher: IEEE.