## 3 The Generalized AP-HSIC Algorithm for QAM Modulations
 \tag{18}\]  
where \(W_{1},W_{2}\) are given by (17). **Remark 1**. : _In [56], the assumption that \(m\leq n\) and \(H+\Delta H\) is full rank was made, implying that \((H+\Delta H)(H+\Delta H)^{+}=I_{m}\). The reasoning is as follows: \(Y=(H+\Delta H)S\) with the genuine \(S\) and using the Moore-Penrose pseudo-inverse properties implies the following:_  
\[(H+\Delta H)(H+\Delta H)^{+}Y\] \[=(H+\Delta H)(H+\Delta H)^{+}(H+\Delta H)S\] \[=(H+\Delta H)S=Y.\]  
_Let \(\widetilde{S}=\left(H+\widehat{\Delta H}\right)^{+}Y\) computed by Algorithm 1, where we may assume that \(\widehat{\Delta H}=\Delta H\), since any destruction explaining the received signal would cancel its influence. Then,_  
\[(H+\Delta H)\widetilde{S}=(H+\Delta H)(H+\Delta H)^{+}Y=Y,\]  
_since by assumption \((H+\Delta H)(H+\Delta H)^{+}=I_{m}\). Therefore, by solving \((H+\Delta H)^{+}Y=S\) instead of \(Y=(H+\Delta H)S\), we do not lose connection with the genuine solution, and the algorithm might produce a relevant approximation._  
The AP-HSIC algorithm is given in Algorithm 1, where the procedures for \(P_{\mathcal{C}_{0}}\) and \(P_{\mathcal{C}_{1}}\) are given in Algorithm 2 and Algorithm 3, respectively. A flowchart of the algorithm explaining the flow of computations is given in Figure 1.  
```
0: An algorithm for computing Moore-Penrose pseudo-inverses and algorithms for computing \(P_{\mathcal{C}_{0}}\), \(P_{\mathcal{C}_{1}}\) and \(P_{QAM}\). Input:\(H,Y,r_{max},\epsilon>0\). Output:\(\Delta H\) and \(S\) such that \((H+\Delta H)^{+}Y=S\), where \(S\in QAM^{n\times k}\). 1. \(\Delta H_{0}\gets 0\)
2. \(\mathcal{S}_{0}\gets H^{+}Y\)
3. \(\left((H+\Delta H_{1})^{+},\mathcal{S}_{1}\right)\gets P_{\mathcal{C}_{1} }\Big{(}(H+\Delta H_{0})^{+},\mathcal{S}_{0}\Big{)}\)
4. \(\left((H+\Delta H_{1})^{+},\mathcal{S}_{1}\right)\gets P_{\mathcal{C}_{0} }\Big{(}(H+\Delta H_{1})^{+},\mathcal{S}_{1}\Big{)}\)
5. \(\Delta H_{1}\leftarrow\left((H+\Delta H_{1})^{+}\right)^{+}-H\)
6. \(t\gets 1\)
7. **while**\(\sqrt{\left\|\Delta H_{t}-\Delta H_{t-1}\right\|_{F}^{2}+\left\|\mathcal{S}_{t}-S_{t-1 }\right\|_{F}^{2}}>\epsilon\)do
8. \(\left((H+\Delta H_{t+1})^{+},\mathcal{S}_{t+1}\right)\gets P_{\mathcal{C}_{ 1}}\Big{(}(H+\Delta H_{t})^{+},\mathcal{S}_{t}\Big{)}\)
9. \(\left((H+\Delta H_{t+1})^{+},\mathcal{S}_{t+1}\right)\gets P_{\mathcal{C}_{ 0}}\Big{(}(H+\Delta H_{t+1})^{+},\mathcal{S}_{t+1}\Big{)}\)
10. \(\Delta H_{t+1}\leftarrow\left((H+\Delta H_{t+1})^{+}\right)^{+}-H\)
11. \(t\gets t+1\)
12. endwhile
13. \(\Delta H\leftarrow\Delta H_{t}\)
14. \(S\gets P_{QAM}(S_{t})\)
15. return\(t,\Delta H,S\)
```  
**Algorithm 2** The Orthogonal Projection \(P_{\mathcal{C}_{0}}\)  
```
0: Matrix and Arithmetic Operations. Input:\((A,B)\) such that \(A\) is \(n\times m\) and \(B\) is \(n\times k\) and \(r_{max},n,k\). Output:\(\left(\widehat{A},\widehat{B}\right)\in\mathcal{C}_{0}\) the orthogonal projection of \((A,B)\) onto the boundary of \(\mathcal{C}_{0}\). 1. if\(\left\|B\right\|_{F}>r_{max}\sqrt{nk}\)then
2. \(\beta\leftarrow\frac{r_{max}\sqrt{nk}}{\left\|B\right\|_{F}}\)
3. else
4. \(\beta\gets 1\)
5. endif
6. \(\left(\widehat{A},\widehat{B}\right)\leftarrow(A,\beta B)\)
7. return\(\left(\widehat{A},\widehat{B}\right)\)
```  
**Algorithm 3** The Orthogonal Projection \(P_{\mathcal{C}_{1}}\)  
```
0: An algorithm for computing Moore-Penrose pseudo-inverses. Input:\((A,B)\) such that \(A\) is \(n\times m\) and \(B\) is \(n\times k\) and \(Y\). Output:\(\left(\widehat{A},\widehat{B}\right)\in\mathcal{C}_{1}\) the orthogonal projection of \((A,B)\) onto the boundary of \(\mathcal{C}_{1}\). 1. \(\left[ \begin{array}{cc}W_{2}&W_{1}\end{array} \right]\leftarrow\left[ \begin{array} []{cc}A(I_{m}+YY^{*})&BY^{*}(I_{m}+YY^{*})\end{array} \right]\cdot\left[ \begin{array}{cc}I_{m}&YY^{*}\\ Y^{*}&Y^{*}YY^{*}\end{array} \right]^{+}\)
2. \(\widehat{A}\leftarrow(W_{1}Y^{*}+W_{2})(I_{m}+YY^{*})^{-1}\)
3. \(\widehat{B}\leftarrow(W_{1}Y^{*}+W_{2})(I_{m}+YY^{*})^{-1}Y\)
4. return\(\left(\widehat{A},\widehat{B}\



The AP-HSIC assumptions are summarized as follows [7; 15]:

1.