Advertisement
Guest User

Untitled

a guest
Nov 23rd, 2014
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.89 KB | None | 0 0
  1. r = 2; % the rank;
  2.  
  3. N = 32; % the dimension
  4.  
  5. M = 32;
  6.  
  7. a = randn(N,r);
  8.  
  9. b = randn(M,r);
  10.  
  11. X = a*b'; % low rank Matrix;
  12.  
  13. A = rand(20,N);
  14.  
  15. Y = A*X;
  16.  
  17. % low rank approximation using nuclear norm
  18.  
  19. cvx_begin
  20.  
  21. variable Xe(N,M)
  22.  
  23. minimize norm_nuc(Xe);
  24.  
  25. subject to A*Xe == Y;
  26.  
  27. cvx_end
  28.  
  29. number of iterations = 8 primal objective value = 5.75866738e+01 dual objective value = 5.75866738e+01 gap := trace(XZ) = 3.73e-08 relative gap = 3.21e-10 actual relative gap = 3.49e-10 rel. primal infeas (scaled problem) = 6.90e-11 rel. dual " " " = 1.50e-12 rel. primal infeas (unscaled problem) = 0.00e+00 rel. dual " " " = 0.00e+00 norm(X), norm(y), norm(Z) = 8.4e+01, 1.6e+00, 4.2e+00 norm(A), norm(b), norm(C) = 6.0e+01, 1.6e+02, 5.1e+00 Total CPU time (secs) = 1.75 CPU time per iteration = 0.22 termination code = 0
  30.  
  31. DIMACS: 4.9e-10 0.0e+00 3.8e-12 0.0e+00 3.5e-10 3.2e-10 Status: Solved
  32.  
  33. Optimal value (cvx_optval): +57.5867
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement