Mercurial > hg > absrec
view ABSmixed.py @ 13:a2d881253324
In working, not debugged yet
author | Nic Cleju <nikcleju@gmail.com> |
---|---|
date | Mon, 12 Mar 2012 17:04:00 +0200 |
parents | b48f725ceafa |
children | 7fdf964f4edd |
line wrap: on
line source
# -*- coding: utf-8 -*- """ Created on Fri Mar 09 14:06:13 2012 @author: ncleju """ import numpy import pyCSalgos.BP.l1qec import pyCSalgos.SL0.SL0_approx def bp(y,M,Omega,epsilon, x0, lbtol=1e-3, mu=10, cgtol=1e-8, cgmaxiter=200, verbose=False): N,n = Omega.shape D = numpy.linalg.pinv(Omega) U,S,Vt = numpy.linalg.svd(D) Aeps = numpy.dot(M,D) Aexact = Vt[-(N-n):,:] return numpy.dot(D , pyCSalgos.BP.l1qec.l1qec_logbarrier(x0,Aeps,Aeps.T,y,epsilon,Aexact,Aexact.T,numpy.zeros(N-n), lbtol, mu, cgtol, cgmaxiter, verbose)) def sl0(y,M,Omega,epsilon, sigma_min, sigma_decrease_factor=0.5, mu_0=2, L=3, Aeps_pinv=None, Aexact_pinv=None, true_s=None): N,n = Omega.shape D = numpy.linalg.pinv(Omega) U,S,Vt = numpy.linalg.svd(D) Aeps = numpy.dot(M,D) Aexact = Vt[-(N-n):,:] return numpy.dot(D, pyCSalgos.SL0.SL0_approx.SL0_approx_analysis(Aeps,Aexact,y,epsilon,sigma_min,sigma_decrease_factor,mu_0,L,Aeps_pinv,Aexact_pinv,true_s))