nikcleju@3: % Run BP and save parameters and solutions as reference test data nikcleju@3: % to check if other algorithms are correct nikcleju@3: nikcleju@3: numA = 10; nikcleju@3: numY = 100; nikcleju@3: nikcleju@3: sizesA{1} = [50 100]; nikcleju@3: sizesA{2} = [20 25]; nikcleju@3: sizesA{3} = [10 120]; nikcleju@3: sizesA{4} = [15 100]; nikcleju@3: sizesA{5} = [70 100]; nikcleju@3: sizesA{6} = [80 100]; nikcleju@3: sizesA{7} = [90 100]; nikcleju@3: sizesA{8} = [99 100]; nikcleju@3: sizesA{9} = [100 100]; nikcleju@3: sizesA{10} = [250 400]; nikcleju@3: nikcleju@3: for i = 1:numA nikcleju@3: sz = sizesA{i}; nikcleju@3: cellA{i} = randn(sz); nikcleju@3: cellY{i} = randn(sz(1), numY); nikcleju@3: for j = 1:numY nikcleju@3: Eps{i}(j) = rand / 5; % restrict from 0 to 20% if measurements nikcleju@3: X0{i}(:,j) = cellA{i} \ cellY{i}(:,j); nikcleju@3: end nikcleju@3: %X0{i} = zeros(sz(1), numY); nikcleju@3: nikcleju@3: end nikcleju@3: nikcleju@3: for i = 1:numA nikcleju@3: for j = 1:numY nikcleju@3: Xr{i}(:,j) = l1qc_logbarrier_quiet(X0{i}(:,j), cellA{i}, [], cellY{i}(:,j), Eps{i}(j)); nikcleju@3: end nikcleju@3: end nikcleju@3: nikcleju@3: save BPtestdata