In real applications, our observations are often noisy, or even grossly corrupted, and some observations may be missing. This fact naturally leads to the problem of recovering a low-rank matrix X from a corrupted observation matrix X = X + E (each column of X is an observation vector), with E being the unknown noise. Due to the low-rank property of X, it is straightforward to consider the follo...