Dynamic-Calibration/utils/YALMIP-master/extras/eigv.m

11 lines
333 B
Matlab
Executable File

function [v,Model] = eigv(X)
% v(i) epigraph of i-th largest eigenvalue of X
[n,m] = size(X);
v = sdpvar(n,1);
Model = [trace(X)==sum(v), v(1:end-1) >= v(2:end)];
for k = 1:n-1
Z = sdpvar(n);
s = sdpvar(1);
t = sum(v(1:k));
Model = [Model, (t-k*s-trace(Z) >= 0) + (Z >= 0) + (Z-X+s*eye(n) >= 0)];
end