The BMM [1]} method can be regarded as a
combination of the BCD methods [2]} and
the minorization-maximization (for maximization problem) methods [3]}.
BCD, a.k.a. Gauss-Seidel, is an optimization method aiming at finding
a local optimum of the problem by optimizing along one variable block
at a time and then for different blocks repeatedly. The direct variable
update in BCD can be difficult to attain, especially when the problem
is non-convex and/or when a unique global optimal solution is required
for convergence claim. Instead of solving for an exact update, BMM
solves a series of simple surrogate problems w.r.t. one variable block
each time via carrying out an inexact variable update (refer to [1]}, [3]}
for details). Surrogate functions in BMM can be chosen in a flexible
way [3]} while a properly chosen one can make
the updates easy and lead to a fast convergence over iterations. In
practice, the surrogate subproblems are applaudable if they are convex
(thus, efficiently solvable) or have closed-form solutions. In the
following, we will derive a BMM-based algorithm for Problem (REF ).
