minimize the sum of absolute eigenvalues - MathOverflow most recent 30 from http://mathoverflow.net2013-05-18T12:01:31Zhttp://mathoverflow.net/feeds/question/27522http://www.creativecommons.org/licenses/by-nc/2.5/rdfhttp://mathoverflow.net/questions/27522/minimize-the-sum-of-absolute-eigenvaluesminimize the sum of absolute eigenvaluesZhi Ming Chen2010-06-08T21:07:38Z2010-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#27526Answer by Noah Stein for minimize the sum of absolute eigenvaluesNoah Stein2010-06-08T21:34:02Z2010-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#27532Answer by Ben for minimize the sum of absolute eigenvaluesBen2010-06-08T22:15:08Z2010-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#31802Answer by rcompton for minimize the sum of absolute eigenvaluesrcompton2010-07-14T06:25:39Z2010-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>