class_docstr: Represents function draws from a GP posterior via Matheron's rule:
  
  .. code-block:: text
  
                "Prior path"
                     v
      (f | y)(·) = f(·) + Cov(f(·), y) Cov(y, y)^{-1} (y - f(X) - ε),
                          \_______________________________________/
                                              v
                                        "Update path"
  
  where `=` denotes equality in distribution, :math:`f \sim GP(0, k)`,
  :math:`y \sim N(f(X), \Sigma)`, and :math:`\epsilon \sim N(0, \Sigma)`.
  For more information, see [wilson2020sampling]_ and [wilson2021pathwise]_.
class_docstr_tok: ["Represents","function","draws","from","a","GP","posterior","via","Matheron","'s","rule",":","..","code-block",":",":","text","``","Prior","path","''","v","(","f","|","y",")","(","\u00b7",")","=","f","(","\u00b7",")","+","Cov","(","f","(","\u00b7",")",",","y",")","Cov","(","y",",","y",")","^","{","-1","}","(","y","-","f","(","X",")","-","\u03b5",")",",","\\_______________________________________\/","v","``","Update","path","''","where","`","=","`","denotes","equality","in","distribution",",",":","math",":","`","f","\\sim","GP","(","0",",","k",")","`",",",":","math",":","`","y","\\sim","N","(","f","(","X",")",",","\\Sigma",")","`",",","and",":","math",":","`","\\epsilon","\\sim","N","(","0",",","\\Sigma",")","`",".","For","more","information",",","see","[","wilson2020sampling","]","_","and","[","wilson2021pathwise","]","_","."]
docstr: Initializes a MatheronPath instance.
  
  Args:
      prior_paths: Sample paths used to represent the prior.
      update_paths: Sample paths used to represent the data.
      input_transform: An optional input transform for the module.
      output_transform: An optional output transform for the module.
docstr_tok: ["Initializes","a","MatheronPath","instance",".","Args",":","prior_paths",":","Sample","paths","used","to","represent","the","prior",".","update_paths",":","Sample","paths","used","to","represent","the","data",".","input_transform",":","An","optional","input","transform","for","the","module",".","output_transform",":","An","optional","output","transform","for","the","module","."]
code: def __init__(
      self,
      prior_paths: SamplePath,
      update_paths: SamplePath,
      input_transform: Optional[TInputTransform] = None,
      output_transform: Optional[TOutputTransform] = None,
  ) -> None:
      r"""Initializes a MatheronPath instance.
  
      Args:
          prior_paths: Sample paths used to represent the prior.
          update_paths: Sample paths used to represent the data.
          input_transform: An optional input transform for the module.
          output_transform: An optional output transform for the module.
      """
  
      super().__init__(
          join=sum,
          paths={
              "prior_paths": prior_paths,
              "update_paths": update_paths,
          },
          input_transform=input_transform,
          output_transform=output_transform,
      )
  
file_path: botorch/botorch/sampling/pathwise/posterior_samplers.py
imports: from __future__ import annotations
  from typing import Any, Optional, Union
  from botorch.models.approximate_gp import ApproximateGPyTorchModel
  from botorch.models.model_list_gp_regression import ModelListGP
  from botorch.sampling.pathwise.paths import PathDict, PathList, SamplePath
  from botorch.sampling.pathwise.prior_samplers import draw_kernel_feature_paths, TPathwisePriorSampler
  from botorch.sampling.pathwise.update_strategies import gaussian_update, TPathwiseUpdate
  from botorch.sampling.pathwise.utils import get_output_transform, get_train_inputs, get_train_targets, TInputTransform, TOutputTransform
  from botorch.utils.context_managers import delattr_ctx
  from botorch.utils.dispatcher import Dispatcher
  from gpytorch.models import ApproximateGP, ExactGP, GP
  from torch import Size
label_desc: Use image node_id 1 to create a new MatheronPath object from inherited base classes: PathDict with example: obj = MatheronPath(prior_paths, update_paths, input_transform, output_transform)