def sample(self, k):
p = len(self.mean)
if self.df == np.inf:
chisq = 1.0
else:
chisq = self.rng.chisquare(self.df, k) / self.df
chisq = chisq.reshape(-1,1).repeat(p, axis=1)
mvn = self.rng.multivariate_normal(np.zeros(p), self.cov, k)
return self.mean + np.divide(mvn, np.sqrt(chisq))
评论列表
文章目录