provided that $T\sbra{\m{u}_j}$ is interpreted as the noiseless data covariance following from Remark \[rem:datacov\] and $\epsilon$ as the noise variance. Therefore, the reweighting strategy makes the frequencies around those produced by the current iteration preferable at the next iteration and thus enhances sparsity. At the same time, the preference results in finer details of the frequency spectrum in those areas and therefore enhances resolution. Empirical evidences will be provided in Section \[sec:simulation\].

Computationally Efficient Implementations {#sec:implementation}
=========================================

Optimization Using Standard SDP Solver
--------------------------------------

At each iteration of RAM, we need to solve the SDP in (\[formu:problem\_j\]) as follows: where $\m{W}=\sbra{T\sbra{\m{u}_j}+\epsilon\m{I}}^{-1}$. Its dual problem is given as follows by a standard Lagrangian analysis (see Appendix \[sec:append\_duality\]): where $\Re$ takes the real part of the argument and $Z_{n,j}$ denotes the $(n,j)$th entry of $\m{Z}$. We empirically find that the dual problem (\[formu:duality\]) can be solved more efficiently than the primal problem (\[formu:weightedSDP\]) with a standard SDP solver SDPT3 [@toh1999sdpt3]. Note that the optimizer to (\[formu:weightedSDP\]) is given for free via duality when we solve (\[formu:duality\]). As a result, the reweighted algorithm can be iteratively implemented.

A First-order Algorithm via ADMM
--------------------------------

A reasonably fast approach for ANM is based on ADMM [@boyd2011distributed; 