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

The Complete SC-Invariant Affine Automorphisms of Polar Codes

Zicheng Ye23, Yuan Li231, Huazi Zhang1, Rong Li1, Jun Wang1, Guiying Yan23, and Zhiming Ma23 Email: {yezicheng, liyuan2018}@amss.ac.cn, {zhanghuazi, lirongone.li, justin.wangjun}@huawei.com,
[email protected], [email protected]
2 University of Chinese Academy of Sciences 3 Academy of Mathematics and Systems Science, CAS 1 Huawei Technologies Co. Ltd.
Abstract

Automorphism ensemble (AE) decoding for polar codes was proposed by decoding permuted codewords with successive cancellation (SC) decoders in parallel and hence has lower latency compared to that of successive cancellation list (SCL) decoding. However, some automorphisms are SC-invariant, thus are redundant in AE decoding. In this paper, we find a necessary and sufficient condition related to the block lower-triangular structure of transformation matrices to identify SC-invariant automorphisms. Furthermore, we provide an algorithm to determine the complete SC-invariant affine automorphisms under a specific polar code construction.

I Introduction

Polar codes [1] are proved to asymptotically achieve capacity on discrete binary memoryless symmetric (BMS) channels under SC decoding. To enhance the finite-length performance, SCL decoding was proposed in [2]. Moreover, cyclic redundancy check (CRC)-aided polar codes [3] achieve outstanding performance at short to moderate block lengths.

A substantial part of SCL decoding complexity and latency is related to path management, i.e., sorting and pruning paths according to path metric (PM). In order to reduce the latency, decoding under stage permutations on the factor graph was proposed in [4]. In [5], AE decoding utilized more SC-variant automorphisms instead of only stage permutations to enhance error correcting performance. A key step in AE decoding is the identification and avoidance of SC-invariant automorphisms, which produce duplicate decoding results. The automorphisms formed by lower-triangular affine (LTA) transformations [6] were proved to be SC-invariant [5]. In [7] and [8], the block lower-triangular affine (BLTA) group was proved to be the complete affine automorphism group of polar codes. BLTA transformations showed better performance under AE decoding [7] [9] [10]. In [10], affine automorphism group was classified into equivalent classes, where each class will yield the same SC decoding result. Therefore selecting at most one automorphism from each equivalent class guarantees SC-variance. In contrast of AE decoding, some other applications require SC-invariant automorphisms. In [11], n4\frac{n}{4}-cyclic shift permutations, which are SC-invariant, were proposed for implicit timing indication in Physical Broadcasting Channel (PBCH). In both applications, identifying SC-invariant automorphisms is a key step.

Some previous works attempt to identify SC-invariant affine automorphisms for general polar codes [5] [10]. However, given a specific code construction, SC-invariant automorphisms can not be completely found in [5], [10]. In this paper, we identify and prove the complete SC-invariant affine automorphisms. For example, as shown in Table 1 of section IV, the number of the complete SC-invariant affine automorphisms for (256,128) polar code is 21×22821\times 2^{28} but only 3×2283\times 2^{28} of them are founded in [10].

The rest of this paper is organized as follows. In section II, we review polar codes and automorphism group. In section III, we provide a low complexity algorithm to distinguish SC-invariant affine automorphisms. We further prove SC-invariant affine automorphism group is also of the form BLTA and provide an algorithm to determine it. In section IV, simulation results show distinguishing SC-invariant automorphisms can reduce redundancy in AE decoding. Finally, we draw some conclusions in section V.

II Preliminaries

II-A Polar codes as monomial codes

Let F=[1011]F=\begin{bmatrix}1&0\\ 1&1\end{bmatrix} and Gm=FmG_{m}=F^{\otimes m}, where mm is the code dimension. A polar code (n=2m,K)(n=2^{m},K) is generated by selecting KK rows of GmG_{m}. The set {0,1,,n1}\mathcal{I}\subseteq\{0,1,...,n-1\} of indices of selected rows is the information set, and =c\mathcal{F}=\mathcal{I}^{c} is the frozen set. Denote the polar code with information set \mathcal{I} by C()C(\mathcal{I}).

Polar codes can be described as monomial codes [6]. The monomial set is

={x1g1xmgm|(g1,,gm)T𝔽2m},\mathcal{M}=\{x_{1}^{g_{1}}...x_{m}^{g_{m}}|(g_{1},...,g_{m})^{T}\in\mathbb{F}_{2}^{m}\},

and the evaluation of gg\in\mathcal{M} is

eval(g)=(g(u))u𝔽2m.\text{eval}(g)=(g(u))_{u\in\mathbb{F}_{2}^{m}}.

Then each row of GmG_{m} can be represented by eval(g)\text{eval}(g) for some gg\in\mathcal{M}. For example, assume z{0,1,,2m1}z\in\{0,1,...,2^{m}-1\}, there is a unique binary representation a=(a1,,am)Ta=(a_{1},...,a_{m})^{T} of 2mz12^{m}-z-1, where a1a_{1} is the least significant bit, such that

i=1m2i1(1ai)=z.\sum_{i=1}^{m}2^{i-1}(1-a_{i})=z.

Then the evaluation of monomial eval(x1a1xmam)\text{eval}(x_{1}^{a_{1}}...x_{m}^{a_{m}}) is exactly the (2mz1)(2^{m}-z-1)-th row of GmG_{m}. Therefore, the information set \mathcal{I} can be regarded as a subset of {0,,n1}\{0,...,n-1\} or a subset of \mathcal{M}. As seen, the three representations, i.e., the number zz, the binary representation of 2m1z=(a1,,am)T2^{m}-1-z=(a_{1},...,a_{m})^{T} and the corresponding monomial x1a1xmamx_{1}^{a_{1}}...x_{m}^{a_{m}} all refer to the same thing.

Two monomials of the same degree are ordered as xi1xitxj1xjtx_{i_{1}}...x_{i_{t}}\preccurlyeq x_{j_{1}}...x_{j_{t}} if and only if iljli_{l}\leq j_{l} for all l{1,,t}l\in\{1,...,t\}, where we assume i1<<iti_{1}<...<i_{t} and j1<<jtj_{1}<...<j_{t}. This partial order is extended to monomials with different degrees through divisibility, namely fgf\preccurlyeq g if and only if there is a divisor gg^{\prime} of gg such that fgf\preccurlyeq g^{\prime}.

An information set \mathcal{I}\subseteq\mathcal{M} is decreasing if gf\forall g\preccurlyeq f and ff\in\mathcal{I} we have gg\in\mathcal{I}. A decreasing monomial code C()C(\mathcal{I}) is a monomial code with a decreasing information set \mathcal{I}. If the information set is selected according to the Bhatacharryya parameter, polar codes will be decreasing monomial codes [6], [12]. In this way, polar codes can be generated by min\mathcal{I}_{\text{min}}, where the information set is the smallest decreasing set containing min\mathcal{I}_{\text{min}}. From now on, we always suppose \mathcal{I} is decreasing.

II-B Affine automorphism group

Let CC be a decreasing monomial code with length nn. A permutation π\pi in the symmetric group Sym(n)(n) is an automorphism of CC if for any codeword c=(c0,,cn1)Cc=(c_{0},...,c_{n-1})\in C, π(c)=(cπ(0),,cπ(n1))C\pi(c)=(c_{\pi(0)},...,c_{\pi(n-1)})\in C. The automorphism group Aut(C)(C) is the subgroup of Sym(n)(n) containing all automorphisms of CC.

Let MM be an m×mm\times m binary invertible matrix and bb be a length-mm binary column vector. The affine transformation (M,b)(M,b) permutes a𝔽2ma\in\mathbb{F}_{2}^{m} to Ma+bMa+b.

A matrix MM is lower-triangular if M(i,i)=1M(i,i)=1 and M(i,j)=0M(i,j)=0 for all j>ij>i. The LTA group is the group of all affine transformations (M,b)(M,b) where MM is lower-triangular. Similarly, a matrix MM is upper-triangular if M(i,i)=1M(i,i)=1 and M(i,j)=0M(i,j)=0 for all j<ij<i.

BLTA([s1,,sl])([s_{1},...,s_{l}]) is a BLTA group of all affine transformations (M,b)(M,b) where MM can be written as a block matrix of the following form

[B1,100B2,1B2,200Bl,1Bl,2Bl,l],\begin{bmatrix}B_{1,1}&0&\cdots&0\\ B_{2,1}&B_{2,2}&\cdots&0\\ \vdots&\vdots&\ddots&0\\ B_{l,1}&B_{l,2}&\cdots&B_{l,l}\end{bmatrix}, (1)

where Bi,iB_{i,i} are full-rank si×sis_{i}\times s_{i} matrices. BLTA equals the complete automorphisms of decreasing polar codes that can be formulated as affine transformations [8].

II-C Successive cancellation decoding

Let Li,tL_{i,t} be the log likelihood ratio (LLR) of the ii-th node at stage tt and Li,mL_{i,m} be the received LLRs from channels. Li,tL_{i,t} are propagated from stage t+1t+1 according to

