def ordered_log_likelihoods(self, liks):
try:
return {time : self.ordered_log_likelihoods(l) for time,l in liks.items()}
except AttributeError:
liks = liks * self.antisymmetries
all_nC = self.config_array[:,:-1,:-1].sum(axis=(1,2))
liks = liks[all_nC == self.n]
full_confs = self.config_array[:,:-1,:-1][all_nC == self.n, :, :]
liks = numpy.log(liks)
liks -= scipy.special.gammaln(self.n+1)
for i in (0,1):
for j in (0,1):
liks += scipy.special.gammaln(full_confs[:,i,j]+1)
full_confs = [tuple(sorted(((i,j),cnf[i,j]) for i in (0,1) for j in (0,1))) for cnf in full_confs]
return dict(zip(full_confs, liks))
评论列表
文章目录