def computePowerSimulations(s=0, n=10,N=1000,save=True,load=False,NumericallyStable=False,takelog=True): """ Args: s: selection strength n: computes nth power N: number of diploid individuals Returns: T^10 """ fname='{}transition/simulation/S{:02.0f}.df'.format(utl.outpath, s * 100,) if load: if os.path.exists(fname): return pd.read_pickle(fname) if NumericallyStable: T = Markov.computeTransition(s, N, takeLog=True) #OLD NUMERICALLY STABLE T=T.apply(lambda x: x-x.max(),axis=1).astype(np.float128).apply(np.exp).apply(lambda x: x/x.sum(),axis=1) Tn=Markov.computePower(T,n) else: T=Markov.computeTransition(s=s,N=N) Tn=Markov.computePower(T,n) if takelog: Tn=utl.numbaLog(Tn) # if save : Tn.to_pickle(fname) print 'computed power for s:',s return Tn