docstr: Computes :math:`K_{X^{*}X} S` given a precomputed cache
  Where :math:`S` is a tensor such that :math:`SS^{\top} = (K_{XX} + \sigma^2 I)^{-1}`
  
  Args:
      precomputed_cache (:obj:`torch.tensor`): What was computed in _exact_predictive_covar_inv_quad_form_cache
      test_train_covar (:obj:`torch.tensor`): The observed noise (from the likelihood)
  
  Returns
      :obj:`~linear_operator.operators.LinearOperator`: :math:`K_{X^{*}X} S`
docstr_tok: ["Computes",":","math",":","`","K_","{","X^","{","*","}","X","}","S","`","given","a","precomputed","cache","Where",":","math",":","`","S","`","is","a","tensor","such","that",":","math",":","`","SS^","{","\\top","}","=","(","K_","{","XX","}","+","\\sigma^2","I",")","^","{","-1","}","`","Args",":","precomputed_cache","(",":","obj",":","`","torch.tensor","`",")",":","What","was","computed","in","_exact_predictive_covar_inv_quad_form_cache","test_train_covar","(",":","obj",":","`","torch.tensor","`",")",":","The","observed","noise","(","from","the","likelihood",")","Returns",":","obj",":","`","~linear_operator.operators.LinearOperator","`",":",":","math",":","`","K_","{","X^","{","*","}","X","}","S","`"]
code: def _exact_predictive_covar_inv_quad_form_root(
      self, precomputed_cache, test_train_covar
  ):
      r"""
      Computes :math:`K_{X^{*}X} S` given a precomputed cache
      Where :math:`S` is a tensor such that :math:`SS^{\top} = (K_{XX} + \sigma^2 I)^{-1}`
  
      Args:
          precomputed_cache (:obj:`torch.tensor`): What was computed in _exact_predictive_covar_inv_quad_form_cache
          test_train_covar (:obj:`torch.tensor`): The observed noise (from the likelihood)
  
      Returns
          :obj:`~linear_operator.operators.LinearOperator`: :math:`K_{X^{*}X} S`
      """
      # Here the precomputed cache represents S,
      # where S S^T = (K_XX + sigma^2 I)^-1
      return test_train_covar.matmul(precomputed_cache)
  
imports: import functools
  import string
  import warnings
  import torch
  from linear_operator import to_dense, to_linear_operator
  from linear_operator.operators import AddedDiagLinearOperator, BatchRepeatLinearOperator, ConstantMulLinearOperator, DenseLinearOperator, InterpolatedLinearOperator, LinearOperator, LowRankRootAddedDiagLinearOperator, MaskedLinearOperator, MatmulLinearOperator, RootLinearOperator, ZeroLinearOperator
  from linear_operator.utils.cholesky import psd_safe_cholesky
  from linear_operator.utils.interpolation import left_interp, left_t_interp
  from torch import Tensor
  from ..None import settings
  from ..distributions import MultitaskMultivariateNormal
  from ..lazy import LazyEvaluatedKernelTensor
  from ..utils.memoize import add_to_cache, cached, clear_cache_hook, pop_from_cache
label_desc: Use image node_id 4 for calling the DefaultPredictionStrategy obj's underlying member method code with example usage: obj._exact_predictive_covar_inv_quad_form_root(precomputed_cache, test_train_covar) and returns: test_train_covar