def __getitem__(self, slc): rslc, cslc = misc.extract_slices(slc) if self.bias_type == 'row': return GSMNode(self._value[slc].copy(), self.scale_node[slc].copy(), self.bias_type, self.bias[rslc].copy()) elif self.bias_type == 'col': return GSMNode(self._value[slc].copy(), self.scale_node[slc].copy(), self.bias_type, self.bias[cslc].copy()) elif self.bias_type == 'scalar': return GSMNode(self._value[slc].copy(), self.scale_node[slc].copy(), self.bias_type, self.bias)
def __getitem__(self, slc): rslc, cslc = misc.extract_slices(slc) if self.variance_type == 'scalar': sigma_sq = self.sigma_sq elif self.variance_type == 'row': sigma_sq = self.sigma_sq[rslc].copy() elif self.variance_type == 'col': sigma_sq = self.sigma_sq[cslc].copy() return GaussianNode(self._value[slc].copy(), self.variance_type, sigma_sq)
def __getitem__(self, slc): assert len(self.children) == 2 rslc, cslc = misc.extract_slices(slc) return ProductNode([self.children[0][rslc, :], self.children[1][:, cslc]])
def __getitem__(self, slc): rslc, cslc = misc.extract_slices(slc) return DataMatrix(self.observations[slc], self.row_ids[rslc], self.col_ids[cslc], misc.slice_list(self.row_labels, rslc), misc.slice_list(self.col_labels, cslc), self.m_orig, self.n_orig)