nikcleju@14: # -*- coding: utf-8 -*- nikcleju@14: """ nikcleju@14: Created on Wed Dec 07 14:04:40 2011 nikcleju@14: nikcleju@14: @author: ncleju nikcleju@14: """ nikcleju@14: nikcleju@14: import numpy nikcleju@14: from algos import * nikcleju@14: nikcleju@14: #========================== nikcleju@14: # Standard parameters nikcleju@14: #========================== nikcleju@14: # Standard parameters for quick testing nikcleju@14: # Algorithms: GAP, SL0 and BP nikcleju@14: # d=50, sigma = 2, delta and rho only 3 x 3, lambdas = 0, 1e-4, 1e-2, 1, 100, 10000 nikcleju@14: # Do save data, do save plots, don't show plots nikcleju@14: # Useful for short testing nikcleju@14: def stdtest(): nikcleju@14: # Define which algorithms to run nikcleju@14: #algos = exact_gap,exact_sl0,exact_bp,exact_ompeps,exact_tst # tuple of algorithms nikcleju@14: algos = exact_bp_cvxopt, # tuple of algorithms nikcleju@14: nikcleju@14: d = 50.0 nikcleju@14: sigma = 1.2 nikcleju@14: deltas = numpy.array([0.05, 0.45, 0.95]) nikcleju@14: rhos = numpy.array([0.05, 0.45, 0.95]) nikcleju@14: #deltas = numpy.array([0.6]) nikcleju@14: #deltas = numpy.arange(0.05,1.,0.05) nikcleju@14: #rhos = numpy.array([0.05]) nikcleju@14: numvects = 10; # Number of vectors to generate nikcleju@14: SNRdb = 100.; # This is norm(signal)/norm(noise), so power, not energy nikcleju@14: nikcleju@14: dosavedata = True nikcleju@14: savedataname = 'exact_pt_stdtest.mat' nikcleju@14: doshowplot = False nikcleju@14: dosaveplot = True nikcleju@14: saveplotbase = 'exact_pt_stdtest_' nikcleju@14: saveplotexts = ('png','pdf','eps') nikcleju@14: nikcleju@14: return algos,d,sigma,deltas,rhos,numvects,SNRdb,dosavedata,savedataname,\ nikcleju@14: doshowplot,dosaveplot,saveplotbase,saveplotexts nikcleju@14: nikcleju@14: nikcleju@14: # Standard parameters 1 nikcleju@14: # All algorithms, 100 vectors nikcleju@14: # d=50, sigma = 2, delta and rho full resolution (0.05 step), lambdas = 0, 1e-4, 1e-2, 1, 100, 10000 nikcleju@14: # Do save data, do save plots, don't show plots nikcleju@14: def std1(): nikcleju@14: # Define which algorithms to run nikcleju@14: algos = exact_gap,exact_sl0,exact_bp_cvxopt,exact_ompeps,exact_tst # tuple of algorithms nikcleju@14: nikcleju@14: d = 50.0; nikcleju@14: sigma = 1.2 nikcleju@14: deltas = numpy.arange(0.05,1.,0.05) nikcleju@14: rhos = numpy.arange(0.05,1.,0.05) nikcleju@14: numvects = 100; # Number of vectors to generate nikcleju@14: SNRdb = 100.; # This is norm(signal)/norm(noise), so power, not energy nikcleju@14: nikcleju@14: dosavedata = True nikcleju@14: savedataname = 'exact_pt_std1.mat' nikcleju@14: doshowplot = False nikcleju@14: dosaveplot = True nikcleju@14: saveplotbase = 'exact_pt_std1_' nikcleju@14: saveplotexts = ('png','pdf','eps') nikcleju@14: nikcleju@14: return algos,d,sigma,deltas,rhos,numvects,SNRdb,dosavedata,savedataname,\ nikcleju@14: doshowplot,dosaveplot,saveplotbase,saveplotexts nikcleju@14: nikcleju@14: nikcleju@14: # Standard parameters 2 nikcleju@14: # All algorithms, 100 vectors nikcleju@14: # d=20, sigma = 10, delta and rho full resolution (0.05 step), lambdas = 0, 1e-4, 1e-2, 1, 100, 10000 nikcleju@14: # Do save data, do save plots, don't show plots nikcleju@14: def std2(): nikcleju@14: # Define which algorithms to run nikcleju@14: algos = exact_gap,exact_sl0,exact_bp_cvxopt,exact_ompeps,exact_tst # tuple of algorithms nikcleju@14: nikcleju@14: d = 20.0 nikcleju@14: sigma = 10.0 nikcleju@14: deltas = numpy.arange(0.05,1.,0.05) nikcleju@14: rhos = numpy.arange(0.05,1.,0.05) nikcleju@14: numvects = 100; # Number of vectors to generate nikcleju@14: SNRdb = 100.; # This is norm(signal)/norm(noise), so power, not energy nikcleju@14: nikcleju@14: dosavedata = True nikcleju@14: savedataname = 'exact_pt_std2.mat' nikcleju@14: doshowplot = False nikcleju@14: dosaveplot = True nikcleju@14: saveplotbase = 'exact_pt_std2_' nikcleju@14: saveplotexts = ('png','pdf','eps') nikcleju@14: nikcleju@14: return algos,d,sigma,deltas,rhos,numvects,SNRdb,dosavedata,savedataname,\ nikcleju@14: doshowplot,dosaveplot,saveplotbase,saveplotexts nikcleju@14: nikcleju@14: nikcleju@14: # # Standard parameters 3 nikcleju@14: ## All algorithms, 100 vectors nikcleju@14: ## d=50, sigma = 2, delta and rho full resolution (0.05 step), lambdas = 0, 1e-4, 1e-2, 1, 100, 10000 nikcleju@14: ## Do save data, do save plots, don't show plots nikcleju@14: ## IDENTICAL with 1 but with 10dB SNR noise nikcleju@14: #def std3(): nikcleju@14: # # Define which algorithms to run nikcleju@14: # algos = exact_gap,exact_sl0,exact_bp,exact_ompeps,exact_tst # tuple of algorithms nikcleju@14: # nikcleju@14: # d = 50.0; nikcleju@14: # sigma = 2.0 nikcleju@14: # deltas = numpy.arange(0.05,1.,0.05) nikcleju@14: # rhos = numpy.arange(0.05,1.,0.05) nikcleju@14: # numvects = 100; # Number of vectors to generate nikcleju@14: # SNRdb = 100.; # This is norm(signal)/norm(noise), so power, not energy nikcleju@14: # nikcleju@14: # dosavedata = True nikcleju@14: # savedataname = 'exact_pt_std3.mat' nikcleju@14: # doshowplot = False nikcleju@14: # dosaveplot = True nikcleju@14: # saveplotbase = 'exact_pt_std3_' nikcleju@14: # saveplotexts = ('png','pdf','eps') nikcleju@14: # nikcleju@14: # return algos,d,sigma,deltas,rhos,numvects,SNRdb,dosavedata,savedataname,\ nikcleju@14: # doshowplot,dosaveplot,saveplotbase,saveplotexts nikcleju@14: nikcleju@14: ## Standard parameters 4 nikcleju@14: ## All algorithms, 100 vectors nikcleju@14: ## d=20, sigma = 10, delta and rho full resolution (0.05 step), lambdas = 0, 1e-4, 1e-2, 1, 100, 10000 nikcleju@14: ## Do save data, do save plots, don't show plots nikcleju@14: ## Identical to 2 but with 10dB SNR noise nikcleju@14: #def std4(): nikcleju@14: # # Define which algorithms to run nikcleju@14: # algos = exact_gap,exact_sl0,exact_bp,exact_ompeps,exact_tst # tuple of algorithms nikcleju@14: # nikcleju@14: # d = 20.0 nikcleju@14: # sigma = 10.0 nikcleju@14: # deltas = numpy.arange(0.05,1.,0.05) nikcleju@14: # rhos = numpy.arange(0.05,1.,0.05) nikcleju@14: # numvects = 100; # Number of vectors to generate nikcleju@14: # SNRdb = 10.; # This is norm(signal)/norm(noise), so power, not energy nikcleju@14: # nikcleju@14: # dosavedata = True nikcleju@14: # savedataname = 'exact_pt_std4.mat' nikcleju@14: # doshowplot = False nikcleju@14: # dosaveplot = True nikcleju@14: # saveplotbase = 'exact_pt_std4_' nikcleju@14: # saveplotexts = ('png','pdf','eps') nikcleju@14: # nikcleju@14: # return algos,d,sigma,deltas,rhos,numvects,SNRdb,dosavedata,savedataname,\ nikcleju@14: # doshowplot,dosaveplot,saveplotbase,saveplotexts