Li,t=f(Li,t+1,Li+2t,t+1)=log(eLi,t+1+Li+2t,t+1+1eLi,t+1+eLi+2t,t+1);L_{i,t}=f(L_{i,t+1},L_{i+2^{t},t+1})=\log\left(\frac{e^{L_{i,t+1}+L_{i+2^{t},t+1}}+1}{e^{L_{i,t+1}}+e^{L_{i+2^{t},t+1}}}\right);
Li+2t,t\displaystyle L_{i+2^{t},t} =g(ui,t,Li,t+1,Li+2t,t+1)\displaystyle=g(u_{i,t},L_{i,t+1},L_{i+2^{t},t+1})
=(1)ui,tLi,t+1+Li+2t,t+1.\displaystyle=(-1)^{u_{i,t}}L_{i,t+1}+L_{i+2^{t},t+1}.

At stage 0, we have

ui,0={0, if i;0, if i,Li,00;1, if i,Li,0<0.\displaystyle u_{i,0}=\begin{cases}0,&\text{ if }i\in\mathcal{F};\\ 0,&\text{ if }i\in\mathcal{I},L_{i,0}\geq 0;\\ 1,&\text{ if }i\in\mathcal{I},L_{i,0}<0.\\ \end{cases}

Then hard decisions ui,tu_{i,t} are propagated from stage t1t-1 according to

ui,t=ui,t1ui+2t,t1;u_{i,t}=u_{i,t-1}\oplus u_{i+2^{t},t-1};
ui+2t,t=ui+2t,t1.u_{i+2^{t},t}=u_{i+2^{t},t-1}.

where \oplus means the addition modulo 22.

Let SC:n𝔽2n\text{SC}_{\mathcal{I}}:\mathbb{R}^{n}\to\mathbb{F}_{2}^{n} map the received LLR vector y=(Li,m)i{0,,n1}ny=(L_{i,m})_{i\in\{0,...,n-1\}}\in\mathbb{R}^{n} to the SC decoding result (ui,m)i{0,,n1}=SC(y)C()(u_{i,m})_{i\in\{0,...,n-1\}}=\text{SC}_{\mathcal{I}}(y)\in C(\mathcal{I}).

II-D Automorphism ensemble decoding

Let π1,,πt\pi_{1},...,\pi_{t} be tt different automorphisms of the code CC and yny\in\mathbb{R}^{n} be the received LLR vector. A list of decoders can independently decode each permuted LLR πj(y)\pi_{j}(y). The decoded candidate codeword of yy using πj\pi_{j} is

x^j=πj1(SC(πj(y)).\hat{x}_{j}=\pi_{j}^{-1}(\text{SC}_{\mathcal{I}}(\pi_{j}(y)).

A final decoding result is selected according to the minimum Euclidean distance rule:

x=argminx^j,j=1,,tx^jy.x=\arg\min_{\hat{x}_{j},j=1,...,t}||\hat{x}_{j}-y||.

For an automorphism π\pi of C()C(\mathcal{I}), we say π\pi commutes with SC\text{SC}_{\mathcal{I}} if for all yny\in\mathbb{R}^{n}, SC(π(y))=π(SC(y))\text{SC}_{\mathcal{I}}(\pi(y))=\pi(\text{SC}_{\mathcal{I}}(y)). If π\pi commutes with SC\text{SC}_{\mathcal{I}}, the corresponding permuted SC decoder always outputs the same decoding result as the non-permuted SC decoder.

The automorphism π\pi in LTA group is SC-invariant for C()C(\mathcal{I}), which means it commutes with SC\text{SC}_{\mathcal{I}} [5]. Moreover, in [10], two affine automorphisms π,π\pi,\pi^{\prime} are called equivalent for C()C(\mathcal{I}), denoted by ππ\pi\sim_{\mathcal{I}}\pi^{\prime}, if for all yny\in\mathbb{R}^{n}

π1(SC(π(y)))=π1SC(π(y)).\pi^{-1}(\text{SC}_{\mathcal{I}}(\pi(y)))=\pi^{\prime-1}\text{SC}_{\mathcal{I}}(\pi^{\prime}(y)).

The equivalence classes are defined as

[π]={π:ππ}.[\pi]_{\mathcal{I}}=\{\pi^{\prime}:\pi^{\prime}\sim_{\mathcal{I}}\pi\}.

Let 𝟙\mathds{1} be identity permutation, the equivalence class [𝟙][\mathds{1}]_{\mathcal{I}} consists of the complete affine automorphisms commuting with SC\text{SC}_{\mathcal{I}}, which is an automorphism subgroup. The authors of [10] proved that BLTA([2,1,1])[𝟙]([2,1...,1])\subseteq[\mathds{1}]_{\mathcal{I}}, that is, automorphisms in BLTA([2,1,1])([2,1...,1]) commute with SC\text{SC}_{\mathcal{I}} of any decreasing monomial code C()C(\mathcal{I}) whose automorphism group includes BLTA([2,1,1])([2,1...,1]). A natural question arises: are these the complete SC-invariant affine automorphisms?

III Analysis on SC-invariant automorphisms

In this section, we give a necessary and sufficient condition to identify SC-invariant affine automorphisms for any specific code C()C(\mathcal{I}). The key technique in proofs is that the block lower-triangular structure of transformation matrix can be used to decompose the corresponding automorphism into shorter ones (detailed description is in Definition 1). Therefore, C()C(\mathcal{I}) can be decomposed to shorter subcodes, and we can identify SC-invariant automorphisms inductively.

III-A Notations and definitions

Let MM be a full-rank matrix. We say MM has the block lower-triangular structure s(M)=s1,,sls(M)=\langle s_{1},...,s_{l}\rangle if MM can be written as (1) and none of Bi,iB_{i,i} can be written as a block lower-triangular matrix with more than one block. Define St=i=1t1siS_{t}=\sum_{i=1}^{t-1}s_{i} for 2tl+12\leq t\leq l+1 and S1=0S_{1}=0.

Define [a,b][a,b] to be the integer set {i|aib}\{i\in\mathbb{N}|a\leq i\leq b\} for a,ba,b\in\mathbb{N}, and M([a,b],[c,d])M([a,b],[c,d]) to be the corresponding submatrix of MM.

The affine transformation (M,0)[𝟙](M,0)\subseteq[\mathds{1}]_{\mathcal{I}} if and only if (M,b)[𝟙](M,b)\subseteq[\mathds{1}]_{\mathcal{I}} for any b𝔽2mb\in\mathbb{F}_{2}^{m}. For convenience, define φ(M)\varphi(M) to be the permutation (M,0)(M,0) which permutes a𝔽2ma\in\mathbb{F}_{2}^{m} to MaMa.

Define Indm(ai1=ci1,,ait=cit)={(a1,,am)T𝔽2m|aij=cij,j=1,,t}\text{Ind}_{m}(a_{i_{1}}=c_{i_{1}},...,a_{i_{t}}=c_{i_{t}})=\{(a_{1},...,a_{m})^{T}\in\mathbb{F}_{2}^{m}|a_{i_{j}}=c_{i_{j}},\forall j=1,...,t\} to be a set of indices whose i1,,iti_{1},...,i_{t}-th bits are fixed to be ai1,,aita_{i_{1}},...,a_{i_{t}}. Define

(Indm(ai1=ci1,,ait=cit))\displaystyle\mathcal{I}(\text{Ind}_{m}(a_{i_{1}}=c_{i_{1}},...,a_{i_{t}}=c_{i_{t}}))
=\displaystyle= {(a1,ai11,ai1+1,,ait1,ait+1,,am)T𝔽2mt|\displaystyle\{(a_{1},...a_{i_{1}-1},a_{i_{1}+1},...,a_{i_{t}-1},a_{i_{t}+1},...,a_{m})^{T}\in\mathbb{F}_{2}^{m-t}|
(a1,,am)T,aij=cij,j=1,,t}\displaystyle(a_{1},...,a_{m})^{T}\in\mathcal{I},a_{i_{j}}=c_{i_{j}},\forall j=1,...,t\}

to be the information set of length-2mt2^{m-t} subcode consisting of indices in Indm(ai1=ci1,,ait=cit)\text{Ind}_{m}(a_{i_{1}}=c_{i_{1}},...,a_{i_{t}}=c_{i_{t}}). (Indm(ai1=ci1,,ait=cit))\mathcal{F}(\text{Ind}_{m}(a_{i_{1}}=c_{i_{1}},...,a_{i_{t}}=c_{i_{t}})) is defined in the same way.

Refer to caption
Figure 1: The factor graph of an (8,4) polar code

For example, the factor graph of (8,4) polar code is shown in Fig. 1, where ={3,5,6,7}\mathcal{I}=\{3,5,6,7\}. In Fig. 1, (Ind3(a1=1))={3}\mathcal{I}(\text{Ind}_{3}(a_{1}=1))=\{3\} (resp. (Ind3(a1=0))={1,2,3}\mathcal{I}(\text{Ind}_{3}(a_{1}=0))=\{1,2,3\}) is the information set of length-4 subcode consisting of indices that the least significant bit a1a_{1} is equal to 11 (resp. 0), i.e. the even (resp. odd) bits. Similarly, (Ind3(a3=1))={3}\mathcal{I}(\text{Ind}_{3}(a_{3}=1))=\{3\} (resp. (Ind3(a3=0))={1,2,3}\mathcal{I}(\text{Ind}_{3}(a_{3}=0))=\{1,2,3\}) is the information set of length-4 subcode consisting of indices that the most significant bit a3a_{3} is equal to 11 (resp. 0), i.e. the first (resp. last) four bits. This definition simplifies the description of decomposed shorter subcodes in our proofs.

III-B Transformations of matrices

In this subsection, we provide two lemmas on matrix transformations.

Lemma 1 (lower-triangular transformation).

Let MM be a full-rank matrix and M1,M2M_{1},M_{2} be two lower-triangular matrices. π=φ(M)\pi=\varphi(M) and π=φ(M1MM2)\pi^{\prime}=\varphi(M_{1}MM_{2}) are two automorphisms of C()C(\mathcal{I}). Then π\pi^{\prime} commutes with SC\text{SC}_{\mathcal{I}} if and only if π\pi commutes with SC\text{SC}_{\mathcal{I}}. Moreover, s(M)=s(M1MM2)s(M)=s(M_{1}MM_{2}).

Proof.

It is from the fact that φ(M1MM2)=φ(M1)φ(M)φ(M2)\varphi(M_{1}MM_{2})=\varphi(M_{1})\varphi(M)\varphi(M_{2}) and φ(M1),φ(M2)\varphi(M_{1}),\varphi(M_{2}) and φ(M)\varphi(M) all commute with SC\text{SC}_{\mathcal{I}}.

Let s(M)=s1,,sls(M)=\langle s_{1},...,s_{l}\rangle and s(M1MM2)=s1,,sks(M_{1}MM_{2})=\langle s^{\prime}_{1},...,s^{\prime}_{k}\rangle. Notice that L1ML_{1}M means adding upper row of MM to lower, while ML2ML_{2} means adding right column of MM to left. Therefore, M([1,s1],[s1+1,m])=0M([1,s_{1}],[s_{1}+1,m])=0 implies M1MM2([1,s1],[s1+1,m])=0M_{1}MM_{2}([1,s_{1}],[s_{1}+1,m])=0, so s1s1s^{\prime}_{1}\leq s_{1}.

Since MM = M11(M1MM2)M21M_{1}^{-1}(M_{1}MM_{2})M_{2}^{-1}, similarly, we have s1s1s_{1}\leq s^{\prime}_{1}. Therefore, s1=s1s_{1}=s^{\prime}_{1}. And so on, s(M)=s(M1MM2)s(M)=s(M_{1}MM_{2}). ∎

Remark 1.

Thanks to Lemma 1, we only need to investigate upper-triangular matrices since every matrix MM can be transformed to an upper-triangular matrix by lower-triangular transformation while maintaining the block lower-triangular structure.

Next, we show how to decompose upper-triangular transformation by exploiting its block lower-triangular structure.

Definition 1.

Let MM be an upper-triangular matrix with s(M)=s1,,sls(M)=\langle s_{1},...,s_{l}\rangle and π=φ(M)\pi=\varphi(M). We have M=M1M2M=M_{1}M_{2} where

M1(i,j)={M(i,j), if 1i,jSl;1, if Sl+1i=jm;0, otherwise .\displaystyle M_{1}(i,j)=\begin{cases}M(i,j),&\text{ if }1\leq i,j\leq S_{l};\\ 1,&\text{ if }S_{l}+1\leq i=j\leq m;\\ 0,&\text{ otherwise }.\\ \end{cases}

And

M2(i,j)={M(i,j), if Sl+1i,jm;1, if 1i=jSl;0, otherwise .\displaystyle M_{2}(i,j)=\begin{cases}M(i,j),&\text{ if }S_{l}+1\leq i,j\leq m;\\ 1,&\text{ if }1\leq i=j\leq S_{l};\\ 0,&\text{ otherwise }.\\ \end{cases}

We define four permutations related to π\pi: π1=φ(M1),π2=φ(M2),π~1=φ(M([1,Sl],[1,Sl])),π~2=φ(M([Sl+1,m],[Sl+1,m]))\pi_{1}=\varphi(M_{1}),\pi_{2}=\varphi(M_{2}),\tilde{\pi}_{1}=\varphi(M([1,S_{l}],[1,S_{l}])),\tilde{\pi}_{2}=\varphi(M([S_{l}+1,m],[S_{l}+1,m])).

Lemma 2 (Permutation Decomposition).

Let MM be an upper-triangular matrix with s(M)=s1,,sls(M)=\langle s_{1},...,s_{l}\rangle and π=φ(M)\pi=\varphi(M). Let π1,π2,π~1,π~2\pi_{1},\pi_{2},\tilde{\pi}_{1},\tilde{\pi}_{2} be the permutations defined in Definition 1. For 0z12Sl10\leq z_{1}\leq 2^{S_{l}}-1 and 0z22sl10\leq z_{2}\leq 2^{s_{l}}-1,

π(z1+2Slz2)=π1(z1)+π2(2Slz2),\pi(z_{1}+2^{S_{l}}z_{2})=\pi_{1}(z_{1})+\pi_{2}(2^{S_{l}}z_{2}), (2)
π(z1+2Slz2)=π~1(z1)+2Slπ~2(z2).\pi(z_{1}+2^{S_{l}}z_{2})=\tilde{\pi}_{1}(z_{1})+2^{S_{l}}\tilde{\pi}_{2}(z_{2}). (3)

Moreover, if sl=1s_{l}=1, then π=π1\pi=\pi_{1} and π2\pi_{2} is the identical permutation, which means

π(z1+2m1z2)=π(z1)+2m1z2\pi(z_{1}+2^{m-1}z_{2})=\pi(z_{1})+2^{m-1}z_{2} (4)

for 0z12m110\leq z_{1}\leq 2^{m-1}-1 and z2=0,1z_{2}=0,1. And (4) means π([0,n/21])=[0,n/21]\pi([0,n/2-1])=[0,n/2-1] and π([n/2,n1])=[n/2,n1]\pi([n/2,n-1])=[n/2,n-1], that is, bits in the upper (lower) half branch remain in the upper (lower) half branch after permutation.

Proof.

Since π=π2π1\pi=\pi_{2}\circ\pi_{1},

π(z1+2Slz2)\displaystyle\pi(z_{1}+2^{S_{l}}z_{2})
=\displaystyle= π2π1(z1+2Slz2)\displaystyle\pi_{2}\circ\pi_{1}(z_{1}+2^{S_{l}}z_{2})
=\displaystyle= π2(π1(z1)+2Slz2)\displaystyle\pi_{2}(\pi_{1}(z_{1})+2^{S_{l}}z_{2})
=\displaystyle= π1(z1)+π2(2Slz2).\displaystyle\pi_{1}(z_{1})+\pi_{2}(2^{S_{l}}z_{2}).

So (2) is proved. (3) is from π1(z1)=π~1(z1)\pi_{1}(z_{1})=\tilde{\pi}_{1}(z_{1}) and π2(2Slz2)=2Slπ~2(z2)\pi_{2}(2^{S_{l}}z_{2})=2^{S_{l}}\tilde{\pi}_{2}(z_{2}). ∎

Remark 2.

Due to the block lower-triangular structure of MM, π=π2π1=π1π2\pi=\pi_{2}\circ\pi_{1}=\pi_{1}\circ\pi_{2}, where π1\pi_{1} only affects the first SlS_{l} bits and π2\pi_{2} only affects the last sls_{l} bits. To be specific, permutation π\pi can be decomposed into two steps.

Step 1 (the effect of π1\pi_{1}): Divide [0,2m1][0,2^{m}-1] into 2sl2^{s_{l}} blocks [i2Sl,(i+1)2Sl1][i2^{S_{l}},(i+1)2^{S_{l}}-1], 0i2sl10\leq i\leq 2^{s_{l}}-1, then apply the same permutation π~1\tilde{\pi}_{1} to each block.

Step 2 (the effect of π2\pi_{2}): Treat each block as a whole, apply π~2\tilde{\pi}_{2} to 2sl2^{s_{l}} blocks.

This technique will help us decompose the polar code into shorter subcodes in Algorithm 1.

III-C Distinguishing SC-invariant automorphisms

Algorithm 1 determines whether affine automorphisms with the block lower-triangular structure s1,,sl\langle s_{1},...,s_{l}\rangle commute with SC\text{SC}_{\mathcal{I}} iteratively. We claim that π=φ(M)\pi=\varphi(M) commutes with SC\text{SC}_{\mathcal{I}} if and only if DecAut(s(M),)(s(M),\mathcal{I}) outputs TRUE. Let π1,π2,π~1,π~2\pi_{1},\pi_{2},\tilde{\pi}_{1},\tilde{\pi}_{2} be the permutations defined in Definition 1. Note that s(π~1)=s1,,sl1s(\tilde{\pi}_{1})=\langle s_{1},...,s_{l-1}\rangle. We briefly describe procedures of Algorithm 1.

First, if l=1l=1 (lines 5-7), π\pi is SC-invariant if and only if the code belongs to Rate-0, single parity check (SPC), repetition (Rep) or Rate-1 codes[13].

If l1l\neq 1, we recursively determine whether π\pi is SC-invariant. According to sls_{l}, we consider two cases:

1) sl=1s_{l}=1 (lines 8-11), because π2\pi_{2} is the identical permutation, π\pi is SC-invariant if and only if π~1\tilde{\pi}_{1} commutes with C((A1))C(\mathcal{I}(A_{1})) and C((A2))C(\mathcal{I}(A_{2})), i.e., the subcodes on upper half branch and lower half branch.

2) sl>1s_{l}>1 (lines 12-23), divide [0,2m1][0,2^{m}-1] into 2sl2^{s_{l}} blocks [i2Sl,(i+1)2Sl1][i2^{S_{l}},(i+1)2^{S_{l}}-1], 0i2sl10\leq i\leq 2^{s_{l}}-1. In this case, π~2\tilde{\pi}_{2} is not identical permutation, then π\pi is SC-invariant only if all frozen bits belong to the first block or all information bits belong to the last block. Furthermore, π~1\tilde{\pi}_{1} must commute with either the first subcode C((A1))C(\mathcal{I}(A_{1})) (lines 13-14) or the last subcode C((A2))C(\mathcal{I}(A_{2})) (lines 16-17) respectively.

Example 1.

Assume C()C(\mathcal{I}) is a polar code with length n=16n=16 and information set ={3,5,6,7,9,10,11,12,13,14,15}\mathcal{I}=\{3,5,6,7,9,10,11,12,13,14,15\}. It is clear that Aut(C())=BLTA([4])(C(\mathcal{I}))=\text{BLTA}([4]). We can determine whether φ(M)\varphi(M) with s(M)=3,1s(M)=\langle 3,1\rangle commutes with SCSC_{\mathcal{I}} by Algorithm 1. Since s2=1s_{2}=1, from lines 8-11, DecAut(3,1,)=DecAut(3,{3,5,6,7})DecAut(3,{1,2,3,4,5,6,7})\text{DecAut}(\langle 3,1\rangle,\mathcal{I})=\text{DecAut}(\langle 3\rangle,\{3,5,6,7\})\wedge\text{DecAut}(\langle 3\rangle,\{1,2,3,4,5,6,7\}). Next, DecAut(3,{3,5,6,7}))=FALSE\text{DecAut}(\langle 3\rangle,\{3,5,6,7\}))=\text{FALSE} and DecAut(3,{1,2,3,4,5,6,7})=TRUE\text{DecAut}(\langle 3\rangle,\{1,2,3,4,5,6,7\})=\text{TRUE} from line 6. Therefore, we conclude that the algorithm will output FALSE so that φ(M)\varphi(M) with s(M)=3,1s(M)=\langle 3,1\rangle does not commute with SCSC_{\mathcal{I}}.

Algorithm 1 DecAut(s1,,sl,)(\langle s_{1},...,s_{l}\rangle,\mathcal{I})
0:  block lower-triangular structure s1,,sl\langle s_{1},...,s_{l}\rangle, information set \mathcal{I}
0:  aa is a boolean value and aa is TRUE if and only if automorphisms with the block lower-triangular structure s1,,sl\langle s_{1},...,s_{l}\rangle commute with SC\text{SC}_{\mathcal{I}}.
1:  mi=1lsim\leftarrow\sum_{i=1}^{l}s_{i}; Sli=1l1siS_{l}\leftarrow\sum_{i=1}^{l-1}s_{i};
2:  {0,,2m1}/\mathcal{F}\leftarrow\{0,...,2^{m}-1\}/\mathcal{I};
3:  A1Indm(aSl+1=1,,am=1)A_{1}\leftarrow\text{Ind}_{m}(a_{S_{l}+1}=1,...,a_{m}=1);
4:  A2Indm(aSl+1=0,,am=0)A_{2}\leftarrow\text{Ind}_{m}(a_{S_{l}+1}=0,...,a_{m}=0);
5:  if l=1l=1 then
6:     a(A1)(A2)a\leftarrow(\mathcal{F}\subseteq A_{1})\vee(\mathcal{I}\subseteq A_{2});
7:  else
8:     if sl=1s_{l}=1 then
9:        a1DecAut(s1,,sl1,(A1))a_{1}\leftarrow\text{DecAut}(\langle s_{1},...,s_{l-1}\rangle,\mathcal{I}(A_{1}));
10:        a2DecAut(s1,,sl1,(A2))a_{2}\leftarrow\text{DecAut}(\langle s_{1},...,s_{l-1}\rangle,\mathcal{I}(A_{2}));
11:        aa1a2a\leftarrow a_{1}\wedge a_{2};
12:     else
13:        if A1\mathcal{F}\subseteq A_{1} then
14:           aDecAut(s1,,sl1,(A1))a\leftarrow\text{DecAut}(\langle s_{1},...,s_{l-1}\rangle,\mathcal{I}(A_{1}));
15:        else
16:           if A2\mathcal{I}\subseteq A_{2} then
17:              aDecAut(s1,,sl1,(A2))a\leftarrow\text{DecAut}(\langle s_{1},...,s_{l-1}\rangle,\mathcal{I}(A_{2}));
18:           else
19:              aa\leftarrow FALSE;
20:           end if
21:        end if
22:     end if
23:  end if

In Theorem 1 and Theorem 2, we prove the sufficiency and necessity of Algorithm 1, respectively.

For convenience, denote by Li,tL_{i,t} and ui,tu_{i,t} the LLRs and hard decisions of the ii-th node at stage tt before permutation, and Li,tL^{\prime}_{i,t} and ui,tu^{\prime}_{i,t} the LLRs and hard decisions after permutation (see Section II-C).

Theorem 1 (Sufficiency).

Let MM be a block lower-triangular matrix with s(M)=s1,,sls(M)=\langle s_{1},...,s_{l}\rangle and π=φ(M)\pi=\varphi(M) is an automorphism of C()C(\mathcal{I}) with length n=2mn=2^{m}. π\pi commutes with SC\text{SC}_{\mathcal{I}} if DecAut(s(M),)(s(M),\mathcal{I}) outputs TRUE.

Proof.

From Remark 1, assume MM is an upper-triangular matrix. We prove the theorem by induction on ll. If l=1l=1, the theorem holds since the condition implies the code is one of Rate-0, SPC, Rep or Rate-1 code, where SC decoding is equivalent to ML decoding, and thus invariant under permutations, and any permutation produces the same decoding result.

Let π1,π2,π~1,π~2\pi_{1},\pi_{2},\tilde{\pi}_{1},\tilde{\pi}_{2} be the permutations defined in Definition 1. For the induction step l1ll-1\to l, There are two cases we need to consider. The first is sl=1s_{l}=1. Divide [0,2m1][0,2^{m-1}] into upper half branch [0,2m11][0,2^{m-1}-1] and lower half branch [2m1,2m1][2^{m-1},2^{m}-1]. As mentioned in Remark 2, π~2\tilde{\pi}_{2} is the identical permutation so bits in the upper or lower half branch remain in the same branch after permutation. Thus, the LLRs at stage m1m-1 of the upper and lower half branches are permuted by π~1\tilde{\pi}_{1}, respectively. Then by induction, π~1\tilde{\pi}_{1} is SC-invariant. It follows that π\pi is SC-invariant.

Now let us discuss the proof in detail. First consider the upper half branch. Note that π(i)=π~1(i)\pi(i)=\tilde{\pi}_{1}(i) for 0i2m110\leq i\leq 2^{m-1}-1. (4) implies Li+2m1,m=Lπ(i+2m1),m=Lπ~1(i)+2m1,mL^{\prime}_{i+2^{m-1},m}=L_{\pi(i+2^{m-1}),m}=L_{\tilde{\pi}_{1}(i)+2^{m-1},m} and then

Lπ~1(i),m1\displaystyle L_{\tilde{\pi}_{1}(i),m-1} =f(Lπ~1(i),m,Lπ~1(i)+2m1,m)\displaystyle=f(L_{\tilde{\pi}_{1}(i),m},L_{\tilde{\pi}_{1}(i)+2^{m-1},m})
=f(Lπ(i),m,Lπ(i+2m1),m)\displaystyle=f(L_{\pi(i),m},L_{\pi(i+2^{m-1}),m})
=f(Li,m+Li+2m1,m)=Li,m1.\displaystyle=f(L^{\prime}_{i,m}+L^{\prime}_{i+2^{m-1},m})=L^{\prime}_{i,m-1}.

Because that DecAut(s1,,sl1,1,)(\langle s_{1},...,s_{l-1},1\rangle,\mathcal{I}) outputs TRUE implies that DecAut(s1,s2,,sl1,(Indm(am=1)))(\langle s_{1},s_{2},...,s_{l-1}\rangle,\mathcal{I}(\text{Ind}_{m}(a_{m}=1))) outputs TRUE, by inductive hypothesis,

ui,m1=uπ~1(i),m1=uπ1(i),m1.u^{\prime}_{i,m-1}=u_{\tilde{\pi}_{1}(i),m-1}=u_{\pi_{1}(i),m-1}. (5)

Next, we consider the lower half branch. For 0i2m110\leq i\leq 2^{m-1}-1

Lπ~1(i)+2m1,m1\displaystyle L_{\tilde{\pi}_{1}(i)+2^{m-1},m-1} =g(uπ~1(i),m1,Lπ~1(i),m,Lπ~1(i)+2m1,m)\displaystyle=g(u_{\tilde{\pi}_{1}(i),m-1},L_{\tilde{\pi}_{1}(i),m},L_{\tilde{\pi}_{1}(i)+2^{m-1},m})
=g(ui,m1,Li,m,Li+2m1,m)\displaystyle=g(u^{\prime}_{i,m-1},L^{\prime}_{i,m},L^{\prime}_{i+2^{m-1},m})
=Li+2m1,m1.\displaystyle=L^{\prime}_{i+2^{m-1},m-1}.

Because that DecAut(s1,,sl1,1,)(\langle s_{1},...,s_{l-1},1\rangle,\mathcal{I}) outputs TRUE implies that DecAut(s1,s2,,sl1,(Indm(am=0)))(\langle s_{1},s_{2},...,s_{l-1}\rangle,\mathcal{I}(\text{Ind}_{m}(a_{m}=0))) outputs TRUE, by inductive hypothesis,

ui+2m1,m1=uπ~1(i)+2m1,m1=uπ(i)+2m1,m1.u^{\prime}_{i+2^{m-1},m-1}=u_{\tilde{\pi}_{1}(i)+2^{m-1},m-1}=u_{\pi(i)+2^{m-1},m-1}. (6)

It follows from (5) and (6) that uπ(i),m=ui,mu_{\pi(i),m}=u^{\prime}_{i,m}.

Now we turn to the case sl>1s_{l}>1. In this case, π~2\tilde{\pi}_{2} is not identical permutation, additional conditions are required to ensure SC-invariance of π\pi. We divide [0,2m1][0,2^{m}-1] into 2sl2^{s_{l}} blocks Indm(aSl+1=cSl+1,,am=cm)\text{Ind}_{m}(a_{S_{l}+1}=c_{S_{l}+1},...,a_{m}=c_{m}). By lines 6-10 of Algorithm 1, either all frozen bits belong to the first block A1=Indm(aSl+1=1,,am=1)A_{1}=\text{Ind}_{m}(a_{S_{l}+1}=1,...,a_{m}=1) or all information bits belong to the last block A2=Indm(aSl+1=0,,am=0)A_{2}=\text{Ind}_{m}(a_{S_{l}+1}=0,...,a_{m}=0).

1) If A1\mathcal{F}\subseteq A_{1}, from Lemma 2, we have Lπ1(i),Sl=Li,SlL_{\pi_{1}(i),S_{l}}=L^{\prime}_{i,S_{l}} for iA1i\in A_{1}. Notice that DecAut(s1,s2,,sl,)(\langle s_{1},s_{2},...,s_{l}\rangle,\mathcal{I}) outputs TRUE and A1\mathcal{F}\subseteq A_{1} imply that DecAut(s1,s2,,sl1,(A1))(\langle s_{1},s_{2},...,s_{l-1}\rangle,\mathcal{I}(A_{1})) outputs TRUE. Then by inductive hypothesis, uπ1(i),Sl=ui,Slu_{\pi_{1}(i),S_{l}}=u^{\prime}_{i,S_{l}} for iA1i\in A_{1}. Notice that Indm(aSl+1=cSl+1,,am=cm)\text{Ind}_{m}(a_{S_{l}+1}=c_{S_{l}+1},...,a_{m}=c_{m})\subseteq\mathcal{I} for aSl+1,,ama_{S_{l}+1},...,a_{m} are not all one, then ui,Sl=sign(Li,Sl)u_{i,S_{l}}=\text{sign}(L_{i,S_{l}}) for iA1i\notin A_{1}.

Then C()C(\mathcal{I}) can be viewed as 2Sl2^{S_{l}} independent length-2sl2^{s_{l}} SPC codes. Define A=Indm(a1=c1,,aSl=cSl)A^{\prime}=\text{Ind}_{m}(a_{1}=c_{1},...,a_{S_{l}}=c_{S_{l}}) and y~=(Li,m)iA=(Lπ(i),m)iA=π~2(Lπ1(i),m)iA\tilde{y}=(L^{\prime}_{i,m})_{i\in A^{\prime}}=(L_{\pi(i),m})_{i\in A^{\prime}}=\tilde{\pi}_{2}(L_{\pi_{1}(i),m})_{i\in A^{\prime}}, then (ui,m)iA=SC(y~)(u^{\prime}_{i,m})_{i\in A^{\prime}}=\text{SC}_{\mathcal{I}^{\prime}}(\tilde{y}) where ={1,,2sl1}\mathcal{I}^{\prime}=\{1,...,2^{s_{l}}-1\} and the first bit is frozen to uz1,Slu^{\prime}_{z_{1},S_{l}} with z1=(a1,,aSl,1,,1)Tz_{1}=(a_{1},...,a_{S_{l}},1,...,1)^{T}. That is, (ui,m)iA(u^{\prime}_{i,m})_{i\in A^{\prime}} can be decoded as a length-2sl2^{s_{l}} SPC code with LLR vector y~\tilde{y}.

