class_docstr: A Metropolis step with a Gaussian proposal function.
  
  Args:
      cov: The covariance of the proposal function. This can be a scalar,
          vector, or matrix and the proposal will be assumed isotropic,
          axis-aligned, or general respectively.
      mode (Optional): Select the method used for updating parameters. This
          can be one of ``"vector"``, ``"random"``, or ``"sequential"``. The
          ``"vector"`` mode updates all dimensions simultaneously,
          ``"random"`` randomly selects a dimension and only updates that
          one, and ``"sequential"`` loops over dimensions and updates each
          one in turn.
      factor (Optional[float]): If provided the proposal will be made with a
          standard deviation uniformly selected from the range
          ``exp(U(-log(factor), log(factor))) * cov``. This is invalid for
          the ``"vector"`` mode.
  
  Raises:
      ValueError: If the proposal dimensions are invalid or if any of any of
          the other arguments are inconsistent.
class_docstr_tok: ["A","Metropolis","step","with","a","Gaussian","proposal","function",".","Args",":","cov",":","The","covariance","of","the","proposal","function",".","This","can","be","a","scalar",",","vector",",","or","matrix","and","the","proposal","will","be","assumed","isotropic",",","axis-aligned",",","or","general","respectively",".","mode","(","Optional",")",":","Select","the","method","used","for","updating","parameters",".","This","can","be","one","of","``","``","vector","''","``",",","``","``","random","''","``",",","or","``","``","sequential","''","``",".","The","``","``","vector","''","``","mode","updates","all","dimensions","simultaneously",",","``","``","random","''","``","randomly","selects","a","dimension","and","only","updates","that","one",",","and","``","``","sequential","''","``","loops","over","dimensions","and","updates","each","one","in","turn",".","factor","(","Optional","[","float","]",")",":","If","provided","the","proposal","will","be","made","with","a","standard","deviation","uniformly","selected","from","the","range","``","exp","(","U","(","-log","(","factor",")",",","log","(","factor",")",")",")","*","cov","``",".","This","is","invalid","for","the","``","``","vector","''","``","mode",".","Raises",":","ValueError",":","If","the","proposal","dimensions","are","invalid","or","if","any","of","any","of","the","other","arguments","are","inconsistent","."]
code: def __init__(self, cov, mode="vector", factor=None):
      # Parse the proposal type.
      try:
          float(cov)
  
      except TypeError:
          cov = np.atleast_1d(cov)
          if len(cov.shape) == 1:
              # A diagonal proposal was given.
              ndim = len(cov)
              proposal = _diagonal_proposal(np.sqrt(cov), factor, mode)
  
          elif len(cov.shape) == 2 and cov.shape[0] == cov.shape[1]:
              # The full, square covariance matrix was given.
              ndim = cov.shape[0]
              proposal = _proposal(cov, factor, mode)
  
          else:
              raise ValueError("Invalid proposal scale dimensions")
  
      else:
          # This was a scalar proposal.
          ndim = None
          proposal = _isotropic_proposal(np.sqrt(cov), factor, mode)
  
      super(GaussianMove, self).__init__(proposal, ndim=ndim)
  
file_path: emcee/src/emcee/moves/gaussian.py
imports: import numpy
  from .mh import MHMove
label_desc: Use image node_id 1 to create a new GaussianMove object from inherited base classes: MHMove with example: obj = GaussianMove(cov, mode, factor)