*2.1. Shell-Model Hamiltonian Matrix and Its Dimension*

A shell-model Hamiltonian consists of one-body and two-body interactions as

$$H = \sum\_{i} \varepsilon\_{i} c\_{i}^{\dagger} c\_{i} + \sum\_{ijkl} v\_{ijkl} c\_{i}^{\dagger} c\_{j}^{\dagger} c\_{l} c\_{k} \, . \tag{1}$$

where *ci* (*c*† *<sup>i</sup>* ) denote the annihilation (creation) operator of the single-particle state *i*.  *<sup>i</sup>* and *vijkl* are the single-particle energies (SPEs) and the two-body matrix elements (TBMEs), respectively, which are fixed so that rotational and parity symmetries are kept. In a conventional way, the SPEs and TBMEs are determined based on the many-body perturbation theory and are corrected phenomenologically so that the experimental binding energies and excitation energies are reproduced. In the so-called *M*-scheme framework, the shell-model wave function is written as a linear combination of the vast number of the *M*-scheme basis states as

$$|\Psi\rangle\_{\ \ \ \ \ \ \ \alpha = 1} = \sum\_{a=1}^{D} v\_a |M\_a\rangle\_{\ \ \ \ \ \ \ \ \ \alpha = 1} \tag{2}$$

$$|M\_{\mathfrak{A}}\rangle\_{\mathfrak{A}} = \prod\_{i=1}^{A} \mathfrak{c}\_{a\_i}^{\dagger} |-\rangle\_{\mathfrak{A}} \tag{3}$$

where {*αi*} is a set of the single-particle orbits occupied by the active particles. The symbol |− denotes the wave function of the inert core. *D* is the number of the basis states allowed with a specified *z*-component of the angular momentum (*M*) and parity (*π*), and called the "*M*-scheme dimension". The Schrödinger equation is reduced to the eigenvalue problem:

$$\sum\_{\beta=1}^{D} \langle \mathcal{M}\_a | H | \mathcal{M}\_\beta \rangle v\_\beta = E v\_a. \tag{4}$$

Here, *E* denotes an eigenvalue of the Hamiltonian matrix, *Mα*|*H*|*Mβ*.

What a shell-model code does is to solve the eigenvalue problem in Equation (4) and obtain a few numbers of the lowest eigenvalues and their eigenvectors with the Lanczos method. Since the *M*-scheme basis state |*Mα* is not an eigenstate of the total angular momentum, *J*2, the wave function in Equation (2) is generally not an eigenstate of *J*2. However, since the shell-model Hamiltonian is commutable with *J*2, the solution obtained by the Lanczos method automatically becomes an eigenstate of *J*<sup>2</sup> in the case without any degeneracy. On the other hand, a *jj*-coupled basis state with a good *J*<sup>2</sup> eigenvalue can be constructed with additional angular-momentum algebra. Such basis state is called a

"*J*-scheme basis state" and the number of the allowed *J*-scheme basis states is called the "*J*-scheme dimension".

Table 1 shows the shell-model dimensions of several example nuclei with one-majorshell model space. Since the current limitation of the *M*-scheme dimension is around <sup>10</sup><sup>11</sup> ∼ <sup>10</sup>12, nuclei with the *<sup>f</sup>*<sup>5</sup> *pg*<sup>9</sup> model space and nuclei in the smaller mass region are able to be handled. Most open-shell heavy nuclei with the atomic mass number *A* > 100 are still far beyond the current capability. Since the numerical size of a vector with the *M*-scheme dimension *D* is 8*D* Byte for the double precision, the capacity of the disk and memory restricts the capability. The dimensions of the *J*-scheme basis states are also shown in Table 1. It is two orders of magnitude smaller than the corresponding *M*-scheme dimensions. However, the *M*-scheme Hamiltonian matrix is simpler and more sparse than the *J*-scheme Hamiltonian matrix and then the *M*-scheme basis state is used for many numerical computations.

**Table 1.** *M*-scheme and *J*-scheme dimensions of several nuclei. The dimension of the *M<sup>π</sup>* = 0<sup>+</sup> (*J<sup>π</sup>* = 0+) subspace is shown. See text for details.


In order to perform shell-model calculations in medium-heavy nuclei with huge dimensions, various shell-model codes were developed. One of the most famous, popular shellmodel codes is the MSU (Michigan State University) version of the OXBASH code [25,26], which was published in the 1980s. Its algorithm is a hybrid method combining *M*-scheme and *J*-scheme basis states. It is equipped with a dialogue-type user-friendly interfaced and had been most widely used in the nuclear physics community. It was replaced in the 2010s by its successor, NuShellX@MSU [27]. On the other hand, the *M*-scheme ANTOINE code and its cousin, the *J*-scheme NATHAN code were developed by Strasbourg-Madrid shell-model group [28,29]. The ANTOINE code has also been used in various studies. It is equipped with an efficient algorithm based on on-the-fly generation of the coupling of the proton and neutron basis states [1] and heavily relies on the FORTRAN 77 language. The MSHELL and MSHELL64 codes were developed mainly by T. Mizusaki [30,31].

A recent major trend in the high-performance computing environment is massively parallel computation. In order to perform shell-model calculations on modern massively parallel computers efficiently, several shell-model codes have been developed recently, such as the MFDn [32], BIGSTICK [33], and KSHELL [34] codes. Among them, the KSHELL code was developing, which is equipped with MPI (Message Passing Interface)–OpenMP (Open Multi-Processing) hybrid parallel computation and can be used both in a personal computer and state-of-the-art supercomputer in the same manner. It shows good parallel scaling up to around 10<sup>4</sup> threads [34]. The MFDn and BIGSTICK codes are mainly oriented to the no-core shell-model approach by including three-body forces explicitly.
