changeset 16:a6ca929f49f1

Greedy Analysis Pursuit (GAP) matlab test and data
author nikcleju
date Sun, 06 Nov 2011 20:41:02 +0000
parents 0d66a0aafb39
children ef63b89b375a
files tests/GAPgentest.m tests/GAPtestdata.mat
diffstat 2 files changed, 52 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/GAPgentest.m	Sun Nov 06 20:41:02 2011 +0000
@@ -0,0 +1,52 @@
+% Run GAP and save parameters and solutions as reference test data
+% to check if other algorithms are correct
+
+numA = 10;
+numY = 100;
+
+sizesA{1} = [50 100];
+sizesA{2} = [20 25];
+sizesA{3} = [10 120];
+sizesA{4} = [15 100];
+sizesA{5} = [70 100];
+sizesA{6} = [80 100];
+sizesA{7} = [90 100];
+sizesA{8} = [99 100];
+sizesA{9} = [100 100];
+sizesA{10} = [250 400];
+for i = 1:numA sizesA{i} = fliplr(sizesA{i}); end
+
+sigmamin = [0.00001 0.01 0.2 0.3 0.4 0.0001 0.1 0.001 0.1 0.1];
+
+for i = 1:numA
+    sz = sizesA{i};
+    cellA{i} = randn(sz);
+    m = round((0.2 + 0.6*rand)*sz(2));
+    cellM{i} = randn(m,sz(2));
+    cellY{i} = randn(m, numY);
+    cellXinit{i} = zeros(sz(2), numY);
+    for j = 1:numY
+        cellEps{i}(j) = rand / 100; % restrict from 0 to 1% of measurements
+    end
+end
+opt_num_iteration = 1000;
+opt_greedy_level = 0.9;
+opt_stopping_coefficient_size = 1e-4;
+opt_l2solver = 'pseudoinverse';
+
+%load GAPtestdata
+tic
+for i = 1:numA
+    for j = 1:numY
+        gapparams.num_iteration = opt_num_iteration;
+        gapparams.greedy_level = opt_greedy_level;
+        gapparams.stopping_coefficient_size = opt_stopping_coefficient_size;
+        gapparams.l2solver = opt_l2solver;
+        gapparams.noise_level = cellEps{i}(j);
+        
+        cellXr{i}(:,j) = GAP(cellY{i}(:,j), cellM{i}, cellM{i}', cellA{i}, cellA{i}', gapparams, cellXinit{i}(:,j));
+    end
+end
+toc
+
+save GAPtestdata
\ No newline at end of file
Binary file tests/GAPtestdata.mat has changed