diff ABSlambda.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 7fdf964f4edd
children
line wrap: on
line diff
--- a/ABSlambda.py	Thu Apr 05 14:00:13 2012 +0300
+++ b/ABSlambda.py	Mon Apr 23 10:54:57 2012 +0300
@@ -30,7 +30,8 @@
   aggD = numpy.vstack((aggDupper, lbd * aggDlower))
   aggy = numpy.concatenate((y, numpy.zeros(N-n)))
   
-  return numpy.dot(D, pyCSalgos.SL0.SL0_approx.SL0_approx(aggD,aggy,epsilon,sigma_min,sigma_decrease_factor,mu_0,L,A_pinv,true_s))
+  #return numpy.dot(D, pyCSalgos.SL0.SL0_approx.SL0_approx(aggD,aggy,epsilon,sigma_min,sigma_decrease_factor,mu_0,L,A_pinv,true_s))
+  return numpy.dot(D, pyCSalgos.SL0.SL0_approx.SL0_approx_dai(aggD,aggy,epsilon,sigma_min,sigma_decrease_factor,mu_0,L,A_pinv,true_s))
   
 def bp(y,M,Omega,epsilon,lbd, x0, lbtol=1e-3, mu=10, cgtol=1e-8, cgmaxiter=200, verbose=False):
   """
@@ -55,7 +56,7 @@
   U,S,Vt = numpy.linalg.svd(D)
   aggDupper = numpy.dot(M,D)
   aggDlower = Vt[-(N-n):,:]
-  aggD = numpy.hstack((aggDupper, lbd * aggDlower))
+  aggD = numpy.vstack((aggDupper, lbd * aggDlower))
   aggy = numpy.concatenate((y, numpy.zeros(N-n)))
   
   opts = dict()
@@ -76,5 +77,5 @@
   aggy = numpy.concatenate((y, numpy.zeros(N-n)))
   
   tol = epsilon / numpy.linalg.norm(aggy)
-  return numpy.dot(D, pyCSalgos.RecomTST.RecommendedTST.RecommendedTST(aggD, aggy, nsweep, tol, xinitial, ro))
+  return numpy.dot(D, pyCSalgos.TST.RecommendedTST.RecommendedTST(aggD, aggy, nsweep, tol, xinitial, ro))
   
\ No newline at end of file