annotate tests/BPgentest.m @ 64:a115c982a0fd
Fixed bug in GAP: Lambdahat might get empty after row removing; in this case should stop and return current solution, otherwise it will raise an exception next time you try to remove rows
author |
Nic Cleju <nikcleju@gmail.com> |
date |
Tue, 13 Mar 2012 16:18:11 +0200 |
parents |
537f7798e186 |
children |
|
rev |
line source |
nikcleju@3
|
1 % Run BP and save parameters and solutions as reference test data
|
nikcleju@3
|
2 % to check if other algorithms are correct
|
nikcleju@3
|
3
|
nikcleju@3
|
4 numA = 10;
|
nikcleju@3
|
5 numY = 100;
|
nikcleju@3
|
6
|
nikcleju@3
|
7 sizesA{1} = [50 100];
|
nikcleju@3
|
8 sizesA{2} = [20 25];
|
nikcleju@3
|
9 sizesA{3} = [10 120];
|
nikcleju@3
|
10 sizesA{4} = [15 100];
|
nikcleju@3
|
11 sizesA{5} = [70 100];
|
nikcleju@3
|
12 sizesA{6} = [80 100];
|
nikcleju@3
|
13 sizesA{7} = [90 100];
|
nikcleju@3
|
14 sizesA{8} = [99 100];
|
nikcleju@3
|
15 sizesA{9} = [100 100];
|
nikcleju@3
|
16 sizesA{10} = [250 400];
|
nikcleju@3
|
17
|
nikcleju@3
|
18 for i = 1:numA
|
nikcleju@3
|
19 sz = sizesA{i};
|
nikcleju@3
|
20 cellA{i} = randn(sz);
|
nikcleju@3
|
21 cellY{i} = randn(sz(1), numY);
|
nikcleju@3
|
22 for j = 1:numY
|
nikcleju@3
|
23 Eps{i}(j) = rand / 5; % restrict from 0 to 20% if measurements
|
nikcleju@3
|
24 X0{i}(:,j) = cellA{i} \ cellY{i}(:,j);
|
nikcleju@3
|
25 end
|
nikcleju@3
|
26 %X0{i} = zeros(sz(1), numY);
|
nikcleju@3
|
27
|
nikcleju@3
|
28 end
|
nikcleju@3
|
29
|
nikcleju@3
|
30 for i = 1:numA
|
nikcleju@3
|
31 for j = 1:numY
|
nikcleju@3
|
32 Xr{i}(:,j) = l1qc_logbarrier_quiet(X0{i}(:,j), cellA{i}, [], cellY{i}(:,j), Eps{i}(j));
|
nikcleju@3
|
33 end
|
nikcleju@3
|
34 end
|
nikcleju@3
|
35
|
nikcleju@3
|
36 save BPtestdata |