:obj:`gpytorch.lazy.LazyTensor`
from .mul_lazy_tensor import MulLazyTensor
return MulLazyTensor(self, other).evaluate_kernel()
def _preconditioner(self):
(Optional) define a preconditioner (P) for linear conjugate gradients
After Change
self = self.evaluate_kernel()
other = other.evaluate_kernel()
if isinstance(self, NonLazyTensor) or isinstance(other, NonLazyTensor):
return NonLazyTensor(self.evaluate() * other.evaluate())
else:
left_lazy_tensor = self if self.root_decomposition_size() < other.root_decomposition_size() else other
right_lazy_tensor = other if left_lazy_tensor is self else self
return MulLazyTensor(left_lazy_tensor.root_decomposition(), right_lazy_tensor.root_decomposition())