# Low-Complexity Recursive Least-Squares Adaptive Algorithm Based on Tensorial Forms
## 2 System Model  
Considering \(N\) individual channels described by the following vectors:  
\[\mathbf{h}_{i}=\big{[}h_{i,1}\;h_{i,2}\;\cdots\;h_{i,L_{i}}\big{]}^{T}, \tag{1}\]  
each one of length \(L_{i}\), \(i=1,2,\ldots,N\), where the superscript \({}^{T}\) denotes the transpose operator, they compose a multiple-input/single-output (MISO) system. For efficiency reasons, in the rest of the paper, the index \(i\) will repeatedly have the same significance as the one mentioned for Equation (1) (i.e., to identify elements associated with the \(i\)-th channel). Its corresponding real valued output is represented at the discrete-time index \(n\) by the expression:  
\[y(n)=\sum_{l_{1}=1}^{L_{1}}\sum_{l_{2}=1}^{L_{2}}\cdots\sum_{l_{N}=1}^{L_{N}}x_ {l_{1}l_{2}\ldots l_{N}}(n)h_{1,l_{1}}h_{2,l_{2}}\cdots h_{N,l_{N}}, \tag{2}\]  
where the input signals from (2) can be aggregated using the tensorial form \(\boldsymbol{\mathcal{X}}(n)\in\mathbb{R}^{L_{1}\times L_{2}\times\cdots\times L _{N}}\), with the constituent elements \((\boldsymbol{\mathcal{X}})_{l_{1}l_{2}\ldots l_{N}}(n)=x_{l_{1}l_{2}\ldots l _{N}}(n)\). Such linearly separable systems are subject of research for applications like nonlinear acoustic echo cancellation [21; 22], beamforming [3; 23], or source separation techniques [1; 2]. Consequently, the input-output equation can be written as  
\[y(n)=\boldsymbol{\mathcal{X}}(n)\times_{1}\mathbf{h}_{1}^{T}\times_{2} \mathbf{h}_{2}^{T}\times_{3}\cdots\times_{N}\mathbf{h}_{N}^{T}, \tag{3}\]  
where \(\times_{i}\) is the mode-\(i\) product explained in [1], and \(y(n)\) is a linear function of each of the vectors \(\mathbf{h}_{i}\), when the other \(N-1\) vectors are fixed (i.e., \(y(n)\) connotes a multilinear form). Due to this hypothesis, the structure presented in (2) and (3) can be interpreted as an extension of the bilinear form [24]. Moreover, we denote the tensor \(\boldsymbol{\mathcal{H}}\in\mathbb{R}^{L_{1}\times L_{2}\times\cdots\times L _{N}}\), with the elements \((\boldsymbol{\mathcal{H}})_{l_{1},l_{2}\ldots l_{N}}=h_{1,l_{1}}h_{2,l_{2}} \cdots h_{N,l_{N}}\), as the result of:  
\[\boldsymbol{\mathcal{H}}=\mathbf{h}_{1}\circ\mathbf{h}_{2}\circ\cdots\circ \mathbf{h}_{N}, \tag{4}\]where \(\circ\) symbolizes the outer product, defined as \(\mathbf{h}_{1}\circ\mathbf{h}_{2}=\mathbf{h}_{1}\mathbf{h}_{2}^{T}\), with the corresponding elements \(\left(\mathbf{h}_{1}\circ\mathbf{h}_{2}\right)_{i,j}=h_{1,i}h_{2,j}\). At this stage, it is noteworthy that the Kronecker product between two vectors (denoted using \(\otimes\)) can be expressed as \(\mathbf{h}_{2}\otimes\mathbf{h}_{1}=\mathrm{vec}(\mathbf{h}_{1}\circ \mathbf{h}_{2})\), where \(\mathrm{vec}(\cdot)\) is the vectorization operation. Therefore, we write  
\[\mathrm{vec}(\mathbf{\mathcal{H}})=\mathbf{h}_{N}\otimes\mathbf{h}_{N-1}\otimes \cdots\otimes\mathbf{h}_{1}, \tag{5}\]  
and we reformulate the output signal as  
\[y(n)=\mathrm{vec}^{T}(\mathbf{\mathcal{H}})\mathrm{vec}[\mathbf{\mathcal{X}}(n)], \tag{6}\]  
where  
\[\mathrm{vec}[\mathbf{\mathcal{X}}(n)]=\left[ \begin{array}{c}\mathrm{vec}[\mathbf{ X}_{\ldots,\ldots,1}(n)]\\ \mathrm{vec}[\mathbf{X}_{\ldots,\ldots,2}(n)]\\ \vdots\\ \mathrm{vec}[\mathbf{X}_{\ldots,\ldots,l_{N}}(n)]\end{array} \right]=\mathbf{ x}(n), \tag{7}\]  
with \(\mathbf{X}_{\ldots,\ldots,l_{i}}(n)\in\mathbb{R}^{L_{1}\times L_{2}\times \cdots\times L_{N-1}}\) representing the frontal slices of \(\mathbf{\mathcal{X}}(n)\) and \(\mathbf{x}(n)\) denoting the input vector of length \(L\)=\(L_{1}L_{2}\cdots L_{N}\). In addition,  
\[\mathbf{g}=\mathrm{vec}(\mathbf{\mathcal{H}})=\mathbf{h}_{N}\otimes\mathbf{h}_{N -1}\otimes\cdots\otimes\mathbf{h}_{1} \tag{8}\]  
symbolizes the global impulse response of length \(L_{1}L_{2}\cdots L_{N}\). The decomposition from (8) is not given by a unique set of estimators corresponding to the individual members. Exemplifying, let us consider \(N\) real-valued constants \(c_{i}\), having the property that \(\prod_{i=1}^{N}c_{i}=1\).