class_docstr: Gaussian distribution with Markov structure.
  Only covariances and covariances between t and t+1 need to be
  parameterised. We use the solution proposed by Carl Rasmussen, i.e. to
  represent
  Var[x_t] = cov[x_t, :, :] * cov[x_t, :, :].T
  Cov[x_t, x_{t+1}] = cov[t, :, :] * cov[t+1, :, :]
class_docstr_tok: ["Gaussian","distribution","with","Markov","structure",".","Only","covariances","and","covariances","between","t","and","t+1","need","to","be","parameterised",".","We","use","the","solution","proposed","by","Carl","Rasmussen",",","i.e",".","to","represent","Var","[","x_t","]","=","cov","[","x_t",",",":",",",":","]","*","cov","[","x_t",",",":",",",":","]",".T","Cov","[","x_t",",","x_","{","t+1","}","]","=","cov","[","t",",",":",",",":","]","*","cov","[","t+1",",",":",",",":","]"]
code: def __init__(self, mu: TensorType, cov: TensorType):
      self.mu = mu
      self.cov = cov
  
file_path: GPflow/gpflow/probability_distributions.py
imports: from abc import ABC, abstractmethod
  from check_shapes import ErrorContext, Shape, check_shapes, register_get_shape
  from .base import TensorType
label_desc: Use image node_id 1 to create a new MarkovGaussian object from inherited base classes: ProbabilityDistribution with example: obj = MarkovGaussian(mu, cov)