Since π~2\tilde{\pi}_{2} commutes with \mathcal{I}^{\prime}, we have

(ui,m)iA\displaystyle(u^{\prime}_{i,m})_{i\in A^{\prime}} =SC(y~)=SC(π~2(Lπ1(i),m)iA)\displaystyle=\text{SC}_{\mathcal{I}^{\prime}}(\tilde{y})=\text{SC}_{\mathcal{I}^{\prime}}(\tilde{\pi}_{2}(L_{\pi_{1}(i),m})_{i\in A^{\prime}})
=π~2(SC(Lπ1(i),m)iA)=π~2(uπ1(i),m)iA\displaystyle=\tilde{\pi}_{2}(\text{SC}_{\mathcal{I}^{\prime}}(L_{\pi_{1}(i),m})_{i\in A^{\prime}})=\tilde{\pi}_{2}(u_{\pi_{1}(i),m})_{i\in A^{\prime}}
=(uπ(i),m)iA,\displaystyle=(u_{\pi(i),m})_{i\in A^{\prime}},

thus ui,m=uπ(i),mu^{\prime}_{i,m}=u_{\pi(i),m}.

2) If A2\mathcal{I}\subseteq A_{2} we have ui,Sl=ui,Sl=0u_{i,S_{l}}=u^{\prime}_{i,S_{l}}=0 for iA2i\notin A_{2}. Thus,

