This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Efficient Tensor Network Algorithms for Spin Foam Models

Seth K. Asante seth.asante@uni-jena.de Theoretisch-Physikalisches Insitüt, Friedrich-Schiller-Universität Jena, Max-Wien Platz 1, 07743, Jena, Germany    Sebastian Steinhaus sebastian.steinhaus@uni-jena.de Theoretisch-Physikalisches Insitüt, Friedrich-Schiller-Universität Jena, Max-Wien Platz 1, 07743, Jena, Germany
Abstract

Numerical computations and methods have become increasingly crucial in the study of spin foam models across various regimes. This paper adds to this field by introducing new algorithms based on tensor network methods for computing amplitudes, focusing on topological SU(2) BF and Lorentzian EPRL spin foam models. By reorganizing the sums and tensors involved, vertex amplitudes are recast as a sequence of matrix contractions. This reorganization significantly reduces computational complexity and memory usage, allowing for scalable and efficient computations of the amplitudes for larger representation labels on standard consumer hardware—previously infeasible due to the computational demands of high-valent tensors.

We apply these tensor network algorithms to analyze the characteristics of various vertex configurations, including Regge and vector geometries for the SU(2) BF theory, demonstrating consistent scaling behavior and differing oscillation patterns. Our benchmarks reveal substantial improvements in computational time and memory allocations, especially for large representation labels. Additionally, these tensor network methods are applicable to generic 2-complexes with multiple vertices, where we introduce partial-coherent vertex amplitudes to streamline the computations. The implementation of these algorithms is available on GitHub for further exploration and use.

coherent amplitude, tensor network, matrix contraction, intertwiner, spins

I Introduction

Recent advances in spin foam models [1, 2, 3] have been driven by the development and application of various numerical techniques [4] tailored for different regimes. These techniques facilitate the computation of spin foam amplitudes, which are crucial for understanding the dynamics of discrete quantum geometries as derived from loop quantum gravity (LQG). The quantum numbers assigned to these quantum geometries are described by unitary irreducible representation labels of the underlying gauge group of the model. In the quantum regime, where these representation labels are small, numerical libraries such as sl2cfoam [5] and its latest version, sl2cfoam-next [6, 7], have been developed to compute amplitudes for the Lorentzian Engle-Pereira-Rovelli-Livine (EPRL) model [8, 9]. These libraries are well optimized for high-performance computing, with significant improvements in the latest version. These numerical tools have been utilized to study various aspects of spin foam models, including exploration of different physical scenarios [10, 11, 12]. Monte Carlo methods have also been used within spin foam models, employing techniques such as deforming integration contour via Lefschetz thimbles [13]. Moreover, different sampling methods over the representation labels [14, 15] have been implemented to enhance convergence of the spin foam amplitudes.

For explorations in the semi-classical or asymptotic regime, numerical methods such as the complex critical points program [16, 17, 18] have been developed to identify semi-classical geometries in the limit of large representations. To bridge the gap between the numerical methods for quantum amplitudes and those for asymptotic regimes, a hybrid algorithm was proposed in [19]. Additionally, numerical methods [20, 21] based on symmetry reductions have been employed to study the renormalization aspects of spin foam models. Effective spin foam models [22, 23, 24], which rely on a quantum superposition of discrete area configurations using area Regge calculus, provide efficient numerical methods to investigate the dynamics of super-imposed discrete-area geometries. There are also well-developed computational tools and techniques [25, 26, 27] for studying the continuum limit of these discrete geometries which are crucial for understanding continuum limit of spin foam dynamics.

One reason for the reliance on recent numerical approaches is the intrinsic difficulty of handling spin foam amplitudes analytically. These amplitudes are typically represented by highly oscillatory functions and involve integrations over numerous variables. Numerical methods manage the oscillatory and complex nature of the transition amplitudes by explicitly utilizing efficient recoupling symbols, such as Clebsch-Gordan coefficients and Wigner {nj}\{nj\}-symbols [28], along with specific algebraic identities. These recoupling symbols simplify the combinatorial structure of spin networks and facilitate the expression of transition amplitudes as sums and products of representation labels and intertwiners. The computations are then efficiently performed through tensor contractions, where recoupling symbols feature in the components of the involved tensors. Spin foam amplitudes evaluated using tensor contractions are more computationally feasible than performing direct sums or the oscillatory integrals. Despite this, these calculations can be computationally expensive, both in terms of memory usage and computation time, with costs escalating as the representation labels become large and the degrees of freedom to sum over increase. The tensors involved in the amplitudes can be of high-valence, adding to the computational resources required for their contractions. For instance, the {15j}\{{15j}\}-symbol which appears in the construction of a spin foam vertex amplitude, is typically computed as a 5-valent tensor and contracted with other tensors. Storing and contracting such {15j}\{{15j}\}-symbols becomes computationally expensive as their representation labels gets larger.

To address these challenges, tensor network methods and techniques can be employed. Tensor networks [29, 30], developed in the context of quantum many-body physics, provide a compact and efficient representation of high-dimensional tensors through the contraction of smaller, low-rank tensors. Tensor network methods enhance the efficiency of tensor contractions and allow for better scalability when dealing with the large-scale computations, by breaking down high-valence tensors into networks of lower-valence tensors. This approach significantly reduces both the computational complexity and the memory requirements, making it feasible to perform computations with less computer resources. This makes them a promising tool to support numerical computations of spin foam models. Previous works [31, 32, 33, 34, 35] on applications of tensor network methods within spin foam models have focused on renormalization and coarse graining aspects. Here, we aim to optimize the evaluation of spin foam amplitudes by employing tensor contractions of smaller, low-valence tensors. By organizing the computation into sequences of smaller tensor contractions, we can significantly enhance both the efficiency and scalability of the calculations. This method allows for more effective handling of the highly complex amplitudes in spin foam models.

In this paper, we present tensor network algorithms for an efficient computation of coherent amplitudes within spin foam models. We provide tensor network algorithms for computing both SU(2) BF spin foam and EPRL spin foam vertex amplitudes. Our methods optimize the computation of a coherent vertex amplitude by reorganizing the sums and products of the recoupling symbols in the definition of the amplitudes, resulting in contractions between matrices which are tensors of low-valence. This optimization not only minimizes memory usage but also accelerates the computational time needed for computing coherent vertex amplitudes. For example, we are now able to compute SU(2) BF equilateral vertex amplitude at a large boundary spin value j=200j=200 in few seconds on a consumer hardware, a task that is impractical using previous methods. We make use of tensor network notations to streamline the discussion and to clearly illustrate how the tensor contractions are performed. The tensor network methods are also applicable to deal with spin foam amplitudes associated with a generic 2-complex having multiple vertices. A direct implementation of the tensor network algorithm for the SU(2) BF model is made available on the GitHub repository [36].

The rest of the paper is organized as follows: Section II provides an overview of the spin foam models, providing notations and conventions which are used through out this paper. In Section III, we review how spin foam amplitudes are computed as sums of contractions between tensors constructed from recoupling symbols. Section IV details the tensor network methods, including the organization of the {6j}\{{6j}\}-symbols and coherent vectors to construct ‘coherent {6j}\{{6j}\}-intertwiner matrices’. We provide tensor network algorithms utilizing the contraction of matrices to compute vertex amplitudes. Section V presents numerical results and benchmarks demonstrating the efficiency and accuracy of our algorithm applied to various vertex amplitudes. Examples of the vertex configurations used for the results and benchmarks are described in Appendices A and B. In Section VI, we discuss ideas for applying tensor network methods to compute spin foam amplitudes for generic 2-complexes with bulk vertices. Lastly, Section VII concludes with a summary and directions for future research.

II Spin Foam Amplitudes: Notation and Conventions

Spin foam models are discrete path integrals or state-sum models for ‘quantum geometries’ regularized on a 2-dimensional cell (2-complex) Δ\Delta^{\!*} commonly chosen to be dual to a triangulation Δ\Delta of a spacetime manifold. These models are defined by assigning local amplitudes to the building blocks of the discretized 2-complex. The components of a 2-complex are summarized in Table 1. Its boundary components are made up of links and nodes describing a spin-network graph. The local amplitudes assigned to the 2-complex are constructed from the representation theory of the underlying gauge group 𝒢\cal G of the spin foam model. In this article, we shall focus on the four dimensional BF spin foam model based on SU(2) gauge group, and the Engle-Pereira-Rovelli-Livine-Freidel-Krasnov (EPRL-FK) model based on SL(2,)\rm SL(2,\mathbb{C}) gauge group. The SU(2) BF model is a topological state-sum model based on a quantization of 4D BF topological action. Refer to [37, 38, 39] for more details on the relation between BF theory and spin foam models.

2-complex (Δ\Delta^{\!*})   Internal   Boundary Triangulation (Δ\Delta)
vertex vv vv - 4-simplex σ\sigma
edge ee ei{e}_{i} node nn tetrahedron τ\tau
face ff fif_{i} link \ell triangle tt
Table 1: Components of a 2-complex Δ\Delta^{\!*} dual to a 4D triangulation Δ\Delta

Spin foam models for quantum gravity, such as the Barrett-Crane [40, 41, 42] and EPRL-FK models [8, 9, 39], are closely related to BF state-sum models. These models are constructed as constrained versions of the BF models. The quantum geometry data, described by group representation theory labels, are assigned to the spin-network boundary graph. Loop quantum gravity (LQG), a canonical framework for quantum gravity, provides well-defined mathematical structures for the construction of spin networks associated with 3D boundary graphs [43, 44]. Thus, spin foam amplitudes of state-sum models, are considered transition amplitudes for LQG boundary states. In the following section, we shall focus on the SU(2) BF spin foam model to introduce the notations and conventions for defining spin foam amplitudes.

II.1 SU(2) BF State-Sum Model

The spin foam model for the SU(2) BF theory is defined by decorating a discretized manifold or its dual 2-complex Δ\Delta^{\!*} with functions constructed from SU(2) representation theory. Each face ff of the 2-complex is assigned a spin jfj_{f} labeling a SU(2) unitary irreducible representation DjfD^{j_{f}}, while each edge ee is assigned an intertwiner iei_{e}—an invariant map between tensor products of spin representations. The combinatorial structure of a 2-complex Δ\Delta^{\!*}, which is dual to a four dimensional triangulation Δ\Delta is such that each edge constitutes four faces, while each vertex is comprised of five edges and ten faces. Each vertex is dual to a 4-simplex, with its edges dual to tetrahedra and its faces are dual to triangles.

The amplitude associated with a 2-complex Δ\Delta^{\!*} is obtained by summing over all possible assignments of bulk spin representation labels and intertwiner labels of products of local amplitudes. The amplitudes generally take the form

AΔ({j},{in})={jfi}{iei}fAf(jf)eAe(ie)vAv(jf,ie)A_{\Delta}(\{j_{\ell}\},\{\scalebox{1.25}{{\hbox{i}}}_{n}\})=\sum_{\{j_{f_{i}}\}}\sum_{\{i_{e_{i}}\}}\,\prod_{f}A_{f}(j_{f})\,\prod_{e}A_{e}(i_{e})\,\prod_{v}A_{v}(j_{f},i_{e}) (1)

where Af(jf)=2jf+1A_{f}(j_{f})=2j_{f}+1 represents the face amplitude [45] and Ae(ie)A_{e}(i_{e}) representing the edge amplitude is chosen to be dimension of the intertwiner or inverse of the norm of the intertwiner [3]. In SU(2) BF model, the vertex amplitude AvA_{v} is given by the {15j}\{{15j}\}-symbol (of the first kind) [46, 40], defined in terms of Wigner {6j}\{{6j}\}-symbols (wigner6j) as follows:

{15j}(jab;ie)\displaystyle\{{15j}\}(j_{ab};{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{e}}) =\displaystyle= [Uncaptioned image]={i1j13i3j35i5j12j23j34j45j15j25i2j24i4j14}\displaystyle\includegraphics[valign={c},scale={0.95}]{symbol15j.pdf}=\begin{Bmatrix}\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{1}&j_{13}&\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{3}&j_{35}&\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{5}\\ j_{12}&j_{23}&j_{34}&j_{45}&j_{15}\\ j_{25}&\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{2}&j_{24}&\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{4}&j_{14}\end{Bmatrix} (2)
=\displaystyle= (1)mim+n<mjmnx(2x+1){i1j25xi2j13j12}{i2j13xi3j24j23}{i3j24xi4j35j34}×\displaystyle(-1)^{\sum_{m}{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{m}}+\sum_{n<m}j_{mn}}\sum_{x}(2x+1)\,\begin{Bmatrix}\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{1}&j_{25}&x\\ \color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{2}&j_{13}&j_{12}\end{Bmatrix}\begin{Bmatrix}\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{2}&j_{13}&x\\ \color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{3}&j_{24}&j_{23}\end{Bmatrix}\begin{Bmatrix}\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{3}&j_{24}&x\\ \color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{4}&j_{35}&j_{34}\end{Bmatrix}\times\quad
×{i4j35xi5j14j45}{i5j14xi1j25j15}\displaystyle\quad\quad\quad\quad\quad\quad\quad\quad\times\begin{Bmatrix}\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{4}&j_{35}&x\\ \color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{5}&j_{14}&j_{45}\end{Bmatrix}\begin{Bmatrix}\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{5}&j_{14}&x\\ \color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{1}&j_{25}&j_{15}\end{Bmatrix}

where the summation variable xx, referred to as the virtual spin, ranges from max(|i1j25|,|i2j13|,|i3j24|,|i4j24|,|i5j24|)\max(|i_{1}-j_{25}|,|i_{2}-j_{13}|,|i_{3}-j_{24}|,|i_{4}-j_{24}|,|i_{5}-j_{24}|) to min(i1+j25,i2+j13,i3+j24,i4+j35,i5+j14)\min(i_{1}+j_{25},i_{2}+j_{13},i_{3}+j_{24},i_{4}+j_{35},i_{5}+j_{14}). We have followed the conventions and orientations used in [47] for the definition of the {15j}\{{15j}\}-symbol of the first kind in Equation (2). The intertwiners111The intertwiner labels are highlighted in red color in Equation (2). assigned to the edges are denoted by iai_{a}, and the spins jabj_{ab} are associated with the faces dual to the triangles.

