A polarization kernel \(K\)  is a binary invertible \(l \times l\)  matrix, which is not upper-triangular under any column permutation [1]}.
An \((n, k)\)  mixed-kernel polar code [2]}, [3]} is a linear block code generated by \(k\)  rows of matrix \(G_n = \mathcal {K}_1 \otimes \mathcal {K}_2\otimes ... \otimes \mathcal {K}_s\) , where \(\mathcal {K}_i\)  is an \(l_i \times l_i\)  polarization kernel and \(n = \prod _{i=1}^s l_i\) .
The encoding scheme is given by
\( c_0^{n-1}= u_0^{n-1}G_n\) ,
where \(u_i,i\in \mathcal {F}\) , are set to some pre-defined values, e.g. zero (frozen symbols), \(|\mathcal {F}| = n - k\) , and the remaining values \(u_i\)  are set to the payload data.
