diff stdparams_approx.py @ 21:d395461b92ae tip

Lots and lots of modifications. Approximate recovery script working.
author Nic Cleju <nikcleju@gmail.com>
date Mon, 23 Apr 2012 10:54:57 +0300
parents 2837cfeaf353
children
line wrap: on
line diff
--- a/stdparams_approx.py	Thu Apr 05 14:00:13 2012 +0300
+++ b/stdparams_approx.py	Mon Apr 23 10:54:57 2012 +0300
@@ -15,8 +15,10 @@
 
 # Test parameters
 paramstest = dict()
-paramstest['algosN'] = nesta,      # tuple of algorithms not depending on lambda
-paramstest['algosL'] = lambda_sl0,  # tuple of algorithms depending on lambda (ABS-lambda)
+#paramstest['algosN'] = nesta,      # tuple of algorithms not depending on lambda
+#paramstest['algosL'] = lambda_sl0,  # tuple of algorithms depending on lambda (ABS-lambda)
+paramstest['algosN'] = gap,mixed_sl0,mixed_bp,nesta      # tuple of algorithms not depending on lambda
+paramstest['algosL'] = lambda_sl0,lambda_bp,lambda_ompeps,lambda_tst 
 paramstest['d'] = 50.0
 paramstest['sigma'] = 2.0
 paramstest['deltas'] = numpy.array([0.05, 0.45, 0.95])
@@ -25,7 +27,7 @@
 #deltas = numpy.arange(0.05,1.,0.05)
 #rhos = numpy.array([0.05])
 paramstest['numvects'] = 10;  # Number of vectors to generate
-paramstest['SNRdb'] = 20.;    # This is norm(signal)/norm(noise), so power, not energy
+paramstest['SNRdb'] = 40.;    # This is norm(signal)/norm(noise), so power, not energy
 # Values for lambda
 #lambdas = [0 10.^linspace(-5, 4, 10)];
 paramstest['lambdas'] = numpy.array([0., 0.0001, 0.01, 1, 100, 10000])
@@ -34,7 +36,7 @@
 paramstest['saveplotexts'] = ('png','pdf','eps')
 
 
-# Test parameters
+# Prove 11 convergence
 paramsl1prove = dict()
 paramsl1prove['algosN'] = nesta,      # tuple of algorithms not depending on lambda
 paramsl1prove['algosL'] = lambda_bp,  # tuple of algorithms depending on lambda (ABS-lambda)
@@ -58,14 +60,14 @@
 params1['algosN'] = gap,mixed_sl0,mixed_bp,nesta      # tuple of algorithms not depending on lambda
 params1['algosL'] = lambda_sl0,lambda_bp,lambda_ompeps,lambda_tst  # tuple of algorithms depending on lambda (ABS-lambda)
 params1['d'] = 50.0
-params1['sigma'] = 2.0
+params1['sigma'] = 1.2
 params1['deltas'] = numpy.arange(0.05,1.,0.05)
 params1['rhos'] = numpy.arange(0.05,1.,0.05)
-params1['numvects'] = 10;  # Number of vectors to generate
+params1['numvects'] = 100;  # Number of vectors to generate
 params1['SNRdb'] = 40.;    # This is norm(signal)/norm(noise), so power, not energy
 params1['lambdas'] = numpy.array([0., 0.0001, 0.01, 1, 100, 10000])
-params1['savedataname'] = 'approx_pt_stdtest.mat'
-params1['saveplotbase'] = 'approx_pt_stdtest_'
+params1['savedataname'] = 'approx_pt_params1.mat'
+params1['saveplotbase'] = 'approx_pt_params1_'
 params1['saveplotexts'] = ('png','pdf','eps')
 
 # Standard parameters 2
@@ -75,15 +77,15 @@
 params2 = dict()
 params2['algosN'] = gap,mixed_sl0,mixed_bp,nesta      # tuple of algorithms not depending on lambda
 params2['algosL'] = lambda_sl0,lambda_bp,lambda_ompeps,lambda_tst  # tuple of algorithms depending on lambda (ABS-lambda)
-params2['d'] = 20.0
-params2['sigma'] = 10.0
+params2['d'] = 50.0
+params2['sigma'] = 2
 params2['deltas'] = numpy.arange(0.05,1.,0.05)
 params2['rhos'] = numpy.arange(0.05,1.,0.05)
-params2['numvects'] = 10;  # Number of vectors to generate
+params2['numvects'] = 100;  # Number of vectors to generate
 params2['SNRdb'] = 40.;    # This is norm(signal)/norm(noise), so power, not energy
 params2['lambdas'] = numpy.array([0., 0.0001, 0.01, 1, 100, 10000])
-params2['savedataname'] = 'approx_pt_stdtest.mat'
-params2['saveplotbase'] = 'approx_pt_stdtest_'
+params2['savedataname'] = 'approx_pt_params2.mat'
+params2['saveplotbase'] = 'approx_pt_params2_'
 params2['saveplotexts'] = ('png','pdf','eps')
   
   
