The Selective G𝐺Gitalic_G-Bispectrum and its Inversion: Applications to G𝐺Gitalic_G-Invariant Networks

Simon Mataigne
ICTEAM
UCLouvain
Louvain-la-Neuve, Belgium
[email protected]
&Johan Mathe
Atmo
San Francisco, CA 94103
[email protected]
Sophia Sanborn
Science
San Francisco, CA
[email protected]
&Christopher Hillar
Awecom, Inc.
San Francisco, CA
[email protected]
&Nina Miolane
UC Santa Barbara
Santa Barbara, CA 93106
[email protected]
Simon Mataigne is a Research Fellow of the Fonds de la Recherche Scientifique - FNRS.
Abstract

An important problem in signal processing and deep learning is to achieve invariance to nuisance factors not relevant for the task. Since many of these factors are describable as the action of a group G𝐺Gitalic_G (e.g. rotations, translations, scalings), we want methods to be G𝐺Gitalic_G-invariant. The G𝐺Gitalic_G-Bispectrum extracts every characteristic of a given signal up to group action: for example, the shape of an object in an image, but not its orientation. Consequently, the G𝐺Gitalic_G-Bispectrum has been incorporated into deep neural network architectures as a computational primitive for G𝐺Gitalic_G-invariance—akin to a pooling mechanism, but with greater selectivity and robustness. However, the computational cost of the G𝐺Gitalic_G-Bispectrum (𝒪(|G|2)𝒪superscript𝐺2\mathcal{O}(|G|^{2})caligraphic_O ( | italic_G | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ), with |G|𝐺|G|| italic_G | the size of the group) has limited its widespread adoption. Here, we show that the G𝐺Gitalic_G-Bispectrum computation contains redundancies that can be reduced into a selective G𝐺Gitalic_G-Bispectrum with 𝒪(|G|)𝒪𝐺\mathcal{O}(|G|)caligraphic_O ( | italic_G | ) complexity. We prove desirable mathematical properties of the selective G𝐺Gitalic_G-Bispectrum and demonstrate how its integration in neural networks enhances accuracy and robustness compared to traditional approaches, while enjoying considerable speeds-up compared to the full G𝐺Gitalic_G-Bispectrum.

1 Introduction

The visual world is rich with symmetries. For example, the identity of an object is invariant to its position in the visual field; vision has translational symmetry. Group theory is the mathematics used to describe transformations, their actions on objects, and the object’s symmetry. As such, group theory has penetrated the fields of signal processing and deep learning alike. For example, the Fourier transform, pillar of signal processing, has been adapted to the G𝐺Gitalic_G-Fourier transform, with its spectrum decomposing a signal defined over a group into several frequencies. More recently, researchers have become interested in the properties of higher-order spectra such as the Bispectrum, and its generalization to signals over groups via the G𝐺Gitalic_G-Bispectrum.

G𝐺Gitalic_G-Bispectrum

The G𝐺Gitalic_G-Bispectrum is the Fourier transform of the G𝐺Gitalic_G-Triple Correlation (G𝐺Gitalic_G-TC). Historically, higher-order spectra like found initial applications in the context of classical signal processing as generalizations of the two-point autocorrelation [31, 3, 24]. The work of Kakarala [14] illuminated the relevance of the G𝐺Gitalic_G-Bispectrum for invariant theory, as it is the lowest-degree spectral invariant that is complete [30]. Since then, it has appeared in diverse settings such as vision science [34], machine learning [18, 19], and 3D modeling [17].

Limitations of the G𝐺Gitalic_G-Bispectrum for Deep Learning

The computational complexity of the G𝐺Gitalic_G-Bispectrum has severely limited the reach of its applications. The most salient example of this limitation is in machine learning and deep learning. Convolutional Neural Network (CNN) [21, 22] reflect and exploit the translational symmetry of the visual world. Group-Equivariant CNNs (G𝐺Gitalic_G-CNNs) [7, 20] do just this, with more general group-equivariant convolutions to exploit symmetries like rotational symmetries. In both cases, one typically wants to preserve transformations throughout the layers of a network (i.e., to be group-equivariant), and remove them only at the end when “canonicalizing” an image for classification (i.e., to be group-invariant). While the theory of equivariant layers has been thoroughly developed [8, 33], less attention has been paid to the theory of invariant layers [12]. This is where the G𝐺Gitalic_G-Bispectrum enters the picture, and where its computational cost has strongly limited its integration into deep learning.

Commonly, invariance in G𝐺Gitalic_G-CNNs is achieved by simply taking an average or maximum over the transformation group (Average or Max G𝐺Gitalic_G-Pooling, respectively). However, as noted by Sanborn & Miolane [27], this is a highly lossy operation removing information about the structure of the signal. While the max operation is indeed invariant (the max of an image is the same as the max of an image rotated by 90909090 degrees), it is excessively invariant: one could permute all of the pixels in the image and without changing the maximum, but with none of the same structure (see Figure 7). To address this, Sanborn & Miolane [27] used the G𝐺Gitalic_G-TC as a G𝐺Gitalic_G-invariant layer that is complete—that is, it removes group transformations with no loss of signal structure. This approach achieves demonstrable gains in accuracy and robustness [27], but it is computationally expensive.

Indeed, the space complexity of the G𝐺Gitalic_G-TC, i.e, its number of coefficients, scales as 𝒪(|G|2)𝒪superscript𝐺2\mathcal{O}(|G|^{2})caligraphic_O ( | italic_G | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ), where |G|𝐺|G|| italic_G | is the size of the group. As each coefficient demands for 𝒪(|G|)𝒪𝐺\mathcal{O}(|G|)caligraphic_O ( | italic_G | ) operations, the computational cost or the time complexity of the G𝐺Gitalic_G-TC is 𝒪(|G|3)𝒪superscript𝐺3\mathcal{O}(|G|^{3})caligraphic_O ( | italic_G | start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT ). An alternative would be to use the G𝐺Gitalic_G-Bispectrum as the pooling layer. However, both its space and time complexities are 𝒪(|G|2)𝒪superscript𝐺2\mathcal{O}(|G|^{2})caligraphic_O ( | italic_G | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ). By comparison, the Max G𝐺Gitalic_G-pooling layer features a 𝒪(|G|)𝒪𝐺\mathcal{O}(|G|)caligraphic_O ( | italic_G | ) computational cost and returns a scalar output. This raises the question of whether one can achieve complete invariance and adversarial robustness without sacrificing too much in terms of computational efficiency.

Contributions. In this work, we prove for the first time that we can significantly reduce the computational complexity of the G𝐺Gitalic_G-Bispectrum. This result has important implications for signal processing and deep learning on groups, for which the G𝐺Gitalic_G-Bispectrum is a foundational computational primitive. Our contributions are:

  • We provide a general algorithm that reduces the computational complexity of the G𝐺Gitalic_G-Bispectrum from 𝒪(|G|2)𝒪superscript𝐺2\mathcal{O}(|G|^{2})caligraphic_O ( | italic_G | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) to 𝒪(|G|)𝒪𝐺\mathcal{O}(|G|)caligraphic_O ( | italic_G | ) in space complexity and from 𝒪(|G|2)𝒪superscript𝐺2\mathcal{O}(|G|^{2})caligraphic_O ( | italic_G | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) to 𝒪(|G|log|G|)𝒪𝐺𝐺\mathcal{O}(|G|\log|G|)caligraphic_O ( | italic_G | roman_log | italic_G | ) in time complexity if an FFT is available on G𝐺Gitalic_G. We term it the selective G𝐺Gitalic_G-Bispectrum. The algorithm can be applied to any finite group.

  • We prove that the selective G𝐺Gitalic_G-Bispectrum is complete for the most important finite groups used in practice, i.e., all discrete commutative groups, the dihedral groups of any order, the octahedral and full octahedral group. This significantly extends the work of [10, 14, 26], who first showed this for some finite, commutative groups, where it was demonstrated that the G𝐺Gitalic_G-Bispectrum can be computed with only |G|𝐺|G|| italic_G | space complexity.

  • We use the selective G𝐺Gitalic_G-Bispectrum to propose a new G𝐺Gitalic_G-invariant layer that strikes a balance between robustness and efficiency. In particular, it is more expensive than the Max G𝐺Gitalic_G-pooling, but cheaper than the G𝐺Gitalic_G-TC pooling.It is also cheaper than the full G𝐺Gitalic_G-bispectral pooling of 𝒪(|G|2)𝒪superscript𝐺2\mathcal{O}(|G|^{2})caligraphic_O ( | italic_G | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) time and 𝒪(|G|2)𝒪superscript𝐺2\mathcal{O}(|G|^{2})caligraphic_O ( | italic_G | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) space complexity. The selective G𝐺Gitalic_G-Bispectrum is more robust than the max G𝐺Gitalic_G-pooling, and almost as robust as the G𝐺Gitalic_G-TC.

  • We run extensive experiments on the MNIST [23] and EMNIST [6] datasets to evaluate how each invariance layer (Max G𝐺Gitalic_G-pooling, G𝐺Gitalic_G-TC, selective G𝐺Gitalic_G-Bispectrum) impacts accuracy and speed on classification tasks. We achieve the expected results: Our layer is faster than the G𝐺Gitalic_G-TC and full G𝐺Gitalic_G-Bispectrum and more accurate than Max G𝐺Gitalic_G-pooling.

  • We present several findings important to the design of invariant layers to guide further advances in the field of geometric deep learning. In particular, we show that the accuracy and speed advantages of the selective G𝐺Gitalic_G-Bispectrum is most striking for G𝐺Gitalic_G-CNNs with low number of convolutional filters. Conversely, increasing the number of filters in the G𝐺Gitalic_G-Convolutions allows the Max G𝐺Gitalic_G-Pooling to catch up on the accuracy.This demonstrates that the G𝐺Gitalic_G-bispectral pooling will be particularly interesting for neural networks operating under a smaller parameter budget.

We hope that the proposed reduction of the G𝐺Gitalic_G-Bispectrum complexity will further open areas of research in signal processing on groups, that were previously prohibited due to the high complexity of the operation.

2 Background: G𝐺Gitalic_G-Triple Correlation and G𝐺Gitalic_G-Bispectrum

The proposed selective G𝐺Gitalic_G-Bispectrum operation is closely related to two other foundational operations on signals defined on groups: the G𝐺Gitalic_G-Triple Correlation and the full G𝐺Gitalic_G-Bispectrum, which we introduce here. The background on group theory, including the definitions of groups, group actions, equivariance and invariance, is presented in Appendix A.

The G𝐺Gitalic_G-Triple Correlation

Given a real signal defined on a finite group Θ:G:Θmaps-to𝐺\Theta:G\mapsto\mathbb{R}roman_Θ : italic_G ↦ blackboard_R, the G𝐺Gitalic_G-Triple Correlation (G𝐺Gitalic_G-TC) [14] is the lowest order polynomial that is complete, i.e., that conserves all of the information of the signal ΘΘ\Thetaroman_Θ, up to group action by G𝐺Gitalic_G.

Definition 2.1.

The G𝐺Gitalic_G-Triple Correlation of a real signal Θ:G:Θmaps-to𝐺\Theta:G\mapsto\mathbb{R}roman_Θ : italic_G ↦ blackboard_R is given by

T(Θ)g1,g2:=gGΘ(g)Θ(gg1)Θ(gg2) for all g1,g2G.formulae-sequenceassign𝑇subscriptΘsubscript𝑔1subscript𝑔2subscript𝑔𝐺Θ𝑔Θ𝑔subscript𝑔1Θ𝑔subscript𝑔2 for all subscript𝑔1subscript𝑔2𝐺T(\Theta)_{g_{1},g_{2}}:=\sum_{g\in G}\Theta(g)\Theta(g\cdot g_{1})\Theta(g% \cdot g_{2})\text{ for all }g_{1},g_{2}\in G.italic_T ( roman_Θ ) start_POSTSUBSCRIPT italic_g start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_g start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT := ∑ start_POSTSUBSCRIPT italic_g ∈ italic_G end_POSTSUBSCRIPT roman_Θ ( italic_g ) roman_Θ ( italic_g ⋅ italic_g start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) roman_Θ ( italic_g ⋅ italic_g start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) for all italic_g start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_g start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∈ italic_G . (1)

The original triple-correlation was introduced for the classical framework of translations of a one-dimensional signal, i.e., where X=𝑋X=\mathbb{Z}italic_X = blackboard_Z and (G,)=(,+)𝐺(G,\ \cdot)=(\mathbb{Z},+)( italic_G , ⋅ ) = ( blackboard_Z , + ). The G𝐺Gitalic_G-triple correlation from Definition 2.1 extends the original definition to any finite group (G,)𝐺(G,\ \cdot)( italic_G , ⋅ ). In our setting, the signal Θ:G:Θmaps-to𝐺\Theta:G\mapsto\mathbb{R}roman_Θ : italic_G ↦ blackboard_R will be obtained after the G𝐺Gitalic_G-convolution of a function f:Xc:𝑓maps-to𝑋superscript𝑐f:X\mapsto\mathbb{R}^{c}italic_f : italic_X ↦ blackboard_R start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT, representing a continuous image with c𝑐citalic_c channels, with a filter ϕ:Xc:italic-ϕmaps-to𝑋superscript𝑐\phi:X\mapsto\mathbb{R}^{c}italic_ϕ : italic_X ↦ blackboard_R start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT, and the G𝐺Gitalic_G-TC will be applied channel-by-channel. Importantly, the G𝐺Gitalic_G-TC layer has computational complexity 𝒪(|G|3)𝒪superscript𝐺3\mathcal{O}(|G|^{3})caligraphic_O ( | italic_G | start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT ) and outputs 𝒪(|G|2)𝒪superscript𝐺2\mathcal{O}(|G|^{2})caligraphic_O ( | italic_G | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) coefficients.

The G𝐺Gitalic_G-Bispectrum

The G𝐺Gitalic_G-TC operation has a Fourier equivalent: the G𝐺Gitalic_G-Bispectrum. Indeed, the definition of the Discrete Fourier Transform (DFT) can be extended to any finite group (see, e.g., [9]), as recalled below.

Definition 2.2.

Given a set of unitary representatives (Def. A.2) of the equivalence classes of irreps ρi:GGL(Vi):subscript𝜌𝑖maps-to𝐺GLsubscript𝑉𝑖\rho_{i}:G\mapsto\mathrm{GL}(V_{i})italic_ρ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT : italic_G ↦ roman_GL ( italic_V start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) (Def. A.6), the G𝐺Gitalic_G-Fourier Transform on a finite group G𝐺Gitalic_G of a signal Θ:G:Θmaps-to𝐺\Theta:G\mapsto\mathbb{R}roman_Θ : italic_G ↦ blackboard_R is defined as

(Θ)ρi:=gGΘ(g)ρi(g),assignsubscriptΘsubscript𝜌𝑖subscript𝑔𝐺Θ𝑔subscript𝜌𝑖superscript𝑔\mathcal{F}(\Theta)_{\rho_{i}}:=\sum_{g\in G}\Theta(g)\rho_{i}(g)^{\dagger},caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT := ∑ start_POSTSUBSCRIPT italic_g ∈ italic_G end_POSTSUBSCRIPT roman_Θ ( italic_g ) italic_ρ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_g ) start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT , (2)

where ρi(g)subscript𝜌𝑖superscript𝑔\rho_{i}(g)^{\dagger}italic_ρ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_g ) start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT refers to the conjugate transpose of the matrix ρi(g)subscript𝜌𝑖𝑔\rho_{i}(g)italic_ρ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_g ) (or simply transpose if ρisubscript𝜌𝑖\rho_{i}italic_ρ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is real-valued).

The G𝐺Gitalic_G-Bispectrum β(Θ)𝛽Θ\beta(\Theta)italic_β ( roman_Θ ) is defined as (T(Θ))𝑇Θ\mathcal{F}(T(\Theta))caligraphic_F ( italic_T ( roman_Θ ) ), with \mathcal{F}caligraphic_F evaluated over the group G×G𝐺𝐺G\times Gitalic_G × italic_G. Kakarala [14] proposed a closed-form expression for the G𝐺Gitalic_G-Bispectrum β(Θ)𝛽Θ\beta(\Theta)italic_β ( roman_Θ ) directly in terms of (Θ)Θ\mathcal{F}(\Theta)caligraphic_F ( roman_Θ ). We recall it in Theorem 2.3.

Theorem 2.3.

[16] The G𝐺Gitalic_G-Bispectrum of a signal Θ:G:Θmaps-to𝐺\Theta:G\mapsto\mathbb{R}roman_Θ : italic_G ↦ blackboard_R, β(Θ)𝛽Θ\beta(\Theta)italic_β ( roman_Θ ), is given by:

β(Θ)ρ1,ρ2=[(Θ)ρ1(Θ)ρ2]Cρ1,ρ2[ρρ1ρ2(Θ)ρ]Cρ1,ρ2,𝛽subscriptΘsubscript𝜌1subscript𝜌2delimited-[]tensor-productsubscriptΘsubscript𝜌1subscriptΘsubscript𝜌2subscript𝐶subscript𝜌1subscript𝜌2delimited-[]subscriptdirect-sum𝜌tensor-productsubscript𝜌1subscript𝜌2superscriptsubscriptΘ𝜌superscriptsubscript𝐶subscript𝜌1subscript𝜌2\beta(\Theta)_{\rho_{1},\rho_{2}}=\left[\mathcal{F}(\Theta)_{\rho_{1}}\otimes% \mathcal{F}(\Theta)_{\rho_{2}}\right]C_{\rho_{1},\rho_{2}}\left[\bigoplus_{% \rho\in\rho_{1}\otimes\rho_{2}}\mathcal{F}(\Theta)_{\rho}^{\dagger}\right]C_{% \rho_{1},\rho_{2}}^{\dagger},italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT = [ caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ⊗ caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ] italic_C start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT [ ⨁ start_POSTSUBSCRIPT italic_ρ ∈ italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT ] italic_C start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT ,

where Cρ1,ρ2subscript𝐶subscript𝜌1subscript𝜌2C_{\rho_{1},\rho_{2}}italic_C start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT is a unitary matrix called the Clebsch-Gordan matrix, whose definition is recalled in Appendix A. For each pair ρ1,ρ2subscript𝜌1subscript𝜌2\rho_{1},\rho_{2}italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, the matrix β(Θ)ρ1,ρ2𝛽subscriptΘsubscript𝜌1subscript𝜌2\beta(\Theta)_{\rho_{1},\rho_{2}}italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT is called a G𝐺Gitalic_G-bispectral coefficient.

For commutative groups, Theorem 2.3 simplifies to a more compact expression, recalled in Theorem A.12. However, both the space and time complexity of the G𝐺Gitalic_G-Bispectrum remain O(|G|2)𝑂superscript𝐺2O(|G|^{2})italic_O ( | italic_G | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ).

To the authors’ best knowledge, there is no generic analytical formula for computing Cρ1,ρ2subscript𝐶subscript𝜌1subscript𝜌2C_{\rho_{1},\rho_{2}}italic_C start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT for an arbitrary group G𝐺Gitalic_G. However, there exist formulas for specific classes of groups (see Appendix E.2). Additionally, there exist packages for computing these for many groups using packages such as escnn [4].

Complete G𝐺Gitalic_G-Invariants

The G𝐺Gitalic_G-TC and the G𝐺Gitalic_G-Bispectrum are desirable computational primitives for signal processing and deep learning because they are complete G𝐺Gitalic_G-invariants (for generic data Θ,Θ~Θ~Θ\Theta,\widetilde{\Theta}roman_Θ , over~ start_ARG roman_Θ end_ARG). Indeed, this completeness property make them very interesting for building invariance layers in G𝐺Gitalic_G-CNNs, as they are selectively invariant. We define complete G𝐺Gitalic_G-invariance next.

Theorem 2.4.

[15, Thm.3.2] The G𝐺Gitalic_G-TC and the G𝐺Gitalic_G-Bispectrum are complete G𝐺Gitalic_G-invariants, i.e., for Θ,Θ~:G:Θ~Θmaps-to𝐺\Theta,\widetilde{\Theta}:G\mapsto\mathbb{R}roman_Θ , over~ start_ARG roman_Θ end_ARG : italic_G ↦ blackboard_R with (Θ)ρsubscriptΘ𝜌\mathcal{F}(\Theta)_{\rho}caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT nonsingular for all irreps ρ𝜌\rhoitalic_ρ, T(Θ)=T(Θ~)𝑇Θ𝑇~ΘT(\Theta)=T(\widetilde{\Theta})italic_T ( roman_Θ ) = italic_T ( over~ start_ARG roman_Θ end_ARG ), respectively β(Θ)=β(Θ~)𝛽Θ𝛽~Θ\beta(\Theta)=\beta(\widetilde{\Theta})italic_β ( roman_Θ ) = italic_β ( over~ start_ARG roman_Θ end_ARG ), if and only if there exists hG𝐺h\in Gitalic_h ∈ italic_G such that Θ(g)=α(h,Θ~(g))Θ𝑔𝛼~Θ𝑔\Theta(g)=\alpha(h,\widetilde{\Theta}(g))roman_Θ ( italic_g ) = italic_α ( italic_h , over~ start_ARG roman_Θ end_ARG ( italic_g ) ) for all gG𝑔𝐺g\in Gitalic_g ∈ italic_G.

Application: G𝐺Gitalic_G-invariance Layers
Refer to caption
Figure 1: Illustration of the different proposed G𝐺Gitalic_G-CNN modules [7, 27]. The input f𝑓fitalic_f is first processed through the G𝐺Gitalic_G-convolutional layer composed of K𝐾Kitalic_K filters {ϕk}k=1Ksuperscriptsubscriptsubscriptitalic-ϕ𝑘𝑘1𝐾\{\phi_{k}\}_{k=1}^{K}{ italic_ϕ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_k = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT. Then, an invariance layer is chosen (Max G𝐺Gitalic_G-pooling, G𝐺Gitalic_G-TC, or the selective/full G𝐺Gitalic_G-Bispectrum layer). Finally, the “pooled” output after is fed to a neural network designed for the machine learning task at hand.

The G𝐺Gitalic_G-CNN architecture, first proposed in [7], is illustrated on Figure 1. The input signal f:X:𝑓maps-to𝑋f:X\mapsto\mathbb{R}italic_f : italic_X ↦ blackboard_R, typically an image, is processed through a G𝐺Gitalic_G-Convolution layer using filters {ϕk}k=1Ksuperscriptsubscriptsubscriptitalic-ϕ𝑘𝑘1𝐾\{\phi_{k}\}_{k=1}^{K}{ italic_ϕ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_k = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT. The output is feature maps {Θk}k=1KsuperscriptsubscriptsubscriptΘ𝑘𝑘1𝐾\{\Theta_{k}\}_{k=1}^{K}{ roman_Θ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_k = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT that form a set of K𝐾Kitalic_K real-valued signals with domain G𝐺Gitalic_G. This G𝐺Gitalic_G-Convolution layer is traditionally followed by a G𝐺Gitalic_G-invariance layer. The most common is the Max G𝐺Gitalic_G-Pooling layer. More recent works have proposed two alternatives based on the G𝐺Gitalic_G-TC and the full G𝐺Gitalic_G-Bispectrum: the G𝐺Gitalic_G-TC Pooling [27] and the (full) G𝐺Gitalic_G-Bispectrum [28] respectively, where the latter requires the computations of the Fourier transforms of the feature maps, preferably computed using a Fast Fourier Transform (FFT) algorithm on G𝐺Gitalic_G [9]. When testing the impact of the choice of G𝐺Gitalic_G-invariance layer, the output of the invariance layer is typically fed to a Secondary Neural Network (NN) to perform the desired task, e.g., image classification. The Secondary NN often takes the form of a Multi-Layer Perceptron (MLP).

Experimental results have demonstrated the superior accuracy and adversarial robustness of the G𝐺Gitalic_G-CNN equipped with a G𝐺Gitalic_G-TC and G𝐺Gitalic_G-Bispectrum invariance layer [28, 27]. However, both methods inherit the high space and time complexity of their respective operations. This raises the question of whether we can reduce this computational complexity.

3 Method: The Selective G𝐺Gitalic_G-Bispectrum and its Inversion

The Selective G𝐺Gitalic_G-Bispectrum

We introduce a novel tool for signal processing on groups: the selective G𝐺Gitalic_G-Bispectrum. The selective G𝐺Gitalic_G-Bispectrum βselsubscript𝛽𝑠𝑒𝑙\beta_{sel}italic_β start_POSTSUBSCRIPT italic_s italic_e italic_l end_POSTSUBSCRIPT is a subset of all coefficients of the G𝐺Gitalic_G-Bispectrum β𝛽\betaitalic_β (Definition 2.3), only conserving well-chosen pairs of irreps (ρ1,ρ2)subscript𝜌1subscript𝜌2(\rho_{1},\rho_{2})( italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ). Which pairs of irreps to select depends on the group of interest. This is possible due to redundancies and symmetries in the full object. Below, we provide an algorithmic procedure to compute the selective G𝐺Gitalic_G-Bispectrum for any finite group G𝐺Gitalic_G that features at most |Irreps|(|G|)annotated𝐼𝑟𝑟𝑒𝑝𝑠absent𝐺|Irreps|(\leq|G|)| italic_I italic_r italic_r italic_e italic_p italic_s | ( ≤ | italic_G | ) coefficients. The procedure is summarized in Algorithm 1. We have the following proposition.

Algorithm 1 Selective G𝐺Gitalic_G-Bispectrum on any finite group G𝐺Gitalic_G
1:  Input: Signal Θ:G:Θmaps-to𝐺\Theta:G\mapsto\mathbb{R}roman_Θ : italic_G ↦ blackboard_R with n=|G|𝑛𝐺n=|G|italic_n = | italic_G |. Empty list of coefficients Lβsubscript𝐿𝛽L_{\beta}italic_L start_POSTSUBSCRIPT italic_β end_POSTSUBSCRIPT. Empty list of irreps Lρsubscript𝐿𝜌L_{\rho}italic_L start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT. Kronecker Table of G𝐺Gitalic_G.
2:  Add β(Θ)ρ0,ρ0𝛽subscriptΘsubscript𝜌0subscript𝜌0\beta(\Theta)_{\rho_{0},\rho_{0}}italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT to Lβsubscript𝐿𝛽L_{\beta}italic_L start_POSTSUBSCRIPT italic_β end_POSTSUBSCRIPT where ρ0subscript𝜌0\rho_{0}italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT is the trivial irreps (ρ0(g)=1subscript𝜌0𝑔1\rho_{0}(g)=1italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( italic_g ) = 1 for all gG𝑔𝐺g\in Gitalic_g ∈ italic_G).
3:  Add ρ0subscript𝜌0\rho_{0}italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT to Lρsubscript𝐿𝜌L_{\rho}italic_L start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT.
4:  Choose ρ~1subscript~𝜌1\tilde{\rho}_{1}over~ start_ARG italic_ρ end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT such that ρ~1ρ~1=Cρ~1,ρ~1(ρρ)Cρ~1,ρ~1tensor-productsubscript~𝜌1subscript~𝜌1subscript𝐶subscript~𝜌1subscript~𝜌1subscriptdirect-sum𝜌𝜌superscriptsubscript𝐶subscript~𝜌1subscript~𝜌1\tilde{\rho}_{1}\otimes\tilde{\rho}_{1}=C_{\tilde{\rho}_{1},\tilde{\rho}_{1}}% \left(\bigoplus_{\rho\in\mathcal{R}}\rho\right)C_{\tilde{\rho}_{1},\tilde{\rho% }_{1}}^{\dagger}over~ start_ARG italic_ρ end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊗ over~ start_ARG italic_ρ end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = italic_C start_POSTSUBSCRIPT over~ start_ARG italic_ρ end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , over~ start_ARG italic_ρ end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( ⨁ start_POSTSUBSCRIPT italic_ρ ∈ caligraphic_R end_POSTSUBSCRIPT italic_ρ ) italic_C start_POSTSUBSCRIPT over~ start_ARG italic_ρ end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , over~ start_ARG italic_ρ end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT generates at least one irreps ρ𝜌\rhoitalic_ρ not yet in Lρsubscript𝐿𝜌L_{\rho}italic_L start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT.
5:  Add β(Θ)ρ0,ρ~1𝛽subscriptΘsubscript𝜌0subscript~𝜌1\beta(\Theta)_{\rho_{0},\tilde{\rho}_{1}}italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , over~ start_ARG italic_ρ end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT and β(Θ)ρ~1,ρ~1𝛽subscriptΘsubscript~𝜌1subscript~𝜌1\beta(\Theta)_{\tilde{\rho}_{1},\tilde{\rho}_{1}}italic_β ( roman_Θ ) start_POSTSUBSCRIPT over~ start_ARG italic_ρ end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , over~ start_ARG italic_ρ end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT to Lβsubscript𝐿𝛽L_{\beta}italic_L start_POSTSUBSCRIPT italic_β end_POSTSUBSCRIPT, add ρ~1subscript~𝜌1\tilde{\rho}_{1}over~ start_ARG italic_ρ end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT to Lρsubscript𝐿𝜌L_{\rho}italic_L start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT.
6:  Add every ρ𝜌\rhoitalic_ρ that appears in ρ~1ρ~1tensor-productsubscript~𝜌1subscript~𝜌1\tilde{\rho}_{1}\otimes\tilde{\rho}_{1}over~ start_ARG italic_ρ end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊗ over~ start_ARG italic_ρ end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT to Lρsubscript𝐿𝜌L_{\rho}italic_L start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT.
7:  while Lρsubscript𝐿𝜌L_{\rho}italic_L start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT keeps changing: do
8:    Find ρ,ρ′′superscript𝜌superscript𝜌′′\rho^{\prime},\rho^{\prime\prime}italic_ρ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_ρ start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT in Lρsubscript𝐿𝜌L_{\rho}italic_L start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT such that ρρ′′tensor-productsuperscript𝜌superscript𝜌′′\rho^{\prime}\otimes\rho^{\prime\prime}italic_ρ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ⊗ italic_ρ start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT generates at least one irreps not already in Lρsubscript𝐿𝜌L_{\rho}italic_L start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT.
9:    Add β(Θ)ρ,ρ′′𝛽subscriptΘsuperscript𝜌superscript𝜌′′\beta(\Theta)_{\rho^{\prime},\rho^{\prime\prime}}italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_ρ start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT to Lβsubscript𝐿𝛽L_{\beta}italic_L start_POSTSUBSCRIPT italic_β end_POSTSUBSCRIPT.
10:    Add ρ𝜌\rhoitalic_ρ that appears in ρρ′′tensor-productsuperscript𝜌superscript𝜌′′\rho^{\prime}\otimes\rho^{\prime\prime}italic_ρ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ⊗ italic_ρ start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT to Lρsubscript𝐿𝜌L_{\rho}italic_L start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT.
11:  end while
12:  Return βsel(Θ):=Lβassignsubscript𝛽𝑠𝑒𝑙Θsubscript𝐿𝛽\beta_{sel}(\Theta):=L_{\beta}italic_β start_POSTSUBSCRIPT italic_s italic_e italic_l end_POSTSUBSCRIPT ( roman_Θ ) := italic_L start_POSTSUBSCRIPT italic_β end_POSTSUBSCRIPT: the selected G𝐺Gitalic_G-bispectral coefficients.
Proposition 3.1.

The selective G𝐺Gitalic_G-Bispectrum βselsubscript𝛽𝑠𝑒𝑙\beta_{sel}italic_β start_POSTSUBSCRIPT italic_s italic_e italic_l end_POSTSUBSCRIPT from Algorithm 1 has at most |G|𝐺|G|| italic_G | coefficients.

Proof.

By construction of Algorithm 1, |Lρ||Irreps|subscript𝐿𝜌𝐼𝑟𝑟𝑒𝑝𝑠|L_{\rho}|\leq|Irreps|| italic_L start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT | ≤ | italic_I italic_r italic_r italic_e italic_p italic_s |. Since |Irreps|𝐼𝑟𝑟𝑒𝑝𝑠|Irreps|| italic_I italic_r italic_r italic_e italic_p italic_s | is at most the number of conjugacy classes of G𝐺Gitalic_G (see, e.g., Steinberg [29, Corollary 4.3.10]), we have |Irreps||G|𝐼𝑟𝑟𝑒𝑝𝑠𝐺|Irreps|\leq|G|| italic_I italic_r italic_r italic_e italic_p italic_s | ≤ | italic_G |. ∎

In Algorithm 1, we note that the choice of ρ1subscript𝜌1\rho_{1}italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT is important, since some ρ1subscript𝜌1\rho_{1}italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT will not allow the user to recover all of the irreps and therefore not ensure the completeness of the selective. We illustrate the computation of the selective G𝐺Gitalic_G-Bispectrum in Figure 2, where we choose ρ~1=ρ6subscript~𝜌1subscript𝜌6\tilde{\rho}_{1}=\rho_{6}over~ start_ARG italic_ρ end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = italic_ρ start_POSTSUBSCRIPT 6 end_POSTSUBSCRIPT.

Refer to caption
Figure 2: Computation of the selective G𝐺Gitalic_G-Bispectrum for the Full Octahedral Group. The gradient of color represents the order in which the G𝐺Gitalic_G-bispectral coefficients are computed. The Kronecker Table represents which irreps emerge from the decomposition into irreps of the tensor product ρiρjtensor-productsubscript𝜌𝑖subscript𝜌𝑗\rho_{i}\otimes\rho_{j}italic_ρ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT. We observe that the selective G𝐺Gitalic_G-Bispectrum has only 6666 coefficients, compared to 100100100100 coefficients for the full G𝐺Gitalic_G-Bispectrum.
Inverting the Selective G𝐺Gitalic_G-Bispectrum for completeness

The inversion of the selective G𝐺Gitalic_G-Bispectrum βsel(Θ)subscript𝛽𝑠𝑒𝑙Θ\beta_{sel}(\Theta)italic_β start_POSTSUBSCRIPT italic_s italic_e italic_l end_POSTSUBSCRIPT ( roman_Θ ) is reconstructing a signal (Θ~)~Θ\mathcal{F}(\widetilde{\Theta})caligraphic_F ( over~ start_ARG roman_Θ end_ARG ) from the G𝐺Gitalic_G-Fourier coefficients in the list Lρsubscript𝐿𝜌L_{\rho}italic_L start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT such that Θ~=α(g,Θ)~Θ𝛼𝑔Θ\widetilde{\Theta}=\alpha(g,\Theta)over~ start_ARG roman_Θ end_ARG = italic_α ( italic_g , roman_Θ ) for some gG𝑔𝐺g\in Gitalic_g ∈ italic_G (The G𝐺Gitalic_G-Bispectrum is G𝐺Gitalic_G-invariant, hence, ΘΘ\Thetaroman_Θ can only be recovered at best up to group action). Once (Θ~)~Θ\mathcal{F}(\widetilde{\Theta})caligraphic_F ( over~ start_ARG roman_Θ end_ARG ) is known, Θ~~Θ\widetilde{\Theta}over~ start_ARG roman_Θ end_ARG can be obtained using the Inverse Fourier Transform. If the selective G𝐺Gitalic_G-Bispectrum can be inverted, then, by definition, it is complete in the sense of Theorem 2.4.

4 Theory: Completeness of the Selective G𝐺Gitalic_G-Bispectrum

Our main theoretical claim is that the selective G𝐺Gitalic_G-Bispectrum can be inverted and is a complete G𝐺Gitalic_G-invariant that drastically reduces the complexity of the G𝐺Gitalic_G-Bispectrum. We prove this claim for many finite groups G𝐺Gitalic_G of interest in signal processing and deep learning in a sequence of theorems presented in this section.

Known Theorems

Previous authors had looked into the G𝐺Gitalic_G-Bispectrum inversion problem. It is well known that |G|=n𝐺𝑛|G|=n| italic_G | = italic_n coefficients are enough for the cyclic group (Cn,)=(/n,+modn)(C_{n},\cdot)=(\mathbb{Z}/\mathbb{Z}_{n},+\mod n)( italic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , ⋅ ) = ( blackboard_Z / blackboard_Z start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , + roman_mod italic_n ).

Theorem 4.1.

[16] For cyclic groups Cnsubscript𝐶𝑛C_{n}italic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, n0𝑛subscript0n\in\mathbb{N}_{0}italic_n ∈ blackboard_N start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT, the Cnsubscript𝐶𝑛C_{n}italic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT-Bispectrum can be inverted using |G|=n𝐺𝑛|G|=n| italic_G | = italic_n coefficients if (Θ)ρ0subscriptΘ𝜌0\mathcal{F}(\Theta)_{\rho}\neq 0caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT ≠ 0 for all irreps ρ𝜌\rhoitalic_ρ of Cnsubscript𝐶𝑛C_{n}italic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT.

Similarly for a product of two such groups, we have the following theorem.

Theorem 4.2.

[10] For a product of cyclic groups Cn×Cmsubscript𝐶𝑛subscript𝐶𝑚C_{n}\times C_{m}italic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT × italic_C start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT, n,m0𝑛𝑚subscript0n,m\in\mathbb{N}_{0}italic_n , italic_m ∈ blackboard_N start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT, the G𝐺Gitalic_G-Bispectrum can be inverted using |G|=nm𝐺𝑛𝑚|G|=nm| italic_G | = italic_n italic_m coefficients if (Θ)ρ0subscriptΘ𝜌0\mathcal{F}(\Theta)_{\rho}\neq 0caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT ≠ 0 for all ρCn×Cm𝜌subscript𝐶𝑛subscript𝐶𝑚\rho\in C_{n}\times C_{m}italic_ρ ∈ italic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT × italic_C start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT.

New Theorems

From now on, we assume that the Fourier transform (Θ)Θ\mathcal{F}(\Theta)caligraphic_F ( roman_Θ ) only features non-zero elements, or invertible matrices in the case of non-scalar Fourier coefficients. This assumption is supported by the zero probability of encountering this corner case (an arbitrarily small perturbation of any signal makes this assumption true).

We first extend the above results to all commutative groups. The proof relies on the fact that every finite commutative group is the direct sum of finitely many cyclic groups.

Theorem 4.3.

For finite commutative groups G𝐺Gitalic_G, the G𝐺Gitalic_G-Bispectrum can be inverted using |G|𝐺|G|| italic_G | coefficients if (Θ)ρ0subscriptΘ𝜌0\mathcal{F}(\Theta)_{\rho}\neq 0caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT ≠ 0 for all ρG𝜌𝐺\rho\in Gitalic_ρ ∈ italic_G.

See Appendix D for the proof and derivation of the inversion for the specific case of commutative groups. We note that our approach to inversion is symbolic, in that a solution can be expressed explicitly as a formula in terms of the input. Other approaches are also possible to determine an inverse, such as using least squares [11] or more recent spectral methods [5].

We now extend the result to dihedral groups. Dihedral groups are ubiquitous in signal processing and deep learning because they represent the group of rotations and reflections.

Theorem 4.4.

For any dihedral group Dnsubscript𝐷𝑛D_{n}italic_D start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT (symmetries of the n𝑛nitalic_n-gon), n0𝑛subscript0n\in\mathbb{N}_{0}italic_n ∈ blackboard_N start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT, we need at most n12+2𝑛122\left\lfloor{\frac{n-1}{2}}\right\rfloor+2⌊ divide start_ARG italic_n - 1 end_ARG start_ARG 2 end_ARG ⌋ + 2 bispectral matrix coefficients for inversion if det((Θ)ρ)0subscriptΘ𝜌0\det(\mathcal{F}(\Theta)_{\rho})\neq 0roman_det ( caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT ) ≠ 0 for all irreps ρ𝜌\rhoitalic_ρ of Dnsubscript𝐷𝑛D_{n}italic_D start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT. This corresponds to 1+4+16n124|Dn|1416𝑛124subscript𝐷𝑛1+4+16\cdot\left\lfloor{\frac{n-1}{2}}\right\rfloor\approx 4|D_{n}|1 + 4 + 16 ⋅ ⌊ divide start_ARG italic_n - 1 end_ARG start_ARG 2 end_ARG ⌋ ≈ 4 | italic_D start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT | scalar values.

The proof is provided in Appendix E. We now extend the result to octahedral and full octahedral groups, that are related to the symmetries of the octahedron. These groups are very important in signal processing and deep learning of 3D images.

Theorem 4.5.

For the octahedral group O𝑂Oitalic_O which has |G|=24𝐺24|G|=24| italic_G | = 24 group elements and 5555 irreps, we need only 4444 G𝐺Gitalic_G-Bispectral coefficients in the selective G𝐺Gitalic_G-Bispectrum. For the full octahedral group F𝐹Fitalic_F which has |G|=48𝐺48|G|=48| italic_G | = 48 elements, we only need 6666 G𝐺Gitalic_G-Bispectral coefficients in the selective G𝐺Gitalic_G-Bispectrum to perform inversion.

A sketch of proof is provided in Appendix F given the redundancy of the procedure. We see that the selective G𝐺Gitalic_G-Bispectrum uses only 4444 coefficients, compared to 25252525 coefficients needed for the full G𝐺Gitalic_G-Bispectrum for the octahedral group. For the full octahedral group, it requires only 6666 coefficients compared to the 100100100100 coefficients of the full G𝐺Gitalic_G-Bispectrum. In Figure 3, we compare the full and selective G𝐺Gitalic_G-Bispectra of the dihedral group D4subscript𝐷4D_{4}italic_D start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT (symmetries of the square) and the octahedral group.

Refer to caption
Figure 3: Comparison of full and selective G𝐺Gitalic_G-Bispectra for the groups D4subscript𝐷4D_{4}italic_D start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT (left) and Ohsubscript𝑂O_{h}italic_O start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT (right). The tables are the Kronecker tables of both groups, which show which irreps emerge from the decomposition into irreps of the tensor product of irreps ρiρjtensor-productsubscript𝜌𝑖subscript𝜌𝑗\rho_{i}\otimes\rho_{j}italic_ρ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT. The colored boxes indicate which bispectral coefficients are selected for the full versus selective G𝐺Gitalic_G-Bispectra.

5 Experimental results

Implementation and architecture

Our implementation of the selective G𝐺Gitalic_G-bispectrum layer is based on the gtc-invariance repository, implementing the G𝐺Gitalic_G-CNN with G𝐺Gitalic_G-convolution and G𝐺Gitalic_G-TC layer [27] and relying itself on the escnn library [4, 32].

We propose an experimental assessment of the newly proposed selective G𝐺Gitalic_G-Bispectrum layer by comparing it with the Avg G𝐺Gitalic_G-pooling, the Max G𝐺Gitalic_G-pooling, the G𝐺Gitalic_G-TC as invariance operations after the G𝐺Gitalic_G-convolution of a G𝐺Gitalic_G-CNN on the classification problems of the MNIST dataset of handwritten digits [23], the EMNIST dataset of handwritten letters [6] with standard train-test division. These datasets count 10 and 26 classes, respectively. We obtain transformed versions of the datasets – G𝐺Gitalic_G-MNIST/EMNIST – by applying a random action gG𝑔𝐺g\in Gitalic_g ∈ italic_G on each image in the original dataset.

The objective of our experiments is to isolate the speed-up of the G𝐺Gitalic_G-Bispectrum layer. Hence, we consider architectures that only differ by the invariance layer in the classification task, following the experimental set up by [27]. The neural network architecture is composed of a G𝐺Gitalic_G-convolution, a G𝐺Gitalic_G-invariance layer, and finally a Multi-Layer-Perceptron (MLP), itself composed of three fully connected layers with ReLU nonlinearity. Finally, a fully connected linear layer is added to perform classification. The MLP’s widths are tuned to match the number of parameters across each neural network model. The details are given in Appendix G. We highlight here that the pursued objective is to compare the differences in performances of the G𝐺Gitalic_G-invariance layers, not to provide the state-of-the-art accuracy on the datasets involved. Henceforth, we do not optimize the architectures to reach the highest possible accuracy. We set simple architectures providing interpretable results for analysis. The experiments a performed using 8888 cores of a NVIDIA A30 GPU.

Training speed performance

Table 1 recalls the theoretical complexities of the different layers. The computational cost of computing the selective G𝐺Gitalic_G-Bispectrum is 𝒪(|G|log|G|)𝒪𝐺𝐺\mathcal{O}(|G|\log|G|)caligraphic_O ( | italic_G | roman_log | italic_G | ) if an FFT algorithm is available on G𝐺Gitalic_G [9], and 𝒪(|G|2)𝒪superscript𝐺2\mathcal{O}(|G|^{2})caligraphic_O ( | italic_G | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) with classical DFT. On Figure 4, we report the average training times on SO(2)/O(2)SO2O2\mathrm{SO}(2)/\mathrm{O}(2)roman_SO ( 2 ) / roman_O ( 2 )-MNIST for 10 runs as the discretization Cn/Dnsubscript𝐶𝑛subscript𝐷𝑛C_{n}/D_{n}italic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT / italic_D start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT of SO(2)/O(2)SO2O2\mathrm{SO}(2)/\mathrm{O}(2)roman_SO ( 2 ) / roman_O ( 2 ) varies. In the first case, we use the FFT and observe that the Max G𝐺Gitalic_G-pooling and G𝐺Gitalic_G-Bispectrum training time scale linearly whereas it scales quadratically for the G𝐺Gitalic_G-TC. For O(2)O2\mathrm{O}(2)roman_O ( 2 ), we perform a classic DFT on Dnsubscript𝐷𝑛D_{n}italic_D start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT so that the G𝐺Gitalic_G-Bispectrum scales worth. However, an FFT could be implemented to speed-up the process.

Pooling layer Computational Complexity Ouput size
G𝐺Gitalic_G-TC K𝒪(|G|3)𝐾𝒪superscript𝐺3K\mathcal{O}(|G|^{3})italic_K caligraphic_O ( | italic_G | start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT ) K𝒪(|G|2)𝐾𝒪superscript𝐺2K\mathcal{O}(|G|^{2})italic_K caligraphic_O ( | italic_G | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT )
Full G𝐺Gitalic_G-Bsp. K𝒪(|G|2)𝐾𝒪superscript𝐺2K\mathcal{O}(|G|^{2})italic_K caligraphic_O ( | italic_G | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) K𝒪(|G|2)𝐾𝒪superscript𝐺2K\mathcal{O}(|G|^{2})italic_K caligraphic_O ( | italic_G | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT )
Select. G𝐺Gitalic_G-Bsp. K𝒪(|G|log|G| or |G|2)𝐾𝒪𝐺𝐺 or superscript𝐺2K\mathcal{O}(|G|\log|G|\text{ or }|G|^{2})italic_K caligraphic_O ( | italic_G | roman_log | italic_G | or | italic_G | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) K𝒪(|G|)𝐾𝒪𝐺K\mathcal{O}(|G|)italic_K caligraphic_O ( | italic_G | )
Max G𝐺Gitalic_G-pool. K𝒪(|G|)𝐾𝒪𝐺K\mathcal{O}(|G|)italic_K caligraphic_O ( | italic_G | ) K𝒪(1)𝐾𝒪1K\mathcal{O}(1)italic_K caligraphic_O ( 1 )
Table 1: G𝐺Gitalic_G-CNN invariant layers and their computational cost and output size.
Refer to caption
Refer to caption
Figure 4: Evolution of the average training times for the different invariance layers as the size n𝑛nitalic_n of Cnsubscript𝐶𝑛C_{n}italic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT and Dnsubscript𝐷𝑛D_{n}italic_D start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT rise. The average and standard deviations are obtained over 10101010 runs. For all runs, the number of parameters of the complete neural network (filters and MLP) is set to 50000500005000050000 and 150000150000150000150000 for SO(2)SO2\mathrm{SO}(2)roman_SO ( 2 ) and O(2)O2\mathrm{O}(2)roman_O ( 2 ) respectively. Standard deviations are reported by vertical intervals.
Classification Performance

We compare the performances of the G𝐺Gitalic_G-Bispectrum layer with respect to the G𝐺Gitalic_G-TC, the Max G𝐺Gitalic_G-pooling and the Avg G𝐺Gitalic_G-pooling models, trained on the SO(2)SO2\mathrm{SO}(2)roman_SO ( 2 )/O(2)O2\mathrm{O}(2)roman_O ( 2 )-MNIST/EMNIST datasets and we assess the accuracy by averaging the validation accuracy over 10 runs. The classification accuracy is provided in Table 2. For the experiments in Table 2, the following pattern holds: at equivalent number of parameters, the more computationally expensive the pooling layer, the better the accuracy. However, the use of the G𝐺Gitalic_G-TC becomes prohibitive when |G|𝐺|G|| italic_G | increases. In the next section, we discuss the settings where each invariance layer should be preferred, and highlight each invariance layer’s strengths and weaknesses.

Dataset Group G𝐺Gitalic_G Pooling K𝐾Kitalic_K filters Avg acc. Std. dev. Param. count
MNIST SO(2)SO2\mathrm{SO}(2)roman_SO ( 2 ) C8subscript𝐶8C_{8}italic_C start_POSTSUBSCRIPT 8 end_POSTSUBSCRIPT Avg G𝐺Gitalic_G-pooling 24 0.74 <0.01absent0.01<0.01< 0.01 50247
Max G𝐺Gitalic_G-pooling 24 0.96 <0.01absent0.01<0.01< 0.01 50247
Select. G𝐺Gitalic_G-Bsp 24 0.95 <0.01absent0.01<0.01< 0.01 49116
G𝐺Gitalic_G-TC 24 0.96 <0.01absent0.01<0.01< 0.01 48385
O(2)O2\mathrm{O}(2)roman_O ( 2 ) D8subscript𝐷8D_{8}italic_D start_POSTSUBSCRIPT 8 end_POSTSUBSCRIPT Avg G𝐺Gitalic_G-pooling 4 0.60 <0.01absent0.01<0.01< 0.01 147675
Max G𝐺Gitalic_G-pooling 4 0.78 <0.01absent0.01<0.01< 0.01 147675
Select. G𝐺Gitalic_G-Bsp 4 0.93 <0.01absent0.01<0.01< 0.01 143029
G𝐺Gitalic_G-TC 4 0.96 <0.01absent0.01<0.01< 0.01 142220
EMNIST SO(2)SO2\mathrm{SO}(2)roman_SO ( 2 ) C8subscript𝐶8C_{8}italic_C start_POSTSUBSCRIPT 8 end_POSTSUBSCRIPT Avg G𝐺Gitalic_G-pooling 24 0.40 <0.01absent0.01<0.01< 0.01 50195
Max G𝐺Gitalic_G-pooling 24 0.76 <0.01absent0.01<0.01< 0.01 50195
Select. G𝐺Gitalic_G-Bsp 24 0.77 <0.01absent0.01<0.01< 0.01 49254
G𝐺Gitalic_G-TC 24 0.80 <0.01absent0.01<0.01< 0.01 48494
O(2)O2\mathrm{O}(2)roman_O ( 2 ) D8subscript𝐷8D_{8}italic_D start_POSTSUBSCRIPT 8 end_POSTSUBSCRIPT Avg G𝐺Gitalic_G-pooling 20 0.38 <0.01absent0.01<0.01< 0.01 48832
Max G𝐺Gitalic_G-pooling 20 0.71 <0.01absent0.01<0.01< 0.01 48832
Select. G𝐺Gitalic_G-Bsp 20 0.74 <0.01absent0.01<0.01< 0.01 47320
G𝐺Gitalic_G-TC 20 0.79 <0.01absent0.01<0.01< 0.01 46954
Table 2: Results of numerical experiments averaged over 10 runs with Avg G𝐺Gitalic_G-pooling, Max G𝐺Gitalic_G-pooling, selective G𝐺Gitalic_G-Bispectrum and G𝐺Gitalic_G-TC. The experiments are performed on SO(2)/O(2)SO2O2\mathrm{SO}(2)/\mathrm{O}(2)roman_SO ( 2 ) / roman_O ( 2 )-MNIST and -EMNIST. The table shows the number of filters, the average classification accuracy, standard deviation and parameter count.
Discussion on the choice of invariance layer

The first observation from Table 2 is though the selective G𝐺Gitalic_G-Bispectrum is complete, the model obtains slightly lower accuracy than G𝐺Gitalic_G-TC. This observation might be surprising at first, since we prove mathematically in Section 4 that the selective G𝐺Gitalic_G-Bispectrum is complete just as the full version. An explanation to this lies in the paradoxes of the Universal Approximation Theorem [13]. Just because an arbitrarily large MLP can theoretically fit any function, this does not imply that it will happen for a practical, limited MLP. In practice, we hypothesize that the redundancy of the G𝐺Gitalic_G-TC allows the MLP to distinguish inputs more easily. If the size of the model allows it, the G𝐺Gitalic_G-TC or the full G𝐺Gitalic_G-Bispectrum will provide better accuracy. However, when the size of the group is big, their use is often out of reach while the selective G𝐺Gitalic_G-Bispectrum is scalable. In Table 2, we also notice that the Max G𝐺Gitalic_G-pooling performs well compared to the others even though it is not complete. This is because we have many filters that allow for refined classification. Indeed, assume f,ϕk𝑓subscriptitalic-ϕ𝑘f,\phi_{k}italic_f , italic_ϕ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT are black-and-white images with N𝑁Nitalic_N pixels. In consequence, maxgΘk(g){0,1,,N}subscript𝑔subscriptΘ𝑘𝑔01𝑁\max_{g}\Theta_{k}(g)\in\{0,1,...,N\}roman_max start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT roman_Θ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( italic_g ) ∈ { 0 , 1 , … , italic_N } for k=1,2,,K𝑘12𝐾k=1,2,...,Kitalic_k = 1 , 2 , … , italic_K. The Max G𝐺Gitalic_G-pooling allows a maximum separation of (N+1)Ksuperscript𝑁1𝐾(N+1)^{K}( italic_N + 1 ) start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT classes. In practice, this value is not reached, but it explains why Max G𝐺Gitalic_G-pooling performs well. Figure 5 highlights this dependency of the Max G𝐺Gitalic_G-pooling on the number of filters since the accuracy drops to less than 60%percent6060\%60 % with 2 filters. In comparison, the G𝐺Gitalic_G-TC and the selective G𝐺Gitalic_G-Bispectrum, which are complete, keep an accuracy above 85%percent8585\%85 % with 2 filters.

Refer to caption
Refer to caption
Figure 5: Evolution of the average classification accuracy with SO(2)/O(2)SO2O2\mathrm{SO}(2)/\mathrm{O}(2)roman_SO ( 2 ) / roman_O ( 2 )-MNIST over 10101010 runs when the number of filters varies from 2222 to 20202020 for the Avg G𝐺Gitalic_G-pooling, the Max G𝐺Gitalic_G-pooling, the G𝐺Gitalic_G-Bispectrum and the G𝐺Gitalic_G-TC. The standard deviations are represented using vertical intervals. In this experiment, the standard deviation can barely be distinguished from the average data.
Completeness

To conclude our numerical experiments, we study the robustness of the selective G𝐺Gitalic_G-Bispectrum to adversarial attacks, following the analysis in Sanborn & Miolane [27, Figure 2]. Given an image f^:Xc:^𝑓maps-to𝑋superscript𝑐\widehat{f}:X\mapsto\mathbb{R}^{c}over^ start_ARG italic_f end_ARG : italic_X ↦ blackboard_R start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT and a filter ϕ:Xc:italic-ϕmaps-to𝑋superscript𝑐\phi:X\mapsto\mathbb{R}^{c}italic_ϕ : italic_X ↦ blackboard_R start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT, they numerically verified the robustness (=completeness) of the G𝐺Gitalic_G-TC by showing that

fargminf:XcT(ϕf)T(ϕf^)22f=α(g,f^) for some gG.iffsuperscript𝑓argsubscript:𝑓maps-to𝑋superscript𝑐superscriptsubscriptnorm𝑇italic-ϕ𝑓𝑇italic-ϕ^𝑓22superscript𝑓𝛼𝑔^𝑓 for some 𝑔𝐺f^{*}\in\mathrm{arg}\min_{f:X\mapsto\mathbb{R}^{c}}\|T(\phi*f)-T(\phi*\widehat% {f})\|_{2}^{2}\iff f^{*}=\alpha(g,\widehat{f})\text{ for some }g\in G.italic_f start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ∈ roman_arg roman_min start_POSTSUBSCRIPT italic_f : italic_X ↦ blackboard_R start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ∥ italic_T ( italic_ϕ ∗ italic_f ) - italic_T ( italic_ϕ ∗ over^ start_ARG italic_f end_ARG ) ∥ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ⇔ italic_f start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT = italic_α ( italic_g , over^ start_ARG italic_f end_ARG ) for some italic_g ∈ italic_G .

Indeed, Sanborn & Miolane [27, Figure 2] shows that only images that are identical up to rotation/reflection can yield the same Cn/Dnsubscript𝐶𝑛subscript𝐷𝑛C_{n}/D_{n}italic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT / italic_D start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT-TC. That is, the G𝐺Gitalic_G-CNN with G𝐺Gitalic_G-TC can not be “fooled” since only input in the same orbit yield the same output. It is well-known that the G𝐺Gitalic_G-convolution ϕfitalic-ϕ𝑓\phi*fitalic_ϕ ∗ italic_f is G𝐺Gitalic_G-equivariant. Hence, a strictly equivalent experiment is to show that

ΘargminΘ:GT(Θ)T(Θ^)22Θ=α(g,Θ^) for some gG.iffsuperscriptΘargsubscript:Θmaps-to𝐺subscriptsuperscriptnorm𝑇Θ𝑇^Θ22superscriptΘ𝛼𝑔^Θ for some 𝑔𝐺\Theta^{*}\in\mathrm{arg}\min_{\Theta:G\mapsto\mathbb{R}}\|T(\Theta)-T(% \widehat{\Theta})\|^{2}_{2}\iff\Theta^{*}=\alpha(g,\widehat{\Theta})\text{ for% some }g\in G.roman_Θ start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ∈ roman_arg roman_min start_POSTSUBSCRIPT roman_Θ : italic_G ↦ blackboard_R end_POSTSUBSCRIPT ∥ italic_T ( roman_Θ ) - italic_T ( over^ start_ARG roman_Θ end_ARG ) ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ⇔ roman_Θ start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT = italic_α ( italic_g , over^ start_ARG roman_Θ end_ARG ) for some italic_g ∈ italic_G .

On Figure 6, we show that the selective G𝐺Gitalic_G-Bispectrum βselsubscript𝛽𝑠𝑒𝑙\beta_{sel}italic_β start_POSTSUBSCRIPT italic_s italic_e italic_l end_POSTSUBSCRIPT is robust to adversarial attacks by solving

ΘargminΘ:G1|G|βsel(Θ)βsel(Θ^)22.superscriptΘargsubscript:Θmaps-to𝐺1𝐺subscriptsuperscriptnormsubscript𝛽𝑠𝑒𝑙Θsubscript𝛽𝑠𝑒𝑙^Θ22\Theta^{*}\in\mathrm{arg}\min_{\Theta:G\mapsto\mathbb{R}}\frac{1}{|G|}\|\beta_% {sel}(\Theta)-\beta_{sel}(\widehat{\Theta})\|^{2}_{2}.roman_Θ start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ∈ roman_arg roman_min start_POSTSUBSCRIPT roman_Θ : italic_G ↦ blackboard_R end_POSTSUBSCRIPT divide start_ARG 1 end_ARG start_ARG | italic_G | end_ARG ∥ italic_β start_POSTSUBSCRIPT italic_s italic_e italic_l end_POSTSUBSCRIPT ( roman_Θ ) - italic_β start_POSTSUBSCRIPT italic_s italic_e italic_l end_POSTSUBSCRIPT ( over^ start_ARG roman_Θ end_ARG ) ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT . (3)

The signals are indeed recovered up to a translation, i.e., a group action of C30subscript𝐶30C_{30}italic_C start_POSTSUBSCRIPT 30 end_POSTSUBSCRIPT. Moreover, despite (3) only optimizes using the selective G𝐺Gitalic_G-Bispectrum, the full G𝐺Gitalic_G-Bispectrum is correctly recovered.

Refer to caption
Figure 6: Numerical experiment of signal recovering from original data {Θ^i}i=13superscriptsubscriptsubscript^Θ𝑖𝑖13\{\widehat{\Theta}_{i}\}_{i=1}^{3}{ over^ start_ARG roman_Θ end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT by solving (3) with G=C30𝐺subscript𝐶30G=C_{30}italic_G = italic_C start_POSTSUBSCRIPT 30 end_POSTSUBSCRIPT. We use the gradient method with Armijo line search to solve (3) with objective function less than 104superscript10410^{-4}10 start_POSTSUPERSCRIPT - 4 end_POSTSUPERSCRIPT as stopping criterion. The solutions {Θi}i=13superscriptsubscriptsubscriptsuperscriptΘ𝑖𝑖13\{\Theta^{*}_{i}\}_{i=1}^{3}{ roman_Θ start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT are represented and correspond to translations of the original signals. The full G𝐺Gitalic_G-Bispectra are also represented and are identical. This experiment corroborates the completeness of the selective G𝐺Gitalic_G-Bispectrum.

6 Conclusion and Future works

In this paper, we introduced a new type of complete invariant layer for G𝐺Gitalic_G-invariant CNNs – called selective G𝐺Gitalic_G-Bispectrum layer – with the objective of increasing the accuracy and robustness of G𝐺Gitalic_G-CNNs compared to those implemented with the initially proposed Max G𝐺Gitalic_G-pooling. The G𝐺Gitalic_G-TC layer also achieves this goal, but at an output cost of 𝒪(|G|2)𝒪superscript𝐺2\mathcal{O}(|G|^{2})caligraphic_O ( | italic_G | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) coefficients that prevents its application to large groups, while the selective G𝐺Gitalic_G-Bispectrum layer only outputs 𝒪(|G|)𝒪𝐺\mathcal{O}(|G|)caligraphic_O ( | italic_G | ) coefficients. Building on the result of Kakarala [14] for cyclic groups, we have shown that the completeness of the selective G𝐺Gitalic_G-Bispectrum layer holds for all commutative groups, all dihedral groups, the octahedral and full octahedral groups. In a suite of experiments, we provided a global picture of the strength and weaknesses of each invariance layer.

References

  • Andre & Street [2006] Andre, J. and Street, R. An Introduction to Tannaka Duality and Quantum Groups, volume 1438, pp.  413–492. 11 2006. ISBN 978-3-540-54706-8. doi: 10.1007/BFb0084235.
  • Bhatia [1997] Bhatia, R. Matrix Analysis, volume 169. Springer, 1997. ISBN 0387948465.
  • Brillinger [1991] Brillinger, D. Some history of higher-order statistics and spectra. Stat. Sin., 1:465–476, 1991.
  • Cesa et al. [2022] Cesa, G., Lang, L., and Weiler, M. A program to build e(n)-equivariant steerable CNNs. In International Conference on Learning Representations, 2022. URL https://openreview.net/forum?id=WE4qe9xlnQw.
  • Chen et al. [2018] Chen, H., Zehni, M., and Zhao, Z. A spectral method for stable bispectrum inversion with application to multireference alignment. IEEE Signal Processing Letters, 25(7):911–915, 2018.
  • Cohen et al. [2017] Cohen, G., Afshar, S., Tapson, J., and van Schaik, A. Emnist: an extension of mnist to handwritten letters, 2017.
  • Cohen & Welling [2016] Cohen, T. and Welling, M. Group equivariant convolutional networks. In Balcan, M. F. and Weinberger, K. Q. (eds.), Proceedings of The 33rd International Conference on Machine Learning, volume 48 of Proceedings of Machine Learning Research, pp.  2990–2999, New York, New York, USA, 20–22 Jun 2016. PMLR. URL https://proceedings.mlr.press/v48/cohenc16.html.
  • Cohen et al. [2021] Cohen, T. et al. Equivariant convolutional networks. PhD thesis, Taco Cohen, 2021.
  • Diaconis & Rockmore [1990] Diaconis, P. and Rockmore, D. N. Efficient computation of the fourier transform on finite groups. Journal of the American Mathematical Society, 3:297–332, 1990. URL https://api.semanticscholar.org/CorpusID:120893890.
  • Giannakis [1989] Giannakis, G. B. Signal reconstruction from multiple correlations: frequency-and time-domain approaches. JOSA A, 6(5):682–697, 1989.
  • Haniff [1991] Haniff, C. A. Least-squares fourier phase estimation from the modulo 2π𝜋\piitalic_π bispectrum phase. JOSA A, 8(1):134–140, 1991.
  • Higgins et al. [2018] Higgins, I., Amos, D., Pfau, D., Racaniere, S., Matthey, L., Rezende, D., and Lerchner, A. Towards a definition of disentangled representations, 2018.
  • Hornik et al. [1989] Hornik, K., Stinchcombe, M., and White, H. Multilayer feedforward networks are universal approximators. Neural Networks, 2(5):359–366, 1989. ISSN 0893-6080. doi: https://doi.org/10.1016/0893-6080(89)90020-8. URL https://www.sciencedirect.com/science/article/pii/0893608089900208.
  • Kakarala [1992] Kakarala, R. Triple correlation on groups. PhD thesis, UC Irvine, 1992.
  • Kakarala [2009a] Kakarala, R. Completeness of bispectrum on compact groups. 2009a. URL https://api.semanticscholar.org/CorpusID:18425284.
  • Kakarala [2009b] Kakarala, R. Bispectrum on finite groups. In 2009 IEEE International Conference on Acoustics, Speech and Signal Processing, pp.  3293–3296, 2009b. doi: 10.1109/ICASSP.2009.4960328.
  • Kakarala [2012] Kakarala, R. The bispectrum as a source of phase-sensitive invariants for fourier descriptors: a group-theoretic approach. Journal of Mathematical Imaging and Vision, 44:341–353, 2012.
  • Kondor [2007] Kondor, R. A novel set of rotationally and translationally invariant features for images based on the non-commutative bispectrum. arXiv preprint cs/0701127, 2007.
  • Kondor [2008] Kondor, R. Group theoretical methods in machine learning. PhD thesis, Columbia University, 2008.
  • Kondor & Trivedi [2018] Kondor, R. and Trivedi, S. On the generalization of equivariance and convolution in neural networks to the action of compact groups. In Dy, J. and Krause, A. (eds.), Proceedings of the 35th International Conference on Machine Learning, volume 80 of Proceedings of Machine Learning Research, pp.  2747–2755, 2018.
  • Lecun & Bengio [1995] Lecun, Y. and Bengio, Y. Convolutional Networks for Images, Speech and Time Series, pp.  255–258. The MIT Press, 1995.
  • Lecun et al. [1998] Lecun, Y., Bottou, L., Bengio, Y., and Haffner, P. Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86(11):2278–2324, 1998. doi: 10.1109/5.726791.
  • LeCun et al. [2010] LeCun, Y., Cortes, C., and Burges, C. Mnist handwritten digit database. ATT Labs [Online]. Available: http://yann.lecun.com/exdb/mnist, 2, 2010.
  • Nikias & Mendel [1993] Nikias, C. L. and Mendel, J. M. Signal processing with higher-order spectra. IEEE Signal processing magazine, 10(3):10–37, 1993.
  • Norman [2012] Norman, C. Finitely Generated Abelian Groups and Similarity of Matrices over a Field. Springer London, 2012. ISBN 9781447127307. doi: 10.1007/978-1-4471-2730-7. URL http://dx.doi.org/10.1007/978-1-4471-2730-7.
  • Sadler & Giannakis [1992] Sadler, B. M. and Giannakis, G. B. Shift-and rotation-invariant object reconstruction using the bispectrum. JOSA A, 9(1):57–69, 1992.
  • Sanborn & Miolane [2023] Sanborn, S. and Miolane, N. A general framework for robust g-invariance in g-equivariant networks, 2023.
  • Sanborn et al. [2023] Sanborn, S., Shewmake, C., Olshausen, B., and Hillar, C. Bispectral neural networks. In International Conference on Learning Representations (ICLR), 2023.
  • Steinberg [2011] Steinberg, B. Representation Theory of Finite Groups: An Introductory Approach. Universitext. Springer New York, 2011. ISBN 9781461407751. URL https://books.google.com/books?id=uwggkgEACAAJ.
  • Sturmfels [2008] Sturmfels, B. Algorithms in invariant theory. Springer Science & Business Media, 2008.
  • Tukey [1953] Tukey, J. The spectral representation and transformation properties of the higher moments of stationary time series. Reprinted in The Collected Works of John W. Tukey, 1:165–184, 1953.
  • Weiler & Cesa [2021] Weiler, M. and Cesa, G. General e(2)𝑒2e(2)italic_e ( 2 )-equivariant steerable cnns, 2021.
  • Weiler et al. [2023] Weiler, M., Forré, P., Verlinde, E., and Welling, M. Equivariant and Coordinate Independent Convolutional Networks. 2023. URL https://maurice-weiler.gitlab.io/cnn_book/EquivariantAndCoordinateIndependentCNNs.pdf.
  • Zetzsche & Krieger [2001] Zetzsche, C. and Krieger, G. Nonlinear mechanisms and higher-order statistics in biological vision and electronic image processing: review and perspectives. Journal of Electronic Imaging, 10(1):56–99, 2001.

Appendix A Background on groups

We introduce the fundamentals of group theory, which provide the foundation for the theory of G𝐺Gitalic_G-CNNs. These notions can be found in [29].

Definition A.1.

A group is a pair (G,)𝐺(G,\ \cdot)( italic_G , ⋅ ) where G𝐺Gitalic_G is a set and :G×GG\cdot:G\times G\mapsto G⋅ : italic_G × italic_G ↦ italic_G is an associative multiplication such that there is an identity element eG𝑒𝐺e\in Gitalic_e ∈ italic_G (i.e., for all gG𝑔𝐺g\in Gitalic_g ∈ italic_G, eg=ge=e𝑒𝑔𝑔𝑒𝑒e\cdot g=g\cdot e=eitalic_e ⋅ italic_g = italic_g ⋅ italic_e = italic_e) and, for all gG𝑔𝐺g\in Gitalic_g ∈ italic_G, there is an inverse g1Gsuperscript𝑔1𝐺g^{-1}\in Gitalic_g start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ∈ italic_G such that g1g=gg1=esuperscript𝑔1𝑔𝑔superscript𝑔1𝑒g^{-1}\cdot g=g\cdot g^{-1}=eitalic_g start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ⋅ italic_g = italic_g ⋅ italic_g start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT = italic_e.

A group is thus a set G𝐺Gitalic_G combined with a product \cdot preserving the characteristics of G𝐺Gitalic_G. Here, the established term “product” can be misleading. It denotes any operation which makes Definition A.1 true given the set G𝐺Gitalic_G. For instance, (,+)(\mathbb{R},+)( blackboard_R , + ) is a group. Another example is GL(n)GLsuperscript𝑛\mathrm{GL}(\mathbb{R}^{n})roman_GL ( blackboard_R start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT ), the n×n𝑛𝑛n\times nitalic_n × italic_n real invertible matrices, associated to the usual matrix product. This group is said to be non-commutative since ABBA𝐴𝐵𝐵𝐴A\cdot B\neq B\cdot Aitalic_A ⋅ italic_B ≠ italic_B ⋅ italic_A in general for A,BGL(n)𝐴𝐵GLsuperscript𝑛A,B\in\mathrm{GL}(\mathbb{R}^{n})italic_A , italic_B ∈ roman_GL ( blackboard_R start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT ). An important group for us is the set {0,1,,n1}01𝑛1\{0,1,...,n-1\}{ 0 , 1 , … , italic_n - 1 } associated with addition modulo n𝑛nitalic_n. It is usually written /n𝑛\mathbb{Z}/n\mathbb{Z}blackboard_Z / italic_n blackboard_Z and called the cyclic group Cnsubscript𝐶𝑛C_{n}italic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT. A single group can arise in different contexts under seemingly distinct forms. For instance, /44\mathbb{Z}/4\mathbb{Z}blackboard_Z / 4 blackboard_Z and the rotations leaving the square unchanged in 2superscript2\mathbb{R}^{2}blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT are fundamentally the same object. This observation gives rise to representation theory, a branch of group theory studying how the same abstract idea of a group can emerge under different forms.

Definition A.2.

A representation of a group (G,)𝐺(G,\ \cdot)( italic_G , ⋅ ) is a pair (ρ,V)𝜌𝑉(\rho,V)( italic_ρ , italic_V ) where V𝑉Vitalic_V is a vector space and ρ:GGL(V):𝜌maps-to𝐺GL𝑉\rho:G\mapsto\mathrm{GL}(V)italic_ρ : italic_G ↦ roman_GL ( italic_V ) is a group homomorphism, i.e., for all g,hG𝑔𝐺g,h\in Gitalic_g , italic_h ∈ italic_G, ρ(gh)=ρ(g)ρ(h)𝜌𝑔𝜌𝑔𝜌\rho(g\cdot h)=\rho(g)\rho(h)italic_ρ ( italic_g ⋅ italic_h ) = italic_ρ ( italic_g ) italic_ρ ( italic_h ). If V𝑉Vitalic_V is equipped with an inner product and if for all gG𝑔𝐺g\in Gitalic_g ∈ italic_G and all u,vV𝑢𝑣𝑉u,v\in Vitalic_u , italic_v ∈ italic_V, ρ(g)v,ρ(g)w=u,v𝜌𝑔𝑣𝜌𝑔𝑤𝑢𝑣\langle\rho(g)v,\rho(g)w\rangle=\langle u,v\rangle⟨ italic_ρ ( italic_g ) italic_v , italic_ρ ( italic_g ) italic_w ⟩ = ⟨ italic_u , italic_v ⟩, ρ𝜌\rhoitalic_ρ is unitary.

Remark A.3.

Throughout this paper, we use the shorthand G𝐺Gitalic_G to refer to the group (G,)𝐺(G,\cdot)( italic_G , ⋅ ) and ρ𝜌\rhoitalic_ρ to refer to a representation (ρ,V)𝜌𝑉(\rho,\ V)( italic_ρ , italic_V ).

To illustrate Definition A.2, a representation of Cnsubscript𝐶𝑛C_{n}italic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT is given by the complex roots of unity, ρ(k)=exp(2πink)𝜌𝑘2𝜋𝑖𝑛𝑘\rho(k)=\exp\left(\frac{2\pi i}{n}k\right)italic_ρ ( italic_k ) = roman_exp ( divide start_ARG 2 italic_π italic_i end_ARG start_ARG italic_n end_ARG italic_k ), on the complex one-dimensional vector space V=𝑉V=\mathbb{C}italic_V = blackboard_C. Every group also admit the trivial representation: ρ0(g)=1subscript𝜌0𝑔1\rho_{0}(g)=1italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( italic_g ) = 1 for all gG𝑔𝐺g\in Gitalic_g ∈ italic_G. There is a specific subset of these representations called the irreducible representations, irreps for short, being those that can not be expressed in a more compact form. The irreps are fundamental objects of group theory since they allow us to define an invertible Fourier transform on finite groups. The irreps are therefore needed to define the G𝐺Gitalic_G-Bispectrum – i.e., the Fourier transform of the G𝐺Gitalic_G-TC. The notion of irreps is derived from that of a G𝐺Gitalic_G-invariant subspace, which we recall in Definition A.4.

Definition A.4.

Given a representation (ρ,V)𝜌𝑉(\rho,V)( italic_ρ , italic_V ), a subspace WV𝑊𝑉W\subseteq Vitalic_W ⊆ italic_V is G𝐺Gitalic_G-invariant if ρ(g)wW𝜌𝑔𝑤𝑊\rho(g)w\in Witalic_ρ ( italic_g ) italic_w ∈ italic_W for all gG,wWformulae-sequence𝑔𝐺𝑤𝑊g\in G,\ w\in Witalic_g ∈ italic_G , italic_w ∈ italic_W.

The formal definition of the irreps is then stated as the representations with no non-trivial invariant subspace.

Definition A.5.

A non-zero representation (ρ,V)𝜌𝑉(\rho,V)( italic_ρ , italic_V ) of a group G𝐺Gitalic_G is irreducible if the only G𝐺Gitalic_G-invariant subspaces of V𝑉Vitalic_V are {0}0\{0\}{ 0 } and V𝑉Vitalic_V itself.

A single group acting on different spaces will have different representations. However, one can reveal the similarity between these representations by the mean of an equivalence relation.

Definition A.6.

Two representations (ρ,V)𝜌𝑉(\rho,V)( italic_ρ , italic_V ) and (φ,W)𝜑𝑊(\varphi,W)( italic_φ , italic_W ) are equivalent if there exists an isomorphism T:VW:𝑇maps-to𝑉𝑊T:V\mapsto Witalic_T : italic_V ↦ italic_W such that for all gG𝑔𝐺g\in Gitalic_g ∈ italic_G, ρ(g)T=Tφ(g)𝜌𝑔𝑇𝑇𝜑𝑔\rho(g)T=T\varphi(g)italic_ρ ( italic_g ) italic_T = italic_T italic_φ ( italic_g ).

For the interested reader, the invertibility property of the Fourier transform is a consequence of the concepts of Pontryagin duality (commutative groups) and Tannaka-Krein duality (non-commutative groups); see, e.g., [1]. Our proofs will also rely on the notion of generating set of G𝐺Gitalic_G, which we introduce here.

Definition A.7.

A generating set S𝑆Sitalic_S of a group (G,)𝐺(G,\cdot)( italic_G , ⋅ ) is a subset SG𝑆𝐺S\subset Gitalic_S ⊂ italic_G such that every gG𝑔𝐺g\in Gitalic_g ∈ italic_G can be expressed as a finite combination of the elements in S𝑆Sitalic_S and their inverses under the group action \cdot.

Remark A.8.

It can be shown that every group G𝐺Gitalic_G of size |G|𝐺|G|| italic_G | has a generating set of size at most log2|G|subscript2𝐺\log_{2}|G|roman_log start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT | italic_G |.

Group Actions

A group (G,)𝐺(G,\ \cdot)( italic_G , ⋅ ) represents a set of transformations such as rotations that can act on data such as images.We define formally how groups can indeed transform datasets through the concept of group action.

Definition A.9.

Given a group (G,)𝐺(G,\ \cdot)( italic_G , ⋅ ), a group action α:G×XX:𝛼maps-to𝐺𝑋𝑋\alpha:G\times X\mapsto Xitalic_α : italic_G × italic_X ↦ italic_X is a function satisfying i) Identity: α(e,x)=x𝛼𝑒𝑥𝑥\alpha(e,x)=xitalic_α ( italic_e , italic_x ) = italic_x, ii) Compatibility: α(h,α(g,x))=α(hg,x)𝛼𝛼𝑔𝑥𝛼𝑔𝑥\alpha(h,\alpha(g,x))=\alpha(h\cdot g,x)italic_α ( italic_h , italic_α ( italic_g , italic_x ) ) = italic_α ( italic_h ⋅ italic_g , italic_x ) for any xX𝑥𝑋x\in Xitalic_x ∈ italic_X and h,gG𝑔𝐺h,g\in Gitalic_h , italic_g ∈ italic_G and where e𝑒eitalic_e is the identity of G𝐺Gitalic_G.

Processing operations and neural networks can be designed so that they respect group actions: specifically, a group acting on the input (e.g., rotating an input image) should yield a group action on the output (e.g., a rotation of the output feature map). This is the notion of G𝐺Gitalic_G-equivariance.

Definition A.10.

A function ψ:XY:𝜓maps-to𝑋𝑌\psi:X\mapsto Yitalic_ψ : italic_X ↦ italic_Y is G𝐺Gitalic_G-equivariant if ψ(α1(g,x))=α2(g,ψ(x))𝜓subscript𝛼1𝑔𝑥subscript𝛼2𝑔𝜓𝑥\psi(\alpha_{1}(g,x))=\alpha_{2}(g,\psi(x))italic_ψ ( italic_α start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_g , italic_x ) ) = italic_α start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_g , italic_ψ ( italic_x ) ) for all xX𝑥𝑋x\in Xitalic_x ∈ italic_X and all gG𝑔𝐺g\in Gitalic_g ∈ italic_G, where α1subscript𝛼1\alpha_{1}italic_α start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and α2subscript𝛼2\alpha_{2}italic_α start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT are group actions on X𝑋Xitalic_X and Y𝑌Yitalic_Y, respectively.

For example, the G𝐺Gitalic_G-convolution layer is G𝐺Gitalic_G-equivariant by design [7]. An important problem in signal processing and deep learning is to achieve invariance to nuisance factors not relevant for the task. Many of these factors are describable as group actions (e.g. rotations, translations, scaling). Thus, we want processing methods and machine learning models to be G𝐺Gitalic_G-invariant:

Definition A.11.

A function ψ:XY:𝜓maps-to𝑋𝑌\psi:X\mapsto Yitalic_ψ : italic_X ↦ italic_Y is G𝐺Gitalic_G-invariant if ψ(α(g,x))=ψ(x)𝜓𝛼𝑔𝑥𝜓𝑥\psi(\alpha(g,x))=\psi(x)italic_ψ ( italic_α ( italic_g , italic_x ) ) = italic_ψ ( italic_x ) for all xX𝑥𝑋x\in Xitalic_x ∈ italic_X and all gG𝑔𝐺g\in Gitalic_g ∈ italic_G.

For example, the Max G𝐺Gitalic_G-pooling (maxgGΘ(g)subscript𝑔𝐺Θ𝑔\max_{g\in G}\Theta(g)roman_max start_POSTSUBSCRIPT italic_g ∈ italic_G end_POSTSUBSCRIPT roman_Θ ( italic_g )) traditionally follows a G𝐺Gitalic_G-convolutional layer to remove the equivariance of the convolution and achieve G𝐺Gitalic_G-invariance. A G𝐺Gitalic_G-CNN is a neural network that consists of G𝐺Gitalic_G-convolutional layers and a pooling/invariance operation. The main applications of our proposed selective G𝐺Gitalic_G-Bispectrum operation is to act as a G𝐺Gitalic_G-invariant pooling layer, that can conveniently replace the classical Max G𝐺Gitalic_G-Pooling layer of G𝐺Gitalic_G-CNNs, as shown in the rest of the paper.

Refer to caption
Figure 7: Illustration of the concepts of excessive and complete invariance to a group action. With the excessive invariance, samples from different classes can be mapped to the same output.
Clebsh-Jordan matrices

Given a group (G,)𝐺(G,\cdot)( italic_G , ⋅ ) and a family of unitary irreps {ρi}i=0|Irreps|1superscriptsubscriptsubscript𝜌𝑖𝑖0𝐼𝑟𝑟𝑒𝑝𝑠1\{\rho_{i}\}_{i=0}^{|Irreps|-1}{ italic_ρ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT | italic_I italic_r italic_r italic_e italic_p italic_s | - 1 end_POSTSUPERSCRIPT, the Clebsh-Jordan matrix is analytically defined for each pair ρ1,ρ2subscript𝜌1subscript𝜌2\rho_{1},\rho_{2}italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT as:

(ρ1ρ2)(g)=Cρ1,ρ2[ρρ(g)]Cρ1,ρ2.tensor-productsubscript𝜌1subscript𝜌2𝑔subscript𝐶subscript𝜌1subscript𝜌2delimited-[]subscriptdirect-sum𝜌𝜌𝑔superscriptsubscript𝐶subscript𝜌1subscript𝜌2(\rho_{1}\otimes\rho_{2})(g)=C_{\rho_{1},\rho_{2}}\Big{[}\bigoplus_{\rho\in% \mathcal{R}}\rho(g)\Big{]}C_{\rho_{1},\rho_{2}}^{\dagger}.( italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ( italic_g ) = italic_C start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT [ ⨁ start_POSTSUBSCRIPT italic_ρ ∈ caligraphic_R end_POSTSUBSCRIPT italic_ρ ( italic_g ) ] italic_C start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT . (4)
G𝐺Gitalic_G-Bispectrum for Commutative Finite Groups

The computation of the G𝐺Gitalic_G-Bispectrum simplifies for commutative groups compared to Theorem 2.3, as recalled below.

Theorem A.12.

[16] If (G,)𝐺(G,\ \cdot)( italic_G , ⋅ ) is a commutative group and Θ:G:Θ𝐺\Theta:G\rightarrow\mathbb{R}roman_Θ : italic_G → blackboard_R, the G𝐺Gitalic_G-Bispectrum can be computed as

β(Θ)ρ1,ρ2=(Θ)ρ1(Θ)ρ2(Θ)ρ1ρ2.𝛽subscriptΘsubscript𝜌1subscript𝜌2subscriptΘsubscript𝜌1subscriptΘsubscript𝜌2superscriptsubscriptΘtensor-productsubscript𝜌1subscript𝜌2\beta(\Theta)_{\rho_{1},\rho_{2}}=\mathcal{F}(\Theta)_{\rho_{1}}\mathcal{F}(% \Theta)_{\rho_{2}}\mathcal{F}(\Theta)_{\rho_{1}\otimes\rho_{2}}^{\dagger}.italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT = caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT . (5)

For commutative groups, the G𝐺Gitalic_G-bispectral coefficients are complex scalars [29].

Appendix B Indeterminacy of G𝐺Gitalic_G-Bispectrum inversion problem

It is important to state precisely which information we can possibly retrieve from the G𝐺Gitalic_G-Bispectrum. A consequence of the G𝐺Gitalic_G-invariance of β(Θ)𝛽Θ\beta(\Theta)italic_β ( roman_Θ ) is that the G𝐺Gitalic_G-Bispectrum inversion problem is ill-posed. Recall that G𝐺Gitalic_G-invariance means that for all hG𝐺h\in Gitalic_h ∈ italic_G, we have β(α(h,Θ))ρ1,ρ2=β(Θ)ρ1,ρ2𝛽subscript𝛼Θsubscript𝜌1subscript𝜌2𝛽subscriptΘsubscript𝜌1subscript𝜌2\beta(\alpha(h,\Theta))_{\rho_{1},\rho_{2}}=\beta(\Theta)_{\rho_{1},\rho_{2}}italic_β ( italic_α ( italic_h , roman_Θ ) ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT = italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT. Given a function Θ:G:Θmaps-to𝐺\Theta:G\mapsto\mathbb{R}roman_Θ : italic_G ↦ blackboard_R, a possible definition for the group action on ΘΘ\Thetaroman_Θ is given by α(h,Θ(g))=Θ(h1g)𝛼Θ𝑔Θsuperscript1𝑔\alpha(h,\Theta(g))=\Theta(h^{-1}\cdot g)italic_α ( italic_h , roman_Θ ( italic_g ) ) = roman_Θ ( italic_h start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ⋅ italic_g ) for all hG𝐺h\in Gitalic_h ∈ italic_G (see, e.g., [7]). Therefore, for all hG𝐺h\in Gitalic_h ∈ italic_G, we have

(α(h,Θ))ρsubscript𝛼Θ𝜌\displaystyle\mathcal{F}(\alpha(h,\Theta))_{\rho}caligraphic_F ( italic_α ( italic_h , roman_Θ ) ) start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT =gGα(h,Θ(g))ρ(g)absentsubscript𝑔𝐺𝛼Θ𝑔𝜌superscript𝑔\displaystyle=\sum_{g\in G}\alpha(h,\Theta(g))\rho(g)^{\dagger}= ∑ start_POSTSUBSCRIPT italic_g ∈ italic_G end_POSTSUBSCRIPT italic_α ( italic_h , roman_Θ ( italic_g ) ) italic_ρ ( italic_g ) start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT
=ρ(hh1)gGΘ(h1g)ρ(g)absent𝜌superscript1subscript𝑔𝐺Θsuperscript1𝑔𝜌superscript𝑔\displaystyle=\rho(hh^{-1})\sum_{g\in G}\Theta(h^{-1}g)\rho(g)^{\dagger}= italic_ρ ( italic_h italic_h start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ) ∑ start_POSTSUBSCRIPT italic_g ∈ italic_G end_POSTSUBSCRIPT roman_Θ ( italic_h start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT italic_g ) italic_ρ ( italic_g ) start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT
=ρ(h)(Θ)ρ,absent𝜌subscriptΘ𝜌\displaystyle=\rho(h)\mathcal{F}(\Theta)_{\rho},= italic_ρ ( italic_h ) caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT ,

which shows that the G𝐺Gitalic_G-Fourier transform (Θ)Θ\mathcal{F}(\Theta)caligraphic_F ( roman_Θ ) is G𝐺Gitalic_G-equivariant. In consequence, recovering (Θ)Θ\mathcal{F}(\Theta)caligraphic_F ( roman_Θ ) from β(Θ)𝛽Θ\beta(\Theta)italic_β ( roman_Θ ) can at best be done up to an unknown factor ρ(h)𝜌\rho(h)italic_ρ ( italic_h ). Moreover, as explained in [14, 19], the indeterminacy is not limited to ρ(h)𝜌\rho(h)italic_ρ ( italic_h ). Take for instance Cnsubscript𝐶𝑛C_{n}italic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT. An indeterminacy factor ρk(h)=exp(2πihkn)subscript𝜌𝑘2𝜋𝑖𝑘𝑛\rho_{k}(h)=\exp\left(\frac{2\pi ihk}{n}\right)italic_ρ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( italic_h ) = roman_exp ( divide start_ARG 2 italic_π italic_i italic_h italic_k end_ARG start_ARG italic_n end_ARG ) corresponds to a translation of hCnsubscript𝐶𝑛h\in C_{n}italic_h ∈ italic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT of the signal, Θ~(g)=Θ(g+h)~Θ𝑔Θ𝑔\widetilde{\Theta}(g)=\Theta(g+h)over~ start_ARG roman_Θ end_ARG ( italic_g ) = roman_Θ ( italic_g + italic_h ). [14] showed that hhitalic_h is not restricted to Cn=/nsubscript𝐶𝑛𝑛C_{n}=\mathbb{Z}/n\mathbb{Z}italic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = blackboard_Z / italic_n blackboard_Z: it may take any value in [0,n]0𝑛[0,n][ 0 , italic_n ]. The Bispectrum is not only invariant to a discrete set of rotations, but to the continuous group of rotations SO(2)SO2\mathrm{SO}(2)roman_SO ( 2 ). The factor can thus be written exp(iφk)𝑖𝜑𝑘\exp(i\varphi k)roman_exp ( italic_i italic_φ italic_k ) where φ[0,2π)𝜑02𝜋\varphi\in[0,2\pi)italic_φ ∈ [ 0 , 2 italic_π ).

Appendix C Selective G𝐺Gitalic_G-Bispectrum inversion: known results

From now on, we assume that the Fourier transform (Θ)Θ\mathcal{F}(\Theta)caligraphic_F ( roman_Θ ) only features non-zero elements, or invertible matrices in the case of non-scalar Fourier transform. This assumption is supported by the zero probability of encountering this corner case.

Cyclic groups Cnsubscript𝐶𝑛C_{n}italic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT

We start with (G,)=(/n,+modn)=:Cn(G,\ \cdot)=(\mathbb{Z}/n\mathbb{Z},\ +\ \mathrm{mod}\ n)=:C_{n}( italic_G , ⋅ ) = ( blackboard_Z / italic_n blackboard_Z , + roman_mod italic_n ) = : italic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT. Recall that the irreps are given by ρk(g)=exp(ωkg)subscript𝜌𝑘𝑔subscript𝜔𝑘𝑔\rho_{k}(g)=\exp\left(\omega_{k}g\right)italic_ρ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( italic_g ) = roman_exp ( italic_ω start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_g ) where ωk:=2πiknassignsubscript𝜔𝑘2𝜋𝑖𝑘𝑛\omega_{k}:=\frac{2\pi ik}{n}italic_ω start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT := divide start_ARG 2 italic_π italic_i italic_k end_ARG start_ARG italic_n end_ARG for k/n𝑘𝑛k\in\mathbb{Z}/n\mathbb{Z}italic_k ∈ blackboard_Z / italic_n blackboard_Z (see, e.g., [29]).

Theorem C.1.

[16] For cyclic groups Cnsubscript𝐶𝑛C_{n}italic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, the Cnsubscript𝐶𝑛C_{n}italic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT-Bispectrum can be inverted using |G|=n𝐺𝑛|G|=n| italic_G | = italic_n coefficients if (Θ)ρ0subscriptΘ𝜌0\mathcal{F}(\Theta)_{\rho}\neq 0caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT ≠ 0 for all ρCn𝜌subscript𝐶𝑛\rho\in C_{n}italic_ρ ∈ italic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT.

Proof.

The Fourier coefficient associated to the trivial representation (Θ)ρ0subscriptΘsubscript𝜌0\mathcal{F}(\Theta)_{\rho_{0}}caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT, is uniquely determined and can be recovered from Theorem A.12 by identifying phase and modulus:

β(Θ)ρ0,ρ0=|(Θ)ρ0|3exp(iarg((Θ)ρ0)).𝛽subscriptΘsubscript𝜌0subscript𝜌0superscriptsubscriptΘsubscript𝜌03𝑖argsubscriptΘsubscript𝜌0\beta(\Theta)_{\rho_{0},\rho_{0}}=|\mathcal{F}(\Theta)_{\rho_{0}}|^{3}\exp% \left(i\ \mathrm{arg}(\mathcal{F}(\Theta)_{\rho_{0}})\right).italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT = | caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT | start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT roman_exp ( italic_i roman_arg ( caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ) ) . (6)

We proceed using Pontryagin duality: the irreps {ρk}k=1nsuperscriptsubscriptsubscript𝜌𝑘𝑘1𝑛\{\rho_{k}\}_{k=1}^{n}{ italic_ρ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_k = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT, form a group G^^𝐺\widehat{G}over^ start_ARG italic_G end_ARG themselves, with G^=G^𝐺𝐺\widehat{G}=Gover^ start_ARG italic_G end_ARG = italic_G. In the case of the cyclic group Cnsubscript𝐶𝑛C_{n}italic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, notice that for all j,k/n𝑗𝑘𝑛j,k\in\mathbb{Z}/n\mathbb{Z}italic_j , italic_k ∈ blackboard_Z / italic_n blackboard_Z, ρjρk=ρj+ktensor-productsubscript𝜌𝑗subscript𝜌𝑘subscript𝜌𝑗𝑘\rho_{j}\otimes\rho_{k}=\rho_{j+k}italic_ρ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = italic_ρ start_POSTSUBSCRIPT italic_j + italic_k end_POSTSUBSCRIPT. Leveraging (5), we can use β(Θ)ρ0,ρ1𝛽subscriptΘsubscript𝜌0subscript𝜌1\beta(\Theta)_{\rho_{0},\rho_{1}}italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT to recover (Θ)ρ1subscriptΘsubscript𝜌1\mathcal{F}(\Theta)_{\rho_{1}}caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT:

|(Θ)ρ1|2=β(Θ)ρ0,ρ1(Θ)ρ0.superscriptsubscriptΘsubscript𝜌12𝛽subscriptΘsubscript𝜌0subscript𝜌1subscriptΘsubscript𝜌0|\mathcal{F}(\Theta)_{\rho_{1}}|^{2}=\frac{\beta(\Theta)_{\rho_{0},\rho_{1}}}{% \mathcal{F}(\Theta)_{\rho_{0}}}.| caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT = divide start_ARG italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_ARG start_ARG caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_ARG . (7)

Equation (7) leaves an indeterminacy on the phase of (Θ)ρ1subscriptΘsubscript𝜌1\mathcal{F}(\Theta)_{\rho_{1}}caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT. This corresponds to the indeterminacy factor exp(iφ)𝑖𝜑\exp(i\varphi)roman_exp ( italic_i italic_φ ), ϕ[0,2π)italic-ϕ02𝜋\phi\in[0,2\pi)italic_ϕ ∈ [ 0 , 2 italic_π ) of Appendix B. It is inherited from the G𝐺Gitalic_G-invariance of β(Θ)𝛽Θ\beta(\Theta)italic_β ( roman_Θ ) (it is not injective, hence you cannot distinguish inputs that have the same G𝐺Gitalic_G-Bispectrum). For now, let arg((Θ)ρ1)=0subscriptΘsubscript𝜌10\arg(\mathcal{F}(\Theta)_{\rho_{1}})=0roman_arg ( caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ) = 0. The key to recover all the other Fourier coefficients is to notice that S={1}𝑆1S=\{1\}italic_S = { 1 } is a generating set of G^=/n^𝐺𝑛\widehat{G}=\mathbb{Z}/n\mathbb{Z}over^ start_ARG italic_G end_ARG = blackboard_Z / italic_n blackboard_Z. Therefore, computing sequentially

(Θ)ρk+1=(β(Θ)ρ1,ρk(Θ)ρ1(Θ)ρk),subscriptΘsubscript𝜌𝑘1superscript𝛽subscriptΘsubscript𝜌1subscript𝜌𝑘subscriptΘsubscript𝜌1subscriptΘsubscript𝜌𝑘\mathcal{F}(\Theta)_{\rho_{k+1}}=\left(\frac{\beta(\Theta)_{\rho_{1},\rho_{k}}% }{\mathcal{F}(\Theta)_{\rho_{1}}\mathcal{F}(\Theta)_{\rho_{k}}}\right)^{% \dagger},caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_k + 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT = ( divide start_ARG italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_ARG start_ARG caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_ARG ) start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT , (8)

for k=1,2,,n2𝑘12𝑛2k=1,2,...,n-2italic_k = 1 , 2 , … , italic_n - 2 recovers completely (Θ)Θ\mathcal{F}(\Theta)caligraphic_F ( roman_Θ ). We are not done yet because the phase we fixed before is not a valid shift. A valid phase shift for (Θ)ρ1subscriptΘsubscript𝜌1\mathcal{F}(\Theta)_{\rho_{1}}caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT is such that the shift w.r.t the original signal has the form exp(2πihn)2𝜋𝑖𝑛\exp\left(\frac{2\pi ih}{n}\right)roman_exp ( divide start_ARG 2 italic_π italic_i italic_h end_ARG start_ARG italic_n end_ARG ) for hNNh\in\mathrm{N}italic_h ∈ roman_N. This valid phase shift is easy to find. It is the unique φ[0,2πn)𝜑02𝜋𝑛\varphi\in[0,\frac{2\pi}{n})italic_φ ∈ [ 0 , divide start_ARG 2 italic_π end_ARG start_ARG italic_n end_ARG ) such that, if we define (Θ~)ρk=exp(φk)(Θ)ρksubscript~Θsubscript𝜌𝑘𝜑𝑘subscriptΘsubscript𝜌𝑘\mathcal{F}(\widetilde{\Theta})_{\rho_{k}}=\exp(\varphi k)\mathcal{F}(\Theta)_% {\rho_{k}}caligraphic_F ( over~ start_ARG roman_Θ end_ARG ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT = roman_exp ( italic_φ italic_k ) caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT for all k/n𝑘𝑛k\in\mathbb{Z}/n\mathbb{Z}italic_k ∈ blackboard_Z / italic_n blackboard_Z, then we have 1((Θ~))nsuperscript1~Θsuperscript𝑛\mathcal{F}^{-1}(\mathcal{F}(\widetilde{\Theta}))\in\mathbb{\mathbb{R}}^{n}caligraphic_F start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ( caligraphic_F ( over~ start_ARG roman_Θ end_ARG ) ) ∈ blackboard_R start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT (i.e., with no imaginary part). Note that this is an explicit method to recover a valid phase while [16] relies on its existence without explicit method to find it. The method is summarized in Algorithm 2 and illustrated on Figure 8. In consequence only the following G𝐺Gitalic_G-bispectral coefficients are needed for completeness: β(Θ)ρ0,ρ0,β(Θ)ρ0,ρ1𝛽subscriptΘsubscript𝜌0subscript𝜌0𝛽subscriptΘsubscript𝜌0subscript𝜌1\beta(\Theta)_{\rho_{0},\rho_{0}},\beta(\Theta)_{\rho_{0},\rho_{1}}italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT and β(Θ)ρ1,ρk𝛽subscriptΘsubscript𝜌1subscript𝜌𝑘\beta(\Theta)_{\rho_{1},\rho_{k}}italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT for k=1,2,,n2𝑘12𝑛2k=1,2,...,n-2italic_k = 1 , 2 , … , italic_n - 2. This makes a total of n=|G|𝑛𝐺n=|G|italic_n = | italic_G | coefficients. We summarize this result in Theorem C.1. ∎

Algorithm 2 Bispectrum inversion on /n𝑛\mathbb{Z}/n\mathbb{Z}blackboard_Z / italic_n blackboard_Z [16]
1:  Input: β(Θ)ρ0,ρ0,β(Θ)ρ0,ρ1𝛽subscriptΘsubscript𝜌0subscript𝜌0𝛽subscriptΘsubscript𝜌0subscript𝜌1\beta(\Theta)_{\rho_{0},\rho_{0}},\beta(\Theta)_{\rho_{0},\rho_{1}}italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT and β(Θ)ρ1,ρk𝛽subscriptΘsubscript𝜌1subscript𝜌𝑘\beta(\Theta)_{\rho_{1},\rho_{k}}italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT for k=1,2,,n2𝑘12𝑛2k=1,2,...,n-2italic_k = 1 , 2 , … , italic_n - 2.
2:  Compute |(Θ)ρ0|=(β(Θ)ρ0,ρ0)13subscriptΘsubscript𝜌0superscript𝛽subscriptΘsubscript𝜌0subscript𝜌013|\mathcal{F}(\Theta)_{\rho_{0}}|=\left(\beta(\Theta)_{\rho_{0},\rho_{0}}\right% )^{\frac{1}{3}}| caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT | = ( italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT divide start_ARG 1 end_ARG start_ARG 3 end_ARG end_POSTSUPERSCRIPT and arg((Θ)ρ0)=arg(β(Θ)ρ0,ρ0)argsubscriptΘsubscript𝜌0arg𝛽subscriptΘsubscript𝜌0subscript𝜌0\mathrm{arg}(\mathcal{F}(\Theta)_{\rho_{0}})=\mathrm{arg}(\beta(\Theta)_{\rho_% {0},\rho_{0}})roman_arg ( caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ) = roman_arg ( italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ).
3:  Compute |(Θ)ρ1|=(β(Θ)ρ0,ρ1(Θ)ρ0)12subscriptΘsubscript𝜌1superscript𝛽subscriptΘsubscript𝜌0subscript𝜌1subscriptΘsubscript𝜌012|\mathcal{F}(\Theta)_{\rho_{1}}|=\left(\frac{\beta(\Theta)_{\rho_{0},\rho_{1}}% }{\mathcal{F}(\Theta)_{\rho_{0}}}\right)^{\frac{1}{2}}| caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT | = ( divide start_ARG italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_ARG start_ARG caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_ARG ) start_POSTSUPERSCRIPT divide start_ARG 1 end_ARG start_ARG 2 end_ARG end_POSTSUPERSCRIPT and set arg((Θ)ρ1)=0argsubscriptΘsubscript𝜌10\mathrm{arg}(\mathcal{F}(\Theta)_{\rho_{1}})=0roman_arg ( caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ) = 0.
4:  for k=1,2,,n2𝑘12𝑛2k=1,2,...,n-2italic_k = 1 , 2 , … , italic_n - 2 do
5:    Compute (Θ)ρk+1=(β(Θ)ρ1,ρk(Θ)ρ1(Θ)ρk)subscriptΘsubscript𝜌𝑘1superscript𝛽subscriptΘsubscript𝜌1subscript𝜌𝑘subscriptΘsubscript𝜌1subscriptΘsubscript𝜌𝑘\mathcal{F}(\Theta)_{\rho_{k+1}}=\left(\frac{\beta(\Theta)_{\rho_{1},\rho_{k}}% }{\mathcal{F}(\Theta)_{\rho_{1}}\mathcal{F}(\Theta)_{\rho_{k}}}\right)^{\dagger}caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_k + 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT = ( divide start_ARG italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_ARG start_ARG caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_ARG ) start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT.
6:  end for
7:  Find φ[0,2πn)𝜑02𝜋𝑛\varphi\in[0,\frac{2\pi}{n})italic_φ ∈ [ 0 , divide start_ARG 2 italic_π end_ARG start_ARG italic_n end_ARG ) such that 1((Θ~))nsuperscript1~Θsuperscript𝑛\mathcal{F}^{-1}(\mathcal{F}(\widetilde{\Theta}))\in\mathbb{R}^{n}caligraphic_F start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ( caligraphic_F ( over~ start_ARG roman_Θ end_ARG ) ) ∈ blackboard_R start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT where (Θ~)ρk=exp(ϕk)(Θ)ρksubscript~Θsubscript𝜌𝑘italic-ϕ𝑘subscriptΘsubscript𝜌𝑘\mathcal{F}(\widetilde{\Theta})_{\rho_{k}}=\exp(\phi k)\mathcal{F}(\Theta)_{% \rho_{k}}caligraphic_F ( over~ start_ARG roman_Θ end_ARG ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT = roman_exp ( italic_ϕ italic_k ) caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT.
8:  Return (Θ~)~Θ\mathcal{F}(\widetilde{\Theta})caligraphic_F ( over~ start_ARG roman_Θ end_ARG ) (up to group action).
Refer to caption
Figure 8: Illustration of Algorithm 2. The Bispectrum coefficients allow to recover the Fourier transform sequentially, up to group action. First, βρ0,ρ0subscript𝛽subscript𝜌0subscript𝜌0\beta_{\rho_{0},\rho_{0}}italic_β start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT gives ρ0subscriptsubscript𝜌0\mathcal{F}_{\rho_{0}}caligraphic_F start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT, which, combined with βρ0,ρ1subscript𝛽subscript𝜌0subscript𝜌1\beta_{\rho_{0},\rho_{1}}italic_β start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT gives ρ1subscriptsubscript𝜌1\mathcal{F}_{\rho_{1}}caligraphic_F start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT etc.

Appendix D Selective G𝐺Gitalic_G-Bispectrum inversion: commutative groups

Here, we prove the theorem stated in the main text and recalled below:

Theorem D.1.

For finite commutative groups G𝐺Gitalic_G, the G𝐺Gitalic_G-Bispectrum can be inverted using |G|𝐺|G|| italic_G | coefficients if (Θ)ρ0subscriptΘ𝜌0\mathcal{F}(\Theta)_{\rho}\neq 0caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT ≠ 0 for all ρG𝜌𝐺\rho\in Gitalic_ρ ∈ italic_G.

Specifically, we extend Algorithm 2 to all commutative groups, based on the Theorem D.2. That is, we design a method for the direct sum of finitely many cyclic groups.

Theorem D.2.

(see, e.g., [25]) Every finite commutative group G𝐺Gitalic_G is isomorphic to a finite direct sum of cyclic groups: Gl=1L/nl𝐺superscriptsubscriptdirect-sum𝑙1𝐿subscript𝑛𝑙G\cong\bigoplus_{l=1}^{L}\mathbb{Z}/n_{l}\mathbb{Z}italic_G ≅ ⨁ start_POSTSUBSCRIPT italic_l = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_L end_POSTSUPERSCRIPT blackboard_Z / italic_n start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT blackboard_Z where L𝐿L\in\mathbb{N}italic_L ∈ blackboard_N and nlsubscript𝑛𝑙n_{l}\in\mathbb{N}italic_n start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ∈ blackboard_N for l=1,2,,L𝑙12𝐿l=1,2,...,Litalic_l = 1 , 2 , … , italic_L.

For all 𝐤G𝐤𝐺\mathbf{k}\in Gbold_k ∈ italic_G (𝐤𝐤\mathbf{k}bold_k is integer-valued vector of length L𝐿Litalic_L), the irreps ρ𝐤:G:subscript𝜌𝐤maps-to𝐺\rho_{\mathbf{k}}:G\mapsto\mathbb{C}italic_ρ start_POSTSUBSCRIPT bold_k end_POSTSUBSCRIPT : italic_G ↦ blackboard_C are given by ρ𝐤(g)=l=1Lexp(2πi𝐤lnlgl)subscript𝜌𝐤𝑔superscriptsubscriptproduct𝑙1𝐿2𝜋𝑖subscript𝐤𝑙subscript𝑛𝑙subscript𝑔𝑙\rho_{\mathbf{k}}(g)=\prod_{l=1}^{L}\exp(\frac{2\pi i\mathbf{k}_{l}}{n_{l}}g_{% l})italic_ρ start_POSTSUBSCRIPT bold_k end_POSTSUBSCRIPT ( italic_g ) = ∏ start_POSTSUBSCRIPT italic_l = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_L end_POSTSUPERSCRIPT roman_exp ( divide start_ARG 2 italic_π italic_i bold_k start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT end_ARG start_ARG italic_n start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT end_ARG italic_g start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ). The number of irreps is |G|=l=1Lnl𝐺superscriptsubscriptproduct𝑙1𝐿subscript𝑛𝑙|G|=\prod_{l=1}^{L}n_{l}| italic_G | = ∏ start_POSTSUBSCRIPT italic_l = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_L end_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT. We detail and prove in Theorem D.3 the procedure to invert the G𝐺Gitalic_G-Bispectrum on commutative groups. The procedure is summarized in Algorithm 3 where we use the two following notations.

  1. 1.

    𝐞lsuperscript𝐞𝑙\mathbf{e}^{l}bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT denotes the basis vector in Lsuperscript𝐿\mathbb{Z}^{L}blackboard_Z start_POSTSUPERSCRIPT italic_L end_POSTSUPERSCRIPT such that 𝐞kl=1subscriptsuperscript𝐞𝑙𝑘1\mathbf{e}^{l}_{k}=1bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 1 if k=l𝑘𝑙k=litalic_k = italic_l and 𝐞kl=0subscriptsuperscript𝐞𝑙𝑘0\mathbf{e}^{l}_{k}=0bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 0 otherwise.

  2. 2.

    Kl:={t𝐞l+𝐤|t=1,2,nl1 and 𝐤Kl1K^{l}:=\{t\mathbf{e}^{l}+\mathbf{k}\ |\ t=1,2...,n_{l}-1\text{ and }\mathbf{k}% \in K^{l-1}italic_K start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT := { italic_t bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT + bold_k | italic_t = 1 , 2 … , italic_n start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT - 1 and bold_k ∈ italic_K start_POSTSUPERSCRIPT italic_l - 1 end_POSTSUPERSCRIPT} for l=1,2,,L𝑙12𝐿l=1,2,...,Litalic_l = 1 , 2 , … , italic_L.

The sets Klsuperscript𝐾𝑙K^{l}italic_K start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT are a recursively constructed such that KLGsuperscript𝐾𝐿𝐺K^{L}\cong Gitalic_K start_POSTSUPERSCRIPT italic_L end_POSTSUPERSCRIPT ≅ italic_G. For G=(/3)3𝐺superscript33G=(\mathbb{Z}/3\mathbb{Z})^{3}italic_G = ( blackboard_Z / 3 blackboard_Z ) start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT, the sets K1,K2,K3subscript𝐾1subscript𝐾2subscript𝐾3K_{1},K_{2},K_{3}italic_K start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_K start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_K start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT are represented on Figure 9.

Refer to caption
Figure 9: Representation of the sets K1,K2subscript𝐾1subscript𝐾2K_{1},K_{2}italic_K start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_K start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and K3subscript𝐾3K_{3}italic_K start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT for G=(/3)3𝐺superscript33G=(\mathbb{Z}/3\mathbb{Z})^{3}italic_G = ( blackboard_Z / 3 blackboard_Z ) start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT.
Theorem D.3.

For finite commutative groups G𝐺Gitalic_G, the G𝐺Gitalic_G-Bispectrum can be inverted using |G|𝐺|G|| italic_G | coefficients if (Θ)ρ0subscriptΘ𝜌0\mathcal{F}(\Theta)_{\rho}\neq 0caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT ≠ 0 for all ρG𝜌𝐺\rho\in Gitalic_ρ ∈ italic_G.

Proof.

Notice that for the commutative groups, we keep the property ρ𝐤ρ𝐤=ρ𝐤+𝐤tensor-productsubscript𝜌𝐤subscript𝜌superscript𝐤subscript𝜌𝐤superscript𝐤\rho_{\mathbf{k}}\otimes\rho_{\mathbf{k}^{\prime}}=\rho_{\mathbf{k}+\mathbf{k}% ^{\prime}}italic_ρ start_POSTSUBSCRIPT bold_k end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT bold_k start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT = italic_ρ start_POSTSUBSCRIPT bold_k + bold_k start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT where (𝐤+𝐤)l:=𝐤l+𝐤lmodnlassignsubscript𝐤superscript𝐤𝑙subscript𝐤𝑙superscriptsubscript𝐤𝑙modsubscript𝑛𝑙(\mathbf{k}+\mathbf{k}^{\prime})_{l}:=\mathbf{k}_{l}+\mathbf{k}_{l}^{\prime}\ % \mathrm{mod}\ n_{l}( bold_k + bold_k start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT := bold_k start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT + bold_k start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT roman_mod italic_n start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT for l=1,2,,L𝑙12𝐿l=1,2,...,Litalic_l = 1 , 2 , … , italic_L. The first step is to obtain a generating set S𝑆Sitalic_S of the irreps is of size L𝐿Litalic_L. It is given by the usual basis vectors S={𝐞lLS=\{\mathbf{e}^{l}\in\mathbb{Z}^{L}italic_S = { bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT ∈ blackboard_Z start_POSTSUPERSCRIPT italic_L end_POSTSUPERSCRIPT for l=1,,L}l=1,...,L\}italic_l = 1 , … , italic_L } where

𝐞kl={1 if k=l,0 otherwise.subscriptsuperscript𝐞𝑙𝑘cases1 if 𝑘𝑙otherwise0 otherwise.otherwise\mathbf{e}^{l}_{k}=\begin{cases}1\text{ if }k=l,\\ 0\text{ otherwise.}\end{cases}bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = { start_ROW start_CELL 1 if italic_k = italic_l , end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL 0 otherwise. end_CELL start_CELL end_CELL end_ROW

By Theorem A.12, it is sufficient to have the Fourier coefficients associated to each generating element in S𝑆Sitalic_S to recover all the Fourier coefficients. Indeed, knowing (Θ)ρ𝐤1subscriptΘsubscript𝜌subscript𝐤1\mathcal{F}(\Theta)_{\rho_{\mathbf{k}_{1}}}caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT bold_k start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT and (Θ)ρ𝐤2subscriptΘsubscript𝜌subscript𝐤2\mathcal{F}(\Theta)_{\rho_{\mathbf{k}_{2}}}caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT bold_k start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT allows us to compute (Θ)ρ𝐤1+𝐤2subscriptΘsubscript𝜌subscript𝐤1subscript𝐤2\mathcal{F}(\Theta)_{\rho_{\mathbf{k}_{1}+\mathbf{k}_{2}}}caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT bold_k start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + bold_k start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT. By definition of the generating set S𝑆Sitalic_S, we can thus recover (Θ)ρ𝐤subscriptΘsubscript𝜌𝐤\mathcal{F}(\Theta)_{\rho_{\mathbf{k}}}caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT bold_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT for all 𝐤G𝐤𝐺\mathbf{k}\in Gbold_k ∈ italic_G. The moduli of the coefficients (Θ)ρ𝐞lsubscriptΘsubscript𝜌superscript𝐞𝑙\mathcal{F}(\Theta)_{\rho_{\mathbf{e}^{l}}}caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT for l=1,2,,L𝑙12𝐿l=1,2,...,Litalic_l = 1 , 2 , … , italic_L can be computed as follows:

|(Θ)ρ𝐞l|=(β(Θ)ρ𝟎,ρ𝐞l(Θ)ρ𝟎)12,subscriptΘsubscript𝜌superscript𝐞𝑙superscript𝛽subscriptΘsubscript𝜌0subscript𝜌superscript𝐞𝑙subscriptΘsubscript𝜌012|\mathcal{F}(\Theta)_{\rho_{\mathbf{e}^{l}}}|=\left(\frac{\beta(\Theta)_{\rho_% {\mathbf{0}},\rho_{\mathbf{e}^{l}}}}{\mathcal{F}(\Theta)_{\rho_{\mathbf{0}}}}% \right)^{\frac{1}{2}},| caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT | = ( divide start_ARG italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT bold_0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_ARG start_ARG caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT bold_0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_ARG ) start_POSTSUPERSCRIPT divide start_ARG 1 end_ARG start_ARG 2 end_ARG end_POSTSUPERSCRIPT , (9)

where (Θ)ρ𝟎subscriptΘsubscript𝜌0\mathcal{F}(\Theta)_{\rho_{\mathbf{0}}}caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT bold_0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT is the Fourier coefficient of the trivial representation (computed as in (6)). We claim that the phase can be fixed independently for each label l𝑙litalic_l, thus L𝐿Litalic_L times. This is because only one factor hlsubscript𝑙h_{l}italic_h start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT remains among the L𝐿Litalic_L independent factors in 𝐡𝐡\mathbf{h}bold_h:

(α(𝐡,Θ))ρ𝐞lsubscript𝛼𝐡Θsubscript𝜌superscript𝐞𝑙\displaystyle\mathcal{F}(\alpha(\mathbf{h},\Theta))_{\rho_{\mathbf{e}^{l}}}caligraphic_F ( italic_α ( bold_h , roman_Θ ) ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT =ρ𝐞l(𝐡)(Θ)ρ𝐞l=exp(2πihlnl)(Θ)ρ𝐞l,absentsubscript𝜌superscript𝐞𝑙𝐡subscriptΘsubscript𝜌superscript𝐞𝑙2𝜋𝑖subscript𝑙subscript𝑛𝑙subscriptΘsubscript𝜌superscript𝐞𝑙\displaystyle=\rho_{\mathbf{e}^{l}}(\mathbf{h})\mathcal{F}(\Theta)_{\rho_{% \mathbf{e}^{l}}}=\exp\left(\frac{2\pi ih_{l}}{n_{l}}\right)\mathcal{F}(\Theta)% _{\rho_{\mathbf{e}^{l}}},= italic_ρ start_POSTSUBSCRIPT bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ( bold_h ) caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT = roman_exp ( divide start_ARG 2 italic_π italic_i italic_h start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT end_ARG start_ARG italic_n start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT end_ARG ) caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT ,

for all l=1,2,.,Ll=1,2,.,Litalic_l = 1 , 2 , . , italic_L. Therefore, fixing an arbitrary phase in (9) only fixes hlsubscript𝑙h_{l}italic_h start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT. Again, the indeterminacy factor hlsubscript𝑙h_{l}italic_h start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT is not restricted to /nlsubscript𝑛𝑙\mathbb{Z}/n_{l}\mathbb{Z}blackboard_Z / italic_n start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT blackboard_Z but can belong to [0,nl]0subscript𝑛𝑙[0,n_{l}][ 0 , italic_n start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ]. We will have to solve this issue further. For now, we set the phase of (Θ)ρ𝐞lsubscriptΘsubscript𝜌superscript𝐞𝑙\mathcal{F}(\Theta)_{\rho_{\mathbf{e}^{l}}}caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT to zero. Once the Fourier coefficients are known for all the generators of the group of the irreps {ρ𝐞l}l=1Lsuperscriptsubscriptsubscript𝜌superscript𝐞𝑙𝑙1𝐿\{\rho_{\mathbf{e}^{l}}\}_{l=1}^{L}{ italic_ρ start_POSTSUBSCRIPT bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_l = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_L end_POSTSUPERSCRIPT, it remains to combine them to obtain all the elements in the groups and, consequently, all the associated Fourier coefficients.

At this point, it helps to consider the problem geometrically. Each irreps ρ𝐤subscript𝜌𝐤\rho_{\mathbf{k}}italic_ρ start_POSTSUBSCRIPT bold_k end_POSTSUBSCRIPT can be associated to its integer coordinate 𝐤𝐤\mathbf{k}bold_k inside a hyper-rectangle in Lsuperscript𝐿\mathbb{R}^{L}blackboard_R start_POSTSUPERSCRIPT italic_L end_POSTSUPERSCRIPT, whose length of edges is nlsubscript𝑛𝑙n_{l}italic_n start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT for l=1,2,,L𝑙12𝐿l=1,2,...,Litalic_l = 1 , 2 , … , italic_L. We combine the coordinates 𝐞lsuperscript𝐞𝑙\mathbf{e}^{l}bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT to obtain all the possible integer coordinates inside the hyper-rectangle. First, we can obtain the L𝐿Litalic_L orthogonal edges of the hyper-rectangle. For l=1,2,,L𝑙12𝐿l=1,2,...,Litalic_l = 1 , 2 , … , italic_L, ρ𝐞lρ𝐞ltensor-productsubscript𝜌superscript𝐞𝑙subscript𝜌superscript𝐞𝑙\rho_{\mathbf{e}^{l}}\otimes\rho_{\mathbf{e}^{l}}italic_ρ start_POSTSUBSCRIPT bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT end_POSTSUBSCRIPT gives ρ2𝐞lsubscript𝜌2superscript𝐞𝑙\rho_{2\mathbf{e}^{l}}italic_ρ start_POSTSUBSCRIPT 2 bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT end_POSTSUBSCRIPT, ρ𝐞lρ2𝐞ltensor-productsubscript𝜌superscript𝐞𝑙subscript𝜌2superscript𝐞𝑙\rho_{\mathbf{e}^{l}}\otimes\rho_{2\mathbf{e}^{l}}italic_ρ start_POSTSUBSCRIPT bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT 2 bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT end_POSTSUBSCRIPT gives ρ3𝐞lsubscript𝜌3superscript𝐞𝑙\rho_{3\mathbf{e}^{l}}italic_ρ start_POSTSUBSCRIPT 3 bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT end_POSTSUBSCRIPT, etc. This is in fact the procedure of Algorithm 1. Now, we combine the edges to generate the inside of the hyper-rectangle. We proceed iteratively. For l=1,2,,L𝑙12𝐿l=1,2,...,Litalic_l = 1 , 2 , … , italic_L, we define Kl:={t𝐞l+𝐤|t=1,2,..,nl1 and 𝐤Kl1}K^{l}:=\{t\mathbf{e}^{l}+\mathbf{k}\ |\ t=1,2,..,n_{l}-1\text{ and }\mathbf{k}% \in K^{l-1}\}italic_K start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT := { italic_t bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT + bold_k | italic_t = 1 , 2 , . . , italic_n start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT - 1 and bold_k ∈ italic_K start_POSTSUPERSCRIPT italic_l - 1 end_POSTSUPERSCRIPT } and K0:={𝟎}assignsuperscript𝐾00K^{0}:=\{\mathbf{0}\}italic_K start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT := { bold_0 }. This construction is such that Klj=1l/njsuperscript𝐾𝑙superscriptsubscriptdirect-sum𝑗1𝑙subscript𝑛𝑗K^{l}\cong\bigoplus_{j=1}^{l}\mathbb{Z}/n_{j}\mathbb{Z}italic_K start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT ≅ ⨁ start_POSTSUBSCRIPT italic_j = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT blackboard_Z / italic_n start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT blackboard_Z and KL=Gsuperscript𝐾𝐿𝐺K^{L}=Gitalic_K start_POSTSUPERSCRIPT italic_L end_POSTSUPERSCRIPT = italic_G. We generate the missing Fourier coefficients by combining the ones associated to the generating set of G𝐺Gitalic_G. For l=2,,L𝑙2𝐿l=2,...,Litalic_l = 2 , … , italic_L, compute

(Θ)ρt𝐞l+𝐤=(β(Θ)ρt𝐞l,ρ𝐤(Θ)ρt𝐞(Θ)ρ𝐤),subscriptΘsubscript𝜌𝑡superscript𝐞𝑙𝐤superscript𝛽subscriptΘsubscript𝜌𝑡superscript𝐞𝑙subscript𝜌𝐤subscriptΘsubscript𝜌𝑡𝐞subscriptΘsubscript𝜌𝐤\mathcal{F}(\Theta)_{\rho_{t\mathbf{e}^{l}+\mathbf{k}}}=\left(\frac{\beta(% \Theta)_{\rho_{t\mathbf{e}^{l}},\rho_{\mathbf{k}}}}{\mathcal{F}(\Theta)_{\rho_% {t\mathbf{e}}}\mathcal{F}(\Theta)_{\rho_{\mathbf{k}}}}\right)^{\dagger},caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_t bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT + bold_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT = ( divide start_ARG italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_t bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT bold_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_ARG start_ARG caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_t bold_e end_POSTSUBSCRIPT end_POSTSUBSCRIPT caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT bold_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_ARG ) start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT , (10)

for t=1,2,,nl1𝑡12subscript𝑛𝑙1t=1,2,...,n_{l}-1italic_t = 1 , 2 , … , italic_n start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT - 1, for all 𝐤Kl1𝐤superscript𝐾𝑙1\mathbf{k}\in K^{l-1}bold_k ∈ italic_K start_POSTSUPERSCRIPT italic_l - 1 end_POSTSUPERSCRIPT. Intuitively for L=3𝐿3L=3italic_L = 3, we obtain first an edge, then a face and finally the full parallelepiped. To conclude, we reproduce the procedure from Algorithm 2 to find a valid phase shift φlsubscript𝜑𝑙\varphi_{l}italic_φ start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT in each basis direction 𝐞lsuperscript𝐞𝑙\mathbf{e}^{l}bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT. The last step is then to compute, for all 𝐤G𝐤𝐺\mathbf{k}\in Gbold_k ∈ italic_G,

(Θ~)ρ𝐤=(Θ)ρ𝐤l=1Lexp(ϕlkl).subscript~Θsubscript𝜌𝐤subscriptΘsubscript𝜌𝐤superscriptsubscriptproduct𝑙1𝐿subscriptitalic-ϕ𝑙subscript𝑘𝑙\mathcal{F}(\widetilde{\Theta})_{\rho_{\mathbf{k}}}=\mathcal{F}(\Theta)_{\rho_% {\mathbf{k}}}\prod_{l=1}^{L}\exp(\phi_{l}k_{l}).caligraphic_F ( over~ start_ARG roman_Θ end_ARG ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT bold_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT = caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT bold_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∏ start_POSTSUBSCRIPT italic_l = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_L end_POSTSUPERSCRIPT roman_exp ( italic_ϕ start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT italic_k start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ) .

The procedure is summarized in Algorithm 3 and illustrated on Figure 10. It shows that the bispectral coefficients needed for completeness are: β(Θ)ρ0,ρ0𝛽subscriptΘsubscript𝜌0subscript𝜌0\beta(\Theta)_{\rho_{0},\rho_{0}}italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT, β(Θ)ρ0,tρ𝐞l,β(Θ)tρ𝐞l,ρ𝐤𝛽subscriptΘsubscript𝜌0𝑡superscriptsubscript𝜌𝐞𝑙𝛽subscriptΘ𝑡superscriptsubscript𝜌𝐞𝑙subscript𝜌𝐤\beta(\Theta)_{\rho_{0},t\rho_{\mathbf{e}}^{l}},\ \beta(\Theta)_{t\rho_{% \mathbf{e}}^{l},\rho_{\mathbf{k}}}italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_t italic_ρ start_POSTSUBSCRIPT bold_e end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT end_POSTSUBSCRIPT , italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_t italic_ρ start_POSTSUBSCRIPT bold_e end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT , italic_ρ start_POSTSUBSCRIPT bold_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT for l=1,2,,L𝑙12𝐿l=1,2,...,Litalic_l = 1 , 2 , … , italic_L, t=1,2,,nl2𝑡12subscript𝑛𝑙2t=1,2,...,n_{l}-2italic_t = 1 , 2 , … , italic_n start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT - 2 and all 𝐤Kl1𝐤superscript𝐾𝑙1\mathbf{k}\in K^{l-1}bold_k ∈ italic_K start_POSTSUPERSCRIPT italic_l - 1 end_POSTSUPERSCRIPT. We recover exactly one Fourier coefficient per G𝐺Gitalic_G-bispectrum coefficient. This makes thus a total of |G|𝐺|G|| italic_G | bispectral coefficients precisely and proves the following theorem. ∎

Algorithm 3 Bispectrum inversion for finite commutative groups (G=l=1L/nl𝐺superscriptsubscriptdirect-sum𝑙1𝐿subscript𝑛𝑙G=\bigoplus_{l=1}^{L}\mathbb{Z}/n_{l}\mathbb{Z}italic_G = ⨁ start_POSTSUBSCRIPT italic_l = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_L end_POSTSUPERSCRIPT blackboard_Z / italic_n start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT blackboard_Z).
1:  Input: |G|𝐺|G|| italic_G | bispectral coeffs.
2:  Compute |(Θ)ρ𝟎|=(β(Θ)ρ𝟎,ρ𝟎)13subscriptΘsubscript𝜌0superscript𝛽subscriptΘsubscript𝜌0subscript𝜌013|\mathcal{F}(\Theta)_{\rho_{\mathbf{0}}}|=\left(\beta(\Theta)_{\rho_{\mathbf{0% }},\rho_{\mathbf{0}}}\right)^{\frac{1}{3}}| caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT bold_0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT | = ( italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT bold_0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT bold_0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT divide start_ARG 1 end_ARG start_ARG 3 end_ARG end_POSTSUPERSCRIPT and arg((Θ)ρ𝟎)=arg(β(Θ)ρ𝟎,ρ𝟎)argsubscriptΘsubscript𝜌0arg𝛽subscriptΘsubscript𝜌0subscript𝜌0\mathrm{arg}(\mathcal{F}(\Theta)_{\rho_{\mathbf{0}}})=\mathrm{arg}(\beta(% \Theta)_{\rho_{\mathbf{0}},\rho_{\mathbf{0}}})roman_arg ( caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT bold_0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ) = roman_arg ( italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT bold_0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT bold_0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ).
3:  for l=1,,L𝑙1𝐿l=1,...,Litalic_l = 1 , … , italic_L do
4:    Compute |(Θ)ρ𝐞l|=(β(Θ)ρ𝟎,ρ𝐞l(Θ)ρ𝟎)12subscriptΘsubscript𝜌superscript𝐞𝑙superscript𝛽subscriptΘsubscript𝜌0subscript𝜌superscript𝐞𝑙subscriptΘsubscript𝜌012|\mathcal{F}(\Theta)_{\rho_{\mathbf{e}^{l}}}|=\left(\frac{\beta(\Theta)_{\rho_% {\mathbf{0}},\rho_{\mathbf{e}^{l}}}}{\mathcal{F}(\Theta)_{\rho_{\mathbf{0}}}}% \right)^{\frac{1}{2}}| caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT | = ( divide start_ARG italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT bold_0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_ARG start_ARG caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT bold_0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_ARG ) start_POSTSUPERSCRIPT divide start_ARG 1 end_ARG start_ARG 2 end_ARG end_POSTSUPERSCRIPT and set arg((Θ)ρ𝐞l)=0argsubscriptΘsubscript𝜌superscript𝐞𝑙0\mathrm{arg}\left(\mathcal{F}(\Theta)_{\rho_{\mathbf{e}^{l}}}\right)=0roman_arg ( caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT ) = 0.
5:    for t=1,,nl1𝑡1subscript𝑛𝑙1t=1,...,n_{l}-1italic_t = 1 , … , italic_n start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT - 1 do
6:       if t>1𝑡1t>1italic_t > 1 then
7:          F(Θ)ρt𝐞l=(β(Θ)ρ𝐞l,ρ(t1)𝐞l(Θ)ρ𝐞l(Θ)ρ(t1)𝐞l)𝐹subscriptΘsubscript𝜌𝑡superscript𝐞𝑙superscript𝛽subscriptΘsubscript𝜌superscript𝐞𝑙subscript𝜌𝑡1superscript𝐞𝑙subscriptΘsubscript𝜌superscript𝐞𝑙subscriptΘsubscript𝜌𝑡1superscript𝐞𝑙F(\Theta)_{\rho_{t\mathbf{e}^{l}}}=\left(\frac{\beta(\Theta)_{\rho_{\mathbf{e}% ^{l}},\rho_{(t-1)\mathbf{e}^{l}}}}{\mathcal{F}(\Theta)_{\rho_{\mathbf{e}^{l}}}% \mathcal{F}(\Theta)_{\rho_{(t-1)\mathbf{e}^{l}}}}\right)^{\dagger}italic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_t bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT = ( divide start_ARG italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT ( italic_t - 1 ) bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_ARG start_ARG caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT ( italic_t - 1 ) bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_ARG ) start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT.
8:       end if
9:       for 𝐤Kl1{𝟎}𝐤superscript𝐾𝑙10\mathbf{k}\in K^{l-1}\setminus\{\mathbf{0}\}bold_k ∈ italic_K start_POSTSUPERSCRIPT italic_l - 1 end_POSTSUPERSCRIPT ∖ { bold_0 } do
10:          Compute (Θ)ρt𝐞l+𝐤=(β(Θ)ρt𝐞l,ρ𝐤(Θ)ρt𝐞l(Θ)ρ𝐤)subscriptΘsubscript𝜌𝑡superscript𝐞𝑙𝐤superscript𝛽subscriptΘsubscript𝜌𝑡superscript𝐞𝑙subscript𝜌𝐤subscriptΘsubscript𝜌𝑡superscript𝐞𝑙subscriptΘsubscript𝜌𝐤\mathcal{F}(\Theta)_{\rho_{t\mathbf{e}^{l}+\mathbf{k}}}=\left(\frac{\beta(% \Theta)_{\rho_{t\mathbf{e}^{l}},\rho_{\mathbf{k}}}}{\mathcal{F}(\Theta)_{\rho_% {t\mathbf{e}^{l}}}\mathcal{F}(\Theta)_{\rho_{\mathbf{k}}}}\right)^{\dagger}caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_t bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT + bold_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT = ( divide start_ARG italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_t bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT bold_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_ARG start_ARG caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_t bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT bold_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_ARG ) start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT.
11:       end for
12:    end for
13:  end for
14:  for l=1,2,,L𝑙12𝐿l=1,2,...,Litalic_l = 1 , 2 , … , italic_L do
15:    Find φl[0,2πn)subscript𝜑𝑙02𝜋𝑛\varphi_{l}\in[0,\frac{2\pi}{n})italic_φ start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ∈ [ 0 , divide start_ARG 2 italic_π end_ARG start_ARG italic_n end_ARG ) s.t. 1((Θ~)ρ(1,..,nl)𝐞l)nl\mathcal{F}^{-1}(\mathcal{F}(\widetilde{\Theta})_{\rho_{(1,..,n_{l})\mathbf{e}% ^{l}}})\in\mathbb{R}^{n_{l}}caligraphic_F start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ( caligraphic_F ( over~ start_ARG roman_Θ end_ARG ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT ( 1 , . . , italic_n start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ) bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT ) ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT end_POSTSUPERSCRIPT where (Θ~)ρk𝐞l=exp(ϕlk)(Θ)ρk𝐞lsubscript~Θsubscript𝜌𝑘superscript𝐞𝑙subscriptitalic-ϕ𝑙𝑘subscriptΘsubscript𝜌𝑘superscript𝐞𝑙\mathcal{F}(\widetilde{\Theta})_{\rho_{k\mathbf{e}^{l}}}=\exp(\phi_{l}k)% \mathcal{F}(\Theta)_{\rho_{k\mathbf{e}^{l}}}caligraphic_F ( over~ start_ARG roman_Θ end_ARG ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_k bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT = roman_exp ( italic_ϕ start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT italic_k ) caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_k bold_e start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT.
16:  end for
17:  for 𝐤G𝐤𝐺\mathbf{k}\in Gbold_k ∈ italic_G do
18:    (Θ~)ρ𝐤=(Θ)ρ𝐤l=1Lexp(ϕlkl)subscript~Θsubscript𝜌𝐤subscriptΘsubscript𝜌𝐤superscriptsubscriptproduct𝑙1𝐿subscriptitalic-ϕ𝑙subscript𝑘𝑙\mathcal{F}(\widetilde{\Theta})_{\rho_{\mathbf{k}}}=\mathcal{F}(\Theta)_{\rho_% {\mathbf{k}}}\prod_{l=1}^{L}\exp(\phi_{l}k_{l})caligraphic_F ( over~ start_ARG roman_Θ end_ARG ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT bold_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT = caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT bold_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∏ start_POSTSUBSCRIPT italic_l = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_L end_POSTSUPERSCRIPT roman_exp ( italic_ϕ start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT italic_k start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ).
19:  end for
20:  Return (Θ~)~Θ\mathcal{F}(\widetilde{\Theta})caligraphic_F ( over~ start_ARG roman_Θ end_ARG ) (up to group action).
Refer to caption
Figure 10: Illustration of Algorithm 3. The Bispectrum coefficients allow to recover the Fourier transform sequentially, up to group action.

Appendix E Selective G𝐺Gitalic_G-Bispectrum inversion: dihedral groups

Dihedral group Dnsubscript𝐷𝑛D_{n}italic_D start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT

The dihedral group Dnsubscript𝐷𝑛D_{n}italic_D start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT is the group of all symmetries of the n𝑛nitalic_n-gon. Mathematically, it is defined as

Dn:=x,a|an=x2=e,xax=a1,assignsubscript𝐷𝑛inner-product𝑥𝑎formulae-sequencesuperscript𝑎𝑛superscript𝑥2𝑒𝑥𝑎𝑥superscript𝑎1D_{n}:=\langle x,\ a\ |\ a^{n}=x^{2}=e,\ xax=a^{-1}\rangle,italic_D start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT := ⟨ italic_x , italic_a | italic_a start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT = italic_x start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT = italic_e , italic_x italic_a italic_x = italic_a start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ⟩ , (11)

where a𝑎aitalic_a is the rotation and x𝑥xitalic_x is the reflection, and they form a generating set of Dnsubscript𝐷𝑛D_{n}italic_D start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT. We will only consider the case n>2𝑛2n>2italic_n > 2 since the cases n=1𝑛1n=1italic_n = 1 and n=2𝑛2n=2italic_n = 2 are commutative groups covered by the previous subsection, while n>2𝑛2n>2italic_n > 2 gives non-commutative groups. The 2D irreps of Dnsubscript𝐷𝑛D_{n}italic_D start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT are given by

ρk(alxm)=[cos(ωlk)sin(ωlk)sin(ωlk)cos(ωlk)][1001]m,subscript𝜌𝑘superscript𝑎𝑙superscript𝑥𝑚matrixsubscript𝜔𝑙𝑘subscript𝜔𝑙𝑘subscript𝜔𝑙𝑘subscript𝜔𝑙𝑘superscriptmatrix1001𝑚\rho_{k}(a^{l}x^{m})=\begin{bmatrix}\cos(\omega_{l}k)&-\sin(\omega_{l}k)\\ \sin(\omega_{l}k)&\cos(\omega_{l}k)\end{bmatrix}\begin{bmatrix}1&0\\ 0&-1\\ \end{bmatrix}^{m},italic_ρ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( italic_a start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT italic_x start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT ) = [ start_ARG start_ROW start_CELL roman_cos ( italic_ω start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT italic_k ) end_CELL start_CELL - roman_sin ( italic_ω start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT italic_k ) end_CELL end_ROW start_ROW start_CELL roman_sin ( italic_ω start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT italic_k ) end_CELL start_CELL roman_cos ( italic_ω start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT italic_k ) end_CELL end_ROW end_ARG ] [ start_ARG start_ROW start_CELL 1 end_CELL start_CELL 0 end_CELL end_ROW start_ROW start_CELL 0 end_CELL start_CELL - 1 end_CELL end_ROW end_ARG ] start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT , (12)

where ωl=2πlnsubscript𝜔𝑙2𝜋𝑙𝑛\omega_{l}=\frac{2\pi l}{n}italic_ω start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT = divide start_ARG 2 italic_π italic_l end_ARG start_ARG italic_n end_ARG for k=1,2,,n12𝑘12𝑛12k=1,2,...,\lfloor\frac{n-1}{2}\rflooritalic_k = 1 , 2 , … , ⌊ divide start_ARG italic_n - 1 end_ARG start_ARG 2 end_ARG ⌋. There are also 2222 or 4444 1D irreps if n𝑛nitalic_n is odd or even, respectively. We denote these 1D irreps by ρ0,ρ01,ρ02subscript𝜌0subscript𝜌01subscript𝜌02\rho_{0},\ \rho_{01},\ \rho_{02}italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 01 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 02 end_POSTSUBSCRIPT, and ρ03subscript𝜌03\rho_{03}italic_ρ start_POSTSUBSCRIPT 03 end_POSTSUBSCRIPT (see Appendix E.1). The two last ones only exist for n𝑛nitalic_n even.

Theorem E.1.

For the family of dihedral groups Dnsubscript𝐷𝑛D_{n}italic_D start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, we need at most n12+2𝑛122\left\lfloor{\frac{n-1}{2}}\right\rfloor+2⌊ divide start_ARG italic_n - 1 end_ARG start_ARG 2 end_ARG ⌋ + 2 bispectral matrix coefficients for inversion if det((Θ)ρ)0subscriptΘ𝜌0\det(\mathcal{F}(\Theta)_{\rho})\neq 0roman_det ( caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT ) ≠ 0 for all irreps ρ𝜌\rhoitalic_ρ of Dnsubscript𝐷𝑛D_{n}italic_D start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT. This corresponds to 1+4+16n124|Dn|1416𝑛124subscript𝐷𝑛1+4+16\cdot\left\lfloor{\frac{n-1}{2}}\right\rfloor\approx 4|D_{n}|1 + 4 + 16 ⋅ ⌊ divide start_ARG italic_n - 1 end_ARG start_ARG 2 end_ARG ⌋ ≈ 4 | italic_D start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT | scalar values.

Proof.

In view of section C, we wish to show that there is an irrep ρ1subscript𝜌1\rho_{1}italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT that generates all the irreps of Dnsubscript𝐷𝑛D_{n}italic_D start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT. As in the cyclic and commutative cases, we can first deduce (Θ)ρ0subscriptΘsubscript𝜌0\mathcal{F}(\Theta)_{\rho_{0}}caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT from β(Θ)ρ0,ρ0𝛽subscriptΘsubscript𝜌0subscript𝜌0\beta(\Theta)_{\rho_{0},\rho_{0}}italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT. Now, we have

(Θ)ρ1(Θ)ρ1=β(Θ)ρ0,ρ1(Θ)ρ0.subscriptΘsubscript𝜌1superscriptsubscriptΘsubscript𝜌1𝛽subscriptΘsubscript𝜌0subscript𝜌1subscriptΘsubscript𝜌0\mathcal{F}(\Theta)_{\rho_{1}}\mathcal{F}(\Theta)_{\rho_{1}}^{\dagger}=\frac{% \beta(\Theta)_{\rho_{0},\rho_{1}}}{\mathcal{F}(\Theta)_{\rho_{0}}}.caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT = divide start_ARG italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_ARG start_ARG caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_ARG . (13)

The novelty for this non-commutative group is that (Θ)ρ1subscriptΘsubscript𝜌1\mathcal{F}(\Theta)_{\rho_{1}}caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT is a 2×2222\times 22 × 2 matrix. After computing the eigenvalue decomposition β(Θ)ρ0,ρ1(Θ)ρ0=VΛV𝛽subscriptΘsubscript𝜌0subscript𝜌1subscriptΘsubscript𝜌0𝑉Λsuperscript𝑉\frac{\beta(\Theta)_{\rho_{0},\rho_{1}}}{\mathcal{F}(\Theta)_{\rho_{0}}}=V% \Lambda V^{\dagger}divide start_ARG italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_ARG start_ARG caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_ARG = italic_V roman_Λ italic_V start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT, we can choose

(Θ)ρ1=VΛ12VU.subscriptΘsubscript𝜌1𝑉superscriptΛ12superscript𝑉𝑈\mathcal{F}(\Theta)_{\rho_{1}}=V\Lambda^{\frac{1}{2}}V^{\dagger}U.caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT = italic_V roman_Λ start_POSTSUPERSCRIPT divide start_ARG 1 end_ARG start_ARG 2 end_ARG end_POSTSUPERSCRIPT italic_V start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT italic_U . (14)

for all unitary U𝑈Uitalic_U (i.e., UU=UU=I𝑈superscript𝑈superscript𝑈𝑈𝐼UU^{\dagger}=U^{\dagger}U=Iitalic_U italic_U start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT = italic_U start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT italic_U = italic_I) to solve (13). In the case /n𝑛\mathbb{Z}/n\mathbb{Z}blackboard_Z / italic_n blackboard_Z the indeterminacy belonged to SO(2)SO2\mathrm{SO}(2)roman_SO ( 2 ), the continuous set of 2d rotations. For Dnsubscript𝐷𝑛D_{n}italic_D start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, it belongs to O(2)O2\mathrm{O}(2)roman_O ( 2 ), the continuous set of 2d rotations and reflections. For finite groups, Kakarala [14] ensures that the only choices for U𝑈Uitalic_U such that (Θ)Θ\mathcal{F}(\Theta)caligraphic_F ( roman_Θ ) is a Fourier transform on G(=Dn)annotated𝐺absentsubscript𝐷𝑛G(=D_{n})italic_G ( = italic_D start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) are such that ΘΘ\Thetaroman_Θ is identical to the original signal up to some group action gDn𝑔subscript𝐷𝑛g\in D_{n}italic_g ∈ italic_D start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT. For k=2,,n12𝑘2𝑛12k=2,...,\lfloor\frac{n-1}{2}\rflooritalic_k = 2 , … , ⌊ divide start_ARG italic_n - 1 end_ARG start_ARG 2 end_ARG ⌋, we can then obtain

ρρ1ρk1(Θ)ρ=(Cρ1,ρk1[(Θ)ρ1(Θ)ρk1]1β(Θ)ρ1,ρ2Cρ1,ρk1).subscriptdirect-sum𝜌tensor-productsubscript𝜌1subscript𝜌𝑘1subscriptΘ𝜌superscriptsuperscriptsubscript𝐶subscript𝜌1subscript𝜌𝑘1superscriptdelimited-[]tensor-productsubscriptΘsubscript𝜌1subscriptΘsubscript𝜌𝑘11𝛽subscriptΘsubscript𝜌1subscript𝜌2subscript𝐶subscript𝜌1subscript𝜌𝑘1\displaystyle\bigoplus_{\rho\in\rho_{1}\otimes\rho_{k-1}}\mathcal{F}(\Theta)_{% \rho}=\left(C_{\rho_{1},\rho_{k-1}}^{\dagger}\left[\mathcal{F}(\Theta)_{\rho_{% 1}}\otimes\mathcal{F}(\Theta)_{\rho_{k-1}}\right]^{-1}\beta(\Theta)_{\rho_{1},% \rho_{2}}C_{\rho_{1},\rho_{k-1}}\right)^{\dagger}.⨁ start_POSTSUBSCRIPT italic_ρ ∈ italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT = ( italic_C start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT [ caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ⊗ caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_C start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT . (15)

It is shown in Appendix E.1.1 that ρksubscript𝜌𝑘\rho_{k}italic_ρ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT appears in the tensor decomposition (4) of ρ1ρk1tensor-productsubscript𝜌1subscript𝜌𝑘1\rho_{1}\otimes\rho_{k-1}italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT so that the for-loop can be applied. Moreover, we know from Appendix E.1.1 that ρ01subscript𝜌01\rho_{01}italic_ρ start_POSTSUBSCRIPT 01 end_POSTSUBSCRIPT appears in the decomposition of ρ1ρ1tensor-productsubscript𝜌1subscript𝜌1\rho_{1}\otimes\rho_{1}italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and, for n𝑛nitalic_n even, ρ02,ρ03subscript𝜌02subscript𝜌03\rho_{02},\rho_{03}italic_ρ start_POSTSUBSCRIPT 02 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 03 end_POSTSUBSCRIPT in ρ1ρn21tensor-productsubscript𝜌1subscript𝜌𝑛21\rho_{1}\otimes\rho_{\frac{n}{2}-1}italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT divide start_ARG italic_n end_ARG start_ARG 2 end_ARG - 1 end_POSTSUBSCRIPT. Thus the iteration recovers the complete DFT (Θ)Θ\mathcal{F}(\Theta)caligraphic_F ( roman_Θ ). ∎

The procedure is summarized in Algorithm 4.

Algorithm 4 Bispectrum inversion on the dihedral group Dnsubscript𝐷𝑛D_{n}italic_D start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT.
1:  Input: β(Θ)ρ0,ρ0,β(Θ)ρ0,ρ1𝛽subscriptΘsubscript𝜌0subscript𝜌0𝛽subscriptΘsubscript𝜌0subscript𝜌1\beta(\Theta)_{\rho_{0},\rho_{0}},\beta(\Theta)_{\rho_{0},\rho_{1}}italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT and β(Θ)ρ1,ρk𝛽subscriptΘsubscript𝜌1subscript𝜌𝑘\beta(\Theta)_{\rho_{1},\rho_{k}}italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT for k=1,2,,n12𝑘12𝑛12k=1,2,...,\lfloor\frac{n-1}{2}\rflooritalic_k = 1 , 2 , … , ⌊ divide start_ARG italic_n - 1 end_ARG start_ARG 2 end_ARG ⌋.
2:  Compute |(Θ)ρ0|=(β(Θ)ρ0,ρ0)13subscriptΘsubscript𝜌0superscript𝛽subscriptΘsubscript𝜌0subscript𝜌013|\mathcal{F}(\Theta)_{\rho_{0}}|=\left(\beta(\Theta)_{\rho_{0},\rho_{0}}\right% )^{\frac{1}{3}}| caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT | = ( italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT divide start_ARG 1 end_ARG start_ARG 3 end_ARG end_POSTSUPERSCRIPT and arg((Θ)ρ0)=arg(β(Θ)ρ0,ρ0)argsubscriptΘsubscript𝜌0arg𝛽subscriptΘsubscript𝜌0subscript𝜌0\mathrm{arg}(\mathcal{F}(\Theta)_{\rho_{0}})=\mathrm{arg}(\beta(\Theta)_{\rho_% {0},\rho_{0}})roman_arg ( caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ) = roman_arg ( italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ).
3:  Compute VΛV=β(Θ)ρ0,ρ1(Θ)ρ0𝑉Λsuperscript𝑉𝛽subscriptΘsubscript𝜌0subscript𝜌1subscriptΘsubscript𝜌0V\Lambda V^{\dagger}=\frac{\beta(\Theta)_{\rho_{0},\rho_{1}}}{\mathcal{F}(% \Theta)_{\rho_{0}}}italic_V roman_Λ italic_V start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT = divide start_ARG italic_β ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_ARG start_ARG caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_ARG.
4:  Set (Θ)ρ1=VΛ12VUsubscriptΘsubscript𝜌1𝑉superscriptΛ12superscript𝑉𝑈\mathcal{F}(\Theta)_{\rho_{1}}=V\Lambda^{\frac{1}{2}}V^{\dagger}Ucaligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT = italic_V roman_Λ start_POSTSUPERSCRIPT divide start_ARG 1 end_ARG start_ARG 2 end_ARG end_POSTSUPERSCRIPT italic_V start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT italic_U with valid U𝑈Uitalic_U (existence of U𝑈Uitalic_U ensured but not computed easily).
5:  for k=2,,n12𝑘2𝑛12k=2,...,\lfloor\frac{n-1}{2}\rflooritalic_k = 2 , … , ⌊ divide start_ARG italic_n - 1 end_ARG start_ARG 2 end_ARG ⌋ do
6:    Compute
ρρ1ρk1(Θ)ρ=(Cρ1,ρk1[ρ1ρk1]1βρ1,ρ2Cρ1,ρk1).subscriptdirect-sum𝜌tensor-productsubscript𝜌1subscript𝜌𝑘1subscriptΘ𝜌superscriptsuperscriptsubscript𝐶subscript𝜌1subscript𝜌𝑘1superscriptdelimited-[]tensor-productsubscriptsubscript𝜌1subscriptsubscript𝜌𝑘11subscript𝛽subscript𝜌1subscript𝜌2subscript𝐶subscript𝜌1subscript𝜌𝑘1\displaystyle\bigoplus_{\rho\in\rho_{1}\otimes\rho_{k-1}}\mathcal{F}(\Theta)_{% \rho}=\left(C_{\rho_{1},\rho_{k-1}}^{\dagger}\left[\mathcal{F}_{\rho_{1}}% \otimes\mathcal{F}_{\rho_{k-1}}\right]^{-1}\beta_{\rho_{1},\rho_{2}}C_{\rho_{1% },\rho_{k-1}}\right)^{\dagger}.⨁ start_POSTSUBSCRIPT italic_ρ ∈ italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT = ( italic_C start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT [ caligraphic_F start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ⊗ caligraphic_F start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT italic_β start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_C start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT .
7:  end for
8:  Return (Θ)Θ\mathcal{F}(\Theta)caligraphic_F ( roman_Θ ) (up to group action).

E.1 The 1D irreps of Dnsubscript𝐷𝑛D_{n}italic_D start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT

We recall the definition of the dihedral group Dnsubscript𝐷𝑛D_{n}italic_D start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT given in (11). The 1D irreps of Dnsubscript𝐷𝑛D_{n}italic_D start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT can be found, e.g., in [29]. They are given by:

  • ρ0(g)=1subscript𝜌0𝑔1\rho_{0}(g)=1italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( italic_g ) = 1 for all gDn𝑔subscript𝐷𝑛g\in D_{n}italic_g ∈ italic_D start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT.

  • ρ01(g)={1 if ga,1 otherwise.subscript𝜌01𝑔cases1 if 𝑔delimited-⟨⟩𝑎otherwise1 otherwise.otherwise\rho_{01}(g)=\begin{cases}1\text{ if }g\in\langle a\rangle,\\ -1\text{ otherwise.}\end{cases}italic_ρ start_POSTSUBSCRIPT 01 end_POSTSUBSCRIPT ( italic_g ) = { start_ROW start_CELL 1 if italic_g ∈ ⟨ italic_a ⟩ , end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL - 1 otherwise. end_CELL start_CELL end_CELL end_ROW

  • If n𝑛nitalic_n even, ρ02(g)={1 if ga2,x,1 otherwise.subscript𝜌02𝑔cases1 if 𝑔superscript𝑎2𝑥otherwise1 otherwise.otherwise\rho_{02}(g)=\begin{cases}1\text{ if }g\in\langle a^{2},\ x\rangle,\\ -1\text{ otherwise.}\end{cases}italic_ρ start_POSTSUBSCRIPT 02 end_POSTSUBSCRIPT ( italic_g ) = { start_ROW start_CELL 1 if italic_g ∈ ⟨ italic_a start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT , italic_x ⟩ , end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL - 1 otherwise. end_CELL start_CELL end_CELL end_ROW

  • If n𝑛nitalic_n even, ρ03(g)={1 if ga2,ax,1 otherwise.subscript𝜌03𝑔cases1 if 𝑔superscript𝑎2𝑎𝑥otherwise1 otherwise.otherwise\rho_{03}(g)=\begin{cases}1\text{ if }g\in\langle a^{2},\ ax\rangle,\\ -1\text{ otherwise.}\end{cases}italic_ρ start_POSTSUBSCRIPT 03 end_POSTSUBSCRIPT ( italic_g ) = { start_ROW start_CELL 1 if italic_g ∈ ⟨ italic_a start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT , italic_a italic_x ⟩ , end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL - 1 otherwise. end_CELL start_CELL end_CELL end_ROW

To exemplify the 1D irreps, we give their values for D4subscript𝐷4D_{4}italic_D start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT in Table 3.

g𝑔gitalic_g e𝑒eitalic_e a𝑎aitalic_a a2superscript𝑎2a^{2}italic_a start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT a3superscript𝑎3a^{3}italic_a start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT x𝑥xitalic_x ax𝑎𝑥axitalic_a italic_x a2xsuperscript𝑎2𝑥a^{2}xitalic_a start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT italic_x a3xsuperscript𝑎3𝑥a^{3}xitalic_a start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT italic_x
ρ0(g)subscript𝜌0𝑔\rho_{0}(g)italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( italic_g ) 1 1 1 1 1 1 1 1
ρ01(g)subscript𝜌01𝑔\rho_{01}(g)italic_ρ start_POSTSUBSCRIPT 01 end_POSTSUBSCRIPT ( italic_g ) 1 1 1 1 -1 -1 -1 -1
ρ02(g)subscript𝜌02𝑔\rho_{02}(g)italic_ρ start_POSTSUBSCRIPT 02 end_POSTSUBSCRIPT ( italic_g ) 1 -1 1 -1 1 -1 1 -1
ρ03(g)subscript𝜌03𝑔\rho_{03}(g)italic_ρ start_POSTSUBSCRIPT 03 end_POSTSUBSCRIPT ( italic_g ) 1 -1 1 -1 -1 1 -1 1
Table 3: 1D irreps of D4subscript𝐷4D_{4}italic_D start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT.

E.1.1 Generation of the coefficients of Dnsubscript𝐷𝑛D_{n}italic_D start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT

Theorem E.1 makes two assertions that we verify explicitly in this appendix. First, it is said that ρksubscript𝜌𝑘\rho_{k}italic_ρ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT is in the tensor decomposition (4) (TD) of ρ1ρk1tensor-productsubscript𝜌1subscript𝜌𝑘1\rho_{1}\otimes\rho_{k-1}italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT for k=2,,n12𝑘2𝑛12k=2,...,\lfloor\frac{n-1}{2}\rflooritalic_k = 2 , … , ⌊ divide start_ARG italic_n - 1 end_ARG start_ARG 2 end_ARG ⌋ so that the iteration of Algorithm 4 recovers all the Fourier coefficients associated to the 2D irreps. The second assertion to verify is that ρ01subscript𝜌01\rho_{01}italic_ρ start_POSTSUBSCRIPT 01 end_POSTSUBSCRIPT is in the TD of ρ1ρ1tensor-productsubscript𝜌1subscript𝜌1\rho_{1}\otimes\rho_{1}italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and, for n𝑛nitalic_n even, ρ02,ρ03subscript𝜌02subscript𝜌03\rho_{02},\rho_{03}italic_ρ start_POSTSUBSCRIPT 02 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 03 end_POSTSUBSCRIPT in the TD of ρ1ρn21tensor-productsubscript𝜌1subscript𝜌𝑛21\rho_{1}\otimes\rho_{\frac{n}{2}-1}italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT divide start_ARG italic_n end_ARG start_ARG 2 end_ARG - 1 end_POSTSUBSCRIPT so that the Fourier coefficients associated to the 1D irreps are also recovered, asserting the validity of the inversion procedure. We provide an analytical proof of these two assertions. The proof is based on the theory of character functions.

Definition E.2.

[29] Given a group G𝐺Gitalic_G and a representation ρ𝜌\rhoitalic_ρ, the character of ρ𝜌\rhoitalic_ρ is the function χρ:GgTr(ρ(g)\chi_{\rho}:G\rightarrow\mathbb{R}g\mapsto\mathrm{Tr}(\rho(g)italic_χ start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT : italic_G → blackboard_R italic_g ↦ roman_Tr ( italic_ρ ( italic_g ). χρsubscript𝜒𝜌\chi_{\rho}italic_χ start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT is said to be an irreducible character if ρ𝜌\rhoitalic_ρ is an irreducible representation.

The character function χρsubscript𝜒𝜌\chi_{\rho}italic_χ start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT is a class function on G𝐺Gitalic_G, i.e., χρsubscript𝜒𝜌\chi_{\rho}italic_χ start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT is constant on a conjugacy class of G𝐺Gitalic_G. The space of class functions on a finite group G𝐺Gitalic_G, written 𝒮Gsubscript𝒮𝐺\mathcal{S}_{G}caligraphic_S start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT, can be equipped with an inner product ,G:𝒮G×𝒮G:subscript𝐺maps-tosubscript𝒮𝐺subscript𝒮𝐺\langle\cdot,\cdot\rangle_{G}:\mathcal{S}_{G}\times\mathcal{S}_{G}\mapsto% \mathbb{C}⟨ ⋅ , ⋅ ⟩ start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT : caligraphic_S start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT × caligraphic_S start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT ↦ blackboard_C such that for u,v𝒮G𝑢𝑣subscript𝒮𝐺u,v\in\mathcal{S}_{G}italic_u , italic_v ∈ caligraphic_S start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT, we have

u,vG:=1|G|g|G|u(g)v(g)¯.assignsubscript𝑢𝑣𝐺1𝐺subscript𝑔𝐺𝑢𝑔¯𝑣𝑔\langle u,v\rangle_{G}:=\frac{1}{|G|}\sum_{g\in|G|}u(g)\overline{v(g)}.⟨ italic_u , italic_v ⟩ start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT := divide start_ARG 1 end_ARG start_ARG | italic_G | end_ARG ∑ start_POSTSUBSCRIPT italic_g ∈ | italic_G | end_POSTSUBSCRIPT italic_u ( italic_g ) over¯ start_ARG italic_v ( italic_g ) end_ARG . (16)

The irreducible characters form an orthonormal basis w.r.t ,Gsubscript𝐺\langle\cdot,\cdot\rangle_{G}⟨ ⋅ , ⋅ ⟩ start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT for 𝒮Gsubscript𝒮𝐺\mathcal{S}_{G}caligraphic_S start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT [29], i.e.,

χρa,χρbG={1 if ρaρb,0 otherwise.subscriptsubscript𝜒subscript𝜌𝑎subscript𝜒subscript𝜌𝑏𝐺casessimilar-to1 if subscript𝜌𝑎subscript𝜌𝑏otherwise0 otherwise.otherwise\langle\chi_{\rho_{a}},\chi_{\rho_{b}}\rangle_{G}=\begin{cases}1\text{ if }% \rho_{a}\sim\rho_{b},\\ 0\text{ otherwise.}\end{cases}⟨ italic_χ start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_χ start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT end_POSTSUBSCRIPT ⟩ start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT = { start_ROW start_CELL 1 if italic_ρ start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT ∼ italic_ρ start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT , end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL 0 otherwise. end_CELL start_CELL end_CELL end_ROW (17)

Therefore, for ρa,ρbsubscript𝜌𝑎subscript𝜌𝑏\rho_{a},\rho_{b}italic_ρ start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT two irreps of G𝐺Gitalic_G, ρcsubscript𝜌𝑐\rho_{c}italic_ρ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT is in the TD of ρaρbtensor-productsubscript𝜌𝑎subscript𝜌𝑏\rho_{a}\otimes\rho_{b}italic_ρ start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT if and only if χρaρb,χρcG0subscriptsubscript𝜒tensor-productsubscript𝜌𝑎subscript𝜌𝑏subscript𝜒subscript𝜌𝑐𝐺0\langle\chi_{\rho_{a}\otimes\rho_{b}},\chi_{\rho_{c}}\rangle_{G}\neq 0⟨ italic_χ start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_χ start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT end_POSTSUBSCRIPT ⟩ start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT ≠ 0. Let us apply this to the 2D irreps of Dnsubscript𝐷𝑛D_{n}italic_D start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT (n>2𝑛2n>2italic_n > 2). Let ρi,ρj,ρksubscript𝜌𝑖subscript𝜌𝑗subscript𝜌𝑘\rho_{i},\rho_{j},\rho_{k}italic_ρ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT be three irreps defined as in (12). Notice that we have 𝒳ρ(alx)=0subscript𝒳𝜌superscript𝑎𝑙𝑥0\mathcal{X}_{\rho}(a^{l}x)=0caligraphic_X start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT ( italic_a start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT italic_x ) = 0. This yields

𝒳ρiρj,𝒳ρksubscript𝒳tensor-productsubscript𝜌𝑖subscript𝜌𝑗subscript𝒳subscript𝜌𝑘\displaystyle\langle\mathcal{X}_{\rho_{i}\otimes\rho_{j}},\mathcal{X}_{\rho_{k% }}\rangle⟨ caligraphic_X start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT , caligraphic_X start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT ⟩ =12nl=1n𝒳ρiρj(al)𝒳ρk(al)absent12𝑛superscriptsubscript𝑙1𝑛subscript𝒳tensor-productsubscript𝜌𝑖subscript𝜌𝑗superscript𝑎𝑙subscript𝒳subscript𝜌𝑘superscript𝑎𝑙\displaystyle=\frac{1}{2n}\sum_{l=1}^{n}\mathcal{X}_{\rho_{i}\otimes\rho_{j}}(% a^{l})\mathcal{X}_{\rho_{k}}(a^{l})= divide start_ARG 1 end_ARG start_ARG 2 italic_n end_ARG ∑ start_POSTSUBSCRIPT italic_l = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT caligraphic_X start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_a start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT ) caligraphic_X start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_a start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT )
=12nl=1n𝒳ρi(al)𝒳ρj(al)𝒳ρk(al)absent12𝑛superscriptsubscript𝑙1𝑛subscript𝒳subscript𝜌𝑖superscript𝑎𝑙subscript𝒳subscript𝜌𝑗superscript𝑎𝑙subscript𝒳subscript𝜌𝑘superscript𝑎𝑙\displaystyle=\frac{1}{2n}\sum_{l=1}^{n}\mathcal{X}_{\rho_{i}}(a^{l})\mathcal{% X}_{\rho_{j}}(a^{l})\mathcal{X}_{\rho_{k}}(a^{l})= divide start_ARG 1 end_ARG start_ARG 2 italic_n end_ARG ∑ start_POSTSUBSCRIPT italic_l = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT caligraphic_X start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_a start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT ) caligraphic_X start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_a start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT ) caligraphic_X start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_a start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT )
=12nl=1n8cos(ωli)cos(ωlj)cos(ωlk)absent12𝑛superscriptsubscript𝑙1𝑛8subscript𝜔𝑙𝑖subscript𝜔𝑙𝑗subscript𝜔𝑙𝑘\displaystyle=\frac{1}{2n}\sum_{l=1}^{n}8\cos(\omega_{l}i)\cos(\omega_{l}j)% \cos(\omega_{l}k)= divide start_ARG 1 end_ARG start_ARG 2 italic_n end_ARG ∑ start_POSTSUBSCRIPT italic_l = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT 8 roman_cos ( italic_ω start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT italic_i ) roman_cos ( italic_ω start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT italic_j ) roman_cos ( italic_ω start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT italic_k )
=1nl=1ncos(ωl(i+j+k))+cos(ωl(i+jk))absent1𝑛superscriptsubscript𝑙1𝑛subscript𝜔𝑙𝑖𝑗𝑘subscript𝜔𝑙𝑖𝑗𝑘\displaystyle=\frac{1}{n}\sum_{l=1}^{n}\cos(\omega_{l}(i+j+k))+\cos(\omega_{l}% (i+j-k))= divide start_ARG 1 end_ARG start_ARG italic_n end_ARG ∑ start_POSTSUBSCRIPT italic_l = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT roman_cos ( italic_ω start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ( italic_i + italic_j + italic_k ) ) + roman_cos ( italic_ω start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ( italic_i + italic_j - italic_k ) )
+cos(ωl(ji+k))+cos(ωl(jik)).subscript𝜔𝑙𝑗𝑖𝑘subscript𝜔𝑙𝑗𝑖𝑘\displaystyle\ +\cos(\omega_{l}(j-i+k))+\cos(\omega_{l}(j-i-k)).+ roman_cos ( italic_ω start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ( italic_j - italic_i + italic_k ) ) + roman_cos ( italic_ω start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ( italic_j - italic_i - italic_k ) ) .

Recall that l=1ncos(ωlm)={0 if m0n if m=0superscriptsubscript𝑙1𝑛subscript𝜔𝑙𝑚cases0 if 𝑚0otherwise𝑛 if 𝑚0otherwise\sum_{l=1}^{n}\cos(\omega_{l}m)=\begin{cases}0\text{ if }m\neq 0\\ n\text{ if }m=0\end{cases}∑ start_POSTSUBSCRIPT italic_l = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT roman_cos ( italic_ω start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT italic_m ) = { start_ROW start_CELL 0 if italic_m ≠ 0 end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL italic_n if italic_m = 0 end_CELL start_CELL end_CELL end_ROW. Therefore, if we assume 0ij0𝑖𝑗0\leq i\leq j0 ≤ italic_i ≤ italic_j without loss of generality, 𝒳ρiρj,𝒳ρk0subscript𝒳tensor-productsubscript𝜌𝑖subscript𝜌𝑗subscript𝒳subscript𝜌𝑘0\langle\mathcal{X}_{\rho_{i}\otimes\rho_{j}},\mathcal{X}_{\rho_{k}}\rangle\neq 0⟨ caligraphic_X start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT , caligraphic_X start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT ⟩ ≠ 0 if and only if

{k=i+j ork=ji..cases𝑘𝑖𝑗 orotherwise𝑘𝑗𝑖otherwise\begin{cases}k=i+j\text{ or}\\ k=j-i.\end{cases}.{ start_ROW start_CELL italic_k = italic_i + italic_j or end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL italic_k = italic_j - italic_i . end_CELL start_CELL end_CELL end_ROW .

Therefore, based on Definition 2.3, by utilizing βρi,ρjsubscript𝛽subscript𝜌𝑖subscript𝜌𝑗\beta_{\rho_{i},\rho_{j}}italic_β start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT, (Θ)ρisubscriptΘsubscript𝜌𝑖\mathcal{F}(\Theta)_{\rho_{i}}caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT, (Θ)ρjsubscriptΘsubscript𝜌𝑗\mathcal{F}(\Theta)_{\rho_{j}}caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT, we can compute (Θ)ρksubscriptΘsubscript𝜌𝑘\mathcal{F}(\Theta)_{\rho_{k}}caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT for k{i+j,ji}𝑘𝑖𝑗𝑗𝑖k\in\{i+j,\ j-i\}italic_k ∈ { italic_i + italic_j , italic_j - italic_i }. By iterating, if (Θ)ρ1subscriptΘsubscript𝜌1\mathcal{F}(\Theta)_{\rho_{1}}caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT is known, βρ1,ρ1subscript𝛽subscript𝜌1subscript𝜌1\beta_{\rho_{1},\rho_{1}}italic_β start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT gives (Θ)ρ2subscriptΘsubscript𝜌2\mathcal{F}(\Theta)_{\rho_{2}}caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT. Then, βρ1,ρ2subscript𝛽subscript𝜌1subscript𝜌2\beta_{\rho_{1},\rho_{2}}italic_β start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT can be leveraged to obtain (Θ)ρ3subscriptΘsubscript𝜌3\mathcal{F}(\Theta)_{\rho_{3}}caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_POSTSUBSCRIPT. Continuing the procedure provides (Θ)ρksubscriptΘsubscript𝜌𝑘\mathcal{F}(\Theta)_{\rho_{k}}caligraphic_F ( roman_Θ ) start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT for k=2,,n12𝑘2𝑛12k=2,...,\lfloor\frac{n-1}{2}\rflooritalic_k = 2 , … , ⌊ divide start_ARG italic_n - 1 end_ARG start_ARG 2 end_ARG ⌋ by using βρ1,ρk1subscript𝛽subscript𝜌1subscript𝜌𝑘1\beta_{\rho_{1},\rho_{k-1}}italic_β start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT. We have thus obtained the Fourier coefficients associated to all the 2D irreps.

It remains to show that the iteration also recovered the Fourier coefficients associated to the 1D irreps. This is because ρ01subscript𝜌01\rho_{01}italic_ρ start_POSTSUBSCRIPT 01 end_POSTSUBSCRIPT is in the TD of ρ1ρ1tensor-productsubscript𝜌1subscript𝜌1\rho_{1}\otimes\rho_{1}italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and, for n𝑛nitalic_n even, ρ02,ρ03subscript𝜌02subscript𝜌03\rho_{02},\rho_{03}italic_ρ start_POSTSUBSCRIPT 02 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 03 end_POSTSUBSCRIPT are in the TD of ρ1ρn21tensor-productsubscript𝜌1subscript𝜌𝑛21\rho_{1}\otimes\rho_{\frac{n}{2}-1}italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT divide start_ARG italic_n end_ARG start_ARG 2 end_ARG - 1 end_POSTSUBSCRIPT. Indeed,

𝒳ρ1ρ1,𝒳ρ01subscript𝒳tensor-productsubscript𝜌1subscript𝜌1subscript𝒳subscript𝜌01\displaystyle\langle\mathcal{X}_{\rho_{1}\otimes\rho_{1}},\mathcal{X}_{\rho_{0% 1}}\rangle⟨ caligraphic_X start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , caligraphic_X start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 01 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ⟩ =12nl=1n𝒳ρ1ρ1(al)𝒳ρ01(al)absent12𝑛superscriptsubscript𝑙1𝑛subscript𝒳tensor-productsubscript𝜌1subscript𝜌1superscript𝑎𝑙subscript𝒳subscript𝜌01superscript𝑎𝑙\displaystyle=\frac{1}{2n}\sum_{l=1}^{n}\mathcal{X}_{\rho_{1}\otimes\rho_{1}}(% a^{l})\mathcal{X}_{\rho_{01}}(a^{l})= divide start_ARG 1 end_ARG start_ARG 2 italic_n end_ARG ∑ start_POSTSUBSCRIPT italic_l = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT caligraphic_X start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_a start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT ) caligraphic_X start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 01 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_a start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT )
=12nl=1n4cos(ωl)2\displaystyle=\frac{1}{2n}\sum_{l=1}^{n}4\cos(\omega_{l})^{2}= divide start_ARG 1 end_ARG start_ARG 2 italic_n end_ARG ∑ start_POSTSUBSCRIPT italic_l = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT 4 roman_cos ( italic_ω start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT
=1nl=1n1+cos(2ωl)=1.absent1𝑛superscriptsubscript𝑙1𝑛12subscript𝜔𝑙1\displaystyle=\frac{1}{n}\sum_{l=1}^{n}1+\cos(2\omega_{l})=1.= divide start_ARG 1 end_ARG start_ARG italic_n end_ARG ∑ start_POSTSUBSCRIPT italic_l = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT 1 + roman_cos ( 2 italic_ω start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ) = 1 .

Moreover, for n𝑛nitalic_n even and ρ{ρ02,ρ03}𝜌subscript𝜌02subscript𝜌03\rho\in\{\rho_{02},\rho_{03}\}italic_ρ ∈ { italic_ρ start_POSTSUBSCRIPT 02 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 03 end_POSTSUBSCRIPT }, we have

𝒳ρ1ρn21,𝒳ρsubscript𝒳tensor-productsubscript𝜌1subscript𝜌𝑛21subscript𝒳𝜌\displaystyle\langle\mathcal{X}_{\rho_{1}\otimes\rho_{\frac{n}{2}-1}},\mathcal% {X}_{\rho}\rangle⟨ caligraphic_X start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT divide start_ARG italic_n end_ARG start_ARG 2 end_ARG - 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , caligraphic_X start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT ⟩ =12nl=1n𝒳ρ1ρn21(al)𝒳ρ(al)absent12𝑛superscriptsubscript𝑙1𝑛subscript𝒳tensor-productsubscript𝜌1subscript𝜌𝑛21superscript𝑎𝑙subscript𝒳𝜌superscript𝑎𝑙\displaystyle=\frac{1}{2n}\sum_{l=1}^{n}\mathcal{X}_{\rho_{1}\otimes\rho_{% \frac{n}{2}-1}}(a^{l})\mathcal{X}_{\rho}(a^{l})= divide start_ARG 1 end_ARG start_ARG 2 italic_n end_ARG ∑ start_POSTSUBSCRIPT italic_l = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT caligraphic_X start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT divide start_ARG italic_n end_ARG start_ARG 2 end_ARG - 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_a start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT ) caligraphic_X start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT ( italic_a start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT )
=1nl=1n1+cos(ωl(n22))(1)labsent1𝑛superscriptsubscript𝑙1𝑛1subscript𝜔𝑙𝑛22superscript1𝑙\displaystyle=\frac{1}{n}\sum_{l=1}^{n}1+\cos\left(\omega_{l}\left(\frac{n}{2}% -2\right)\right)(-1)^{l}= divide start_ARG 1 end_ARG start_ARG italic_n end_ARG ∑ start_POSTSUBSCRIPT italic_l = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT 1 + roman_cos ( italic_ω start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ( divide start_ARG italic_n end_ARG start_ARG 2 end_ARG - 2 ) ) ( - 1 ) start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT
=1.absent1\displaystyle=1.= 1 .

In conclusion, the procedure of Algorithm 4 recovers all the Fourier coefficients and the selective G𝐺Gitalic_G-Bispectrum.

E.2 The Clebsch-Gordan matrices on Dnsubscript𝐷𝑛D_{n}italic_D start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT

The matrix algebra properties that we use in this subsection can be found, e.g., in [2]. Recall from Theorem A.12 the (implicit) definition of the Clebsch-Gordan matrices:

(ρ1ρ2)(g)=Cρ1,ρ2[ρρ(g)]Cρ1,ρ2,tensor-productsubscript𝜌1subscript𝜌2𝑔subscript𝐶subscript𝜌1subscript𝜌2delimited-[]subscriptdirect-sum𝜌𝜌𝑔superscriptsubscript𝐶subscript𝜌1subscript𝜌2(\rho_{1}\otimes\rho_{2})(g)=C_{\rho_{1},\rho_{2}}\left[\bigoplus_{\rho\in% \mathcal{R}}\rho(g)\right]C_{\rho_{1},\rho_{2}}^{\dagger},( italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ( italic_g ) = italic_C start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT [ ⨁ start_POSTSUBSCRIPT italic_ρ ∈ caligraphic_R end_POSTSUBSCRIPT italic_ρ ( italic_g ) ] italic_C start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT , (18)

where Cρ1,ρ2Cρ1,ρ2=Isuperscriptsubscript𝐶subscript𝜌1subscript𝜌2subscript𝐶subscript𝜌1subscript𝜌2𝐼C_{\rho_{1},\rho_{2}}^{\dagger}C_{\rho_{1},\rho_{2}}=Iitalic_C start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT italic_C start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT = italic_I. We only consider the case of ρ1,ρ2subscript𝜌1subscript𝜌2\rho_{1},\rho_{2}italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT both 2d irreps of Dnsubscript𝐷𝑛D_{n}italic_D start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT since otherwise, the Clebsch-Gordan matrix is the scalar 1111. First notice that (ρ1ρ2)(g)tensor-productsubscript𝜌1subscript𝜌2𝑔(\rho_{1}\otimes\rho_{2})(g)( italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ( italic_g ), is an orthonormal matrix. Indeed, using the properties of the Kronecker product, we obtain (“(g)𝑔(g)( italic_g )” omitted for clarity):

(ρ1ρ2)(ρ1ρ2)tensor-productsubscript𝜌1subscript𝜌2superscripttensor-productsubscript𝜌1subscript𝜌2\displaystyle(\rho_{1}\otimes\rho_{2})(\rho_{1}\otimes\rho_{2})^{\dagger}( italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ( italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT =(ρ1ρ2)(ρ1ρ2)absenttensor-productsubscript𝜌1subscript𝜌2tensor-productsuperscriptsubscript𝜌1superscriptsubscript𝜌2\displaystyle=(\rho_{1}\otimes\rho_{2})(\rho_{1}^{\dagger}\otimes\rho_{2}^{% \dagger})= ( italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ( italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT )
=(ρ1ρ1)(ρ2ρ2)absenttensor-productsubscript𝜌1superscriptsubscript𝜌1subscript𝜌2superscriptsubscript𝜌2\displaystyle=(\rho_{1}\rho_{1}^{\dagger})\otimes(\rho_{2}\rho_{2}^{\dagger})= ( italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT ) ⊗ ( italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT )
=II=Iabsenttensor-product𝐼𝐼𝐼\displaystyle=I\otimes I=I= italic_I ⊗ italic_I = italic_I

For Q𝑄Qitalic_Q a real orthogonal matrix (QQ=Isuperscript𝑄𝑄𝐼Q^{\dagger}Q=Iitalic_Q start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT italic_Q = italic_I), and VSVT𝑉𝑆superscript𝑉𝑇VSV^{T}italic_V italic_S italic_V start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT with VV=Isuperscript𝑉𝑉𝐼V^{\dagger}V=Iitalic_V start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT italic_V = italic_I, a real Schur decomposition of Q𝑄Qitalic_Q, it is known that S𝑆Sitalic_S is block diagonal with blocks of size 1×1111\times 11 × 1 or 2×2222\times 22 × 2. These blocks are themselves orthogonal matrices. Therefore, the real Schur decomposition is the decomposition in (18) up to permutations. In order for S𝑆Sitalic_S to represent exactly the irreps from (12), the non-zero sub-diagonal elements should all be positive. If not, the symmetric element is positive and a permutation P𝑃Pitalic_P must be added to exchange their positions: Q=(VP)(PTSP)(VP)T𝑄𝑉𝑃superscript𝑃𝑇𝑆𝑃superscript𝑉𝑃𝑇Q=(VP)(P^{T}SP)(VP)^{T}italic_Q = ( italic_V italic_P ) ( italic_P start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_S italic_P ) ( italic_V italic_P ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT. P𝑃Pitalic_P permutes the two columns of V𝑉Vitalic_V associated with the permuted 2×2222\times 22 × 2 block of S𝑆Sitalic_S.

Algorithm 5 Compute Clebsch-Gordan matrices on Dnsubscript𝐷𝑛D_{n}italic_D start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT
1:  Input: ρ1,ρ2subscript𝜌1subscript𝜌2\rho_{1},\rho_{2}italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, two 2d irreps of Dnsubscript𝐷𝑛D_{n}italic_D start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT.
2:  Pick any gDn𝑔subscript𝐷𝑛g\in D_{n}italic_g ∈ italic_D start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, e.g., g=a𝑔𝑎g=aitalic_g = italic_a.
3:  Compute (ρ1ρ2)(g)=(VP)(PTSP)(VP)Ttensor-productsubscript𝜌1subscript𝜌2𝑔𝑉𝑃superscript𝑃𝑇𝑆𝑃superscript𝑉𝑃𝑇(\rho_{1}\otimes\rho_{2})(g)=(VP)(P^{T}SP)(VP)^{T}( italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ( italic_g ) = ( italic_V italic_P ) ( italic_P start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_S italic_P ) ( italic_V italic_P ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT, a valid real Schur form.
4:  Set Cρ1,ρ2=VPsubscript𝐶subscript𝜌1subscript𝜌2𝑉𝑃C_{\rho_{1},\rho_{2}}=VPitalic_C start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT = italic_V italic_P.
5:  Set ρρ(g)=PTSPsubscriptdirect-sum𝜌𝜌𝑔superscript𝑃𝑇𝑆𝑃\bigoplus_{\rho\in\mathcal{R}}\rho(g)=P^{T}SP⨁ start_POSTSUBSCRIPT italic_ρ ∈ caligraphic_R end_POSTSUBSCRIPT italic_ρ ( italic_g ) = italic_P start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_S italic_P
6:  Return: Cρ1,ρ2,ρρ(g)subscript𝐶subscript𝜌1subscript𝜌2subscriptdirect-sum𝜌𝜌𝑔C_{\rho_{1},\rho_{2}},\bigoplus_{\rho\in\mathcal{R}}\rho(g)italic_C start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , ⨁ start_POSTSUBSCRIPT italic_ρ ∈ caligraphic_R end_POSTSUBSCRIPT italic_ρ ( italic_g ).

Appendix F Bispectrum inversion for octahedral and full octahedral groups

We provide a sketch of the procedure to retrieve (Θ)Θ\mathcal{F}(\Theta)caligraphic_F ( roman_Θ ) given β(Θ)𝛽Θ\beta(\Theta)italic_β ( roman_Θ ) for the octahedral group and the full octahedral group. These two groups are available in the escnn library. These groups are easier to deal with than the cyclic and dihedral groups presented in the paper, given that they do not come from a family of groups. Indeed, our proofs for the cyclic (resp. dihedral) groups needed to work for all cyclic groups CNsubscript𝐶𝑁C_{N}italic_C start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT, and for all dihedral groups DNsubscript𝐷𝑁D_{N}italic_D start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT, for all N𝑁Nitalic_N. The octahedral and full octahedral groups are only two groups.

F.1 Octahedral group

tensor-product\otimes ρ0subscript𝜌0\rho_{0}italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ρ1subscript𝜌1\rho_{1}italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ρ2subscript𝜌2\rho_{2}italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ρ3subscript𝜌3\rho_{3}italic_ρ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ρ4subscript𝜌4\rho_{4}italic_ρ start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT
ρ0subscript𝜌0\rho_{0}italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT 10000 01000 00100 00010 00001
ρ1subscript𝜌1\rho_{1}italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT 01000 11110 01111 01100 00100
ρ2subscript𝜌2\rho_{2}italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT 00100 01111 11110 01100 01000
ρ3subscript𝜌3\rho_{3}italic_ρ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT 00010 01100 01100 10011 00010
ρ4subscript𝜌4\rho_{4}italic_ρ start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT 00001 00100 01000 00010 10000
Table 4: Kronecker table of the octahedral group using escnn. For the binary word at position i,j𝑖𝑗i,jitalic_i , italic_j in the table, the k𝑘kitalic_kth ‘letter’ is 1111 if ρkρiρjsubscript𝜌𝑘tensor-productsubscript𝜌𝑖subscript𝜌𝑗\rho_{k}\in\rho_{i}\otimes\rho_{j}italic_ρ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ∈ italic_ρ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT, 00 otherwise.

The octahedral group has 24 elements and 5 irreps. We can compute its Kronecker table, either manually using characters χ𝜒\chiitalic_χ or using a Python package such as escnn. We give its Kronecker table below (Table 4), where each column/row represents one irrep, labelled ρ0,ρ1,,ρ4subscript𝜌0subscript𝜌1subscript𝜌4\rho_{0},\rho_{1},...,\rho_{4}italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_ρ start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT.

We apply the procedure from Algorithms 2, 3 and 4 to Table 4. This procedure relies on the use of Theorem 2.3. We first select the bispectral coefficient βρ0,ρ0subscript𝛽subscript𝜌0subscript𝜌0\beta_{\rho_{0},\rho_{0}}italic_β start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT (we omit “(Θ)Θ(\Theta)( roman_Θ )” for clarity) to get the component ρ0subscriptsubscript𝜌0\mathcal{F}_{\rho_{0}}caligraphic_F start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT where ρ0subscript𝜌0\rho_{0}italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT is the trivial representation. Next, we choose βρ0,ρ1subscript𝛽subscript𝜌0subscript𝜌1\beta_{\rho_{0},\rho_{1}}italic_β start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT and use ρ0subscriptsubscript𝜌0\mathcal{F}_{\rho_{0}}caligraphic_F start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT to obtain ρ1subscriptsubscript𝜌1\mathcal{F}_{\rho_{1}}caligraphic_F start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT (we know from Table 4 that ρ1ρ0ρ1subscript𝜌1tensor-productsubscript𝜌0subscript𝜌1\rho_{1}\in\rho_{0}\otimes\rho_{1}italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∈ italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT) up to an indeterminacy which is a transformation in O(3)O3\mathrm{O}(3)roman_O ( 3 ) and corresponds to the indeterminacy factor from Appendix B. Then, we select βρ1,ρ1subscript𝛽subscript𝜌1subscript𝜌1\beta_{\rho_{1},\rho_{1}}italic_β start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT to get the Fourier components ρ2,ρ3subscriptsubscript𝜌2subscriptsubscript𝜌3\mathcal{F}_{\rho_{2}},\mathcal{F}_{\rho_{3}}caligraphic_F start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , caligraphic_F start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_POSTSUBSCRIPT. Lastly, we select βρ1,ρ2subscript𝛽subscript𝜌1subscript𝜌2\beta_{\rho_{1},\rho_{2}}italic_β start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT to get the missing Fourier component ρ4subscriptsubscript𝜌4\mathcal{F}_{\rho_{4}}caligraphic_F start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT end_POSTSUBSCRIPT.

In summary, we only need 4444 bispectral coefficients (βρ0,ρ0,βρ1,ρ0,βρ1,ρ1,βρ1,ρ2subscript𝛽subscript𝜌0subscript𝜌0subscript𝛽subscript𝜌1subscript𝜌0subscript𝛽subscript𝜌1subscript𝜌1subscript𝛽subscript𝜌1subscript𝜌2\beta_{\rho_{0},\rho_{0}},\beta_{\rho_{1},\rho_{0}},\beta_{\rho_{1},\rho_{1}},% \beta_{\rho_{1},\rho_{2}}italic_β start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_β start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_β start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_β start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT) instead of 52=25superscript52255^{2}=255 start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT = 25 in order to get the five Fourier components, i.e., the full Fourier transform of the signal.

F.2 Full octahedral group

tensor-product\otimes ρ0subscript𝜌0\rho_{0}italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ρ1subscript𝜌1\rho_{1}italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ρ2subscript𝜌2\rho_{2}italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ρ3subscript𝜌3\rho_{3}italic_ρ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ρ4subscript𝜌4\rho_{4}italic_ρ start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT ρ5subscript𝜌5\rho_{5}italic_ρ start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT ρ6subscript𝜌6\rho_{6}italic_ρ start_POSTSUBSCRIPT 6 end_POSTSUBSCRIPT ρ7subscript𝜌7\rho_{7}italic_ρ start_POSTSUBSCRIPT 7 end_POSTSUBSCRIPT ρ8subscript𝜌8\rho_{8}italic_ρ start_POSTSUBSCRIPT 8 end_POSTSUBSCRIPT ρ9subscript𝜌9\rho_{9}italic_ρ start_POSTSUBSCRIPT 9 end_POSTSUBSCRIPT
ρ0subscript𝜌0\rho_{0}italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT 1000000000 0100000000 0010000000 0001000000 0000100000 0000010000 0000001000 0000000100 0000000010 0000000001
ρ1subscript𝜌1\rho_{1}italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT 0100000000 1111000000 0111100000 0110000000 0010000000 0000001000 0000011110 0000001111 0000001100 0000000100
ρ2subscript𝜌2\rho_{2}italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT 0010000000 0111100000 1111000000 0110000000 0100000000 0000000100 0000001111 0000011110 0000001100 0000001000
ρ3subscript𝜌3\rho_{3}italic_ρ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT 0001000000 0110000000 0110000000 1001100000 0001000000 0000000010 0000001100 0000001100 0000010011 0000000010
ρ4subscript𝜌4\rho_{4}italic_ρ start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT 0000100000 0010000000 0100000000 0001000000 1000000000 0000000001 0000000100 0000001000 0000000010 0000010000
ρ5subscript𝜌5\rho_{5}italic_ρ start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT 0000010000 0000001000 0000000100 0000000010 0000000001 1000000000 0100000000 0010000000 0001000000 0000100000
ρ6subscript𝜌6\rho_{6}italic_ρ start_POSTSUBSCRIPT 6 end_POSTSUBSCRIPT 0000001000 0000011110 0000001111 0000001100 0000000100 0100000000 1111000000 0111100000 0110000000 0010000000
ρ7subscript𝜌7\rho_{7}italic_ρ start_POSTSUBSCRIPT 7 end_POSTSUBSCRIPT 0000000100 0000001111 0000011110 0000001100 0000001000 0010000000 0111100000 1111000000 0110000000 0100000000
ρ8subscript𝜌8\rho_{8}italic_ρ start_POSTSUBSCRIPT 8 end_POSTSUBSCRIPT 0000000010 0000001100 0000001100 0000010011 0000000010 0001000000 0110000000 0110000000 1001100000 0001000000
ρ9subscript𝜌9\rho_{9}italic_ρ start_POSTSUBSCRIPT 9 end_POSTSUBSCRIPT 0000000001 0000000100 0000001000 0000000010 0000010000 0000100000 0010000000 0100000000 0001000000 1000000000
Table 5: Kronecker table of full octahedral group using escnn. For the binary word at position i,j𝑖𝑗i,jitalic_i , italic_j in the table, the k𝑘kitalic_kth ‘letter’ is 1111 if ρkρiρjsubscript𝜌𝑘tensor-productsubscript𝜌𝑖subscript𝜌𝑗\rho_{k}\in\rho_{i}\otimes\rho_{j}italic_ρ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ∈ italic_ρ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⊗ italic_ρ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT, 00 otherwise.

The full octahedral group has 48484848 elements and 10101010 irreps. Again, we can compute its Kronecker table using a Python package such as escnn. We give its Kronecker table below (Table 5), where each column/row represents one irrep, labelled ρ0,ρ1,,ρ9subscript𝜌0subscript𝜌1subscript𝜌9\rho_{0},\rho_{1},...,\rho_{9}italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_ρ start_POSTSUBSCRIPT 9 end_POSTSUBSCRIPT.

We apply the procedure from Algorithms 2, 3 and 4 to Table 5. Again, this procedure relies on the use of Theorem 2.3. βρ0,ρ0subscript𝛽subscript𝜌0subscript𝜌0\beta_{\rho_{0},\rho_{0}}italic_β start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT (we omit “(Θ)Θ(\Theta)( roman_Θ )” for clarity) allows to compute ρ0subscriptsubscript𝜌0\mathcal{F}_{\rho_{0}}caligraphic_F start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT directly, such as in Algorithm 4. Then, from βρ0,ρ6subscript𝛽subscript𝜌0subscript𝜌6\beta_{\rho_{0},\rho_{6}}italic_β start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 6 end_POSTSUBSCRIPT end_POSTSUBSCRIPT, we obtain ρ6subscriptsubscript𝜌6\mathcal{F}_{\rho_{6}}caligraphic_F start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 6 end_POSTSUBSCRIPT end_POSTSUBSCRIPT up to an unknown group action in O(3)O3\mathrm{O}(3)roman_O ( 3 ). Then, using βρ6,ρ6subscript𝛽subscript𝜌6subscript𝜌6\beta_{\rho_{6},\rho_{6}}italic_β start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 6 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 6 end_POSTSUBSCRIPT end_POSTSUBSCRIPT and ρ6subscriptsubscript𝜌6\mathcal{F}_{\rho_{6}}caligraphic_F start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 6 end_POSTSUBSCRIPT end_POSTSUBSCRIPT, we obtain ρ1subscriptsubscript𝜌1\mathcal{F}_{\rho_{1}}caligraphic_F start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT,ρ2subscriptsubscript𝜌2\mathcal{F}_{\rho_{2}}caligraphic_F start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT and ρ3subscriptsubscript𝜌3\mathcal{F}_{\rho_{3}}caligraphic_F start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_POSTSUBSCRIPT. Next, leveraging βρ1,ρ2subscript𝛽subscript𝜌1subscript𝜌2\beta_{\rho_{1},\rho_{2}}italic_β start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT, ρ1subscriptsubscript𝜌1\mathcal{F}_{\rho_{1}}caligraphic_F start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT and ρ2subscriptsubscript𝜌2\mathcal{F}_{\rho_{2}}caligraphic_F start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT, we obtain ρ4subscriptsubscript𝜌4\mathcal{F}_{\rho_{4}}caligraphic_F start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT end_POSTSUBSCRIPT. Using βρ1,ρ6subscript𝛽subscript𝜌1subscript𝜌6\beta_{\rho_{1},\rho_{6}}italic_β start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 6 end_POSTSUBSCRIPT end_POSTSUBSCRIPT, ρ1subscriptsubscript𝜌1\mathcal{F}_{\rho_{1}}caligraphic_F start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT and ρ6subscriptsubscript𝜌6\mathcal{F}_{\rho_{6}}caligraphic_F start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 6 end_POSTSUBSCRIPT end_POSTSUBSCRIPT, we obtain ρ5subscriptsubscript𝜌5\mathcal{F}_{\rho_{5}}caligraphic_F start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT end_POSTSUBSCRIPT, ρ7subscriptsubscript𝜌7\mathcal{F}_{\rho_{7}}caligraphic_F start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 7 end_POSTSUBSCRIPT end_POSTSUBSCRIPT, ρ8subscriptsubscript𝜌8\mathcal{F}_{\rho_{8}}caligraphic_F start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 8 end_POSTSUBSCRIPT end_POSTSUBSCRIPT. Finally, with βρ1,ρ7subscript𝛽subscript𝜌1subscript𝜌7\beta_{\rho_{1},\rho_{7}}italic_β start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 7 end_POSTSUBSCRIPT end_POSTSUBSCRIPT, ρ1subscriptsubscript𝜌1\mathcal{F}_{\rho_{1}}caligraphic_F start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT and ρ7subscriptsubscript𝜌7\mathcal{F}_{\rho_{7}}caligraphic_F start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 7 end_POSTSUBSCRIPT end_POSTSUBSCRIPT, we obtain the last coefficient ρ9subscriptsubscript𝜌9\mathcal{F}_{\rho_{9}}caligraphic_F start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 9 end_POSTSUBSCRIPT end_POSTSUBSCRIPT. Hence we have recovered all the Fourier coefficients using only βρ0,ρ0subscript𝛽subscript𝜌0subscript𝜌0\beta_{\rho_{0},\rho_{0}}italic_β start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT, βρ0,ρ6subscript𝛽subscript𝜌0subscript𝜌6\beta_{\rho_{0},\rho_{6}}italic_β start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 6 end_POSTSUBSCRIPT end_POSTSUBSCRIPT, βρ6,ρ6subscript𝛽subscript𝜌6subscript𝜌6\beta_{\rho_{6},\rho_{6}}italic_β start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 6 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 6 end_POSTSUBSCRIPT end_POSTSUBSCRIPT, βρ1,ρ2subscript𝛽subscript𝜌1subscript𝜌2\beta_{\rho_{1},\rho_{2}}italic_β start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT,βρ1,ρ6subscript𝛽subscript𝜌1subscript𝜌6\beta_{\rho_{1},\rho_{6}}italic_β start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 6 end_POSTSUBSCRIPT end_POSTSUBSCRIPT, βρ1,ρ7subscript𝛽subscript𝜌1subscript𝜌7\beta_{\rho_{1},\rho_{7}}italic_β start_POSTSUBSCRIPT italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ρ start_POSTSUBSCRIPT 7 end_POSTSUBSCRIPT end_POSTSUBSCRIPT, thus a total of 6666 bispectral coefficients instead of 100100100100.

Appendix G Training of the G𝐺Gitalic_G-CNN architecture

The SO(2)SO2\mathrm{SO}(2)roman_SO ( 2 )-MNIST/EMNIST datasets are obtained after applying random planar rotations on each image of the datasets MNIST [23], EMNIST [6] respectively. In the case of O(2)O2\mathrm{O}(2)roman_O ( 2 )-MNIST/EMNIST, in addition to a planar rotation, a reflection is applied with probability 1212\frac{1}{2}divide start_ARG 1 end_ARG start_ARG 2 end_ARG. The original size of each image is conserved. The size of the training sets are 60 0006000060\ 00060 000 and 88 8008880088\ 80088 800 for MNIST and EMNIST, respectively.

We conserve the architecture of [27]. For all invariance layers, being the G𝐺Gitalic_G-TC, the selective G𝐺Gitalic_G-Bispectrum and the Avg/Max G𝐺Gitalic_G-pooling, the architecture is composed of a C8/D8subscript𝐶8subscript𝐷8C_{8}/D_{8}italic_C start_POSTSUBSCRIPT 8 end_POSTSUBSCRIPT / italic_D start_POSTSUBSCRIPT 8 end_POSTSUBSCRIPT-convolutional block with K𝐾Kitalic_K filters (see Table 2). Then, the invariance layer is applied before feeding the output to a MLP. The MLP is composed of 3333 fully-connected layers with ReLU non-linearity. A final fully-connected linear layer is applied for classification. The vector of the output sizes of these layers is given by [o1,o2,o3,ol]𝑜1𝑜2𝑜3𝑜𝑙[o1,o2,o3,ol][ italic_o 1 , italic_o 2 , italic_o 3 , italic_o italic_l ] respectively. o2=o3=64𝑜2𝑜364o2=o3=64italic_o 2 = italic_o 3 = 64 and ol𝑜𝑙olitalic_o italic_l is equal to the number of classes of the dataset. o1𝑜1o1italic_o 1 is tuned to reach the parameter count from Table 2.