The spin foam amplitudes (1) can be represented in a coherent basis by introducing coherent states for the boundary links [48, 39]. Each intertwiner of a boundary node is represented in the coherent state basis by group averaging the tensor product of the four coherent states associated with the node. A coherent state associated with a boundary link is characterized by a spin jabj_{ab} and a unit normal vector 𝐧abS2{\bf n}_{ab}\in S^{2} on the 2-sphere. Considering a single vertex vv with five boundary edges, the vertex amplitude in the coherent basis is given by the integral expression

Av(j,𝐧)=(1)χSU(2)(a=14dGa)1a<b5jab,𝐧ba𝒥|GaGb|jab,𝐧baA_{v}(j,{\bf n})=(-1)^{\chi}\int_{\rm SU(2)}\left(\prod_{a=1}^{4}{\rm d}G_{a}\right)\,\prod_{1\leq a<b\leq 5}\langle j_{ab},{\bf n}_{ba}\triangleleft{\cal J}\,|\,G_{a}^{\dagger}\,G_{b}\,|\,j_{ab},{\bf n}_{ba}\rangle (3)

where GaG_{a} is a SU(2) group element in the fundamental representation, 𝒥:22{\color[rgb]{0,0,1}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,1}\cal J}:\mathbb{C}^{2}\rightarrow\mathbb{C}^{2} is an anti-linear map defined by (z0,z1)(z¯1,z¯0)(z_{0},z_{1})\mapsto(-\bar{z}_{1},\bar{z}_{0}), inducing a real structure on S2S^{2}, and ,\langle\,,\rangle denote the invariant inner product on the spin jabj_{ab} representation. One of the group integrals associated with the five edges in the definition of the coherent vertex amplitude (3) is redundant and is therefore gauge fixed to identity. The sign factor (1)χ(-1)^{\chi} is determined by the graphical calculus and orientations relating the spin network diagram.

The coherent states can also be introduced for every bulk face to enable a full coherent representation of the spin foam amplitude. In the integral representation of the amplitude (1), each vertex amplitude is given by the expression (3) through an insertion of a resolution of identity of each bulk spin jj in terms of coherent states, given by

𝟙j=(2j+1)SU(2)/U(1)d𝐧|j,𝐧j,𝐧|,\mathds{1}_{j}=(2j+1)\int_{\rm SU(2)/U(1)}{\rm d}{\bf n}\,\,|j,{\bf n}\rangle\langle j,{\bf n}|\,\,, (4)

As a result, the spin foam amplitude for a generic 2-complex is expressed as products of coherent vertex amplitudes (3). This procedure, however, introduces numerous integration variables for the normal vectors associated with the bulk spins in addition to the group integrals. The high dimensionality of the integration variables involved makes explicit evaluation of the coherent spin foam amplitudes challenging. Even for the a single vertex, where all edges are boundary (hence no integration of the normal vectors), there are a total of 1212 integration variables for the four SU(2) group integrations. The high dimensionality, combined with the highly oscillatory nature of the integrand, renders explicit numerical integrations inefficient due to slow convergence. Conversely, the integral representation is suitable for a stationary phase approximation.

Typically, the group integrals (3) can be performed analytically. Through the Peter–Weyl theorem, functions of SU(2) can be decomposed into linear combinations of functions of the spin network basis labeled by spins and intertwiners [43]. This decomposition generally allows the group integrations to be performed, resulting in sums of intertwiner variables222The group integrations associated with the bulk edges are replaced by sums over bulk intertwiner variables in the spin network representation., as already expressed in the amplitude (1). The coherent vertex amplitude in the spin network basis, therefore, results in a sum over intertwiner labels given by

Av(j,𝐧)=(1)χi1,,i5{15j}(j12,,j45;i1,,i5)e=15diecie(j,𝐧)\displaystyle A_{v}(j,{\bf n})=(-1)^{\chi}\sum_{i_{1},\cdots,i_{5}}\,\,\{{15j}\}(j_{12},\ldots,j_{45};i_{1},\ldots,i_{5})\prod_{e=1}^{5}d_{i_{e}}{\scalebox{1.3}{\bf c}}_{i_{e}}(j,{\bf n}) (5)

where di:=2i+1{\color[rgb]{0,0,1}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,1}d_{i}}:=2i+1 is the dimension factor of the intertwiner label ii. The coherent {4j}\{{4j}\}-symbol333A graphical notation of the coherent-{4j}\{{4j}\} symbol (see reference [49]) comes with an orientation for each spin. Flipping an orientation of spin introduces a phase factor for the spin. The anti-linear map 𝒥\cal J acting on the normal vectors in the definition of the coherent vertex amplitude (3) leads to the choice of the orientation of the {15j}\{{15j}\}-symbol and coherent-{4j}\{{4j}\} symbols employed in Equation (5). cie\color[rgb]{0,0,1}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,1}{\scalebox{1.3}{\bf c}}_{i_{e}} associated with the boundary edge ee is explicitly given in terms of the Wigner {3j}\{\rm 3j\}-symbols (wigner3j) by

c𝒊(j,𝐧)=m1,,m4(1)𝒊+m1+m2(j1j2𝒊m1m2m1m2)(𝒊j3j4m1+m2m3m4)k=14Djk,mkjk(𝐧k).\displaystyle{\scalebox{1.3}{\bf c}}_{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}\bm{i}}(j,{\bf n})=\sum_{m_{1},\cdots,m_{4}}(-1)^{{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}\bm{i}}+m_{1}+m_{2}}\begin{pmatrix}j_{1}&j_{2}&\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}\bm{i}\\ m_{1}&m_{2}&-m_{1}-m_{2}\end{pmatrix}\begin{pmatrix}\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}\bm{i}&j_{3}&j_{4}\\ m_{1}+m_{2}&m_{3}&m_{4}\end{pmatrix}\prod_{k=1}^{4}D^{j_{k}}_{j_{k},m_{k}}({\bf n}_{k}). (6)

Here, Dj,mj(𝐧)=j,m|𝐧|j,jD^{j}_{j,m}({\bf n})=\langle j,m|{\bf n}|j,j\rangle are the coefficients of the Wigner-DD matrix (wignerDjm) in the highest weight spin basis for the SU(2) group element representation of the normal vector 𝐧\bf n. The computation of the coherent symbols (6) has been optimized in our current implementation, as available on the GitHub repository [36]. This implementation shows significant improvements over previous methods employed in [19]. The optimization is achieved by caching the wignerDjm functions since they are independent of the intertwiner index ii in Equation (6). This approach allows for an efficient storage, and scalability of these coherent vectors.

In summary, using coherent states as boundary data gives the coherent representation of the SU(2) BF spin foam amplitude for a 2-complex expressed in the intertwiner basis as

AΔ({j},{𝐧})=(1)χ{jfi}{ie}fdjfediev{15j}(jf,ie)ncin(j,𝐧),A_{\Delta}(\{j_{\ell}\},\{{\bf n}_{\ell}\})=(-1)^{\chi}\sum_{\{j_{f_{i}}\}}\sum_{\{i_{e}\}}\,\prod_{f}\,d_{j_{f}}\prod_{e}\,\,d_{i_{e}}\,\prod_{v}\{{15j}\}(j_{f},i_{e})\prod_{{n}}{\scalebox{1.3}{\bf c}}_{i_{n}}(j,{\bf n}), (7)

where nn represent the boundary edges (nodes) and χ\chi depends only on the boundary spin representation labels.

III Spin Foam Amplitudes as Tensor Network Contractions

In both the spin-network basis and the coherent representation of the spin foam amplitudes, each vertex amplitude is given by the {15j}\{{15j}\}-symbol, which is a function of ten spin labels jfj_{f} associated with its faces and five intertwiner labels iei_{e} associated with its edges. By treating the spin representation labels as parameters, each {15j}\{{15j}\}-symbol represent a 5-valent tensor (referred to as {15j}\{{15j}\}-tensor for short) with the five intertwiners as its indices. The {15j}\{{15j}\}-tensor is depicted as:

{15j}i1i2i3i4i5(Jab)[Uncaptioned image]i_1i_2.i_3i_4i_5\{{15j}\}^{({J}_{ab})}_{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{1}i_{2}i_{3}i_{4}i_{5}}\equiv\begin{picture}(22.0,25.0)\put(14.0,2.0){\includegraphics[scale={0.38},valign={c}]{fifjtensor} } \put(30.0,28.0){{\hbox{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_1}}} \put(57.0,1.0){{\hbox{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_2}} \quad.} \put(47.0,-19.0){{\hbox{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_3}}} \put(15.0,-19.0){{\hbox{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_4}}} \put(2.0,1.0){{\hbox{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_5}}} \end{picture}\vspace{10pt}\quad\quad\vspace{0.6em} (8)

All associated spins are summarized into the parameter Jab\color[rgb]{0,0,1}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,1}J_{ab}. The sum over the bulk and boundary intertwiners in the coherent amplitude (7) results in a contraction between the vertex amplitudes and products of the dimension factors and coherent boundary intertwiners. For a generic 2-complex, the dimension and phase factors can always be absorbed in either the vertex amplitudes or the boundary coherent {4j}\{{4j}\}-symbols. Consequently, each bulk intertwiner label is contracted between a pair of vertex amplitudes, while each boundary intertwiner is contracted between a vertex amplitude and a coherent {4j}\{{4j}\}-symbol.

The product of the dimension factor did_{i} and the coherent {4j}\{{4j}\}-symbol associated with each boundary edge/node in the amplitude (5) can be represented as a 1-valent tensor (or a vector) indexed by an intertwiner label, and depicted as

di1ci1(j,𝐧1)[Uncaptioned image]i1.d_{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{1}}\scalebox{1.3}{\bf c}_{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{1}}(j,{\bf n}_{1})\equiv\,\includegraphics[scale={0.4},valign={c}]{coh4j}\,{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{1}}. (9)

This combination is referred to as the coherent {4j}\{{4j}\}-vector. Again, all the spin labels and unit normal vectors associated with the coherent-{4j}\{{4j}\} vector are treated as parameters. Thus, the sum over the intertwiner labels in the SU(2) coherent vertex amplitude (5) gives a contraction of the {15j}\{{15j}\}-tensor (8) with five boundary coherent {4j}\{{4j}\}-vectors (9), represented by the tensor network notation,

Av(j,𝐧)[Uncaptioned image].A_{v}(j,{\bf n})\equiv\,\,\includegraphics[scale={0.32},valign={c}]{coh_vertex}\quad. (10)

For a generic 2-complex composed of multiple vertices, the contraction of the intertwiners among vertex amplitudes and boundary coherent intertwiners can be diagrammatically represented by following the connectivity of the components of the corresponding 2-complex. Figure 1 illustrates examples of tensor network diagrams444 Details of the explicit terms or tensors involved in the contractions of the bulk intertwiners are omitted in the tensor diagrams of the 2-complexes represented in Figure 1. of coherent amplitudes for 2-complexes with multiple vertices. The vertex amplitudes are represented by the grey circles, while the coherent boundary edges are represented by the lines with small black circles at their tips. Each vertex is 5-valent in the intertwiner indices and is dual to a 4-simplex triangulation.

Refer to caption
Refer to caption
Refer to caption
Figure 1: Tensor network diagrams for the contractions of intertwiners in coherent amplitudes for various 2-complexes. From left to right: The 2-complexes are dual to the T3T3 triangulation, T4T4 triangulation and T5T5 triangulation in the 3-3, 4-2 and 5-1 Pachner move configurations [50] respectively. The T3T3 triangulation is often referred to as the Delta-3 (Δ3\Delta_{3}) triangulation.

III.1 Spin Foam Numerical Computations: Existing Packages and Libraries

Numerical computations of spin foam models primarily focus on evaluating the coherent amplitudes, such as those represented by Equation (7) in the spin-network representation. These amplitudes are expressed as sums over bulk spins and intertwiner labels. To compute the coherent amplitudes, coherent boundary data are assigned to the faces associated with each boundary edge of the 2-complex. The state-of-the-art libraries sl2cfoam [5] and its improved version sl2cfoam-next [6] are designed to perform explicit computations for Lorentzian EPRL coherent amplitudes. These libraries can also be used compute SU(2) BF coherent amplitudes. Furthermore, work in [19] utilized a numerical code in the Julia programming language to compute SU(2) BF coherent vertex amplitudes. The Lorentzian EPRL and SU(2) BF models are closely related; the boundary data in both spin foam models are given by SU(2) coherent states. Additionally, the EPRL vertex amplitudes can be expressed as an infinite, but convergent, summation over the SU(2) {15j}\{{15j}\}-symbols for auxiliary labels.

Various well-optimized libraries across different programming languages facilitate efficient computations of SU(2) invariants, such as Clebsch-Gordan coefficients, Wigner {3j}\{{3j}\}-symbols, and {6j}\{{6j}\}-symbols. For example, sl2cfoam and sl2cfoam-next make use of WIGXJPF and FASTWIGXJ packages within the C programming language. Similarly, the Julia programming language offers efficient packages like WignerSymbols.jl for computing SU(2) invariants, including wigner3j and wigner6j functions. These packages enable efficient computation of the {15j}\{{15j}\}-symbol (2), expressed as a sum of products of {6j}\{{6j}\}-symbols. Currently, in existing numerical implementations, each vertex amplitude represented by the {15j}\{{15j}\}-symbol of the first kind is computed as a 5-valent tensor in its intertwiner indices, as depicted in (8). The sum over the intertwiner indices is then performed as tensor contractions between the vertex amplitudes and the coherent vectors associated with the components of a fixed 2-complex.

