def _tri_nn(cls, spins): """ 第二隣接を含む二等辺三角形クラスターの相関関数 """ sp_gp = cls._nn_combi(spins) quad = [x[0] + x[1] for x in MakePattern.nCrList(sp_gp, 2)] tri = [y for x in quad for y in MakePattern.nCrList(x, 3)] return cls.sum_spins(tri)
def _pair(cls, spins): """ 第一隣接の二体クラスターの相関関数 """ sp_gp = cls._nn_combi(spins) #pair_gp = itertools.combinations(sp_gp, 2) pair_gp = MakePattern.nCrList(sp_gp, 2) pair = [y for x in pair_gp for y in MakePattern.make_tree(*x)] return cls.sum_spins(pair)