code: def _gaussian_update_ExactGP(
      model: ExactGP,
      likelihood: _GaussianLikelihoodBase,
      *,
      sample_values: Tensor,
      target_values: Optional[Tensor] = None,
      points: Optional[Tensor] = None,
      noise_covariance: Optional[Union[Tensor, LinearOperator]] = None,
      scale_tril: Optional[Union[Tensor, LinearOperator]] = None,
      **ignore: Any,
  ) -> GeneralizedLinearPath:
      if points is None:
          (points,) = get_train_inputs(model, transformed=True)
  
      if target_values is None:
          target_values = get_train_targets(model, transformed=True)
  
      if noise_covariance is None:
          noise_covariance = likelihood.noise_covar(
              shape=points.shape[:-1]
          )
  
      return _gaussian_update_exact(
          kernel=model.covar_module,
          points=points,
          target_values=target_values,
          sample_values=sample_values,
          noise_covariance=noise_covariance,
          scale_tril=scale_tril,
          input_transform=get_input_transform(model),
      )
  
imports: from __future__ import annotations
  from typing import Any, Callable, Optional, Union
  import torch
  from botorch.models.approximate_gp import ApproximateGPyTorchModel
  from botorch.models.transforms.input import InputTransform
  from botorch.sampling.pathwise.features import KernelEvaluationMap
  from botorch.sampling.pathwise.paths import GeneralizedLinearPath, SamplePath
  from botorch.sampling.pathwise.utils import get_input_transform, get_train_inputs, get_train_targets, TInputTransform
  from botorch.utils.dispatcher import Dispatcher
  from botorch.utils.types import DEFAULT, NoneType
  from gpytorch.kernels.kernel import Kernel
  from gpytorch.likelihoods import _GaussianLikelihoodBase, Likelihood
  from gpytorch.models import ApproximateGP, ExactGP, GP
  from gpytorch.variational import VariationalStrategy
  from linear_operator.operators import LinearOperator, SumLinearOperator, ZeroLinearOperator
  from torch import Tensor
label_desc: Use image node_id 3 for calling a global function with example usage: _gaussian_update_ExactGP(model, likelihood) and returns: _gaussian_update_exact