nikcleju@14
|
1 # -*- coding: utf-8 -*-
|
nikcleju@14
|
2 """
|
nikcleju@14
|
3 Created on Wed Dec 07 14:04:40 2011
|
nikcleju@14
|
4
|
nikcleju@14
|
5 @author: ncleju
|
nikcleju@14
|
6 """
|
nikcleju@14
|
7
|
nikcleju@14
|
8 import numpy
|
nikcleju@14
|
9 from algos import *
|
nikcleju@14
|
10
|
nikcleju@14
|
11 #==========================
|
nikcleju@14
|
12 # Standard parameters
|
nikcleju@14
|
13 #==========================
|
nikcleju@14
|
14 # Standard parameters for quick testing
|
nikcleju@14
|
15 # Algorithms: GAP, SL0 and BP
|
nikcleju@14
|
16 # d=50, sigma = 2, delta and rho only 3 x 3, lambdas = 0, 1e-4, 1e-2, 1, 100, 10000
|
nikcleju@14
|
17 # Do save data, do save plots, don't show plots
|
nikcleju@14
|
18 # Useful for short testing
|
nikcleju@14
|
19 def stdtest():
|
nikcleju@14
|
20 # Define which algorithms to run
|
nikcleju@14
|
21 #algos = exact_gap,exact_sl0,exact_bp,exact_ompeps,exact_tst # tuple of algorithms
|
nikcleju@14
|
22 algos = exact_bp_cvxopt, # tuple of algorithms
|
nikcleju@14
|
23
|
nikcleju@14
|
24 d = 50.0
|
nikcleju@14
|
25 sigma = 1.2
|
nikcleju@14
|
26 deltas = numpy.array([0.05, 0.45, 0.95])
|
nikcleju@14
|
27 rhos = numpy.array([0.05, 0.45, 0.95])
|
nikcleju@14
|
28 #deltas = numpy.array([0.6])
|
nikcleju@14
|
29 #deltas = numpy.arange(0.05,1.,0.05)
|
nikcleju@14
|
30 #rhos = numpy.array([0.05])
|
nikcleju@14
|
31 numvects = 10; # Number of vectors to generate
|
nikcleju@14
|
32 SNRdb = 100.; # This is norm(signal)/norm(noise), so power, not energy
|
nikcleju@14
|
33
|
nikcleju@14
|
34 dosavedata = True
|
nikcleju@14
|
35 savedataname = 'exact_pt_stdtest.mat'
|
nikcleju@14
|
36 doshowplot = False
|
nikcleju@14
|
37 dosaveplot = True
|
nikcleju@14
|
38 saveplotbase = 'exact_pt_stdtest_'
|
nikcleju@14
|
39 saveplotexts = ('png','pdf','eps')
|
nikcleju@14
|
40
|
nikcleju@14
|
41 return algos,d,sigma,deltas,rhos,numvects,SNRdb,dosavedata,savedataname,\
|
nikcleju@14
|
42 doshowplot,dosaveplot,saveplotbase,saveplotexts
|
nikcleju@14
|
43
|
nikcleju@14
|
44
|
nikcleju@14
|
45 # Standard parameters 1
|
nikcleju@14
|
46 # All algorithms, 100 vectors
|
nikcleju@14
|
47 # d=50, sigma = 2, delta and rho full resolution (0.05 step), lambdas = 0, 1e-4, 1e-2, 1, 100, 10000
|
nikcleju@14
|
48 # Do save data, do save plots, don't show plots
|
nikcleju@14
|
49 def std1():
|
nikcleju@14
|
50 # Define which algorithms to run
|
nikcleju@14
|
51 algos = exact_gap,exact_sl0,exact_bp_cvxopt,exact_ompeps,exact_tst # tuple of algorithms
|
nikcleju@14
|
52
|
nikcleju@14
|
53 d = 50.0;
|
nikcleju@14
|
54 sigma = 1.2
|
nikcleju@14
|
55 deltas = numpy.arange(0.05,1.,0.05)
|
nikcleju@14
|
56 rhos = numpy.arange(0.05,1.,0.05)
|
nikcleju@14
|
57 numvects = 100; # Number of vectors to generate
|
nikcleju@14
|
58 SNRdb = 100.; # This is norm(signal)/norm(noise), so power, not energy
|
nikcleju@14
|
59
|
nikcleju@14
|
60 dosavedata = True
|
nikcleju@14
|
61 savedataname = 'exact_pt_std1.mat'
|
nikcleju@14
|
62 doshowplot = False
|
nikcleju@14
|
63 dosaveplot = True
|
nikcleju@14
|
64 saveplotbase = 'exact_pt_std1_'
|
nikcleju@14
|
65 saveplotexts = ('png','pdf','eps')
|
nikcleju@14
|
66
|
nikcleju@14
|
67 return algos,d,sigma,deltas,rhos,numvects,SNRdb,dosavedata,savedataname,\
|
nikcleju@14
|
68 doshowplot,dosaveplot,saveplotbase,saveplotexts
|
nikcleju@14
|
69
|
nikcleju@14
|
70
|
nikcleju@14
|
71 # Standard parameters 2
|
nikcleju@14
|
72 # All algorithms, 100 vectors
|
nikcleju@14
|
73 # d=20, sigma = 10, delta and rho full resolution (0.05 step), lambdas = 0, 1e-4, 1e-2, 1, 100, 10000
|
nikcleju@14
|
74 # Do save data, do save plots, don't show plots
|
nikcleju@14
|
75 def std2():
|
nikcleju@14
|
76 # Define which algorithms to run
|
nikcleju@14
|
77 algos = exact_gap,exact_sl0,exact_bp_cvxopt,exact_ompeps,exact_tst # tuple of algorithms
|
nikcleju@14
|
78
|
nikcleju@14
|
79 d = 20.0
|
nikcleju@14
|
80 sigma = 10.0
|
nikcleju@14
|
81 deltas = numpy.arange(0.05,1.,0.05)
|
nikcleju@14
|
82 rhos = numpy.arange(0.05,1.,0.05)
|
nikcleju@14
|
83 numvects = 100; # Number of vectors to generate
|
nikcleju@14
|
84 SNRdb = 100.; # This is norm(signal)/norm(noise), so power, not energy
|
nikcleju@14
|
85
|
nikcleju@14
|
86 dosavedata = True
|
nikcleju@14
|
87 savedataname = 'exact_pt_std2.mat'
|
nikcleju@14
|
88 doshowplot = False
|
nikcleju@14
|
89 dosaveplot = True
|
nikcleju@14
|
90 saveplotbase = 'exact_pt_std2_'
|
nikcleju@14
|
91 saveplotexts = ('png','pdf','eps')
|
nikcleju@14
|
92
|
nikcleju@14
|
93 return algos,d,sigma,deltas,rhos,numvects,SNRdb,dosavedata,savedataname,\
|
nikcleju@14
|
94 doshowplot,dosaveplot,saveplotbase,saveplotexts
|
nikcleju@14
|
95
|
nikcleju@14
|
96
|
nikcleju@14
|
97 # # Standard parameters 3
|
nikcleju@14
|
98 ## All algorithms, 100 vectors
|
nikcleju@14
|
99 ## d=50, sigma = 2, delta and rho full resolution (0.05 step), lambdas = 0, 1e-4, 1e-2, 1, 100, 10000
|
nikcleju@14
|
100 ## Do save data, do save plots, don't show plots
|
nikcleju@14
|
101 ## IDENTICAL with 1 but with 10dB SNR noise
|
nikcleju@14
|
102 #def std3():
|
nikcleju@14
|
103 # # Define which algorithms to run
|
nikcleju@14
|
104 # algos = exact_gap,exact_sl0,exact_bp,exact_ompeps,exact_tst # tuple of algorithms
|
nikcleju@14
|
105 #
|
nikcleju@14
|
106 # d = 50.0;
|
nikcleju@14
|
107 # sigma = 2.0
|
nikcleju@14
|
108 # deltas = numpy.arange(0.05,1.,0.05)
|
nikcleju@14
|
109 # rhos = numpy.arange(0.05,1.,0.05)
|
nikcleju@14
|
110 # numvects = 100; # Number of vectors to generate
|
nikcleju@14
|
111 # SNRdb = 100.; # This is norm(signal)/norm(noise), so power, not energy
|
nikcleju@14
|
112 #
|
nikcleju@14
|
113 # dosavedata = True
|
nikcleju@14
|
114 # savedataname = 'exact_pt_std3.mat'
|
nikcleju@14
|
115 # doshowplot = False
|
nikcleju@14
|
116 # dosaveplot = True
|
nikcleju@14
|
117 # saveplotbase = 'exact_pt_std3_'
|
nikcleju@14
|
118 # saveplotexts = ('png','pdf','eps')
|
nikcleju@14
|
119 #
|
nikcleju@14
|
120 # return algos,d,sigma,deltas,rhos,numvects,SNRdb,dosavedata,savedataname,\
|
nikcleju@14
|
121 # doshowplot,dosaveplot,saveplotbase,saveplotexts
|
nikcleju@14
|
122
|
nikcleju@14
|
123 ## Standard parameters 4
|
nikcleju@14
|
124 ## All algorithms, 100 vectors
|
nikcleju@14
|
125 ## d=20, sigma = 10, delta and rho full resolution (0.05 step), lambdas = 0, 1e-4, 1e-2, 1, 100, 10000
|
nikcleju@14
|
126 ## Do save data, do save plots, don't show plots
|
nikcleju@14
|
127 ## Identical to 2 but with 10dB SNR noise
|
nikcleju@14
|
128 #def std4():
|
nikcleju@14
|
129 # # Define which algorithms to run
|
nikcleju@14
|
130 # algos = exact_gap,exact_sl0,exact_bp,exact_ompeps,exact_tst # tuple of algorithms
|
nikcleju@14
|
131 #
|
nikcleju@14
|
132 # d = 20.0
|
nikcleju@14
|
133 # sigma = 10.0
|
nikcleju@14
|
134 # deltas = numpy.arange(0.05,1.,0.05)
|
nikcleju@14
|
135 # rhos = numpy.arange(0.05,1.,0.05)
|
nikcleju@14
|
136 # numvects = 100; # Number of vectors to generate
|
nikcleju@14
|
137 # SNRdb = 10.; # This is norm(signal)/norm(noise), so power, not energy
|
nikcleju@14
|
138 #
|
nikcleju@14
|
139 # dosavedata = True
|
nikcleju@14
|
140 # savedataname = 'exact_pt_std4.mat'
|
nikcleju@14
|
141 # doshowplot = False
|
nikcleju@14
|
142 # dosaveplot = True
|
nikcleju@14
|
143 # saveplotbase = 'exact_pt_std4_'
|
nikcleju@14
|
144 # saveplotexts = ('png','pdf','eps')
|
nikcleju@14
|
145 #
|
nikcleju@14
|
146 # return algos,d,sigma,deltas,rhos,numvects,SNRdb,dosavedata,savedataname,\
|
nikcleju@14
|
147 # doshowplot,dosaveplot,saveplotbase,saveplotexts
|