diff -r 000000000000 -r 0efde00f9229 python/makezero.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/python/makezero.py Fri May 27 14:24:59 2011 +0530 @@ -0,0 +1,28 @@ +#!/usr/bin/python + +import pylab as pl + +def makezero(B, gap=None): + B = pl.array(B) # B is a vector! + B = B.squeeze() + if len(B.shape)!=1: + print "B must be a vector!" + exit() + if gap == None: + gap = 1e8 + temp = B[pl.find(B)] + temp = -pl.sort(-abs(temp)) + ratio = temp[:-1]/pl.float32(temp[1:]) + if pl.find(ratio>gap).size != 0: + min_ind = min(pl.find(ratio>gap)) + our_eps = temp[min_ind+1] + zeroind = pl.find(abs(B)<=our_eps) + B[zeroind] = 0 + return pl.atleast_2d(B) + +if __name__== "__main__": + B = pl.array([2,3,.000000000004,5,.00006]) + print B + B = makezero(B) + print B +