Dattorro Convex Optimization of Eternity II

From Wikimization

Revision as of 20:25, 19 March 2009 by Cslaw (Talk | contribs)
Jump to: navigation, search

E_full.mat

E_small.mat

%%% Theorem of the Alternative.
clear all
clc
load E_small         
%load E_full          
[m n] = size(E);
found=[];
cvx_quiet('true')
for i=1:n
    inconclusive = true;
    cvx_begin
       variable a(n+1,1);
       a(1:n) >= 0;
       -E(:,i) == [E t]*a;
    cvx_end   
    if strcmp(cvx_status,'Solved') || strcmp(cvx_status,'Solved/Inaccurate')  
        problem_solved = 1;
        inconclusive = false;
    else   
        cvx_begin
           variable z(m,1);
           t'*z == 0;
           E(:,i)'*z == 1;
           E'*z >= 0;
        cvx_end
        if strcmp(cvx_status,'Solved') || strcmp(cvx_status,'Solved/Inaccurate')  
            problem_solved = 2;
            inconclusive = false;
        end
    end
    fprintf('%6d/%6d',i,n);
    if inconclusive, fprintf('   numeric   failure\n'), else fprintf('   problem %d solved\n',problem_solved), end
end
Personal tools