However, a significant drawback of computing the {15j}\{{15j}\}-symbol as a tensor lies in the sheer computational complexity involved. For larger representation labels, the size of the intertwiner labels grows, and with it, the size of the {15j}\{{15j}\}-tensor increases exponentially, leading to severe scalability issues. For instance, given {15j}\{{15j}\}-tensor with uniform spins jab=jj_{ab}=j, each intertwiner index is of dimension dj=(2j+1)d_{j}=(2j+1). Therefore, the {15j}\{{15j}\}-tensor with equal spins has a total size of dj5d_{j}^{5} elements. For a large spin j1j\gg 1, this exponential growth in tensor size highlights the memory-intensive nature for initializing and storing them.

Moreover, the process of contracting these high-valence tensors becomes increasingly computationally expensive for larger spins due to the exponential growth in the number of operations. As an example, consider contracting a {15j}\{{15j}\}-tensor of uniforms spins with a vectors representing an intertwiner index, where the vector is also of dimension djd_{j}. Such a contraction requires a computation cost of order 𝒪(dj5)\color[rgb]{0,0,1}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,1}{\cal O}(d_{j}^{5}). When many such contractions are required, the overall computation can become prohibitively time-consuming. This generally limits the practical use of direct numerical computation methods for many vertices or for large representation labels, which are often needed to explore properties of the amplitudes and the semi-classical regime of spin foam models.

These practical limitations necessitate the exploration of more efficient numerical techniques. In the next section, we shall explore new techniques inspired by tensor network methods to address these challenges.

IV Efficient Tensor Network Methods for Spin Foam Amplitudes

In this section, we introduce a tensor network algorithm to enhance the efficiency of computing SU(2) invariants and SU(2) BF coherent amplitudes. This method involves rearranging the terms involved in the coherent vertex amplitudes to enable contractions between smaller tensors, particularly matrices, which have lower rank compared to the {15j}\{{15j}\}-tensor. This strategy can also be applied to derive a tensor network algorithm for evaluating EPRL coherent vertex amplitudes. By decomposing high-valence tensors into networks of lower-valence tensors, the approach not only accelerates computations but also significantly reduces memory usage, as matrices require less memory allocations compared to the 5-valent {15j}\{{15j}\}-tensor. Additionally, this method can be employed to compute amplitudes associated with 2-complexes with multiple vertices. We will utilize tensor network notations to clarify and streamline the discussion. These notations will also help illustrate the decomposition process and the resulting computational benefits.

IV.1 Coherent Vertex Amplitudes as Matrix Contractions

To illustrate this tensor network method, we first consider the coherent vertex amplitude defined in Equation (5). In the expression for the {15j}\{{15j}\}-symbol, each {6j}\{{6j}\}-symbol depends on a pair of intertwiner labels. By treating the spins jabj_{ab} and xx as fixed parameters, each {6j}\{{6j}\}-symbol can be represented as a matrix with the pair of intertwiners as its open indices. We refer to such a matrix as the {6j}\{{6j}\}-intertwiner matrix, where its components are defined by:

wi1i2(ja,jb,jc,x):={i1jaxi2jbjc}i1[Uncaptioned image]i2.w^{(j_{a},j_{b},j_{c},x)}_{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{1}\,i_{2}}:=\begin{Bmatrix}\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{1}&j_{a}&x\\ \color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{2}&j_{b}&j_{c}\end{Bmatrix}\equiv{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{1}}\,\includegraphics[scale={0.3},valign={c}]{intw_6j}\,{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{2}}\,\,.\quad\quad (11)

The graphical notation in Equation (11) represents the tensor notation for the {6j}\{{6j}\}-intertwiner matrix [wi1i2][w_{i_{1}i_{2}}], where the two open legs signify the intertwiner indices. Given the range of values for i1i_{1} and i2i_{2}, the {6j}\{{6j}\}-intertwiner matrix can be efficiently computed for fixed values of spins ja,jb,jcj_{a},j_{b},j_{c}, and xx using existing libraries. For instance, the package WignerSymbols.jl within Julia language, has an optimized function, wigner6j, to compute the components (11) of the {6j}\{{6j}\}-intertwiner matrix. Additionally, known symmetries of the Wigner {6j}\{{6j}\}-symbol [51] can be utilized to simplify the direct implementation of these matrices. As an example, wi1i2w_{i_{1}i_{2}} is symmetric in its indices when either ja=jbj_{a}=j_{b} or jc=xj_{c}=x.

The expression of the {15j}\{{15j}\}-symbol (2) involves multiplication of {6j}\{{6j}\}-symbols, as components of the {6j}\{{6j}\}-intertwiner matrices, with no summation over the intertwiner labels shared by a pair of {6j}\{{6j}\}-symbols. To handle such multiplications, we introduce the following notations to represent tensors whose components are expressed as products of smaller tensors without summations over their shared indices. For example, consider a 3-valent tensor whose components are defined in terms of that of two {6j}\{{6j}\}-intertwiner matrices by Ti1i2i3:=wi1i2wi2i3{\color[rgb]{0,0,1}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,1}T_{i_{1}i_{2}i_{3}}}:=w_{i_{1}i_{2}}w_{i_{2}i_{3}}, with no summation over the index i2i_{2}. This tensor can be represented using the following notation:

Ti1i2i3=(i1[Uncaptioned image]i2)(i2[Uncaptioned image]i3)[Uncaptioned image] i_1 i_2 i_3,T_{i_{1}i_{2}i_{3}}=(i_{1}\,\includegraphics[scale={0.2},valign={c}]{intw_6j}\,i_{2})\,\,(i_{2}\includegraphics[scale={0.2},valign={c}]{intw_6j}\,i_{3})\,\equiv\,\begin{picture}(62.0,16.0)\put(10.0,3.0){\includegraphics[scale={0.26},valign={c}]{wig3valent} } \put(0.0,3.0){{\hbox{ i_1}}} \put(30.0,17.0){{\hbox{ i_2}}} \put(62.0,3.0){{\hbox{ i_3}},} \end{picture} (12)

where the open index i2i_{2} connects the tensor notations of the two matrices, indicating it is a shared index. Also, a vector defined by Ti1:=wi1i1T_{i_{1}}:=w_{i_{1}i_{1}} (with i1i_{1} not summed over), which is the diagonal vector of the {6j}\{{6j}\}-intertwiner matrix can be represented by the notation [Uncaptioned image]i1\includegraphics[scale={0.3},valign={c}]{dgvec}\,i_{1}, where i1i_{1} is its open index. These notations provide a more detailed structure of the tensor, showing the individual tensors involved.

Using the notation in (12), the {15j}\{{15j}\}-tensor expressed in terms of the products of components of {6j}\{{6j}\}-matrices555The representation of the {15j}\{{15j}\}-tensor using the {6j}\{{6j}\}-matrices is similar to a Matrix Product States (MPS) [29] tensor network representation. can be represented as

{15j}i1i2i3i4i5(Jab)=xdx(1)i1++i5[Uncaptioned image]i1i2i3i4i5\{{15j}\}^{(J_{ab})}_{i_{1}i_{2}i_{3}i_{4}i_{5}}=\sum_{x}d_{x}\,(-1)^{i_{1}+\cdots+i_{5}}\,\begin{picture}(22.0,33.0)\put(12.0,7.0){\includegraphics[scale={0.24},rotate=180,valign={c}]{intw15j}} \put(31.0,34.0){{\hbox{ \scriptstyle i_{1}}}} \put(59.0,15.0){{\hbox{ \scriptstyle i_{2}}}} \put(50.0,-15.0){{\hbox{ \scriptstyle i_{3}}}} \put(12.0,-15.0){{\hbox{ \scriptstyle i_{4}}}} \put(5.0,16.0){{\hbox{ \scriptstyle i_{5}}}} \end{picture}\quad\quad

Again, note that there is no contraction or sum over all the intertwiner indices involved in the above expression. This form of the vertex amplitude is still a 5-valent tensor and is therefore, not yet computationally efficient. As discussed in section III.1, computing and storing these 5-valent tensors for evaluating coherent vertex amplitudes demands significant memory allocations, particularly for large values of the spins. To address this, we present a strategy which avoids the use these 5-valent {15j}\{{15j}\}-tensors, and instead rely on matrix contractions.

The strategy is based on combining coherent vectors with the {6j}\{{6j}\}-intertwiner matrices and reorganizing the sums involved in the coherent vertex amplitude (5). Before performing either the sum over the intertwiner labels or the virtual spin xx in the definition of the {15j}\{{15j}\}-symbol, consider the following combination

fi1i2(J12,𝐧1,x)\displaystyle f^{(J_{12},{\bf n}_{1},\,x)}_{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{1}\,i_{2}} :=\displaystyle:= (1)i1di1ci1(j,𝐧1)wi1i2(ja,jb,jc,x)\displaystyle(-1)^{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{1}}d_{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{1}}{\scalebox{1.3}{\bf c}}_{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{1}}(j,{\bf n}_{1})\,w^{(j_{a},j_{b},j_{c},x)}_{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{1}i_{2}}
=\displaystyle= (1)i1([Uncaptioned image]i1)(i1[Uncaptioned image]i2)\displaystyle(-1)^{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{1}}\left(\includegraphics[scale={0.36},valign={c}]{coh4j}\,{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{1}}\right)\left({\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{1}}\,\includegraphics[scale={0.25},valign={c}]{intw_6j}\,{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{2}}\right)
\displaystyle\equiv i1[Uncaptioned image]i2.\displaystyle{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{1}}\,\includegraphics[scale={0.34},valign={c}]{coh_intw6j}\,{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{2}}.

This combination defines a matrix [fi1i2][f_{i_{1}i_{2}}], termed the coherent {6j}\{{6j}\}-intertwiner matrix, with the intertwiner labels i1,i2i_{1},i_{2} as its open indices. The components of the coherent {6j}\{{6j}\}-intertwiner matrix are given by products (without summation) of the {6j}\{{6j}\}-matrix wi1i2w_{i_{1}i_{2}} together with the coherent {4j}\{{4j}\}-vector ci1{\scalebox{1.3}{\bf c}}_{i_{1}}, a phase factor (1)i1(-1)^{i_{1}}, and the dimension for the intertwiner i1i_{1}. All the spins jabj_{ab} involved in the {6j}\{{6j}\}-symbol and the coherent {4j}\{{4j}\}-symbol are collected into the parameter J12J_{12}. Additionally, the normal vectors 𝐧i{\bf n}_{i} and the virtual spin xx are considered as fixed parameters. The last line of Equation (IV.1) denotes the tensor notation for the coherent {6j}\{{6j}\}-intertwiner matrix, where the two legs representing the intertwiner labels are its indices.

The sums over the intertwiners in the coherent vertex amplitude (5) can thus be expressed as a contraction of the coherent {6j}\{{6j}\}-intertwiner matrices (IV.1). By first performing the sums over the intertwiner labels, the coherent vertex amplitude (5) can be re-expressed as a sum over the virtual spin xx of contractions of coherent {6j}\{{6j}\}-intertwiner matrices as follows:

Av(j,𝐧)\displaystyle A_{v}(j,{\bf n}) =\displaystyle= (1)χxdxi1,,i5fi1i2(J12,𝐧1,x)fi2i3(J23,𝐧2,x)fi3i4(J34,𝐧3,x)fi4i5(J45,𝐧4,x)fi5i1(J51,𝐧5,x)\displaystyle(-1)^{\chi}\sum_{x}d_{x}\sum_{i_{1},\ldots,i_{5}}f^{(J_{12},{\bf n}_{1},\,x)}_{i_{1}\,i_{2}}\,f^{(J_{23},{\bf n}_{2},\,x)}_{i_{2}\,i_{3}}\,f^{(J_{34},{\bf n}_{3},\,x)}_{i_{3}\,i_{4}}\,f^{(J_{45},{\bf n}_{4},\,x)}_{i_{4}\,i_{5}}\,f^{(J_{51},{\bf n}_{5},\,x)}_{i_{5}\,i_{1}}
\displaystyle\equiv (1)χxdx[Uncaptioned image]=:(1)χxdxF(j,𝐧,x).\displaystyle(-1)^{\chi}\sum_{x}d_{x}\,\,\includegraphics[scale={0.3},valign={c}]{matrix_trace}=:(-1)^{\chi}\sum_{x}d_{x}\,\,{F}(j,{\bf n},x).

Here, F(j,𝐧,x){F}(j,{\bf n},x)\in\mathbb{C} is defined as the trace of products/contraction of the coherent {6j}\{{6j}\}-intertwiner matrices for a fixed set of the spins jab,xj_{ab},x and normal vectors 𝐧\bf n associated with the components of the vertex vv. Its tensor network notation is depicted by the diagram in Equation (IV.1).

Thus, Equation (IV.1) provides an alternate and more efficient method to evaluate the SU(2) BF coherent vertex amplitude (5) by summing sequences of the matrix trace F(j,𝐧,x){F}(j,{\bf n},x). This approach is computationally advantageous compared to the contraction involving the {15j}\{{15j}\}-tensor in Equation (10). For instance, considering a vertex with uniform spins jab=jj_{ab}=j for all a,ba,b, where all intertwiners have dimension dj=(2j+1)d_{j}=(2j+1), the computational cost of evaluating a matrix trace F(j,𝐧,x){F}(j,{\bf n},x) is of order 𝒪(4dj3)\color[rgb]{0,0,1}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,1}\mathcal{O}(4\,d_{j}^{3}). This is significantly more efficient than the contraction with a {15j}\{{15j}\}-tensor and a coherent vector (as discussed in Section III.1). Consequently, this method not only reduces computational complexity but also enhances scalability, making it feasible to handle larger spin representation labels.

{algorithm}

[htb!] : SU(2) BF Coherent Vertex Amplitude

Input:
jays: a 10-tuple of spin assignments j12,j13,,j45j_{12},j_{13},\dots,j_{45}.

noms: sets of unit normal vectors 𝐧1,𝐧2,,𝐧5{\bf n}_{1},{\bf n}_{2},\dots,{\bf n}_{5} associated with the boundary edges.

Output: value of the coherent vertex amplitude AvA_{v}\in\mathbb{C}.

