load('data.mat');
m = size(P,1);
n = size(P,2);

cvx_begin
    variable X(m,n);
    minimize( tau * norm_nuc(X) + 0.5 * sum(sum_square_abs(X)))
    subject to
            P .* X == P .* M;
cvx_end