ui,m=uj,Sl;ui,m=uj,Sl.u_{i,m}=u_{j,S_{l}};u^{\prime}_{i,m}=u^{\prime}_{j,S_{l}}. (7)

for jA2j\in A_{2} and jimod2Slj\equiv i\mod 2^{S_{l}}. From Lemma 2, Lπ1(j),Sl=Lj,SlL_{\pi_{1}(j),S_{l}}=L^{\prime}_{j,S_{l}} for jA2j\in A_{2}. Notice that DecAut(s1,s2,,sl,)(\langle s_{1},s_{2},...,s_{l}\rangle,\mathcal{I}) outputs TRUE and A2\mathcal{I}\subseteq A_{2} imply that DecAut(s1,s2,,sl1,(A2))(\langle s_{1},s_{2},...,s_{l-1}\rangle,\mathcal{I}(A_{2})) outputs TRUE. By inductive hypothesis,

uπ1(j),Sl=uj,Sl.u_{\pi_{1}(j),S_{l}}=u^{\prime}_{j,S_{l}}. (8)

Then

ui,m=uj,Sl=uπ1(j),Sl=uπ(i),m,u^{\prime}_{i,m}=u^{\prime}_{j,S_{l}}=u_{\pi_{1}(j),S_{l}}=u_{\pi(i),m},

where jimod2Slj\equiv i\mod 2^{S_{l}} and jA2j\in A_{2}. Here the first equation is from (7), the second equation is from (8), and the last is because of (7) and π1(j)π(j)π(i)mod2Sl\pi_{1}(j)\equiv\pi(j)\equiv\pi(i)\mod 2^{S_{l}} from Lemma 2. ∎

The next lemma allows us to claim an automorphism is not SC-invariant by decomposing the automorphism on the upper and lower half branches even if sl1s_{l}\neq 1. It will help us prove the necessity.

Lemma 3.

Let C()C(\mathcal{I}) be a decreasing monomial code with length n=2mn=2^{m}. π=φ(M)\pi=\varphi(M) is an automorphism of C()C(\mathcal{I}), where MM is an upper-triangular matrix. Let Ai=Indm(am=i)A_{i}=\text{Ind}_{m}(a_{m}=i) and i=(Ai)\mathcal{I}_{i}=\mathcal{I}(A_{i}), i=0,1i=0,1, denote π=φ(M([1,m1],[1,m1]))\pi^{\prime}=\varphi(M([1,m-1],[1,m-1])), then π\pi commutes with SC\text{SC}_{\mathcal{I}} implies π\pi^{\prime} commutes with SC1\text{SC}_{\mathcal{I}_{1}} and SC0\text{SC}_{\mathcal{I}_{0}}, i.e., π\pi^{\prime} commutes with the subcodes on upper and lower half branches.

Proof.

If π\pi^{\prime} does not commute with SC1\text{SC}_{\mathcal{I}_{1}}, because π′′π|A1=(M([1,m1],[1,m1]),M([1,m1],m))\pi^{\prime\prime}\triangleq\pi|_{A_{1}}=(M([1,m-1],[1,m-1]),M([1,m-1],m)), π′′\pi^{\prime\prime} does not commute with SC1\text{SC}_{\mathcal{I}_{1}} as well. So there exists y2m1y\in\mathbb{R}^{2^{m-1}} such that π′′(SC1(y))SC1(π′′(y))\pi^{\prime\prime}(\text{SC}_{\mathcal{I}_{1}}(y))\neq\text{SC}_{\mathcal{I}_{1}}(\pi^{\prime\prime}(y)).

Now we can construct an example from yy to show π\pi does not commute with SC\text{SC}_{\mathcal{I}}. To be specific, let (Li,m)iA1=y(L_{i,m})_{i\in A_{1}}=y and (Li,m)iA0=+(L_{i,m})_{i\in A_{0}}=+\infty, then Li,m1=f(Li,m,+)=Li,mL_{i,m-1}=f(L_{i,m},+\infty)=L_{i,m} for iA1i\in A_{1}. Therefore, (Li,m1)iA1=y(L_{i,m-1})_{i\in A_{1}}=y and (Li,m1)iA1=π′′(y)(L^{\prime}_{i,m-1})_{i\in A_{1}}=\pi^{\prime\prime}(y). Since π′′(SC(y))SC(π′′(y))\pi^{\prime\prime}(\text{SC}_{\mathcal{I}^{\prime}}(y))\neq\text{SC}_{\mathcal{I}^{\prime}}(\pi^{\prime\prime}(y)), we have for some jj

