comparison scripts/ABSapprox.py @ 25:dd0e78b5bb13

Added .squeeze() in GAP function to avoid strange error in numpy.delete(), which wasn't raised on my laptop but was raised on octave
author nikcleju
date Wed, 09 Nov 2011 00:55:45 +0000
parents c07440417bd8
children 1a88766113a9
comparison
equal deleted inserted replaced
24:c07440417bd8 25:dd0e78b5bb13
6 """ 6 """
7 7
8 import numpy as np 8 import numpy as np
9 import scipy.io 9 import scipy.io
10 import math 10 import math
11 import matplotlib.pyplot as plt 11 #import matplotlib.pyplot as plt
12 import matplotlib.cm as cm 12 #import matplotlib.cm as cm
13 import pyCSalgos 13 import pyCSalgos
14 import pyCSalgos.GAP.GAP 14 import pyCSalgos.GAP.GAP
15 import pyCSalgos.SL0.SL0_approx 15 import pyCSalgos.SL0.SL0_approx
16 16
17 # Define functions that prepare arguments for each algorithm call 17 # Define functions that prepare arguments for each algorithm call
53 53
54 nalgosN = len(algosN) 54 nalgosN = len(algosN)
55 nalgosL = len(algosL) 55 nalgosL = len(algosL)
56 56
57 #Set up experiment parameters 57 #Set up experiment parameters
58 d = 50; 58 d = 50.0;
59 sigma = 2.0 59 sigma = 2.0
60 deltas = np.arange(0.05,0.95,0.05) 60 deltas = np.arange(0.05,0.95,0.05)
61 rhos = np.arange(0.05,0.95,0.05) 61 rhos = np.arange(0.05,0.95,0.05)
62 #deltas = np.array([0.05,0.95]) 62 #deltas = np.array([0.15,0.95])
63 #rhos = np.array([0.05,0.95]) 63 #rhos = np.array([0.15,0.95])
64 #deltas = np.array([0.05]) 64 #deltas = np.array([0.05])
65 #rhos = np.array([0.05]) 65 #rhos = np.array([0.05])
66 #delta = 0.8; 66 #delta = 0.8;
67 #rho = 0.15; 67 #rho = 0.15;
68 numvects = 100; # Number of vectors to generate 68 numvects = 20; # Number of vectors to generate
69 SNRdb = 20.; # This is norm(signal)/norm(noise), so power, not energy 69 SNRdb = 20.; # This is norm(signal)/norm(noise), so power, not energy
70 # Values for lambda 70 # Values for lambda
71 #lambdas = [0 10.^linspace(-5, 4, 10)]; 71 #lambdas = [0 10.^linspace(-5, 4, 10)];
72 lambdas = np.concatenate((np.array([0]), 10**np.linspace(-5, 4, 10))) 72 #lambdas = np.concatenate((np.array([0]), 10**np.linspace(-5, 4, 10)))
73 lambdas = np.array([0., 0.0001, 0.01, 1, 100, 10000])
73 74
74 meanmatrix = dict() 75 meanmatrix = dict()
75 for i,algo in zip(np.arange(nalgosN),algosN): 76 for i,algo in zip(np.arange(nalgosN),algosN):
76 meanmatrix[algo[1]] = np.zeros((rhos.size, deltas.size)) 77 meanmatrix[algo[1]] = np.zeros((rhos.size, deltas.size))
77 for i,algo in zip(np.arange(nalgosL),algosL): 78 for i,algo in zip(np.arange(nalgosL),algosL):