1:for each edge label k1,,5k\in 1,\dots,5  do
2:    compute the {6j}\{{6j}\}-intertwiner matrix wikik+1(Jab,x)w^{(J_{ab},x)}_{i_{k}i_{k+1}} for fixed parameters Jab,xJ_{ab},x. \triangleright wi5i5+1=wi5i1w_{i_{5}i_{5+1}}=w_{i_{5}i_{1}}
3:    compute the coherent {4j}\{{4j}\}-vector cik(j,𝐧k).\scalebox{1.3}{\bf c}_{i_{k}}(j,{\bf n}_{k}).
4:    construct the coherent {6j}\{{6j}\}-intertwiner matrix fikik+1f_{i_{k}i_{k+1}}, as defined in (IV.1) . \triangleright fi5i5+1=fi5i1f_{i_{5}i_{5+1}}=f_{i_{5}i_{1}}
5:end for
6:Compute the trace of the products of the {6j}\{{6j}\}-intertwiner matrices, F(j,𝐧,x).F(j,{\bf n},x).
7:Sum the product of the dimension factor dxd_{x} and the matrix trace F(j,𝐧,x)F(j,{\bf n},x) over the range of values of the virtual spin xx.
8:return the coherent amplitude AvA_{v}\in\mathbb{C}.

Algorithm IV.1 summarizes the necessary steps to compute SU(2) BF coherent vertex amplitudes AvA_{v} as a sum over trace of matrices. It takes as input a set of spin assignments and unit normal vectors, and it returns the coherent vertex amplitude as a complex number. This tensor network algorithm offers an efficient method, significantly reducing memory usage and computational resources. Additionally, steps 2 through 4 within the for loop in Algorithm IV.1 can be parallelized to further optimize the computational efficiency. Algorithm IV.1 has been implemented in Julia programming language and is available on the GitHub repository [36].

IV.2 EPRL Coherent Vertex Amplitudes as Matrix Contractions

Here, we adapt the tensor network algorithm to the case of Lorentzian EPRL (Engle-Pereira-Rovelli-Livine) coherent vertex amplitude. The EPRL spin foam model provides a framework for implementing a quantized version of gravity, rooted in the canonical loop quantum gravity (LQG) approach. The model is defined on a 2-complex Δ\Delta^{\!*}, with each face assigned a unitary irreducible representation of the Lorentz group SL(2,)\rm SL(2,\mathbb{C}). The key idea is to implement the simplicity constraints of Plebanski formulation of gravity at the quantum level using γ\gamma-simple unitary representations of SL(2,)\rm SL(2,\mathbb{C}) [52]. Here γ\gamma is the Barbero-Immirzi parameter.

On a 2-complex Δ\Delta^{\!*} dual to a triangulated manifold, the EPRL amplitude takes a similar form as Equation (1). The transition amplitudes are defined in terms of the γ\gamma-simple representations of SL(2,)\rm SL(2,\mathbb{C}). We refer the reader to [9, 4, 5] for details on the definition of the transition amplitudes of the EPRL model. The coherent representation of EPRL amplitudes make use SU(2) coherent states, labeled by {j,𝐧}\{j_{\ell},{\bf n}_{\ell}\}, as boundary data. The coherent vertex amplitude is given by

AvEPRL(jf,𝐧)=lf=jf{ke}{ie}{15j}(i1,jf,lf,ke)e=15diecie(j,𝐧)e=25B4γ(jf,lf;ie,ke)A_{v}^{\rm EPRL}(j_{f},{\bf n})=\sum_{l_{f}=j_{f}}^{\infty}\sum_{\{k_{e^{\prime}}\}}\sum_{\{i_{e}\}}\,\{{15j}\}(i_{1},j_{f},l_{f},k_{e^{\prime}})\,\prod_{e=1}^{5}d_{i_{e}}\scalebox{1.3}{\bf c}_{i_{e}}(j,{\bf n})\prod_{e^{\prime}=2}^{5}B_{4}^{\gamma}(j_{f},l_{f};i_{e^{\prime}},k_{e^{\prime}}) (15)

The infinite summation range over the ‘internal’ spin labels lfl_{f} is due to the non-compactness of the gauge group. The form of the vertex amplitude arises from using the Cartan decomposition [28] of a SL(2,)\rm SL(2,\mathbb{C}) group element gg and an integration measure given by

g=uexp(r2σ3)v1,dg=14πsinh2rdrdudv,g=u\cdot\exp\left({\tfrac{r}{2}\sigma_{3}}\right)\cdot v^{-1},\quad\quad{\rm d}g=\frac{1}{4\pi}\sinh^{2}r\,\,{\rm d}r\,{\rm d}u\,{\rm d}v,

where u,vu,v are SU(2)\rm SU(2) group elements, σ3\sigma_{3} is a Pauli matrix and r[0,)r\in[0,\infty) is the rapidity. The booster function B4γB_{4}^{\gamma} is defined as a one dimensional integral over the rapidity rr (again see [4, 5, 28] for details and definition of the Booster function). B4γB_{4}^{\gamma} encodes how the quantum simplicity constraints are implemented on a 2-complex. Furthermore, the {15j}\{{15j}\}-symbol is explicitly given in terms of the spin and interwiner labels by

{15j}\displaystyle\{{15j}\} =\displaystyle= {i1j13k3l35k5j12l23l34l45j15l25k2l24k4j14}.\displaystyle\begin{Bmatrix}\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{1}&j_{13}&\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}k_{3}&l_{35}&\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}k_{5}\\ j_{12}&l_{23}&l_{34}&l_{45}&j_{15}\\ l_{25}&\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}k_{2}&l_{24}&\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}k_{4}&j_{14}\end{Bmatrix}. (16)

Each booster function depends on two intertwiner indices iei_{e} and kek_{e}, and hence can be represented as a matrix whose components are given by

bi2k2(J2,γ):=B4γ(j12,j23,j24,j25;j12,l23,l24,l25;i2,k2)i2[Uncaptioned image]k2b^{(J_{2},\gamma)}_{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{2}\,k_{2}}:=B_{4}^{\gamma}(j_{12},j_{23},j_{24},j_{25};\,j_{12},l_{23},l_{24},l_{25};{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{2},k_{2}})\equiv{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}i_{2}}\,\includegraphics[scale={0.38},valign={c}]{booster_mat}\,{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}k_{2}} (17)

The rectangular shaped diagram in Equation (17) denotes the tensor notation for the booster functions or matrices. In the coherent amplitude (15), the sum over the intertwiner variables ie,e{2,,5}i_{e},e\in\{2,\dots,5\} can easily be performed by contracting the booster functions with the coherent {4j}\{{4j}\}-vectors as

{ie}diecie(j,𝐧)bieke(Je,γ)=[Uncaptioned image]ke\sum_{\{i_{e}\}}d_{i_{e}}\,\scalebox{1.3}{\bf c}_{i_{e}}(j,{\bf n})\,b^{(J_{e},\gamma)}_{i_{e}\,k_{e}}=\includegraphics[scale={0.38},valign={c}]{booster_vec}\,{k_{e}} (18)

We refer to this contraction as the coherent booster-vector, where kek_{e} denotes its index. Thus, the EPRL coherent vertex amplitude written as a contraction of the {15j}\{{15j}\}-symbol with the coherent {4j}\{{4j}\} vector and booster coherent vector can be represented by the notation

AvEPRL(jf,𝐧)=lf=jf[Uncaptioned image].A_{v}^{\rm EPRL}(j_{f},{\bf n})=\sum_{l_{f}=j_{f}}^{\infty}\,\,\includegraphics[scale={0.34},valign={c}]{Av_EPRL.pdf}. (19)

Notice that the contraction of the EPRL coherent vertex amplitude involves four coherent booster-vectors and one coherent {4j}\{{4j}\} vector. This is due to a gauge-fixing of one of the five non-compact SL(2,)\rm SL(2,\mathbb{C}) group integrals associated to the edges in its integral representation, resulting in a finite vertex amplitude. The EPRL vertex amplitude is therefore similar in structure to that of SU(2) BF model. However, due to the summation over the internal spins lfl_{f}, the tensor contractions has to be repeated many times for each possible configuration of the spins. The summation over of internal spins can be performed using approximate schemes such as truncated sums using ‘shells’ [53, 5] or acceleration operators [7, 14, 54] for faster convergence.

To optimize the computation of the coherent vertex amplitude in the EPRL model, we adopt a similar strategy akin to that used in SU(2) BF case. The coherent vertex amplitude can similarly be rewritten as a contraction of matrices by reorganizing the SL(2,)\rm SL(2,\mathbb{C}) invariant functions and the sums over the spins and intertwiners. To achieve this, we combine components of the {6j}\{{6j}\}-intertwiner matrix and the coherent booster-vector to give:

hk2k3(J23,γ,𝐧2,x)\displaystyle h^{(J_{23},\gamma,{\bf n}_{2},\,x)}_{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}k_{2}\,k_{3}} :=\displaystyle:= (1)k2i2di2ci2(j,𝐧2)bi2k2(J2,γ)wk2k3(j13,l24,l23,x)\displaystyle(-1)^{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}k_{2}}\sum_{i_{2}}d_{i_{2}}\,\scalebox{1.3}{\bf c}_{i_{2}}(j,{\bf n}_{2})\,b^{(J_{2},\gamma)}_{i_{2}\,{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}k_{2}}}\,w^{(j_{13},l_{24},l_{23},x)}_{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}k_{2}k_{3}}
=\displaystyle= (1)k2([Uncaptioned image]k2)(k2[Uncaptioned image]k3)\displaystyle(-1)^{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}k_{2}}(\includegraphics[scale={0.37},valign={c}]{booster_vec}{\,\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}k_{2}})({\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}k_{2}\,\includegraphics[scale={0.25},valign={c}]{intw_6j}\,k_{3}})
\displaystyle\equiv k2[Uncaptioned image]k3\displaystyle{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}k_{2}}\,\includegraphics[scale={0.35},valign={c}]{coh_boostmat}\,{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}k_{3}}

This resulting matrix is referred to as the coherent booster-matrix. The last line represents its tensor notation. Using these coherent booster-matrices, the sum over the intertwiner variables i1,kei_{1},k_{e} in the coherent amplitude can be represented as a (trace of) matrix contractions. The coherent amplitude is therefore given by

AvEPRL(jf,𝐧)\displaystyle A_{v}^{\rm EPRL}(j_{f},{\bf n}) =\displaystyle= (1)χlab=jabxdxi1,k2,,k5fi1k2(J12,𝐧1,x)hk2k3(J23,γ,𝐧2,x)hk3k4(J34,γ,𝐧3,x)hk4k5(J45,γ,𝐧4,x)hk5i1(J45,γ,𝐧3,x)\displaystyle(-1)^{\chi}\!\!\!\sum_{l_{ab}=j_{ab}}^{\infty}\!\!\sum_{x}d_{x}\!\!\!\sum_{i_{1},k_{2},\ldots,k_{5}}f^{(J_{12},{\bf n}_{1},\,x)}_{i_{1}\,k_{2}}\,h^{(J_{23},\gamma,{\bf n}_{2},\,x)}_{k_{2}\,k_{3}}\,h^{(J_{34},\gamma,{\bf n}_{3},\,x)}_{k_{3}\,k_{4}}\,h^{(J_{45},\gamma,{\bf n}_{4},\,x)}_{k_{4}\,k_{5}}\,h^{(J_{45},\gamma,{\bf n}_{3},\,x)}_{k_{5}\,i_{1}} (21)
=\displaystyle= (1)χlab=jabxdx[Uncaptioned image]\displaystyle(-1)^{\chi}\sum_{l_{ab}=j_{ab}}^{\infty}\sum_{x}d_{x}\,\includegraphics[scale={0.34},valign={c}]{Avc_eprl4}

This formulation of the coherent vertex amplitude for the EPRL spin foam model (21) offers a more efficient alternative, and enables a faster and more scalable computations.

{algorithm}

[htb!] EPRL Coherent Vertex Amplitude

Input:
jays: a 10-tuple of spin assignments j12,j13,,j45j_{12},j_{13},\dots,j_{45}

noms: sets of normal vectors 𝐧1,𝐧2,,𝐧5{\bf n}_{1},{\bf n}_{2},\dots,{\bf n}_{5} associated with the boundary edges

Output: Value of the coherent vertex amplitude AvEPRLA_{v}^{\rm EPRL}\in\mathbb{C}.

1:Compute the {6j}\{{6j}\}-matrices wi1k2(J12,x),,wk5i1(J51,x)w^{(J_{12},x)}_{i_{1}k_{2}},\dots,w^{(J_{51},x)}_{k_{5}i_{1}} for fixed values of spins jab,lab,xj_{ab},l_{ab},x
2:Compute the booster-coherent matrices bi2k2,,bi5k5b_{i_{2}k_{2}},\dots,b_{i_{5}k_{5}} for the four boundary edges
3:Compute the coherent {4j}\{{4j}\}-vectors cia(j,𝐧a){\scalebox{1.3}{\bf c}}_{i_{a}}(j,{\bf n}_{a}) for all five boundary edges a=1,,5a=1,\dots,5
4:Contract the booster coherent matrices with the coherent vectors into the booster coherent vectors as given in Equation (18)
5:Construct the four booster coherent matrices hk2k3,,hk5i1h_{k_{2}k_{3}},\dots,h_{k_{5}i_{1}} and the coherent matrix fi1k2f_{i_{1}k_{2}} for fixed spins jab,lab,xj_{ab},l_{ab},x
6:Contract the coherent matrix fi1k2f_{i_{1}k_{2}} and four booster matrices as trace of matrix contractions
7:Sum over all values of the virtual spin xx of product of the dimension factor dxd_{x} and the matrix trace
8:Perform the unbounded sums lab=jabl_{ab}=j_{ab} to \infty using any method of choice.
9:return The coherent amplitude AvEPRLA_{v}^{\rm EPRL}\in\mathbb{C}

Algorithm IV.2 gives a summary of the procedure for computing the EPRL coherent vertex amplitude as a sum of sequences of matrix contractions. This algorithm leverages the matrix formulation and optimized computation techniques to efficiently evaluate the amplitude for a given set of boundary spins and normal vectors. The explicit numerical implementation of Algorithm IV.2 in Julia language is left to future work. This tensor network algorithm can also be applied within the sl2cfoam-next library where the computation of the booster functions have already been implemented.

IV.3 Partial-Coherent Vertex Amplitudes

The coherent amplitude AvA_{v} (10) is associated with a 2-complex vv, characterized by a single vertex with five boundary edges which is dual to a 4-simplex triangulation. To study dynamics of quantum geometries, it is essential to analyze spin foam amplitudes on a 2-complex with more than one vertex. In a generic 2-complex, with multiple vertices (see examples in Figure 1), a pair of neighbouring vertices are connected by one or more (bulk) edges. In the dual triangulation of a generic 2-complex, any 4-simplex that contains a boundary tetrahedron is dual to a vertex exhibiting a combination of bulk and boundary edges. Such a vertex is referred to as a boundary vertex, for conciseness. A bulk vertex, on the other hand, refers to a vertex with each of its five edges dual to bulk tetrahedron.

In the coherent amplitude (7), coherent data {j,𝐧}\{j_{\ell},{\bf n}_{\ell}\} are assigned to the faces of boundary edges, while bulk edges are assigned spin and intertwiner data {jf,ie}\{j_{f},i_{e}\} in the spin-network basis. A boundary vertex endowed with both coherent data for the boundary edges and intertwiner data for the bulk edges is termed as a partial-coherent vertex. We will describe the amplitudes associated with these partial coherent vertices, focusing on the SU(2) BF spin foam model. Figure 2 illustrates the tensor network notations for all partial coherent vertex amplitudes, each associated with a boundary vertex.

Refer to caption
Refer to caption
Refer to caption
Refer to caption
Figure 2: Tensor network notations for partial coherent vertex amplitudes. The open legs represent bulk edges with intertwiner indices while the legs with black circular dots are boundary edges with coherent data.

The tensor network notations in (10) and (8) represent a coherent vertex with only boundary edges and a vertex with only bulk edges respectively. The amplitude associated with a bulk vertex is simply given by the {15j}\{{15j}\}-symbol.

Each of the four partial-coherent vertices in Figure 2 can be computed as a contraction of the {15j}\{{15j}\}-tensor with a number of coherent-{4j}\{{4j}\} vectors (9), resulting in a tensor with its open legs indexed by the intertwiner labels for the the bulk edge(s) attached to the vertex. To avoid creating the {15j}\{{15j}\}-tensor, we shall make use of components of the {6j}\{{6j}\}-intertwiner matrices and the coherent {6j}\{{6j}\}-intertwiner matrices to rewrite these partial coherent vertices. The sums over the virtual spin and the intertwiner labels involved in the partial coherent vertices can also be reorganized such that the resulting tensors are expressed as contractions between the smaller tensors using the matrices defined in Equations (11) and (IV.1). We shall also make use of the tensor notations described in Equation (12) for the expressions.

Consider the first partial-coherent vertex with one bulk edge and four boundary edges associated with coherent data. It has one open index corresponding to the bulk intertwiner label, and hence represents a vector. Using the expressions and notations for the matrices in (11) and (IV.1), the 1-valent partial-coherent vertex amplitude can be expressed as

[Uncaptioned image]i1\displaystyle\includegraphics[scale={0.32},valign={c}]{pat_vertex41}\,\,i_{1} =\displaystyle= (1)χi2,,i5{15j}(j12,,j45;i1,,i5)k=25dikcik(j,𝐧k)\displaystyle(-1)^{\chi}\sum_{i_{2},\cdots,i_{5}}\,\,\{{15j}\}(j_{12},\ldots,j_{45};i_{1},\ldots,i_{5})\prod_{k=2}^{5}d_{i_{k}}{\scalebox{1.3}{\bf c}}_{i_{k}}(j,{\bf n}_{k}) (22)
=\displaystyle= (1)χxdxi2,,i5(1)i1wi1i2(J12,x)fi2i3(J23,𝐧2,x)fi3i4(J34,𝐧3,x)fi4i5(J45,𝐧4,x)fi5i1(J51,𝐧5,x)\displaystyle(-1)^{\chi}\sum_{x}d_{x}\sum_{i_{2},\ldots,i_{5}}(-1)^{i_{1}}\,w^{(J_{12},\,x)}_{i_{1}\,i_{2}}\,f^{(J_{23},{\bf n}_{2},\,x)}_{i_{2}\,i_{3}}\,f^{(J_{34},{\bf n}_{3},\,x)}_{i_{3}\,i_{4}}\,f^{(J_{45},{\bf n}_{4},\,x)}_{i_{4}\,i_{5}}\,f^{(J_{51},{\bf n}_{5},\,x)}_{i_{5}\,i_{1}}\quad
=\displaystyle= (1)χxdx(1)i1[Uncaptioned image]i1.\displaystyle(-1)^{\chi}\sum_{x}d_{x}\,(-1)^{i_{1}}\,\includegraphics[scale={0.28},valign={c},rotate=10]{cohpat_vertex41}i_{1}\,\,.

In the second line of Equation (22), the four coherent {4j}\{{4j}\}-vectors associated with the boundary edges are combined with the {6j}\{{6j}\}-intertwiner matrices into coherent {6j}\{{6j}\}-intertwiner matrices fiif_{ii^{\prime}}. Just as in the case of the coherent vertex amplitude (IV.1), the sum over the intertwiner labels of the boundary edges is first performed, followed by the summation over the virtual spin xx. Since the intertwiner label i1i_{1} associated with the bulk edge is not summed over, the contraction results in a vector indexed by i1i_{1}. The diagram in the last line of Equation (22) represents the tensor notation of the resulting vector for fixed spins jabj_{ab} and xx.

The second partial-coherent vertex amplitude as shown in Figure 2 involves two bulk edges and three boundary edges with coherent data. It, therefore, represents a matrix with its indices corresponding to the intertwiner labels of the two bulk edges. The initial expression of this vertex amplitude involves a contraction of a {15j}\{{15j}\}-tensor with three coherent {4j}\{{4j}\}-vectors associated with the boundary edges. This can also be rewritten as contraction of the {6j}\{{6j}\}-intertwiner matrices and coherent {6j}\{{6j}\}-intertwiner matrices after rearranging the sums over the intertwiner labels and virtual spin as follows:

[Uncaptioned image]i1i_{1}i2i_{2} =\displaystyle= (1)χi3,i4,i5{15j}(j12,,j45;i1,,i5)k=35dikcik(j,𝐧k)\displaystyle(-1)^{\chi}\sum_{i_{3},i_{4},i_{5}}\,\,\{{15j}\}(j_{12},\ldots,j_{45};i_{1},\ldots,i_{5})\prod_{k=3}^{5}d_{i_{k}}{\scalebox{1.3}{\bf c}}_{i_{k}}(j,{\bf n}_{k}) (23)
=\displaystyle= (1)χxdx(1)i1+i2wi1i2(J12,x)i3,i4,i5wi2i3(J23,x)fi3i4(J34,𝐧3,x)fi4i5(J45,𝐧4,x)fi5i1(J51,𝐧5,x)\displaystyle(-1)^{\chi}\sum_{x}d_{x}\,(-1)^{i_{1}+i_{2}}\,w^{(J_{12},\,x)}_{i_{1}\,i_{2}}\sum_{i_{3},i_{4},i_{5}}w^{(J_{23},\,x)}_{i_{2}\,i_{3}}\,f^{(J_{34},{\bf n}_{3},\,x)}_{i_{3}\,i_{4}}\,f^{(J_{45},{\bf n}_{4},\,x)}_{i_{4}\,i_{5}}\,f^{(J_{51},{\bf n}_{5},\,x)}_{i_{5}\,i_{1}}\quad
=\displaystyle= (1)χxdx(1)i1+i2[Uncaptioned image]i1i2\displaystyle(-1)^{\chi}\sum_{x}d_{x}\,(-1)^{i_{1}+i_{2}}\,\begin{picture}(50.0,35.0)\put(-5.0,15.0){ \includegraphics[scale={0.28},valign={c},rotate=-36]{cohpat_vertex32} } \put(9.0,-25.0){$i_{1}$} \put(48.0,-25.0){$i_{2}$} \end{picture}\quad\quad

The diagram in the last line of Equation (23) represent the product of the components of the matrix wi1i2w_{i_{1}i_{2}} with the contracted matrices involved in the sums over the boundary intertwiner labels i3,i4,i5i_{3},i_{4},i_{5}. These partial-coherent vertex amplitudes are required, for example, in computing the amplitude for a 2-complex with one bulk face dual to a Δ3\Delta_{3} triangulation (see Figure 1). Also, a generalization to a 2-complex with one bulk face and nn vertices (dual to a triangulation denoted Δn\Delta_{n}, for nn finite) implements these 2-valent parital-coherent vertex amplitudes. Permuting the boundary and bulk intertwiner labels changes the order of the contracted matrices. However, the resulting partial-coherent amplitude can still be expressed in a similar form.

The third partial-coherent vertex amplitude features three bulk edges and two boundary edges assigned with coherent data. It is a 3-valent tensor with its indices corresponding to the intertwiner labels of the bulk edges. This vertex amplitude is initially expressed as a contraction of a {15j}\{{15j}\}-tensor with two coherent {4j}\{{4j}\}-vectors associated with the boundary edges. The coherent {4j}\{{4j}\}-vectors and the {6j}\{{6j}\}-intertwiner matrices can again be combined into coherent {6j}\{{6j}\}-intertwiner matrices fiif_{ii^{\prime}}. The sum over the intertwiner labels gives contraction of matrices and the sum over virtual spin result in the following expression

(24)
[Uncaptioned image]i1i2i3=(-1)χxdx(-1)+i1i2i3[Uncaptioned image]i1i2i3.\displaystyle\begin{picture}(230.0,23.0)\put(0.0,25.0){\includegraphics[scale={0.33},valign={c}]{pat_vertex23} } \put(1.0,0.0){$i_{1}$} \put(37.0,0.0){$i_{2}$} \put(49.0,25.0){$i_{3}$} \put(62.0,25.0){$\displaystyle=(-1)^{\chi}\sum_{x}d_{x}\,(-1)^{i_{1}+i_{2}+i_{3}}\,$ } \put(183.0,11.0){\includegraphics[scale={0.28},valign={c},rotate=33]{cohpat_vertex23} } \put(193.0,0.0){$i_{1}$} \put(232.0,0.0){$i_{2}$} \put(244.0,37.0){$i_{3}$} \end{picture}\quad\quad.

The amplitude associated with each boundary vertex of the 2-complex dual to the T4T4 triangulation, as shown in Figure 1, is given by such a 3-valent partial-coherent vertex amplitude.

Lastly, the fourth partial-coherent vertex amplitude comprises four bulk edges and one boundary edge with coherent data. It represents a 4-valent tensor with its indices corresponding to the intertwiner labels of the bulk edges. After contracting the matrices involved in the sum over the boundary intertwiner, the components of this 4-valent vertex can be represented as

(25)

In summary, each partial-coherent vertex amplitude in Figure 2 is characterized by the number of {6j}\{{6j}\}-intertwiner matrices and coherent {6j}\{{6j}\}-intertwiner matrices, corresponding to the number of bulk and boundary edges with coherent data, respectively. By reorganizing the sums over the virtual spin and intertwiner labels, the expressions for these vertices can be efficiently computed through matrix contractions, thereby enhancing memory efficiency in the computation of coherent SU(2) BF spin foam amplitudes. This new method of evaluating the partial-coherent amplitudes avoids the need to compute the {15j}\{{15j}\}-symbol as a 5-valent tensor, further optimizing the computation of coherent amplitudes. Although the tensor network representation of the 3-valent and 4-valent partial-coherent vertex amplitudes theoretically scales better, their performance is comparable to the computation using the {15j}\{{15j}\}-tensor for small representation labels. These partial-coherent vertices, together with edge amplitudes [7] are relevant for computing coherent amplitudes for generic 2-complexes with multiple boundary vertices.

V Results and Benchmarks

Now, we proceed to present results of numerical experiments and benchmarks focusing on examples of SU(2) BF coherent vertex amplitudes. These vertex amplitudes are computed as sum of traces of coherent {6j}\{{6j}\}-matrices according to the formula (IV.1) and implemented in Algorithm IV.1. To compute coherent vertex amplitudes, specific boundary data must be specified. The boundary data are given by a set of ten spins and twenty unit vectors, denoted as {jab,𝐧ab}1a,b5\{j_{ab},{\bf n}_{ab}\}_{1\leq a,b\leq 5}, satisfying jab=jbaj_{ab}=j_{ba} and aba\neq b for a,b{1,,5}a,b\in\{1,\dots,5\}. The spins correspond to the area of triangles of the 4-simplex, and the unit normal vectors correspond to the collection of face normal vectors of triangles in each tetrahedron. The geometric characterization of a vertex configuration depends on the conditions satisfied by its boundary data. Coherent amplitudes associated with vertices of similar geometric characterizations exhibit similar behavior, particularly in their asymptotic properties. In Appendix A, we describe the conditions satisfied by certain subsets of twisted geometries, referred to as vector geometries and Regge geometries. Furthermore, Appendix B provides the asymptotic formula of the coherent amplitudes for these geometries.

Here, we consider examples of vertices endowed with boundary data describing Regge and vector geometries and compute their coherent amplitudes using Algorithm IV.1. By exploring these examples, we aim to illustrate the versatility and effectiveness of the tensor network methods, providing insights into the behavior of vertex amplitudes across different vertex configurations. Our benchmarks demonstrate the computational efficiency and advantages of using tensor network methods based on matrix contractions over traditional approaches that rely on contractions of the {15j}\{{15j}\}-tensor.

V.1 Coherent Amplitude for Equilateral Vertex Configuration

As our first example, we examine a vertex vv with Regge boundary data, corresponding to an equilateral 4-simplex triangulation. This configuration represents the simplest and most symmetric instance of a vertex. The equilateral vertex has boundary data characterized by equal spins jab=jj_{ab}=j for all faces corresponding to the areas of the dual triangles. Thus, jj characterizes the boundary scale. Each tetrahedron dual to an edge is also equilateral, thus for a fixed edge aa, the unit normal vectors are explicitly given by

{𝐧ab}1b5,ba={(1,0,0),(13,83,0),(13,23,63),(13,23,63)}.\{{\bf n}_{ab}\}_{1\leq b\leq 5,\,\,b\neq a}=\{(1,0,0),\,\,\,(-\frac{1}{3},\frac{\sqrt{8}}{3},0),\,\,\,(-\frac{1}{3},-\frac{\sqrt{2}}{3},\frac{\sqrt{6}}{3}),\,\,\,(-\frac{1}{3},-\frac{\sqrt{2}}{3},-\frac{\sqrt{6}}{3})\}. (26)

These set of vectors correspond to the unit normals associated with the triangular faces of each equilateral tetrahedron. They can be rotated to form a twisted spike configuration. Additionally, this set of boundary spins and normal vectors provides a consistent length geometry for an equilateral 4-simplex, with equal edge lengths given by =j(4/3)\ell=j(\sqrt{4}/3). The external dihedral angles associated with the triangles are also all equal, given by θ=arccos(14)\theta=\arccos(-\frac{1}{4}). Appendix A provide further details for the equilateral vertex configuration. The boundary data are thus completely determined by the single boundary spin value jj along with the unit normal vectors (26) associated with each tetrahedron. This highly symmetric configuration significantly simplifies the computation of its coherent amplitude.

Previous numerical studies for spin foam models [19, 5, 49] have also considered the coherent amplitude for the equilateral vertex example. We will compare our results and benchmarks to those established in the earlier works, which mostly relied on contracting the {15j}\{{15j}\}-tensor and coherent boundary vectors. These computations require significant memory allocations and computational time, particularly for relatively large spins (j50)(j\geq 50). For instance, the computation for the equilateral vertex amplitude at spin j=50\color[rgb]{0,0,1}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,1}j=50, using the {15j}\{{15j}\}-tensor and floating-point double precision, requires a computer with more than 78.3GB\color[rgb]{0,0,1}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,1}\rm 78.3GB of random-access-memory666 Moreover, it takes more memory usage to perform the contractions of the {15j}\{{15j}\}-tensor with boundary coherent vectors. (RAM). Such a computation is expected to take several days even on a high-performance computing cluster with enough memory resources. There may be extra memory costs from performing contractions. These computational limits restrict the practical exploration of spin foam coherent vertex amplitudes for large spins.

In contrast, the tensor network algorithm employed here, leverages the matrix contractions to substantially reduces both computational complexity and memory usage. For instance, it now takes approximately t1.05t\approx 1.05 seconds (see Table 2 for more details) to compute the equilateral vertex amplitude for uniform spin j=50j=50 using the improved algorithm on a consumer laptop777All the computations and benchmarks in this article were performed using the Julia programming language on a laptop equipped with Apple M2 Pro Chip and 16GB of RAM.. This significant reduction in computational time underscores the efficiency gained by reorganizing the computations as contractions between smaller tensors (matrices), compared to the direct computation involving the {15j}\{{15j}\}-tensor. Moreover, the memory-efficient nature of the new algorithm enables the exploration of coherent amplitudes at higher spin values with significantly reduced resource requirements.

Refer to caption
Figure 3: The coherent amplitude for equilateral vertex characterized by equal spins jj. The plot displays the absolute value of the rescaled amplitude for the spins 0j2000\leq j\leq 200 in steps of 0.5.

Figure 3 displays the absolute value of the coherent amplitude for the equilateral vertex rescaled by a factor j6j^{6} for the boundary spins ranging from j=0j=0 to j=200j=200 in steps of half integers. The rescaling is due to the power law decay j6j^{-6} of the vertex amplitude. The plot demonstrates the capability of the new algorithms to efficiently compute coherent amplitudes across large values of the spins, which was previously impractical due to resource constraints. As shown, the coherent amplitude for the equilateral vertex configuration oscillates as a function of the spins.

The vertex amplitude for the equilateral configuration has been compared to its asymptotic formula in Appendix B, as displayed888The comparison shows a good agreement between the equilateral coherent vertex amplitude and its asymptotic formula with less than 1%\sim 1\% relative error for boundary spins j100j\geq 100. See Figure 8 for more details. in Figure 8. In general, the asymptotic analysis of the coherent amplitude for a vertex with Regge boundary data yields two solutions to the critical point equations of its action [55, 38]. The frequency of the oscillations is determined by the Regge action associated with the dual 4-simplex triangulation, explaining the persistence of the oscillations for large spins observed in Figure 3.

The coherent vertex amplitude for other examples of Regge geometries, such as the isosceles 4-simplex and non-regular configurations, has been studied in [15, 49]. The coherent amplitudes for the non-equilateral examples can also be efficiently computed using Algorithm IV.1. Computational results for examples of non-equilateral configurations are not presented here but are available on the GitHub repository [36].

V.1.1 Benchmarks for the Equilateral Vertex Amplitude

This section presents the benchmarks for the computations of the coherent amplitude for the equilateral vertex configuration. The benchmarks are illustrated in Figure 4, which consists of two plots: one showing memory allocations and the other showing computational time, both as functions of the spins jj. The plots compare the computational resources used for the tensor network Algorithm IV.1 to those used for the previous algorithms based on computing the {15j}\{{15j}\}-tensor (8). The data generated from computing the amplitudes by contracting the 5-valent tensor are simply referred to as ‘{15j}-tensor’ in Figure 4.

Refer to caption
Refer to caption
Figure 4: Log-log plots illustrating the benchmarks for computing the coherent amplitude for the equilateral vertex configuration compared to previous computations using the {15j}\{{15j}\}-tensor. The left plot shows memory allocations, while the right plot shows computational time as a function of spins. In both plots, ‘{15j}-tensor’ represent data based on the use of the 5-valent {15j}\{{15j}\}-tensor, ‘Full’ represents the data involving the storage of certain SU(2) invariants, and ‘Cached’ indicates the computations after the SU(2) invariants are loaded into memory. The ‘{15j}-tensor’ performs far worse in both memory usage and computational time. The Fit (in blue) for the ‘Cached’ data show their scaling behavior.

The left plot in Figure 4 is a log-log plot of memory allocations. The term, ‘Full’ in this plot refers to the computations including the preload stage, where the SU(2) invariant functions, such as wigner3j, wigner6j, and wignerDjm functions, are stored in memory. This stage is resource-intensive, as it requires substantial memory to store these functions. In contrast, ‘Cached’ refers to data for the computations after the SU(2) invariant functions have been loaded into memory using the memoize package in Julia. The fit for the ‘Cached’ data in Figure 4 is given by the function 1200×(2j+1)3\color[rgb]{0,0,1}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,1}1200\times(2j+1)^{3}, indicating how the memory allocations scales with spin jj.

The right plot in Figure 4 shows a log-log plot of computational time for the equilateral vertex amplitude. Similar to the memory allocations plot, ‘Full’ data includes the overhead of loading and initializing the necessary SU(2) invariants, resulting in higher computational time. The ‘Cached’ data999The data for the Cached computationally time could be further refined to smooth out with additional benchmark samples. The data presented here is based on only one sample size. represents the computational time after these functions are cached into memory using the memoize package. The fit101010The fit for the {15j}\{{15j}\}-tensor data and the Full data are not shown in the plots in Figure 4. However, the computational time for the {15j}\{{15j}\}-tensor data scales approximately as 108(j+3)8\color[rgb]{0,0,1}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,1}10^{-8}\cdot(j+3)^{8} seconds while that for the Full data scales approximately as 108(2j+7)9/2\color[rgb]{0,0,1}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,1}10^{-8}\cdot(2j+7)^{9/2} seconds. for the ‘Cached’ data is given by the function 108×(2j+7)4\color[rgb]{0,0,1}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,1}10^{-8}\times(2j+7)^{4}, demonstrating the scaling behavior of the computational time with the boundary spin jj. This fit function aligns with the expectations discussed in Section IV.1.

      Spin Memory allocation / Byte Computational time / second
{15j}\{{15j}\}-tensor Full Cached {15j}\{{15j}\}-tensor Full Cached
10 7.88211 E9 5.0697 E7 1.1022 E7 6.9577 0.04486 0.00477
25 7.12174 E12 1.0235 E9 1.5058 E8 5692.7788 0.86416 0.1012
50 - 1.2247 E10 1.1526 E9 - 14.6661 1.04734
100 - 1.8121 E11 9.0192 E9 - 234.0320 12.3222
200 - 3.7012 E12 7.1358 E10 - 5348.3676 118.5069
Table 2: Sample of benchmarks for computations of coherent amplitudes for equilateral vertex using the tensor network algorithm based on matrix contractions.

The comparison between Full and Cached benchmarks clearly demonstrates the efficiency gains achieved through caching. Memoization of the SU(2) invariant functions significantly reduces the computational overhead and memory requirements, making the coherent amplitude computations faster and more feasible for large spins. Table 2 displays a sample of the benchmarks in support of the efficiency gained in using Algorithm IV.1 based on matrix contractions, compared to computations using the {15j}\{{15j}\}-tensor. For spin j=200\color[rgb]{0,0,1}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,1}j=200 (a relatively large value), the Full computation takes approximately 5348 seconds, while the Cached computation takes approximately 119 seconds, showing a dramatic improvement achieved through this optimization. The methods based on the {15j}\{{15j}\}-tensor become computationally unfeasible for such large spins.

In summary, the benchmarks for the equilateral vertex amplitude emphasize the importance of optimizing computations using the low-valence tensors and caching. The significant improvements observed in the benchmarks are partly due to the highly symmetric equilateral vertex configuration. Although non-equilateral vertex amplitudes might show less pronounced memory usage and computational time reductions, the tensor network algorithms are still efficient computational methods. These results and benchmarks provide a clear indication of the performance enhancements and strategies necessary for the effective computation of coherent amplitudes in spin foam models.

V.2 Coherent Vertex Amplitudes: Vector Geometries

In this section, we present results for the coherent vertex amplitudes with boundary data corresponding to vector geometries. A detailed parametrization for these vector geometries is discussed in Appendix A. For vector geometries, the set of spins and normal vectors for each edge dual to a tetrahedron satisfies the closure conditions, ensuring that each configuration corresponds to a well-defined Euclidean tetrahedron in 3\mathbb{R}^{3}. Additionally, the (rotated) unit normal vectors satisfy the anti-parallel condition 𝐧ab=𝐧ba{\bf n}_{ab}=-{\bf n}_{ba} for all faces abab. Here, we focus on two specific vertices each with a vector geometry configuration, labeled by v1v_{1} and v2v_{2}. The boundary data for both vertices are chosen to have equal spins, i.e., jab=jj_{ab}=j for all a,ba,b.

These vertex configurations considered here are selected to be ‘close’ to the equilateral vertex; that is, all the spins associated with the vertices v1v_{1} and v2v_{2} are equal and in addition, the normal vectors of any two tetrahedra are chosen to correspond to an equilateral configuration. This results in vector geometries with boundary data characterized by two parameters {j,φ5}\color[rgb]{0,0,1}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,1}\{j,\varphi_{5}\}, where j/2j\in\mathbb{N}/2 and 1φ51-1\leq\varphi_{5}\leq 1 is an ‘inner product variable’. More details about the parametrization of vector geometries is discussed in Appendix A. For a fixed spin jj, the value of φ5\varphi_{5} determines how ‘close’ the vector geometry is to the equilateral vertex. The boundary data corresponds to the equilateral vertex configuration when φ5=5/30.745\color[rgb]{0,0,1}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,1}\varphi_{5}=\sqrt{5}/3\approx 0.745. For any other value of φ5\varphi_{5}, the boundary data do not correspond to a Regge geometry since the overall configuration cannot be embedded into a Euclidean 4-simplex triangulation with well-defined lengths. As an example, we chose the inner product variables for vertices v1v_{1} and v2v_{2} to be φ5=1/2\color[rgb]{0,0,1}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,1}\varphi_{5}=1/2 and φ5=3/5\color[rgb]{0,0,1}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,1}\varphi_{5}=3/5, respectively. Thus, v2v_{2} is ‘closer’ to the equilateral vertex than v1v_{1}. The corresponding unit normal vectors (twisted spike configuration) associated with v1v_{1} and v2v_{2} are provided in Table 3.

Normal vectors for vertex v1v_{1} (φ5=1/2\varphi_{5}=1/2) Normal vectors for vertex v2v_{2} (φ5=3/5\varphi_{5}=3/5)
𝐧12=(1.0,0.0,0.0){\bf n}_{12}=(1.0,0.0,0.0) 𝐧12=(1.0,0.0,0.0){\bf n}_{12}=(1.0,0.0,0.0)
𝐧13=(0.33333333,0.89977173,0.28160206){\bf n}_{13}=(-0.33333333,0.89977173,0.28160206) 𝐧13=(0.33333333,0.8869709,0.3196428){\bf n}_{13}=(-0.33333333,0.8869709,0.3196428)
𝐧14=(0.33333333,0.20601133,0.92002621){\bf n}_{14}=(-0.33333333,-0.20601133,-0.92002621) 𝐧14=(0.33333333,0.16666667,0.92796073){\bf n}_{14}=(-0.33333333,-0.16666667,-0.92796073)\,\,
𝐧15=(0.33333333,0.6937604,0.63842415){\bf n}_{15}=(-0.33333333,-0.6937604,0.63842415) 𝐧15=(0.33333333,0.72030423,0.60831793){\bf n}_{15}=(-0.33333333,-0.72030423,0.60831793)
𝐧23=(0.08235735,0.05089964,0.99530221){\bf n}_{23}=(0.08235735,0.05089964,-0.99530221) 𝐧23=(0.20111989,0.10055995,0.97439134){\bf n}_{23}=(0.20111989,0.10055995,-0.97439134)
𝐧24=(0.6557091,0.70053255,0.28160206){\bf n}_{24}=(0.6557091,-0.70053255,0.28160206) 𝐧24=(0.50957672,0.7988492,0.3196428){\bf n}_{24}=(0.50957672,-0.7988492,0.3196428)
𝐧25=(0.26193354,0.6496329,0.71370015){\bf n}_{25}=(0.26193354,0.6496329,0.71370015) 𝐧25=(0.28930339,0.69828926,0.65474855){\bf n}_{25}=(0.28930339,0.69828926,0.65474855)
𝐧34=(0.4472136,0.89442719,0.0){\bf n}_{34}=(0.4472136,0.89442719,0.0) 𝐧34=(0.6,0.8,0.0){\bf n}_{34}=(0.6,0.8,0.0)
𝐧35=(0.69818958,0.05624418,0.71370015){\bf n}_{35}=(-0.69818958,0.05624418,-0.71370015) 𝐧35=(0.73221344,0.18753084,0.65474855){\bf n}_{35}=(-0.73221344,0.18753084,-0.65474855)
𝐧45=(0.76958937,0.01211669,0.63842415){\bf n}_{45}=(0.76958937,-0.01211669,-0.63842415) 𝐧45=(0.77624338,0.16551587,0.60831793){\bf n}_{45}=(0.77624338,-0.16551587,-0.60831793)
Table 3: Boundary unit normal vectors associated with faces of two vertices v1v_{1} and v2v_{2} whose boundary data describe vector geometries. The vectors are given up to 8 decimal places. These vectors satisfy the anti-parallel conditions 𝐧ab=𝐧ba{\bf n}_{ab}=-{\bf n}_{ba}, for all a,ba,b.

