the second term comes into play and helps us pick out a solution that is *sufficiently scattered*.

Noticing that the constraints of  are all convex, but not the loss function, we propose to design an iterative algorithm to solve  using successive convex approximation. At iteration $r$ when the updates are ${\boldsymbol{\varTheta}}^r$ and ${\boldsymbol{M}}^r$, we define $$\begin{aligned}
\label{eq:posterior}
\varPi_{n\ell kj}^r = M_{nk}^r\varTheta_{kj}^rM_{\ell j}^r \bigg/ 
\sum_{\kappa,\iota=1}^{K}M_{n\kappa}^r\varTheta_{\kappa\iota}^rM_{\ell\iota}^r.\end{aligned}$$ Obviously, $\varPi_{n\ell kj}^r\geq0$ and $\sum_{k,j=1}^{K}\varPi_{n\ell kj}^r=1$, which defines a probability distribution for fixed $n$ and $\ell$. Using Jensen’s inequality [@jensen1906fonctions], we have that $$\begin{aligned}
\label{eq:upper1}
-\varOmega_{n\ell}\log\sum_{k,j=1}^{K}M_{nk}\varTheta_{kj}M_{\ell j} \leq \sum_{k,j=1}^{K}-\varOmega_{n\ell}\varPi_{n\ell kj}^r
\left(\log M_{nk} + \log\varTheta_{kj} + \log M_{\ell j} - \log\varPi_{n\ell kj}^r\right)\end{aligned}$$ which defines a convex and locally tight upperbound for the first term in the loss function of . Regarding the second term in the loss of , we propose to simply take the linear approximation $$\begin{aligned}
\label{eq:approx2}
|\!\det\!{\boldsymbol{\varTheta}}| \approx |\!\det\!{\boldsymbol{\varTheta}}^r| + 
|\!\det\!{\boldsymbol{\varTheta}}^r|\operatorname{Tr}\!\left( ({\boldsymbol{\varTheta}}^r)^{\!-\!1\!}({\boldsymbol{\varTheta}}\!-\!{\boldsymbol{\varTheta}}^r) \right) \end{aligned}$$

Combining  and , our successive convex approximation algorithm tries to solve the following convex problem at iteration $r$: $$\begin{aligned}
\label{prob:iter}
\operatorname*{\textrm{minimize}}_{{\boldsymbol{\varTheta}},{\boldsymbol{M}}}~~ & \sum_{n,\ell=1}^{N}\sum_{k,j=1}^{K}
-\varOmega_{n\ell}\varPi_{n\ell kj}^r \left(\log M_{nk} + \log M_{\ell j} + \log\varTheta_{kj} \right) 
+ \lambda\sum_{k,j=1}^{K}\varXi_{kj}^r\varTheta_{kj} \\
\textrm{subject to}~~ & {\boldsymbol{M}}\geq0, {\boldsymbol{\mathit{1}}}^{{\!\top\!}}{\boldsymbol{M}}={\boldsymbol{\mathit{1}}}^{{\!\top\!}}, \nonumber \\
& {\boldsymbol{\varTheta}}\geq0, {\boldsymbol{\varTheta}}{\boldsymbol{\mathit{1}}}={\boldsymbol{\varTheta}}^{{\!\top\!}}{\boldsymbol{\mathit{1}}}, {\boldsymbol{\mathit{1}}}^{{\!\top\!}}{\boldsymbol{\varTheta}}{\boldsymbol{\mathit{1}}}=1,  \nonumber\end{aligned}$$ where 