iglesias / gsp_bss

Blind Separation of Sparse Signals Diffused on Graphs
https://ieeexplore.ieee.org/document/8462154
BSD 2-Clause "Simplified" License
0 stars 0 forks source link

R3 3. f : numerical experiments - how large N and L #13

Closed iglesias closed 2 years ago

iglesias commented 2 years ago

Studying the time of wrapper_multigraph_bss_logdet increasing N (N=20,50,100,150,200). Maybe it is worth separating instances with successful from unsuccessful demixing. Or at least mention that when it fails the time is considerably larger (iterative alternating?).

iglesias commented 2 years ago

N Time 20 2.8s / 1.49s / 2.92s / 1.44s 50 2.65s / 5.16s / 2.24s / 2.33s / 4.66s 100 11.04s / 4.44s / 7.18s 150 39.90s / 10.74s / 11.91s / 18.95s 200
500 ...

iglesias commented 2 years ago

tic, wrapper_multigraph_bss_logdet, toc L=3 N=500 Equality constraint test: 6.303268e-11 norm(Z1_hat-Z1)=8.595676e-13 norm(Z2_hat-Z2)=6.364391e-12 svd(Z1) =(1 7.575789e-17 0) svd(Z1_hat)=(1.000000e+00 8.660202e-15 7.903576e-16) svd(Z2) =(1.000000e+00 0 0) svd(Z2_hat)=(1.000000e+00 8.986984e-15 1.051990e-15) Recovery assessment: 3.612000e-12 Elapsed time is 617.390536 seconds.

iglesias commented 2 years ago

With N=1000,

tic, wrapper_multigraph_bss_logdet, toc Error using / Out of memory. Type HELP MEMORY for your options.

Error in * (line 211) case 'ldivide', z2 = z2 / xC.';

Error in \ (line 14) z = mtimes( x, y, 'ldivide' );

Error in multigraph_bss_logdet (line 58) pho(trace((Theta_old(:, :, i) + epsilon_rankeye(N))\Theta(:, :, i)) + ...

Error in wrapper_multigraph_bss_logdet (line 13) Z_hat = multigraph_bss_logdet(y, model.A, model.V, ...

iglesias commented 2 years ago

With N=800,

tic, wrapper_multigraph_bss_logdet, toc Warning: A non-empty cvx problem already exists in this scope. It is being overwritten. In cvxprob (line 28) In cvx_begin (line 41) In multigraph_bss_logdet (line 47) In wrapper_multigraph_bss_logdet (line 13) Error using find Out of memory. Type HELP MEMORY for your options.

Error in cvx_reshape (line 22) [ ii, jj, x ] = find( x );

Error in * (line 214) z2 = cvx_reshape( z2, [ nA, nz ], tt, [], t2 );

Error in \ (line 14) z = mtimes( x, y, 'ldivide' );

Error in multigraph_bss_logdet (line 58) pho(trace((Theta_old(:, :, i) + epsilon_rankeye(N))\Theta(:, :, i)) + ...

Error in wrapper_multigraph_bss_logdet (line 13) Z_hat = multigraph_bss_logdet(y, model.A, model.V, ...

iglesias commented 2 years ago

wrapper_multigraph_bss_logdet Warning: A non-empty cvx problem already exists in this scope. It is being overwritten. In cvxprob (line 28) In cvx_begin (line 41) In multigraph_bss_logdet (line 47) In wrapper_multigraph_bss_logdet (line 13) L=2 N=600 Equality constraint test: 1.718743e-11 norm(Z1_hat-Z1)=1.286215e-12 norm(Z2_hat-Z2)=3.260360e-12 svd(Z1) =(1 0) svd(Z1_hat)=(1.000000e+00 5.986678e-15) svd(Z2) =(1 0) svd(Z2_hat)=(1.000000e+00 5.146843e-15) Recovery assessment: 2.273298e-12

N=700 Out of memory. Type HELP MEMORY for your options.

Error in cvx_reshape (line 39) jj = temp( :, jj )';

Error in * (line 214) z2 = cvx_reshape( z2, [ nA, nz ], tt, [], t2 );

Error in \ (line 14) z = mtimes( x, y, 'ldivide' );

Error in multigraph_bss_logdet (line 58) pho(trace((Theta_old(:, :, i) + epsilon_rankeye(N))\Theta(:, :, i)) + ...

Error in wrapper_multigraph_bss_logdet (line 13) Z_hat = multigraph_bss_logdet(y, model.A, model.V, ..

iglesias commented 2 years ago

L=2 N=600 R=2 S=10 - out of memory.

iglesias commented 2 years ago

Nice-to-have: how large can N be before memory or computation time become prohibitive? Does it depend as well how dense the graphs are? For this test we have been using ER graphs with p=0.1.

iglesias commented 2 years ago

tic, wrapper_multigraph_bss_logdet, toc L=3 N=500 S=1 Equality constraint test: 1.267409e-10 norm(Z1_hat-Z1)=2.655196e-12 norm(Z2_hat-Z2)=9.957437e-12 svd(Z1) =(1 0 0) svd(Z1_hat)=(1.000000e+00 6.233930e-14 1.158884e-14) svd(Z2) =(1.000000e+00 0 0) svd(Z2_hat)=(1.000000e+00 4.537067e-14 1.400414e-14) Recovery assessment: 6.306835e-12 Elapsed time is 657.053147 seconds.

iglesias commented 2 years ago

tic, wrapper_multigraph_bss_logdet, toc L=3 N=500 S=4 Equality constraint test: 3.171778e-11 norm(Z1_hat-Z1)=5.960053e-12 norm(Z2_hat-Z2)=7.647506e-12 svd(Z1) =(1 7.497285e-17 0) svd(Z1_hat)=(1.000000e+00 ...e-12 ...e-13) svd(Z2) =(1.000000e+00 ...e-17 ...e-18) svd(Z2_hat)=(1.000000e+00 ...e-12 ...e-13) Recovery assessment: 7.094296e-12 Elapsed time is 668.004864 seconds.

iglesias commented 2 years ago

100 simulations are taking.... 5425 seconds (1.5 hours. ~100 minutes) 1000 would take x10? Do 10 simulations take the time 100 took divided by 10? That'd be ~10 minutes

N 60 S6 L3 numFilters2: success=0.44 N 60 S6 L3 numFilters3: success=0.01 N 60 S9 L3 numFilters2: success=0.03 N 60 S9 L3 numFilters3: success=0.00 N100 S6 L3 numFilters2: success=0.87 N100 S6 L3 numFilters3: success=0.44 N100 S9 L3 numFilters2: success=0.74 N100 S9 L3 numFilters3: success=0.03 N140 S6 L3 numFilters2: success=0.99 N140 S6 L3 numFilters3: success=0.94 N140 S9 L3 numFilters2: success=0.91 N140 S9 L3 numFilters3: success=0.53 N180 S6 L3 numFilters2: success=1.00 N180 S6 L3 numFilters3: success=0.96 N180 S9 L3 numFilters2: success=0.99 N180 S9 L3 numFilters3: success=0.78