uπ′′(j),m1uj,m1.u_{\pi^{\prime\prime}(j),m-1}\neq u^{\prime}_{j,m-1}. (9)

For iA1i\in A_{1}, Li+2m1,m1=g(ui,m1,Li,m,+)=+L_{i+2^{m-1},m-1}=g(u_{i,m-1},L_{i,m},+\infty)=+\infty. Similarly, Li+2m1,m1=+L^{\prime}_{i+2^{m-1},m-1}=+\infty. Thus

ui+2m1,m1=ui+2m1,m1=0.u_{i+2^{m-1},m-1}=u^{\prime}_{i+2^{m-1},m-1}=0. (10)

Together with (9) and (10), uπ(j),muj,mu_{\pi(j),m}\neq u^{\prime}_{j,m} for some jj.

π\pi^{\prime} commutes with SC0\text{SC}_{\mathcal{I}_{0}} can be proved similarly when (Li,m)iA1=ε(L_{i,m})_{i\in A_{1}}=\varepsilon and (Li,m)iA0=y(L_{i,m})_{i\in A_{0}}=y, where ε\varepsilon is positive and small enough. ∎

The next lemma proves two special cases of the necessity by decomposing the permutation on the subcodes consisting of odd and even indices.

Lemma 4.

Let MM be a block lower-triangular matrix with s(M)=1,1,,1,sls(M)=\langle 1,1,...,1,s_{l}\rangle where sl=2s_{l}=2 or 33. π=φ(M)\pi=\varphi(M) is an automorphism of C()C(\mathcal{I}) with length n=2mn=2^{m}. Then π\pi commutes with C()C(\mathcal{I}) only if Indm(aSl+1=1,,am=1)\mathcal{F}\subseteq\text{Ind}_{m}(a_{S_{l}+1}=1,...,a_{m}=1) or Indm(aSl+1=0,..,am=0)\mathcal{I}\subseteq\text{Ind}_{m}(a_{S_{l}+1}=0,..,a_{m}=0).

Proof.

We inducted on mm, if m=2,3m=2,3, the lemma can be proved by exhaustive search. For the induction step m1mm-1\to m, assume s(M)=1,1,,1,2s(M)=\langle 1,1,...,1,2\rangle. Let \mathcal{I} be an information set such that A1=Indm(am1=1,am=1)\mathcal{F}\not\subseteq A_{1}=\text{Ind}_{m}(a_{m-1}=1,a_{m}=1) and A2=Indm(am1=0,am=0)\mathcal{I}\not\subseteq A_{2}=\text{Ind}_{m}(a_{m-1}=0,a_{m}=0). Divide \mathcal{I} into two information sets 1=(Indm(a1=1))\mathcal{I}_{1}=\mathcal{I}(\text{Ind}_{m}(a_{1}=1)) on the even bits and 2=(Indm(a1=0))\mathcal{I}_{2}=\mathcal{I}(\text{Ind}_{m}(a_{1}=0)) on the odd bits, then 1=Indm(a1=1)1\mathcal{F}_{1}=\text{Ind}_{m}(a_{1}=1)-\mathcal{I}_{1} and 2=Indm(a1=0)2\mathcal{F}_{2}=\text{Ind}_{m}(a_{1}=0)-\mathcal{I}_{2}.

We are going to show that at least one of 1\mathcal{I}_{1} and 2\mathcal{I}_{2} does not satisfy the condition. First, 1A1\mathcal{F}_{1}\not\subseteq A_{1}, since 1A1\mathcal{F}_{1}\subseteq A_{1} implies 2A1\mathcal{F}_{2}\subseteq A_{1} by decreasing property, which is contradictory against A1\mathcal{F}\not\subseteq A_{1}. Similarly, 2A2\mathcal{I}_{2}\not\subseteq A_{2}.

We claim that one of 2A1\mathcal{F}_{2}\not\subseteq A_{1} and 1A2\mathcal{I}_{1}\not\subseteq A_{2} must hold, since otherwise Indm(a1=0,am1=1,am=0)\text{Ind}_{m}(a_{1}=0,a_{m-1}=1,a_{m}=0)\subseteq\mathcal{I} and Indm(a1=1,am1=1,am=0)\text{Ind}_{m}(a_{1}=1,a_{m-1}=1,a_{m}=0)\subseteq\mathcal{F}. Since m>4m>4, Indm(a1=0,a2=1,am1=1,am=0)\text{Ind}_{m}(a_{1}=0,a_{2}=1,a_{m-1}=1,a_{m}=0)\subseteq\mathcal{I} and Indm(a1=1,a2=0,am1=1,am=0)\text{Ind}_{m}(a_{1}=1,a_{2}=0,a_{m-1}=1,a_{m}=0)\subseteq\mathcal{F}, which are contradictory against \mathcal{I} is a decreasing set when m4m\geq 4.

Now we are going to construct a counter-example by induction. Assume 1A2\mathcal{I}_{1}\not\subseteq A_{2}, denote π=φ(M([2,m],[2,m]))\pi^{\prime}=\varphi(M([2,m],[2,m])). From inductive hypothesis, there exists some y~2m1\tilde{y}\in\mathbb{R}^{2^{m-1}} such that π(SC1(y~))SC1(π(y~))\pi^{\prime}(\text{SC}_{\mathcal{I}_{1}}(\tilde{y}))\neq\text{SC}_{\mathcal{I}_{1}}(\pi^{\prime}(\tilde{y})), which implies φ(M)\varphi(M) does not commute with SC\text{SC}_{\mathcal{I}} by setting (Li,m)iIndm(a1=1)=y~(L_{i,m})_{i\in\text{Ind}_{m}(a_{1}=1)}=\tilde{y} and Li,m=+L_{i,m}=+\infty otherwise. If 2A1\mathcal{F}_{2}\not\subseteq A_{1}, denote (Li,m)iIndm(a1=0)=y~(L_{i,m})_{i\in\text{Ind}_{m}(a_{1}=0)}=\tilde{y} and Li,m=εL_{i,m}=\varepsilon where ε\varepsilon is positive and small enough otherwise.

If s(M)=1,1,,1,3s(M)=\langle 1,1,...,1,3\rangle, the proof is similar if we take A1=Indm(am2=1,am1=1,am=1)A_{1}=\text{Ind}_{m}(a_{m-2}=1,a_{m-1}=1,a_{m}=1) and A2=Indm(am2=0,am1=0,am=0)A_{2}=\text{Ind}_{m}(a_{m-2}=0,a_{m-1}=0,a_{m}=0). ∎

Now we are ready to prove Theorem 2.

Theorem 2 (Necessity).

Let MM be a block lower-triangular matrix with s(M)=s1,,sls(M)=\langle s_{1},...,s_{l}\rangle and π=φ(M)\pi=\varphi(M) is an automorphism of C()C(\mathcal{I}) with length n=2mn=2^{m}. π\pi commutes with SC\text{SC}_{\mathcal{I}} only if DecAut(s(M),)(s(M),\mathcal{I}) outputs TRUE.

(n,K)(n,K) min\mathcal{I}_{\text{min}} affine automorphism group [𝟙][\mathds{1}]_{\mathcal{I}} SC-invariant permutations in [10] SC-invariant permutations in this paper
(256,128)(256,128) {31,57}\{31,57\} BLTA([3,5])([3,5]) BLTA([3,1,1,1,1,1])([3,1,1,1,1,1]) 3×2283\times 2^{28} 21×22821\times 2^{28}
(128,85)(128,85) {23,25}\{23,25\} BLTA([3,1,3])([3,1,3]) BLTA([3,1,1,1,1])([3,1,1,1,1]) 3×2213\times 2^{21} 21×22121\times 2^{21}
(64,32)(64,32) {24}\{24\} BLTA([3,3])([3,3]) BLTA([3,2,1])([3,2,1]) 3×2153\times 2^{15} 63×21563\times 2^{15}
Table 1: The number of SC-invariant permutations for certain codes
Proof.

From Remark 1, assume MM is an upper-triangular matrix. We prove the theorem by induction on mm. if m3m\leq 3, it can be proved by computer search. Assume the theorem holds for mm1m^{\prime}\leq m-1. Define A1=Indm(am=1)A_{1}=\text{Ind}_{m}(a_{m}=1) and A0=Indm(am=0)A_{0}=\text{Ind}_{m}(a_{m}=0). Cases are classified according to sls_{l}.

If sl=1s_{l}=1, the theorem can be proved by Lemma 3.

