Given the message \(\mathcal {M}_{\zeta _{i,m}\rightarrow p(\zeta _{i,m}|\nu _i,\chi _{i,m})}(\zeta _{i,m})\sim \mathcal {CN}(\zeta _{i,m};\hat{r}_{i,m},v^r_{i,m})\) , where \(\hat{r}_{i,m}\)  and \(v^r_{i,m}\)  are the outputs of the input linear step in the generalized approximate message passing (GAMP) algorithm [1]} (more details can be found at the end of this subsection), the message from factor node \(p(\zeta _{i,m}|\nu _i,\chi _{i,m})\)  to variable node \(\nu _i\)  is calculated from the sum-product rule as
\(\mathcal {M}_{p(\zeta _{i,m}|\nu _i,\chi _{i,m})\rightarrow \nu _i}(\nu _i) = \int _{\zeta _{i,m}}\sum _{\chi _{i,m}}p(\zeta _{i,m}|\nu _i,\chi _{i,m})\mathcal {M}_{\zeta _{i,m}\rightarrow p(\zeta _{i,m}|\nu _i,\chi _{i,m})}(\zeta _{i,m})\mathcal {M}_{\chi _{i,m}\rightarrow p(\zeta _{i,m}|\nu _i,\chi _{i,m})}(\chi _{i,m}).\) 
