6
$\begingroup$

Hi,

We have a real symmetric matrix M with diagonal elements 0's, the eigenvalues and eigenvectors of M are computed.

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?

If we add a constraint : keep Tr(M)=0, would that become easier?

Is there some topics about these?

Thank you for your help

Zhi Ming

$\endgroup$
1

3 Answers 3

9
$\begingroup$

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.

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.

$\endgroup$
1
  • $\begingroup$ Mr. Stein, Thank you very much. I've received many important messages from your post. Thanks again. Z.M. $\endgroup$ Commented Jun 9, 2010 at 6:57
3
$\begingroup$

If it helps, here is code using Matlab and Yalmip:

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)))

It performs the optimization you are asking for by recognizing it as an SDP and solving it.

$\endgroup$
4
  • $\begingroup$ I do not know why the colors are wrong. $\endgroup$
    – Ben
    Commented Jun 8, 2010 at 22:15
  • $\begingroup$ There's an single quote on the fourth line. $\endgroup$ Commented Jun 8, 2010 at 23:51
  • $\begingroup$ Ben, Thank you for your nice code. I wish I could vote more than one....... ZM $\endgroup$ Commented Jun 9, 2010 at 6:40
  • $\begingroup$ Hello Ben, Since I want to speed up the execution while n is large, I was informed a method below. On page 25 of the paper "Interior Point Semidefinite Programming" rutcor.rutgers.edu/~alizadeh/MYPAPERS/sdp.ps.gz the maximizatin problem (primal) Max Tr(AY)-Tr(AW) s.t. Tr(Y+W)=n, 0<=Y<=I, 0<=W<=I and the minimization problem (dual) Min nz+Tr(V)+Tr(U) s.t. zI+V-A>=0, zI+U+A>=0, U>=0, V>=0 Is it possible to implement by using basic operations of Matlab only? (then I could try to write it in C.) $\endgroup$ Commented Dec 28, 2010 at 21:58
3
$\begingroup$

Interesting question. Nuclear norm minimization is getting much attention right now as it relates directly to compressed sensing.

Some software for minimization with this constraint that I've used: http://perception.csl.illinois.edu/matrix-rank/sample_code.html

A fun related problem: http://www-stat.stanford.edu/~candes/papers/MatrixCompletion.pdf

$\endgroup$
0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .