def do_1d_check_sorted(method, qe_method): xc = x.copy() yc = y.copy() s = SortedDiscreteSystem(xc,(1,10),10, Ny) # calculate all entropies s.calculate_entropies(method=method, calc=allcalc, qe_method=qe_method) # check output assinged assert_(s.H == getattr(s,'H_%s'%method.replace('-',''))) v = np.array([s.H[k] for k in allcalc]) assert_array_almost_equal(v, alltrue, decimal=2) # check didn't do something nasty to inputs assert_array_equal(x, xc) assert_array_equal(y, yc)
def do_1d_check_sorted(method, qe_method): xc = x.copy() yc = y.copy() s = SortedDiscreteSystem(xc, (1, 10), 10, Ny) # calculate all entropies s.calculate_entropies(method=method, calc=allcalc, qe_method=qe_method) # check output assinged assert_(s.H == getattr(s, 'H_%s' % method.replace('-', ''))) v = np.array([s.H[k] for k in allcalc]) assert_array_almost_equal(v, alltrue, decimal=2) # check didn't do something nasty to inputs assert_array_equal(x, xc) assert_array_equal(y, yc)
def test_toy1_sorted(): s = SortedDiscreteSystem(x,(3,3),2,Ny) s.calculate_entropies(method='plugin', calc=toycalc) v = np.array([s.H[t] for t in toycalc]) assert_array_almost_equal(v, toytrue)
def test_toy1_sorted(): s = SortedDiscreteSystem(x, (3, 3), 2, Ny) s.calculate_entropies(method='plugin', calc=toycalc) v = np.array([s.H[t] for t in toycalc]) assert_array_almost_equal(v, toytrue)
import numpy #z2d = exrxp.exrxp_ntr (nlen,tau_msec/1000.0,fs_Hz, ntr) z2d = exrxp.exrxp_ntr (nlen,tau_n_msec/1000.0,fs_Hz, ntr) * sigma_n #* 2 #*2*4 z0 = exrxp.exrxp_ntr (nlen,tau_s_msec/1000.0,fs_Hz, 1) * sigma_s resp2d = z2d + numpy.tile(z0,[1,ntr]) #print z2d.shape # nlen*ntr z2d_q = quantize_TxN(resp2d, M, 'sampling') #'bins') #z2dqL,nta = sliding(z2d_q, L=2) #z2dqL,nta = sliding(z2d_q, L=1) z2dqL,nta = sliding(z2d_q, L=L) #import numpy from pyentropy import SortedDiscreteSystem s = SortedDiscreteSystem(z2dqL, (z2dqL.shape[0],M), len(nta), nta) s.calculate_entropies(method='qe', calc=['HX', 'HXY']) mi = s.I() / L print M print mi import analytical_exrxp as e a=e.exrxp_analytical_mi(tau_s_msec/1000,sigma_s,tau_n_msec/1000,sigma_n,fs_Hz) a_mi_persec = a[0] ami_perbin = a_mi_persec / fs_Hz #print "mi= %g "%( a_mi_persec / fs_Hz * nlen ,) print "mi= %g "%( ami_perbin ,) #error: it should be ttwice as large