def diag(self): res = Variable(torch.ones(self.size()[0])) for lazy_var in self.lazy_vars: res = res * lazy_var.diag() if self.added_diag is not None: res = res + self.added_diag return res