class_docstr: Implementation of gamma prior.
  
  f(x) = (x-loc)**(a-1) * e**(-(x-loc)) * (1/scale)**a / gamma(a)
  
  Parameters
  ----------
  a : float
      The shape parameter. Must be greater than 0.
  scale : float
      The scale parameter (1/scale corresponds to parameter p in canonical form). Must be greather than 0.
  loc : float
      Mean parameter for the distribution.
  seed : int, defaults to 0
class_docstr_tok: ["Implementation","of","gamma","prior",".","f","(","x",")","=","(","x-loc",")","*","*","(","a-1",")","*","e","*","*","(","-","(","x-loc",")",")","*","(","1\/scale",")","*","*","a","\/","gamma","(","a",")","Parameters","--","--","--","--","--","a",":","float","The","shape","parameter",".","Must","be","greater","than","0.","scale",":","float","The","scale","parameter","(","1\/scale","corresponds","to","parameter","p","in","canonical","form",")",".","Must","be","greather","than","0.","loc",":","float","Mean","parameter","for","the","distribution",".","seed",":","int",",","defaults","to","0"]
docstr: Returns the log pdf of theta.
docstr_tok: ["Returns","the","log","pdf","of","theta","."]
code: def _get_log_probability(self, theta: float) -> float:
      """Returns the log pdf of theta."""
      if np.ndim(theta) != 0:
          raise NotImplementedError()
  
      return sps.gamma.logpdf(
          theta, a=self._a, scale=self._scale, loc=self._loc
      )
  
file_path: SMAC3/smac/model/gaussian_process/priors/gamma_prior.py
imports: from __future__ import annotations
  from typing import Any
  import numpy
  import scipy.stats
  from smac.model.gaussian_process.priors.abstract_prior import AbstractPrior
label_desc: Use image node_id 4 for calling the GammaPrior obj's underlying member method code with example usage: obj._get_log_probability(theta) and returns: sps