annotate tests/GAPgentest.m @ 24:c07440417bd8

Print delta and rho
author nikcleju
date Wed, 09 Nov 2011 00:15:57 +0000
parents a6ca929f49f1
children efe3f43a2b59
rev   line source
nikcleju@16 1 % Run GAP and save parameters and solutions as reference test data
nikcleju@16 2 % to check if other algorithms are correct
nikcleju@16 3
nikcleju@16 4 numA = 10;
nikcleju@16 5 numY = 100;
nikcleju@16 6
nikcleju@16 7 sizesA{1} = [50 100];
nikcleju@16 8 sizesA{2} = [20 25];
nikcleju@16 9 sizesA{3} = [10 120];
nikcleju@16 10 sizesA{4} = [15 100];
nikcleju@16 11 sizesA{5} = [70 100];
nikcleju@16 12 sizesA{6} = [80 100];
nikcleju@16 13 sizesA{7} = [90 100];
nikcleju@16 14 sizesA{8} = [99 100];
nikcleju@16 15 sizesA{9} = [100 100];
nikcleju@16 16 sizesA{10} = [250 400];
nikcleju@16 17 for i = 1:numA sizesA{i} = fliplr(sizesA{i}); end
nikcleju@16 18
nikcleju@16 19 sigmamin = [0.00001 0.01 0.2 0.3 0.4 0.0001 0.1 0.001 0.1 0.1];
nikcleju@16 20
nikcleju@16 21 for i = 1:numA
nikcleju@16 22 sz = sizesA{i};
nikcleju@16 23 cellA{i} = randn(sz);
nikcleju@16 24 m = round((0.2 + 0.6*rand)*sz(2));
nikcleju@16 25 cellM{i} = randn(m,sz(2));
nikcleju@16 26 cellY{i} = randn(m, numY);
nikcleju@16 27 cellXinit{i} = zeros(sz(2), numY);
nikcleju@16 28 for j = 1:numY
nikcleju@16 29 cellEps{i}(j) = rand / 100; % restrict from 0 to 1% of measurements
nikcleju@16 30 end
nikcleju@16 31 end
nikcleju@16 32 opt_num_iteration = 1000;
nikcleju@16 33 opt_greedy_level = 0.9;
nikcleju@16 34 opt_stopping_coefficient_size = 1e-4;
nikcleju@16 35 opt_l2solver = 'pseudoinverse';
nikcleju@16 36
nikcleju@16 37 %load GAPtestdata
nikcleju@16 38 tic
nikcleju@16 39 for i = 1:numA
nikcleju@16 40 for j = 1:numY
nikcleju@16 41 gapparams.num_iteration = opt_num_iteration;
nikcleju@16 42 gapparams.greedy_level = opt_greedy_level;
nikcleju@16 43 gapparams.stopping_coefficient_size = opt_stopping_coefficient_size;
nikcleju@16 44 gapparams.l2solver = opt_l2solver;
nikcleju@16 45 gapparams.noise_level = cellEps{i}(j);
nikcleju@16 46
nikcleju@16 47 cellXr{i}(:,j) = GAP(cellY{i}(:,j), cellM{i}, cellM{i}', cellA{i}, cellA{i}', gapparams, cellXinit{i}(:,j));
nikcleju@16 48 end
nikcleju@16 49 end
nikcleju@16 50 toc
nikcleju@16 51
nikcleju@16 52 save GAPtestdata