If sl=2s_{l}=2 or 33, Let π1,π2,π~1,π~2\pi_{1},\pi_{2},\tilde{\pi}_{1},\tilde{\pi}_{2} be the permutations defined in Definition 1. Divide [0,2m1][0,2^{m}-1] into 2sl2^{s_{l}} blocks Indm(aSl+1=cSl+1,,am=cm)\text{Ind}_{m}(a_{S_{l}+1}=c_{S_{l}+1},...,a_{m}=c_{m}). Denote =(Indm(aSl+1=cSl+1,,am=cm))\mathcal{I}^{\prime}=\mathcal{I}(\text{Ind}_{m}(a_{S_{l}+1}=c_{S_{l}+1},...,a_{m}=c_{m})). Since π\pi is SC-invariant, repeatedly applying Lemma 3 reveals thatπ~1\tilde{\pi}_{1} commutes with SC\text{SC}_{\mathcal{I}^{\prime}}. By Theorem 1, π1\pi_{1} commutes with SC\text{SC}_{\mathcal{I}}. Therefore, π2=π11π\pi_{2}=\pi_{1}^{-1}\circ\pi commutes with SC\text{SC}_{\mathcal{I}}. Then the theorem can be proved by Lemma 4.

If sl4s_{l}\geq 4, without loss of generality, assume s(M([1,m1],[1,m1]))=s1,,sl1,sl1s(M([1,m-1],[1,m-1]))=\langle s_{1},...,s_{l-1},s_{l}-1\rangle and M(m,[1,m1])=0M(m,[1,m-1])=0. Define π=φ(M([1,m1],[1,m1]))\pi^{\prime}=\varphi(M([1,m-1],[1,m-1])). (This can be achieved by transformations in Lemma 1.) From Lemma 3, π\pi commutes with SC\text{SC}_{\mathcal{I}} only if π\pi^{\prime} commutes with SC(Ai)\text{SC}_{\mathcal{I}(A_{i})} for i=0,1i=0,1.

From inductive hypothesis, for all i=0,1i=0,1, one of (Ai)Indm(aSl+1=1,,am1=1,am=i)\mathcal{F}(A_{i})\subseteq\text{Ind}_{m}(a_{S_{l}+1}=1,...,a_{m-1}=1,a_{m}=i) and (Ai)Indm(aSl+1=0,,am1=0,am=i)\mathcal{I}(A_{i})\subseteq\text{Ind}_{m}(a_{S_{l}+1}=0,...,a_{m-1}=0,a_{m}=i) holds. Now we are going to prove one of Indm(aSl+1=1,,am1=1,am=1)\mathcal{F}\subseteq\text{Ind}_{m}(a_{S_{l}+1}=1,...,a_{m-1}=1,a_{m}=1) and Indm(aSl+1=0,,am1=0,am=0)\mathcal{I}\subseteq\text{Ind}_{m}(a_{S_{l}+1}=0,...,a_{m-1}=0,a_{m}=0) must hold. We consider the following three cases:

1) If (A1)=\mathcal{I}(A_{1})=\varnothing, then A1A_{1}\subseteq\mathcal{F}. Since φ(M)\varphi(M) with s(M)=s1,,sls(M)=\langle s_{1},...,s_{l}\rangle is an automorphism of C()C(\mathcal{I}), for any permutations ρsym(m)\rho\in sym(m) that permutes [Sj+1,Sj+1][S_{j}+1,S_{j+1}] to [Sj+1,Sj+1][S_{j}+1,S_{j+1}] for 1jl1\leq j\leq l, (a1,,am)(a_{1},...,a_{m})\in\mathcal{I} is equal to (aρ(1),,aρ(m))T(a_{\rho(1)},...,a_{\rho(m)})^{T}\in\mathcal{I}. Therefore, A1A_{1}\subseteq\mathcal{F} implies [n/2,n2Sl1][n/2,n-2^{S_{l}}-1]\subseteq\mathcal{F}. Thus, Indm(aSl+1=0,,am1=0,am=0)\mathcal{I}\subseteq\text{Ind}_{m}(a_{S_{l}+1}=0,...,a_{m-1}=0,a_{m}=0) must hold.

2) If (A0)=\mathcal{F}(A_{0})=\varnothing, similarly, Indm(aSl+1=1,,am1=1,am=1)\mathcal{F}\subseteq\text{Ind}_{m}(a_{S_{l}+1}=1,...,a_{m-1}=1,a_{m}=1) must hold.

3) If (A1)\mathcal{I}(A_{1})\neq\varnothing and (A0)\mathcal{F}(A_{0})\neq\varnothing. By properties of affine automorphism group, (A1)\mathcal{I}(A_{1})\neq\varnothing implies (A0)Indm(aSl+1=0,,am1=0,am=0)\mathcal{I}(A_{0})\not\subseteq\text{Ind}_{m}(a_{S_{l}+1}=0,...,a_{m-1}=0,a_{m}=0). Thus

(A0)Indm(aSl+1=1,,am1=1,am=0).\mathcal{F}(A_{0})\subseteq\text{Ind}_{m}(a_{S_{l}+1}=1,...,a_{m-1}=1,a_{m}=0).

Similarly,

(A1)Indm(aSl+1=0,,am1=0,am=1).\mathcal{I}(A_{1})\subseteq\text{Ind}_{m}(a_{S_{l}+1}=0,...,a_{m-1}=0,a_{m}=1).

Then Indm(am3=0,am2=1,am1=1,am=0)\text{Ind}_{m}(a_{m-3}=0,a_{m-2}=1,a_{m-1}=1,a_{m}=0)\subseteq\mathcal{I} and Indm(am3=1,am2=0,am1=0,am=1)\text{Ind}_{m}(a_{m-3}=1,a_{m-2}=0,a_{m-1}=0,a_{m}=1)\subseteq\mathcal{F}, which is contradictory against automorphism group.

From Algorithm 1, SC-invariance of φ(M)\varphi(M) only depends on the block lower-triangular structure of MM. Thus, we can prove the following theorem.

Theorem 3.

[𝟙][\mathds{1}]_{\mathcal{I}} is in the form of BLTA.

Proof.

Let MM be a block lower-triangular matrix with s(M)=s1,,sls(M)=\langle s_{1},...,s_{l}\rangle satisfying π=φ(M)\pi=\varphi(M) commutes with SC\text{SC}_{\mathcal{I}} and ll is as small as possible. Then BLTA([s1,,sl])[𝟙]([s_{1},...,s_{l}])\subseteq[\mathds{1}]_{\mathcal{I}}. Now assume BLTA([s1,,sk])[𝟙]([s^{\prime}_{1},...,s^{\prime}_{k}])\subset[\mathds{1}]_{\mathcal{I}} but BLTA([s1,,sk])([s^{\prime}_{1},...,s^{\prime}_{k}])\not\subset BLTA([s1,,sl])([s_{1},...,s_{l}]). Then there must exist some i,ji,j such that Si<Sj<Si+1S^{\prime}_{i}<S_{j}<S^{\prime}_{i+1}. Let M1M_{1} be a permutation matrix which permutes SiS^{\prime}_{i} and SjS_{j} and keeps the other positions invariable, then φ(M1)\varphi(M_{1})\in BLTA([s1,,sk])([s^{\prime}_{1},...,s^{\prime}_{k}]). However, s(M1M)=s1,,sj2,sj1+sj,sj+1,,sls(M_{1}M)=\langle s_{1},...,s_{j-2},s_{j-1}+s_{j},s_{j+1},...,s_{l}\rangle and φ(M1M)[𝟙]\varphi(M_{1}M)\in[\mathds{1}]_{\mathcal{I}}, which is contradictory against that ll is as small as possible. ∎

In Algorithm 1, we determine whether an affine automorphism commutes with SC\text{SC}_{\mathcal{I}}. With Algorithm 2, we further determine the complete SC-invariant affine automorphism group [𝟙]=[\mathds{1}]_{\mathcal{I}}= BLTA(DecGroup(,m))(\mathcal{I},m)).

Algorithm 2 DecGroup(,m)(\mathcal{I},m)
0:  the information sets \mathcal{I}, the code dimension mm.
0:  s=[s1,,sl]s=[s_{1},...,s_{l}]; # BLTA([s1,,sl])=[𝟙]([s_{1},...,s_{l}])=[\mathds{1}]_{\mathcal{I}}
1:  {0,,2m1}/\mathcal{F}\leftarrow\{0,...,2^{m}-1\}/\mathcal{I};
2:  if m=0m=0 then
3:     s=[]s=[];
4:     return;
5:  end if
6:  for t=m;t2;tt=m;t\geq 2;t-- do
7:     A1Indm(amt+1=1,,am=1)A_{1}\leftarrow\text{Ind}_{m}(a_{m-t+1}=1,...,a_{m}=1);
8:     A2Indm(amt+1=0,,am=0)A_{2}\leftarrow\text{Ind}_{m}(a_{m-t+1}=0,...,a_{m}=0);
9:     if A1\mathcal{F}\subseteq A_{1} then
10:        s[DecGroup((A1),mt),t]s\leftarrow[\text{DecGroup}(\mathcal{I}(A_{1}),m-t),t];
11:        return;
12:     else
13:        if A2\mathcal{I}\subseteq A_{2} then
14:           s[DecGroup((A2),mt),t]s\leftarrow[\text{DecGroup}(\mathcal{I}(A_{2}),m-t),t];
15:           return;
16:        end if
17:     end if
18:  end for
19:  s[DecGroup((Indm(am=1),m1),1]s^{\prime}\leftarrow[\text{DecGroup}(\mathcal{I}(\text{Ind}_{m}(a_{m}=1),m-1),1];
20:  s′′[DecGroup((Indm(am=0),m1),1]s^{\prime\prime}\leftarrow[\text{DecGroup}(\mathcal{I}(\text{Ind}_{m}(a_{m}=0),m-1),1];
21:  sGro(s,s′′)s\leftarrow\text{Gro}(s^{\prime},s^{\prime\prime}); # BLTA(s)(s) = BLTA(s)(s^{\prime})\cap BLTA(s′′)(s^{\prime\prime}).

Without loss of generalization, assume [𝟙]=BLTA([s1,,sl])[\mathds{1}]_{\mathcal{I}}=\text{BLTA}([s_{1},...,s_{l}]). We first determine sls_{l}, then [s1,,sl1][s_{1},...,s_{l-1}] can be obtained by calling the algorithm recursively.

First, sls_{l} is determined by the loop in line 6. For 2tm2\leq t\leq m, divide [0,2m1][0,2^{m}-1] to 2t2^{t} blocks. We have sl=ts_{l}=t if and only if tt is the largest integer such that all frozen bits belong to the first block A1=[0,2mt1]A_{1}=[0,2^{m-t}-1] (line 9) or all information bits belong to the last block A2=[2m2mt,2m1]A_{2}=[2^{m}-2^{m-t},2^{m}-1] (line 13). If for all 2tm2\leq t\leq m, the above conditions are not satisfied, we have sl=1s_{l}=1.

If sl2s_{l}\geq 2, [s1,,sl1][s_{1},...,s_{l-1}] can be recursively obtained by calling the algorithm with (A1)\mathcal{I}(A_{1}) (line 10) when A1\mathcal{F}\subseteq A_{1} or (A2)\mathcal{I}(A_{2}) (line 14) when A2\mathcal{I}\subseteq A_{2}. If sl=1s_{l}=1, BLTA[s1,,sl1][s_{1},...,s_{l-1}] is the intersection of the SC-invariant affine automorphism groups of subcodes on the upper and lower half branches (lines 19-21). In line 21, Gro(s,s′′)(s^{\prime},s^{\prime\prime}) output the array ss satisfying BLTA(s)(s) = BLTA(s)(s^{\prime})\cap BLTA(s′′)(s^{\prime\prime}). Such ss exists and can be found by the following lemma.

Lemma 5.

The intersection of two BLTA groups is in the form of BLTA.

Proof.

We are going to find the BLTA group which is the intersection of BLTA(s)(s^{\prime}) and BLTA(s′′)(s^{\prime\prime}). Let {St}={St}{St′′}\{S_{t}\}=\{S_{t}^{\prime}\}\cup\{S_{t}^{\prime\prime}\}, and ss is induced by {St}\{S_{t}\}, that is, st=St+1Sts_{t}=S_{t+1}-S_{t}. Next we are going to prove BLTA(s)(s) = BLTA(s)(s^{\prime})\cap BLTA(s′′)(s^{\prime\prime}).

It is clear that BLTA(s)(s)\subseteq BLTA(s)(s^{\prime}) and BLTA(s)(s)\subseteq BLTA(s′′)(s^{\prime\prime}). Therefore, we only need to prove BLTA(s)(s^{\prime})\cap BLTA(s′′)(s^{\prime\prime})\subseteq BLTA(s)(s). Assume (M,b)BLTA(s)BLTA(s′′)(M,b)\in\text{BLTA}(s^{\prime})\cap\text{BLTA}(s^{\prime\prime}). Now we consider M(j,k)M(j,k) for Si+1jSi+1S_{i}+1\leq j\leq S_{i+1} and Si+1+1kmS_{i+1}+1\leq k\leq m. Without loss of generality, assume Si=StS_{i}=S_{t}^{\prime}, By the construction of {St}\{S_{t}\}, we have Si+1St+1S_{i+1}\leq S_{t+1}^{\prime}. Then M(j,k)=0M(j,k)=0 since (M,b)BLTA(s)(M,b)\in\text{BLTA}(s^{\prime}). Therefore, (M,b)(M,b)\in BLTA(s)(s). ∎

Remark 3.

Algorithm 2 selects each sis_{i} as its largest possible value such that Algorithm 1 will not output FALSE, so it will output the complete SC-invariant affine automorphism group. Otherwise, if there exists another SC-invariant automorphism not in the output group, from Theorem 3, there will be a larger SC-invariant BLTA automorphism group with some larger sis_{i}, which is a contradiction. Since the time complexity of one iteration is O(m)O(m), the complexity of Algorithm 2 is O(m2m)=O(nlogn)O(m2^{m})=O(n\log n).

Example 2.

We now determine the complete SC-invariant affine automorphism group of C()C(\mathcal{I}) in Example 1 by Algorithm 2. For all 2t42\leq t\leq 4, the conditions in line 9 and line 13 are not satisfied, so the last number of ss is 1. Then we call DecGroup({3,5,6,7},3)(\{3,5,6,7\},3) and DecGroup({1,2,3,4,5,6,7},3)(\{1,2,3,4,5,6,7\},3). DecGroup({3,5,6,7},3)(\{3,5,6,7\},3) will output [2,1][2,1] and DecGroup({1,2,3,4,5,6,7},3)(\{1,2,3,4,5,6,7\},3) will output [3][3]. Then s=Gro([2,1,1],[3,1])=[2,1,1]s=\text{Gro}([2,1,1],[3,1])=[2,1,1]. Therefore, the complete SC-invariant affine automorphism group of C()C(\mathcal{I}) is BLTA([2,1,1])([2,1,1]).

IV Simulation

Refer to caption
Figure 2: Performance of a (256,128) polar code

Fig. 2 shows the block error rate (BLER) performance of the (256,128) polar code studied in [7] and [10]. The code is generated by min={31,57}\mathcal{I}_{\text{min}}=\{31,57\} and has affine automorphism group BLTA([3,5])([3,5]). In this case, [𝟙]=BLTA([3,1,1,1,1,1])[\mathds{1}]_{\mathcal{I}}=\text{BLTA}([3,1,1,1,1,1]), and it is shown that all the automorphisms in BLTA([3,1,1,1,1,1])([3,1,1,1,1,1]) are futile in AE-SC decoding. Since the complete SC-invariant affine automorphisms are determined, the number of equivalent classes can be reduced from 68355 [10] to 9765.

Table 1 compares the number of SC-invariant affine automorphisms found in this paper with BLTA([2,1,1])([2,1...,1]). Under several code constructions, the SC-invariant automorphism group can be larger than BLTA([2,1,1])([2,1...,1]), which benefits applications requiring SC-invariant automorphisms.

V Conclusion

In this paper, we determine and prove the complete SC-invariant affine automorphisms for any specific decreasing polar code, which form a BLTA group. Compared to previous works, more SC-invariant affine automorphisms can be found according to our results. It helps us remove redundant permutations in AE-SC decoding and contributes to other applications requiring SC-invariant automorphisms.

References

  • [1] E. Arikan, “Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels,” in IEEE Transactions on Information Theory, vol. 55, no. 7, pp. 3051-3073, July 2009.
  • [2] I. Tal and A. Vardy, “List Decoding of Polar Codes,” in IEEE Transactions on Information Theory, vol. 61, no. 5, pp. 2213-2226, May 2015.
  • [3] K. Niu and K. Chen, “CRC-Aided Decoding of Polar Codes,” in IEEE Communications Letters, vol. 16, no. 10, pp. 1668-1671, October 2012.
  • [4] N. Doan, S. A. Hashemi, M. Mondelli and W. J. Gross, “On the Decoding of Polar Codes on Permuted Factor Graphs,” 2018 IEEE Global Communications Conference (GLOBECOM), 2018, pp. 1-6.
  • [5] M. Geiselhart, A. Elkelesh, M. Ebada, S. Cammerer and S. t. Brink, “Automorphism Ensemble Decoding of Reed–Muller Codes,” in IEEE Transactions on Communications, vol. 69, no. 10, pp. 6424-6438, Oct. 2021.
  • [6] M. Bardet, V. Dragoi, A. Otmani and J. -P. Tillich, “Algebraic properties of polar codes from a new polynomial formalism,” 2016 IEEE International Symposium on Information Theory (ISIT), 2016, pp. 230-234.
  • [7] M. Geiselhart, A. Elkelesh, M. Ebada, S. Cammerer and S. ten Brink, “On the Automorphism Group of Polar Codes,” 2021 IEEE International Symposium on Information Theory (ISIT), 2021, pp. 1230-1235.
  • [8] Y. Li, H. Zhang, R. Li, J. Wang, W. Tong, G. Yan, Z. Ma, (2021). The Complete Affine Automorphism Group of Polar Codes. arXiv preprint arXiv:2103.14215.
  • [9] C. Pillet, V. Bioglio and I. Land, “Polar Codes for Automorphism Ensemble Decoding,” 2021 IEEE Information Theory Workshop (ITW), 2021, pp. 1-6.
  • [10] C. Pillet, V. Bioglio and I. Land, (2021). Classification of Automorphisms for the Decoding of Polar Codes. arXiv preprint arXiv:2110.14438.
  • [11] H. Luo et al., “Analysis and Application of Permuted Polar Codes,” IEEE Global Communications Conference (GLOBECOM), Abu Dhabi, United Arab Emirates, 2018, pp. 1-5.
  • [12] C. Schürch, “A partial order for the synthesized channels of a polar code,” 2016 IEEE International Symposium on Information Theory (ISIT), 2016, pp. 220-224.
  • [13] G. Sarkis, P. Giard, A. Vardy, C. Thibeault and W. J. Gross, “Fast Polar Decoders: Algorithm and Implementation,” in IEEE Journal on Selected Areas in Communications, vol. 32, no. 5, pp. 946-957, May 2014.