A program for simplifying summation of Wigner 3-symbols☆,☆☆
Introduction
When solving the Schrödinger equation for an atomic ormolecular system with more than one electron, one has to couple the angular momenta of each individual electrons to form the total angular momentum of the system according to some procedures, where expressions containing products of many Wigner -symbols, summed over various magnetic quantum numbers, may appear [1]. Although these expressions can always be evaluated algebraically, it is desirable to simplify the expressions to more compact forms, where the summation over all or majority of the magnetic quantum numbers disappears. However, the simplification process can be very lengthy and tedious. Yutsis, Levinson, and Vanagas [2] developed powerful graphical techniques to simplify such expressions, which were later modified and expanded by others [3], [4]. In spite of the fact that the graphical method is easier and more effective than the algebraic method, it still requires a lot of work and patience, especially when the expression contains a large number of -symbols [1]. A concrete example of this kind of expression is the general angular momentum recoupling coefficient [5], and several computer programs have been developed for evaluating the recoupling coefficients, such as NJSYM developed by Burke [6], RECOUP developed by Lima [7], NEWGRAPH developed by Fack et al. [8], RACAH developed by Fritzsche et al. [9], and a series of programs developed by G. Gaigalas et al. [10], [11], [12]. However, all these programs mainly focus on the calculations of the recoupling coefficients, which only involve closed diagrams and cannot handle open diagrams without modification.
Different from the programs mentioned above, here we report a program that aims to simplify an arbitrary expression of products of -symbols summed over various magnetic quantum numbers, which works not only for calculating the recoupling coefficients, but also for expressions containing open diagrams. Examples of such cases can be found in high precision atomic and molecular calculations in Hylleraas coordinates [1], [13]. Based on the above-mentioned graphical techniques [2], [3], [4], the algorithm of our program is implemented in Python language, where its package Networkx [14] is used extensively and a friendly graphic input and output interface is developed. The input of our program can be either a recoupling coefficient or an arbitrary expression containing products of the -symbols summed over various magnetic quantum numbers.
The present paper is organized as follows. Section 2 is a brief introduction to Networkx and reviews some basic rules of the graphical techniques. Section 3 describes the algorithm used in the program and optimization strategy. A typical example is given in Section 4. Implementation details are shown in Section 5. Finally, Section 6 is for a discussion.
Section snippets
Networkx
Networkx, a Python package [14], is a powerful tool for processing graphics. We can create a graph by adding nodes (vertices) and pairs of nodes (edges). A node can be any object which is “hashable”. We can add or remove nodes or edges dynamically. Networkx also provides various graph-theoretic functions, including number_of_nodes, degree, density, neighbors, triangles, subgraph, cycle_basis, minimum_cycle_basis, layout, and bfs_predecessors. These functions are particularly useful in graphical
Algorithm of the program
In order to explain the algorithm used in our program Reduce3j, we use the pseudocode in Fig. 4, where represents the original graph to be simplified that is originally constructed by a summation of products of various -symbols. The first step of the algorithm is very important, because only a normal graph could be reduced. To transform a line with an even number of arrows into a line with only one arrow, one can apply Rule d. Since the direction of an arrow in is not important at this
An example
The input of Reduce3j can be either a recoupling coefficient as in Ref. [17] (BRAKET format), or a general expression containing sums of products of the -symbols ( format). The former corresponds to a closed graph, and its input format can be found in Refs. [8], [17]. The latter can represent both open and closed graphs. Here we give an example taken from Eq. (42) in Ref. [1], which is an open graph. This example is derived from the variational calculations of three-electron systems, such
Implementation details
The program is written in Python 3.6.5, and requires Networkx 2.3. For an input file, the program reads its contents and saves them as , , and , respectively, as in Eqs. (7), (8), and (9). For each -symbol in , the corresponding object is created and this -symbol is appended to the list . Then the program counts the number of occurrence of each angular momentum. If an angular momentum appears only one time, the line corresponding to it is a free
Results and discussion
For closed graphs, we tested many examples and compared CB and MCB against CCA-SB in Ref. [18]. The test examples listed in Table 1, Table 2 were taken from Refs. [8], [17], [18], such as
Declaration of Competing Interest
The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.
Acknowledgments
This work was supported by the National Natural Science Foundation of China (Grant No. 11674253 and No. 11774080). ZCY was supported by the NSERC of Canada .
References (20)
- et al.
J. Phys. B: At. Mol. Opt. Phys.
(1997) - et al.
Mathematical Apparatus of the Theory of Angular Momentum
(1962) - et al.
Angular Momentum
(1979) Angular Momentum: Understanding Spatial Aspects in Chemistry and Physics
(1988)Angular Momentum in Quantum Mechanics
(1985)Comput. Phys. Commun.
(1970)Comput. Phys. Commun.
(1991)- et al.
Comput. Phys. Commun.
(1997) - et al.
Comput. Phys. Commun.
(2001) - et al.
Comput. Phys. Commun.
(2001)
Cited by (2)
- ☆
The review of this paper was arranged by Prof. Stephan Fritzsche.
- ☆☆
This paper and its associated computer program are available via the Computer Physics Communication homepage on ScienceDirect (http://www.sciencedirect.com/science/journal/00104655)