view stdparams_exact.py @ 14:f2eb027ed101

test_exact.py working. Added bp_cvxopt(). Commented the code that made the operator Omega more coherent.
author Nic Cleju <nikcleju@gmail.com>
date Fri, 16 Mar 2012 13:42:31 +0200
parents
children a27cfe83fe12
line wrap: on
line source
# -*- coding: utf-8 -*-
"""
Created on Wed Dec 07 14:04:40 2011

@author: ncleju
"""

import numpy
from algos import *

#==========================
# Standard parameters
#==========================
# Standard parameters for quick testing
# Algorithms: GAP, SL0 and BP
# d=50, sigma = 2, delta and rho only 3 x 3, lambdas = 0, 1e-4, 1e-2, 1, 100, 10000
# Do save data, do save plots, don't show plots
# Useful for short testing 
def stdtest():
  # Define which algorithms to run
  #algos = exact_gap,exact_sl0,exact_bp,exact_ompeps,exact_tst       # tuple of algorithms
  algos = exact_bp_cvxopt,       # tuple of algorithms
  
  d = 50.0
  sigma = 1.2
  deltas = numpy.array([0.05, 0.45, 0.95])
  rhos = numpy.array([0.05, 0.45, 0.95])
  #deltas = numpy.array([0.6])
  #deltas = numpy.arange(0.05,1.,0.05)
  #rhos = numpy.array([0.05])
  numvects = 10; # Number of vectors to generate
  SNRdb = 100.;    # This is norm(signal)/norm(noise), so power, not energy
  
  dosavedata = True
  savedataname = 'exact_pt_stdtest.mat'
  doshowplot = False
  dosaveplot = True
  saveplotbase = 'exact_pt_stdtest_'
  saveplotexts = ('png','pdf','eps')

  return algos,d,sigma,deltas,rhos,numvects,SNRdb,dosavedata,savedataname,\
          doshowplot,dosaveplot,saveplotbase,saveplotexts   


# Standard parameters 1
# 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
# Do save data, do save plots, don't show plots
def std1():
  # Define which algorithms to run
  algos = exact_gap,exact_sl0,exact_bp_cvxopt,exact_ompeps,exact_tst       # tuple of algorithms
  
  d = 50.0;
  sigma = 1.2
  deltas = numpy.arange(0.05,1.,0.05)
  rhos = numpy.arange(0.05,1.,0.05)
  numvects = 100; # Number of vectors to generate
  SNRdb = 100.;    # This is norm(signal)/norm(noise), so power, not energy
  
  dosavedata = True
  savedataname = 'exact_pt_std1.mat'
  doshowplot = False
  dosaveplot = True
  saveplotbase = 'exact_pt_std1_'
  saveplotexts = ('png','pdf','eps')

  return algos,d,sigma,deltas,rhos,numvects,SNRdb,dosavedata,savedataname,\
          doshowplot,dosaveplot,saveplotbase,saveplotexts
          
         
# Standard parameters 2
# All algorithms, 100 vectors
# d=20, sigma = 10, delta and rho full resolution (0.05 step), lambdas = 0, 1e-4, 1e-2, 1, 100, 10000
# Do save data, do save plots, don't show plots
def std2():
  # Define which algorithms to run
  algos = exact_gap,exact_sl0,exact_bp_cvxopt,exact_ompeps,exact_tst       # tuple of algorithms
  
  d = 20.0
  sigma = 10.0
  deltas = numpy.arange(0.05,1.,0.05)
  rhos = numpy.arange(0.05,1.,0.05)
  numvects = 100; # Number of vectors to generate
  SNRdb = 100.;    # This is norm(signal)/norm(noise), so power, not energy
  
  dosavedata = True
  savedataname = 'exact_pt_std2.mat'
  doshowplot = False
  dosaveplot = True
  saveplotbase = 'exact_pt_std2_'
  saveplotexts = ('png','pdf','eps')

  return algos,d,sigma,deltas,rhos,numvects,SNRdb,dosavedata,savedataname,\
          doshowplot,dosaveplot,saveplotbase,saveplotexts
  
  
#  # Standard parameters 3
## 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
## Do save data, do save plots, don't show plots
## IDENTICAL with 1 but with 10dB SNR noise
#def std3():
#  # Define which algorithms to run
#  algos = exact_gap,exact_sl0,exact_bp,exact_ompeps,exact_tst       # tuple of algorithms
#  
#  d = 50.0;
#  sigma = 2.0
#  deltas = numpy.arange(0.05,1.,0.05)
#  rhos = numpy.arange(0.05,1.,0.05)
#  numvects = 100; # Number of vectors to generate
#  SNRdb = 100.;    # This is norm(signal)/norm(noise), so power, not energy
#  
#  dosavedata = True
#  savedataname = 'exact_pt_std3.mat'
#  doshowplot = False
#  dosaveplot = True
#  saveplotbase = 'exact_pt_std3_'
#  saveplotexts = ('png','pdf','eps')
#
#  return algos,d,sigma,deltas,rhos,numvects,SNRdb,dosavedata,savedataname,\
#          doshowplot,dosaveplot,saveplotbase,saveplotexts
          
## Standard parameters 4
## All algorithms, 100 vectors
## d=20, sigma = 10, delta and rho full resolution (0.05 step), lambdas = 0, 1e-4, 1e-2, 1, 100, 10000
## Do save data, do save plots, don't show plots
## Identical to 2 but with 10dB SNR noise
#def std4():
#  # Define which algorithms to run
#  algos = exact_gap,exact_sl0,exact_bp,exact_ompeps,exact_tst       # tuple of algorithms
#  
#  d = 20.0
#  sigma = 10.0
#  deltas = numpy.arange(0.05,1.,0.05)
#  rhos = numpy.arange(0.05,1.,0.05)
#  numvects = 100; # Number of vectors to generate
#  SNRdb = 10.;    # This is norm(signal)/norm(noise), so power, not energy
#  
#  dosavedata = True
#  savedataname = 'exact_pt_std4.mat'
#  doshowplot = False
#  dosaveplot = True
#  saveplotbase = 'exact_pt_std4_'
#  saveplotexts = ('png','pdf','eps')
#
#  return algos,d,sigma,deltas,rhos,numvects,SNRdb,dosavedata,savedataname,\
#          doshowplot,dosaveplot,saveplotbase,saveplotexts