@@ -95,14 +97,15 @@
 params3['algosN'] = gap,mixed_sl0,mixed_bp,nesta      # tuple of algorithms not depending on lambda
 params3['algosL'] = lambda_sl0,lambda_bp,lambda_ompeps,lambda_tst  # tuple of algorithms depending on lambda (ABS-lambda)
 params3['d'] = 50.0
-params3['sigma'] = 2.0
+params3['sigma'] = 1.2
 params3['deltas'] = numpy.arange(0.05,1.,0.05)
 params3['rhos'] = numpy.arange(0.05,1.,0.05)
-params3['numvects'] = 10;  # Number of vectors to generate
+params3['numvects'] = 100;  # Number of vectors to generate
 params3['SNRdb'] = 20.;    # This is norm(signal)/norm(noise), so power, not energy
 params3['lambdas'] = numpy.array([0., 0.0001, 0.01, 1, 100, 10000])
-params3['savedataname'] = 'approx_pt_stdtest.mat'
-params3['saveplotbase'] = 'approx_pt_stdtest_'
+#params3['lambdas'] = numpy.array([0., 0.01, 0.1, 1, 10, 100])
+params3['savedataname'] = 'approx_pt_params3.mat'
+params3['saveplotbase'] = 'approx_pt_params3_'
 params3['saveplotexts'] = ('png','pdf','eps')
           
 # Standard parameters 4
@@ -112,13 +115,50 @@
 params4 = dict()
 params4['algosN'] = gap,mixed_sl0,mixed_bp,nesta      # tuple of algorithms not depending on lambda
 params4['algosL'] = lambda_sl0,lambda_bp,lambda_ompeps,lambda_tst  # tuple of algorithms depending on lambda (ABS-lambda)
-params4['d'] = 20.0
-params4['sigma'] = 10.0
+params4['d'] = 50.0
+params4['sigma'] = 2.0
 params4['deltas'] = numpy.arange(0.05,1.,0.05)
 params4['rhos'] = numpy.arange(0.05,1.,0.05)
-params4['numvects'] = 10;  # Number of vectors to generate
+params4['numvects'] = 100;  # Number of vectors to generate
 params4['SNRdb'] = 20.;    # This is norm(signal)/norm(noise), so power, not energy
 params4['lambdas'] = numpy.array([0., 0.0001, 0.01, 1, 100, 10000])
-params4['savedataname'] = 'approx_pt_stdtest.mat'
-params4['saveplotbase'] = 'approx_pt_stdtest_'
+#params4['lambdas'] = numpy.array([0., 0.01, 0.1, 1, 10, 100])
+params4['savedataname'] = 'approx_pt_params4.mat'
+params4['saveplotbase'] = 'approx_pt_params4_'
 params4['saveplotexts'] = ('png','pdf','eps')
+
+
+# Standard parameters 5
+# All algorithms, 100 vectors
+# d = 50, sigma = 2, delta and rho full resolution (0.05 step), lambdas = 0, 1e-4, 1e-2, 1, 100, 10000
+# VIRTUALLY NO NOISE, Noise 200db
+params5 = dict()
+params5['algosN'] = gap,mixed_sl0,mixed_bp,nesta      # tuple of algorithms not depending on lambda
+params5['algosL'] = lambda_sl0,lambda_bp,lambda_ompeps,lambda_tst  # tuple of algorithms depending on lambda (ABS-lambda)
+params5['d'] = 50.0
+params5['sigma'] = 1.2
+params5['deltas'] = numpy.arange(0.05,1.,0.05)
+params5['rhos'] = numpy.arange(0.05,1.,0.05)
+params5['numvects'] = 10;  # Number of vectors to generate
+params5['SNRdb'] = 200.;    # This is norm(signal)/norm(noise), so power, not energy
+params5['lambdas'] = numpy.array([0., 0.0001, 0.01, 1, 100, 10000])
+params5['savedataname'] = 'approx_pt_params5.mat'
+params5['saveplotbase'] = 'approx_pt_params5_'
+params5['saveplotexts'] = ('png','pdf','eps')
+
+params3sl0 = dict()
+params3sl0['algosN'] = mixed_sl0,      # tuple of algorithms not depending on lambda
+params3sl0['algosL'] = lambda_sl0,  # tuple of algorithms depending on lambda (ABS-lambda)
+params3sl0['d'] = 50.0
+params3sl0['sigma'] = 1.2
+params3sl0['deltas'] = numpy.arange(0.05,1.,0.25)
+params3sl0['rhos'] = numpy.arange(0.05,1.,0.25)
+#params3sl0['deltas'] = numpy.array([0.85])
+#params3sl0['rhos'] = numpy.array([0.15])
+params3sl0['numvects'] = 10;  # Number of vectors to generate
+params3sl0['SNRdb'] = 20.;    # This is norm(signal)/norm(noise), so power, not energy
+#params3sl0['lambdas'] = numpy.array([0., 0.01, 0.1, 1, 10, 100])
+params3sl0['lambdas'] = numpy.array([0.0001, 10000])
+params3sl0['savedataname'] = 'approx_pt_params3sl0.mat'
+params3sl0['saveplotbase'] = 'approx_pt_params3sl0_'
+params3sl0['saveplotexts'] = ('png','pdf','eps')
\ No newline at end of file