def block_covariance(self):
"the block covariance"
if self._block_covariance is None:
self._block_covariance = 0
if self.ndb <= 1: # point kriging
self._block_covariance = self.unbias
else: # block kriging
cov = list()
for x1, y1 in izip(self.xdb, self.ydb):
for x2, y2 in izip(self.xdb, self.ydb):
cov.append(self._cova2(x1, y1, x2, y2))
cov = np.array(cov).reshape((self.ndb, self.ndb))
cov[np.diag_indices_from(cov)] -= self.c0
self._block_covariance = np.mean(cov)
return self._block_covariance
评论列表
文章目录