minimize the sum of absolute eigenvalues - MathOverflow most recent 30 from http://mathoverflow.net 2013-05-18T12:01:31Z http://mathoverflow.net/feeds/question/27522 http://www.creativecommons.org/licenses/by-nc/2.5/rdf http://mathoverflow.net/questions/27522/minimize-the-sum-of-absolute-eigenvalues minimize the sum of absolute eigenvalues Zhi Ming Chen 2010-06-08T21:07:38Z 2010-07-14T06:25:39Z <p>Hi,</p> <p>We have a real symmetric matrix M with diagonal elements 0's, the eigenvalues and eigenvectors of M are computed.</p> <p>Now we wish to change its diagonal elements arbitrarily to minimize the sum of absolute eigenvalues. Does there exist a way to find such modifications?</p> <p>If we add a constraint : keep Tr(M)=0, would that become easier?</p> <p>Is there some topics about these?</p> <p>Thank you for your help</p> <p>Zhi Ming</p> http://mathoverflow.net/questions/27522/minimize-the-sum-of-absolute-eigenvalues/27526#27526 Answer by Noah Stein for minimize the sum of absolute eigenvalues Noah Stein 2010-06-08T21:34:02Z 2010-06-08T21:34:02Z <p>The sum of the absolute value of the eigenvalues is the same (since the matrix is real and symmetric) as the sum of the singular values. This sum is called the nuclear norm of the matrix. So what you are saying is that you have an affine space of matrices (a "matrix pencil") over which you would like to minimize the nuclear norm. This is the case whether you add the trace constraint or not.</p> <p>This is a convex optimization problem. A google search for "nuclear norm" will show how this can be converted to a semidefinite program and solved that way. You'll also get results about more specialized interior point methods which are optimized for just this problem.</p> http://mathoverflow.net/questions/27522/minimize-the-sum-of-absolute-eigenvalues/27532#27532 Answer by Ben for minimize the sum of absolute eigenvalues Ben 2010-06-08T22:15:08Z 2010-06-08T22:15:08Z <p>If it helps, here is code using Matlab and Yalmip:</p> <pre><code>n = 5; %Random symmetric matrix A = 10*rand(n,n); A=A'*A; %Zero on the diagonal A(sub2ind([n n],1:n,1:n)) = 0; X = sdpvar(n,n,'symmetric'); %Equal to A off the diagonal C=[]; for i=1:n for j=i+1:n C = [C; set(X(i,j) == A(i,j))]; end end %We can add this if we want %C = [C; set(trace(X)==0)]; solvesdp( C, sumabsk(X,n)); X=double(X); X sum(abs(eig(X))) A sum(abs(eig(A))) </code></pre> <p>It performs the optimization you are asking for by recognizing it as an SDP and solving it. </p> http://mathoverflow.net/questions/27522/minimize-the-sum-of-absolute-eigenvalues/31802#31802 Answer by rcompton for minimize the sum of absolute eigenvalues rcompton 2010-07-14T06:25:39Z 2010-07-14T06:25:39Z <p>Interesting question. Nuclear norm minimization is getting much attention right now as it relates directly to compressed sensing.</p> <p>Some software for minimization with this constraint that I've used: <a href="http://perception.csl.illinois.edu/matrix-rank/sample_code.html" rel="nofollow">http://perception.csl.illinois.edu/matrix-rank/sample_code.html</a></p> <p>A fun related problem: <a href="http://www-stat.stanford.edu/~candes/papers/MatrixCompletion.pdf" rel="nofollow">http://www-stat.stanford.edu/~candes/papers/MatrixCompletion.pdf</a></p>