Using Algorithm IV.1, we computed the coherent amplitudes for vertices v1v_{1} and v2v_{2} for boundary spins ranging between 0j1100\leq j\leq 110. The resulting rescaled coherent amplitudes are displayed in Figure 5, together with their asymptotic formulae. The power-law scaling behavior j6j^{-6} also holds for these vector geometry vertex amplitudes. The asymptotic formula for a vector geometry is described in Equation (32) in Appendix B. The vector geometries which do not correspond to a geometric 4-simplex yield one solution to the critical point equations of the vertex amplitude. The asymptotic formula, thus, after rescaling by a factor j6j^{6} gives a constant term. This explains the behavior of the vertex amplitudes shown in Figure 5, which exhibit damped oscillations around their asymptotic values. The oscillations decreases with large jj as the amplitude approaches its asymptotic value.

Refer to caption
Refer to caption
Figure 5: The coherent amplitude for vertices v1v_{1} and v2v_{2} with boundary data corresponding to vector geometries. The coherent amplitudes (quantum) are compared to their asymptotic formula.

The plots in Figure 5 illustrate different oscillating behaviors for the vector geometry configurations v1v_{1} and v2v_{2}. The vertex amplitude for vector geometries that are ‘close’ to a Regge geometry exhibit oscillations that persist for large spins, and the asymptotic limit can only be reached for very large spin. Conversely, the vertex amplitude for vector geometries ‘not close’ to a Regge geometry exhibit fewer oscillations, and the asymptotic limit is reached for relatively small spin values. Specifically, in the examples chosen here, the asymptotic formula for vertex v1v_{1} matches its quantum amplitude Av1A_{v_{1}} within approximately 10%\sim 10\% relative error for spins j25j\geq 25, while for v2v_{2}, its asymptotic formula matches the amplitude Av2A_{v_{2}} within 10%\sim 10\% relative error for larger spins j100j\geq 100. This analysis also highlights the optimization achieved with the tensor algorithms in exploring such examples comprehensively, providing insights into the quantum geometric behavior for different types of vertex configurations across varying spin regimes.

Refer to caption
Refer to caption
Figure 6: Left panel: The rescaled coherent vertex amplitude for a degenerate vector geometry compared to its asymptotic formula. Right panel: A comparison of coherent amplitudes of a degenerate vector geometry to that of a Regge geometry (the equilateral vertex). Both coherent vertex amplitudes have same power-law scaling but differ in their oscillating characteristics.

Lastly, we consider an example of a degenerate vector geometry, also with equal boundary spins jab=jj_{ab}=j and its (rotated or twisted spike) boundary unit normal vectors, 𝐧={𝐧ab}1a<b5{\bf n}=\{{\bf n}_{ab}\}_{1\leq a<b\leq 5} chosen to be

𝐧={(1,0,0),(0,0,1),(0,0,1),(1,0,0),(0,0,1),(0,0,1),(1,0,0),(0,1,0),(0,1,0),(0,1,0)}.{\bf n}=\big{\{}(1,0,0),(0,0,1),(0,0,-1),(-1,0,0),(0,0,-1),(0,0,1),(1,0,0),(0,1,0),(0,-1,0),(0,1,0)\big{\}}.

Geometrically, these unit normal vectors form the edge vectors of a (one-sided) open unit cube111111Vector geometries can generically be parametrized by the deformations of a three dimensional cube [56]. in 3\mathbb{R}^{3}. Each face of the cube corresponds to the normal vectors of a tetrahedron. This example is degenerate since, for each of the tetrahedron, the face normal vectors form a two-dimensional subspace, resulting in a vanishing volume.

The coherent amplitude for this degenerate vector geometry example is shown in the left plot in Figure 6. The vertex amplitude shows a power-law scaling behavior j6j^{-6} similar to the previous equilateral vertex and vector geometry configurations. However, unlike those examples, this amplitude shows no oscillations with respect to the spins. The right panel of Figure 6 compares a logarithmic plot of the coherent amplitude of degenerate vertex configuration with that of the equilateral configuration, showing the different oscillation patterns between the amplitudes. For this degenerate vertex example, the asymptotic formula closely matches its coherent amplitude even at low spin values, with approximately 3%\sim 3\% relative error observed at spin j=25j=25.

VI Ideas to Go Beyond Boundary Vertices

There are two key reasons underpinning the optimization obtained in the tensor network algorithms. First, defining the 5-valent tensor of {15j}\{{15j}\}-symbols is computationally costly and requires substantial storage, as its size grows exponentially with the range of its index labels (assuming for simplicity that all labels have the same range). Second, the contraction of the 5-valent tensor with coherent vectors of boundary states, while also computationally expensive, is relatively sub-leading compared to the initial evaluation of the {15j}\{{15j}\}-tensor. For a single vertex with coherent boundary data, we circumvent these issues by rewriting the contractions as a matrix trace, thereby avoiding the definition of the {15j}\{{15j}\}-tensor entirely. Consequently, when expressing calculations as tensor network contractions, it is advantageous to use low-valent tensors whenever possible (at best at all times), as low-valent tensors are less costly to define and store and their contractions are computationally faster.

Spin foam amplitudes associated with a 2-complex, whether consisting of a single vertex or multiple vertices, can be expressed as a sum over tensor networks, where each vertex is represented by a 5-valent tensor of {15j}\{{15j}\}-symbols. This raises the question of whether our algorithm can be extended to handle multiple vertices, particularly those entirely within the bulk, where all intertwiners are contracted with other vertices. As discussed in Section IV.3, the intertwiner labels that will be contracted later must be explicitly retained; if all five labels must be retained, we essentially revert to defining a 5-valent tensor. Thus, the tensor network method does not appear to be readily applicable to generic bulk vertices. Moreover, if two bulk vertices are contracted along a common edge, it results in an 8-valent tensor, as explicit dependence on the remaining indices to be contracted later must be kept. Such a contraction is costly and might thus limit, both in time and memory, the ability to run these simulations. In the following, we explore different scenarios involving bulk vertices, analyzing where the tensor network algorithms can or cannot be effectively applied to compute spin foam amplitudes.

Importantly, when evaluating spin foam amplitude associated with a 2-complex with multiple vertices, it is more beneficial to perform tensor contractions ‘inwards’: that is, first contract the tensors associated with boundary vertices121212For example, the partial-coherent vertex amplitudes and then contract with the bulk vertex amplitudes. This procedure can effectively reduce the number of overall contractions to be performed in the full amplitude. If a bulk vertex is connected with boundary vertices which are themselves disconnected, then by contracting ‘inwards’, one can avoid computing the {15j}\{{15j}\}-tensor. Consider, for example, a bulk vertex connected with five 1-valent partial-coherent vertex (see Figure 7). In this case, each partial-coherent boundary vertex amplitude can be contracted separately, resulting in a 1-valent tensor or a vector. The resulting vectors can be contracted with the bulk vertex using the same techniques for the coherent amplitude (IV.1). Hence, in this scenario, the 5-valent {15j}\{{15j}\}-tensor can be avoided in the computation of the full amplitude using the methods in Algorithm IV.1. On the other hand, if the boundary vertices linked to a bulk vertex are connected amongst each other (see Figure 7), then the Algorithm IV.1 cannot be directly employed to evaluate the full amplitude using matrix contractions.

Refer to caption
Refer to caption
Figure 7: 2-complexes with a bulk vertex. On the left: The boundary vertices linked to the bulk vertex are disconnected. On the right: The bulk vertex is linked to connected boundary vertices.

Still, low-valent tensors can help optimize the contractions between {15j}\{{15j}\}-tensors. The {15j}\{{15j}\}-symbol is expressed as a sum of products of several {6j}\{{6j}\}-symbols, as shown in Equation (2). We can leverage this structure by reorganizing the summations to contract the intertwiner labels first, before summing over the virtual spin label. For example, consider an intertwiner label i2i_{2} shared by two {6j}\{{6j}\}-symbols; these can be combined into a 3-valent tensor Ti1i2i3T_{i_{1}i_{2}i_{3}} (same as the notation in Equation (12)), with additional indices i1i_{1} and i3i_{3}. Thus, the contraction of the intertwiner index i2i_{2} can be performed locally using this 3-valent tensor rather than the full 5-valent {15j}\{{15j}\}-tensor. For instance, when contracting the intertwiner label i2i_{2} between two bulk vertices, we can use two such 3-valent tensors, resulting in a 4-valent tensor:

i2Ti1i2i3Ti1i2i3=T~i1i1i3i3.\sum_{i_{2}}T_{i_{1}i_{2}i_{3}}\,T_{i_{1}^{\prime}i_{2}i_{3}^{\prime}}={\tilde{T}}_{i_{1}i_{1}^{\prime}i_{3}i_{3}^{\prime}}.

The remaining open indices are then contracted with other tensors involved in the amplitude computation. Additionally, the sum over bulk and virtual spins are performed later. In essence, by reorganizing the summations, the contractions of the intertwiner labels can be performed locally using lower-valent tensors rather than the {15j}\{{15j}\}-tensors. This method is therefore, expected to scale better and be more computationally efficient as the dimensions of the intertwiner labels grow. However, the additional sums over the bulk and virtual spins could potentially increase the computational costs. Therefore, further analysis of these aspects is necessary, which we defer to future research.

To sum up, applying these tensor network ideas to generic bulk vertices is possible but not straightforward and will most likely be numerically costly for a large 2-complex. The methods depend a lot on the structure of the connected components of the spin foam amplitude of the associated 2-complex in order to optimize the computation of the corresponding amplitude. For large complexes, it may be necessary to complement our methods with Monte Carlo methods, such as importance sampling of coherent boundary intertwiners [15] and random sampling of the bulk spins [14], to achieve faster convergent results.

VII Discussion and Conclusion

In this paper, we have conducted a detailed analysis of numerical computations of coherent amplitudes for the topological SU(2) BF and the Lorentzian EPRL spin foam models. Given a 2-complex Δ\Delta^{\!*}, the coherent amplitude associated with Δ\Delta^{\!*} can be expressed as a contraction of a tensor network involving invariant functions derived from the specifics of the corresponding spin foam model. By introducing tensor network algorithms, we demonstrated significant improvements in the efficiency of computing these amplitudes. Our approach reorganizes the computations into sums of contractions of low-valence tensors, particularly matrices, which substantially reduces both computational complexity and memory usage. This reorganization enables scaling up the computations to include large representation labels, which were previously computationally infeasible.

The primary goal was to address the computational inefficiencies associated with traditional methods that rely on evaluating high-valence tensors, such as the 5-valent {15j}\{{15j}\}-tensor, for computing SU(2) BF or Lorentzian EPRL spin foam amplitudes. Evaluating a 5-valent {15j}\{{15j}\}-tensor is resource-intensive in terms of both time and memory, especially for large representation labels, due to the exponential growth in its size. For this reason, traditional numerical methods are limited to relatively small values for the spin representation labels. The concept of tensor network methods, which evaluate large tensors as sequences of contractions between smaller tensors, provides a valuable alternative for optimizing spin foam computations. For computing coherent vertex amplitudes, we have introduced tensor network algorithms that employ matrix contractions. These are less costly to define and store, and their contractions are computationally faster. Thus, these algorithms significantly improve the computation of spin foam amplitudes, allowing us to explore higher spin regimes.

The results and benchmarks, focusing on SU(2) BF vertex amplitudes, highlight significant improvements achieved through tensor network algorithms. By restructuring the amplitudes into matrix contractions, the tensor network approach not only scales more efficiently but also renders the computation of spin foam coherent amplitudes feasible on standard consumer hardware. Using these algorithms, we conducted experiments across a wide range of spins for SU(2) BF coherent amplitudes of various vertex configurations. Vertex configurations characterized by boundary data in Regge geometries and vector geometries exhibit similar scaling behavior but differ in their oscillation patterns. The distinct oscillation patterns influence the spin regime where the asymptotic formula remains applicable: vector geometries ‘close’ to a Regge boundary show rapid oscillations, extending into higher spin regimes before matching their asymptotic formula, whereas vector geometries ‘not close’ to a Regge boundary exhibit fewer oscillations, reaching their asymptotic limit at smaller spin values.

The tensor network methods are also applicable to spin foam computations beyond vertex amplitudes. For a generic 2-complex with multiple vertices, the corresponding amplitude is computed via tensor contractions between amplitudes assigned to the vertices and edges of the 2-complex. Boundary vertices are comprised of a mixture of bulk edges and boundary edges, therefore, they are assigned ‘partial-coherent vertex’ amplitudes. The tensor network methods simplify computations of these partial-coherent vertex amplitudes using matrix contractions. In certain cases, computations involving bulk vertices can also be simplified with these methods.

The results presented in this paper open several avenues for future research and development. A direct implementation of these tensor network methods for other spin foam models such as the EPRL model in Julia language is a promising next step. Additionally, applying these methods to more complex scenarios, such as amplitudes for many-vertex configurations, will expand the applicability and robustness of these computational techniques. Future efforts will focus on further optimization, including the implementation of parallelization and GPU computing into the existing algorithms. As part of the ongoing efforts, the tensor network algorithms for the SU(2) BF model have been made available on the GitHub repository [36] for continued exploration and verification. Future work includes the potential development of these algorithms into a dedicated package for easy access.

In conclusion, the efficient tensor network algorithms developed here represent a significant step forward in the numerical computation of spin foam models. The techniques enhance the feasibility of practical evaluations and establish a solid foundation for future advancements in the numerical study of quantum gravity.

Acknowledgements.
This project is supported by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) project number 422809950. SKA acknowledges the support of the Alexander von Humboldt Foundation in the early stages of this project.

Appendix A Geometries Associated with Boundary Data for a Vertex

This appendix explores the geometries related to the boundary data of a vertex within a 2-complex, combinatorially dual to a 4-simplex. Each vertex is connected by edges labeled eae_{a} where a{1,2,,5}a\in\{1,2,\dots,5\}. The coherent boundary data for a vertex is described by a set of spins and unit normal vectors, denoted as {jab,𝐧ab}1a,b5\{j_{ab},\mathbf{n}_{ab}\}_{1\leq a,b\leq 5}, with jab=jbaj_{ab}=j_{ba} and aba\neq b. This set includes 10 spins corresponding to the triangle areas of the 4-simplex and 20 unit normal vectors in S2S^{2} representing the face normals of these triangles within each tetrahedron. Generically, such a boundary data is described by a 10+2(20)=5010+2(20)=50 dimensional parameter space. Twisted geometries represent a sub-class of the boundary data described by gluing together classical tetrahedra along their faces [57, 58]. However, not every twisted geometry correspond to a geometric 4-simplex that can be embedded in 4\mathbb{R}^{4}.

Below, we outline specific subsets of twisted geometries— vector geometries and Regge geometries —that satisfy the critical point equations of the coherent vertex amplitude (refer to Appendix B). Examples of vertices with these boundary data have been considered in the results Section V for computing their coherent vertex amplitudes as matrix contractions.

Vector geometries: Vector geometries are a subset of twisted geometries characterized by the following properties:

  1. 1.

    Each pair of unit normal vectors 𝐧ab\mathbf{n}_{ab} and 𝐧ba\mathbf{n}_{ba} can be rotated into each other by an SO(3) group element such that the rotated vectors are anti-parallel: 𝐧ab=𝐧ba\mathbf{n}^{\prime}_{ab}=-\mathbf{n}^{\prime}_{ba} for all a<ba<b.

  2. 2.

    The data associated with each edge satisfies the closure conditions:

    bajab𝐧ab=𝟎,a{1,,5},\sum_{b\neq a}j_{ab}\mathbf{n}_{ab}=\mathbf{0},\quad\forall a\in\{1,\dots,5\}, (27)

    such that via Minkowki’s theorem that each edge is dual to a well-defined tetrahedron in 3\mathbb{R}^{3}.

The anti-parallel conditions reduce the normal vectors to 1010 unit vectors while the closure conditions introduce a total of 15 constraints. Hence, a vector geometry is described by a 15 dimensional parameter space. Various geometric interpretations of vector geometries have been discussed in the references [49, 56].

Vector geometries can be parameterized by the ten spins {jab}1a<b5\{j_{ab}\}_{1\leq a<b\leq 5}, representing areas of the dual faces, and five additional variables {φα}α=15\color[rgb]{0,0,1}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,1}\{\varphi_{\alpha}\}_{\alpha=1}^{5}. These extra five variables are defined through specific ‘inner products’ variables, chosen to be:

φ1=𝐧12𝐧13,φ2=𝐧12𝐧14,φ3=𝐧12𝐧23,φ4=𝐧12𝐧24,φ5=𝐧12𝐧34\varphi_{1}=\mathbf{n}_{12}\cdot\mathbf{n}_{13},\quad\varphi_{2}=\mathbf{n}_{12}\cdot\mathbf{n}_{14},\quad\varphi_{3}=\mathbf{n}_{12}\cdot\mathbf{n}_{23},\quad\varphi_{4}=\mathbf{n}_{12}\cdot\mathbf{n}_{24},\quad\varphi_{5}=\mathbf{n}_{12}\cdot\mathbf{n}_{34} (28)

where 1φi1-1\leq\varphi_{i}\leq 1 for all ii. The pairs {φ1,φ2}\{\varphi_{1},\varphi_{2}\} and {φ3,φ4}\{\varphi_{3},\varphi_{4}\} represent the (cosine of) dihedral angles for two adjacent edges of the tetrahedra dual to edges e1e_{1} and e2e_{2}, respectively. Any two tetrahedra and their adjacent dihedral angles can be chosen for parametrization. The inner product φ5\varphi_{5} does not correspond to a dihedral angle of a tetrahedron, since the normal vectors 𝐧12\mathbf{n}_{12} and 𝐧34\mathbf{n}_{34} are associated with faces from different tetrahedra. Additionally, the spins jabj_{ab} can be expressed as inner products, satisfying jab2=𝐮ab𝐮abj_{ab}^{2}={\bf u}_{ab}\cdot{\bf u}_{ab}, where 𝐮ab=jab𝐧ab{\bf u}_{ab}=j_{ab}{\bf n}_{ab} is a non-normalized vector. In summary, the set of fifteen inner product variables, including the areas or spins jabj_{ab}, uniquely determine boundary data satisfying the anti-parallel and closure conditions, and hence defines a vector geometry.

Consider, as an example, a vector geometry with data corresponding to equal spins, i.e., jab=jj_{ab}=j for all a,ba,b. Furthermore, the two tetrahedra dual to the edges e1,e2e_{1},e_{2} are chosen to be equilateral, thus their inner products satisfy {φ1,φ2}={13,13}\{\varphi_{1},\varphi_{2}\}=\{-\tfrac{1}{3},-\tfrac{1}{3}\} and {φ3,φ4}={13,13}\{\varphi_{3},\varphi_{4}\}=\{-\tfrac{1}{3},-\tfrac{1}{3}\}. The last variable φ5\varphi_{5} remains arbitrary. Hence, for this example, the boundary data is parametrized by the two parameters {j,φ5}\{j,\varphi_{5}\}. In Section V, we have considered coherent amplitude for vertices v1v_{1} and v2v_{2}, having this vector geometries example with equal spins chosen for their boundary data, where φ5=1/2\varphi_{5}=1/2 for vertex v1v_{1} and φ5=3/5\varphi_{5}=3/5 for vertex v2v_{2}.

Regge geometries: Regge geometries are a subset of vector geometries, and hence satisfy the anti-parallel and closure conditions described above. In addition, the boundary data are such that they correspond to a Euclidean 4-simplex in 4\mathbb{R}^{4} with a well-defined length geometry with 10 degrees of freedom. However, specifying the 10 spins corresponding to areas does not uniquely determine a geometric 4-simplex: see [59] for an extensive study on inverting areas and lengths of a 4-simplex. The degrees of freedom for a Regge geometry can be parametrized by the edge lengths {vv}1v<v5,\{\ell_{vv^{\prime}}\}_{1\leq v<v^{\prime}\leq 5}, of the corresponding 4-simplex, where v,vv,v^{\prime} label the vertices of the 4-simplex. This set of edge lengths ensures a unique 4-simplex geometric configuration.

From the edge lengths, other geometric quantities such as dihedral angles can be derived. Given the edge lengths of a 4-simplex, the boundary data {jab,𝐧ab}1a,b5\{j_{ab},\mathbf{n}_{ab}\}_{1\leq a,b\leq 5} associated with the corresponding 2-complex vertex can be determined. Conversely, a set of spins and unit normal vectors correspond to a boundary data for a geometric 4-simplex if the edge lengths of the 4-simplex can uniquely be determined from the boundary data.

Consider, for example, an equilateral 4-simplex with its edge lengths given by =j(4/3)\ell=j(\sqrt{4}/3). This equilateral configuration corresponds to the vector geometry with equal areas jj and inner product variables given by {φ1,φ2,φ3,φ4,φ5}={13,13,13,13,53}\{\varphi_{1},\varphi_{2},\varphi_{3},\varphi_{4},\varphi_{5}\}=\{-\tfrac{1}{3},-\tfrac{1}{3},-\tfrac{1}{3},-\tfrac{1}{3},\tfrac{\sqrt{5}}{3}\}. Results and benchmarks for the coherent equilateral vertex amplitude are discussed in Section V.1.

Appendix B Asymptotic Formulae of SU(2) Coherent Vertex Amplitudes

The starting point of the asymptotic analysis for the SU(2) vertex amplitude is to rewrite the integral form of the coherent amplitude (3) as

Av(j,𝐧)=(1)χSU(2)(a=15dGa)δ(G1)exp(S(j,𝐧))A_{v}(j,{\bf n})=(-1)^{\chi}\int_{\rm SU(2)}\left(\prod_{a=1}^{5}{\rm d}G_{a}\right)\,\delta(G_{1})\,\exp{\left(S(j,{\bf n})\right)} (29)

where

S(j,𝐧)=a<b2jabln𝐧ba|GaGb𝐧baS(j,{\bf n})=\sum_{a<b}2j_{ab}\,\ln\langle-{\bf n}_{ba}|G_{a}^{\dagger}\,G_{b}\,|{\bf n}_{ba}\rangle (30)

is the associated action for the asymptotic problem. By scaling all the spins equally, i.e., jabλjabj_{ab}\rightarrow\lambda j_{ab}, the asymptotic limit can be investigated in the limit λ\lambda\rightarrow\infty, where λ\lambda takes values in positive integers. The critical point equations obtained by varying the action with respect to the group elements given by

Ga𝐧ab=Gb𝐧baab,andbjab𝐧ba|σIGaGb|𝐧ba𝐧ba|GaGb|𝐧ba=𝟎,aG_{a}{\bf n}_{ab}=-G_{b}{\bf n}_{ba}\,\,\,\,\,\forall\,ab,\quad\text{and}\quad\quad\sum_{b}j_{ab}\frac{\langle-{\bf n}_{ba}|\sigma_{I}\,G_{a}^{\dagger}\,G_{b}\,|{\bf n}_{ba}\rangle}{\langle-{\bf n}_{ba}|G_{a}^{\dagger}\,G_{b}\,|{\bf n}_{ba}\rangle}={\bf 0},\,\,\,\,\,\forall\,a (31)

where σI,I{1,2,3}\sigma_{I},I\in\{1,2,3\} are the Pauli matrices. These equations imply gluing conditions for the triangles and closure conditions (27) for each tetrahedron respectively. Therefore, the existence of solutions to the critical point equations depends on the nature of the coherent boundary data of the vertex.

The asymptotic analysis for various boundary data has extensively been studied in [55, 38, 49]. Here, we only state their results. If the boundary data associated with the vertex correspond to a vector geometry, then the critical point equations in (31) are satisfied. If the vector geometry data is non-geometric (does not correspond to a geometric 4-simplex), then there is at most one solution (up to equivalence) to the critical point equations, given by Ga=±𝟙,aG^{*}_{a}=\pm\mathds{1},\,\forall a. The asymptotic formula for these non-geometric data is given by

Av(λj,𝐧)(1)χ(2πλ)6(24π2)41detH,A_{v}(\lambda j,{\bf n})\,\,\sim\,\,(-1)^{\chi}\,\left(\frac{2\pi}{\lambda}\right)^{6}\left(\frac{2}{4\pi^{2}}\right)^{4}\frac{1}{\sqrt{\det H}},\quad (32)

where HH is the Hessian of the action (30) evaluated at the critical point. The asymptotic formulae compared to the coherent amplitudes for several vector geometry configurations are discussed in Section V.2.

Refer to caption
Refer to caption
Figure 8: The left panel displays the equilateral coherent vertex amplitude overlapped with its asymptotic formula. The right panel depicts the logarithmic plot of the relative error ε\varepsilon as a function of spin jj.

On the other hand, if the boundary data for a vertex corresponds to a well-defined 4-simplex in 4\mathbb{R}^{4}, i.e., a Regge data, then the critical points equations have two inequivalent solutions. This leads to an oscillatory asymptotic behavior given by the formula

Av(λj,𝐧)(1)χ(2πλ)6(24π2)4(e+ıSR(λj,θ)detH++eıSR(λj,θ)detH),A_{v}(\lambda j,{\bf n})\,\,\sim\,\,(-1)^{\chi}\,\left(\frac{2\pi}{\lambda}\right)^{6}\left(\frac{2}{4\pi^{2}}\right)^{4}\left(\frac{e^{+\i\,S_{R}(\lambda j,\theta)}}{\sqrt{\det H_{+}}}+\frac{e^{-\i\,S_{R}(\lambda j,\theta)}}{\sqrt{\det H_{-}}}\right),\quad (33)

where H±H_{\pm} are the Hessians of the action evaluated at the two solutions. SR(j,θ):=fjfθfS_{R}(j,\theta):=\sum_{f}j_{f}\theta_{f} is the boundary Regge action for the 4-simplex which is dual to the vertex, where θf\theta_{f} is the external dihedral angle corresponding to the face ff dual to a triangle. For all other boundary data that are neither non-degenerate nor a vector geometry, the amplitude is exponentially suppressed for large boundary scale λ\lambda.

The coherent amplitude for the equilateral vertex is compared to its asymptotic formula in Figure 8. The asymptotic formula matches the coherent amplitude well for relatively small spins. The right panel of Figure 8 shows a log plot for the relative error ε=|(AvAvasy)/Av|\varepsilon=|(A_{v}-A_{v}^{\text{asy}})/A_{v}| between the asymptotic formula and the equilateral vertex amplitude. At spin j=20j=20, the relative error is approximately 10%, and it further decreases to below 1% relative error for spins j110j\geq 110.

References