class_docstr: A sampler for sampling from a polyope using a hit-and-run algorithm.
class_docstr_tok: ["A","sampler","for","sampling","from","a","polyope","using","a","hit-and-run","algorithm","."]
docstr: A sampler for sampling from a polyope using a hit-and-run algorithm.
  
  Args:
      inequality_constraints: Tensors `(A, b)` describing inequality
          constraints `A @ x <= b`, where `A` is a `n_ineq_con x d`-dim
          Tensor and `b` is a `n_ineq_con x 1`-dim Tensor, with `n_ineq_con`
          the number of inequalities and `d` the dimension of the sample space.
      equality_constraints: Tensors `(C, d)` describing the equality constraints
          `C @ x = d`, where `C` is a `n_eq_con x d`-dim Tensor and `d` is a
          `n_eq_con x 1`-dim Tensor with `n_eq_con` the number of equalities.
      bounds: A `2 x d`-dim tensor of box bounds, where `inf` (`-inf`) means
          that the respective dimension is unbounded from above (below).
      interior_point: A `d x 1`-dim Tensor representing a point in the
          (relative) interior of the polytope. If omitted, determined
          automatically by solving a Linear Program.
      n_burnin: The number of burn in samples.
docstr_tok: ["A","sampler","for","sampling","from","a","polyope","using","a","hit-and-run","algorithm",".","Args",":","inequality_constraints",":","Tensors","`","(","A",",","b",")","`","describing","inequality","constraints","`","A","@","x","<","=","b","`",",","where","`","A","`","is","a","`","n_ineq_con","x","d","`","-dim","Tensor","and","`","b","`","is","a","`","n_ineq_con","x","1","`","-dim","Tensor",",","with","`","n_ineq_con","`","the","number","of","inequalities","and","`","d","`","the","dimension","of","the","sample","space",".","equality_constraints",":","Tensors","`","(","C",",","d",")","`","describing","the","equality","constraints","`","C","@","x","=","d","`",",","where","`","C","`","is","a","`","n_eq_con","x","d","`","-dim","Tensor","and","`","d","`","is","a","`","n_eq_con","x","1","`","-dim","Tensor","with","`","n_eq_con","`","the","number","of","equalities",".","bounds",":","A","`","2","x","d","`","-dim","tensor","of","box","bounds",",","where","`","inf","`","(","`","-inf","`",")","means","that","the","respective","dimension","is","unbounded","from","above","(","below",")",".","interior_point",":","A","`","d","x","1","`","-dim","Tensor","representing","a","point","in","the","(","relative",")","interior","of","the","polytope",".","If","omitted",",","determined","automatically","by","solving","a","Linear","Program",".","n_burnin",":","The","number","of","burn","in","samples","."]
code: def __init__(
      self,
      inequality_constraints: Optional[Tuple[Tensor, Tensor]] = None,
      equality_constraints: Optional[Tuple[Tensor, Tensor]] = None,
      bounds: Optional[Tensor] = None,
      interior_point: Optional[Tensor] = None,
      n_burnin: int = 0,
  ) -> None:
      r"""A sampler for sampling from a polyope using a hit-and-run algorithm.
  
      Args:
          inequality_constraints: Tensors `(A, b)` describing inequality
              constraints `A @ x <= b`, where `A` is a `n_ineq_con x d`-dim
              Tensor and `b` is a `n_ineq_con x 1`-dim Tensor, with `n_ineq_con`
              the number of inequalities and `d` the dimension of the sample space.
          equality_constraints: Tensors `(C, d)` describing the equality constraints
              `C @ x = d`, where `C` is a `n_eq_con x d`-dim Tensor and `d` is a
              `n_eq_con x 1`-dim Tensor with `n_eq_con` the number of equalities.
          bounds: A `2 x d`-dim tensor of box bounds, where `inf` (`-inf`) means
              that the respective dimension is unbounded from above (below).
          interior_point: A `d x 1`-dim Tensor representing a point in the
              (relative) interior of the polytope. If omitted, determined
              automatically by solving a Linear Program.
          n_burnin: The number of burn in samples.
      """
      super().__init__(
          inequality_constraints=inequality_constraints,
          equality_constraints=equality_constraints,
          bounds=bounds,
          interior_point=interior_point,
      )
      self.n_burnin = n_burnin
  
imports: from __future__ import annotations
  from abc import ABC, abstractmethod
  from contextlib import contextmanager
  from typing import Any, Generator, Iterable, List, Optional, Tuple, TYPE_CHECKING
  import numpy
  import scipy
  import torch
  from botorch.exceptions.errors import BotorchError
  from botorch.sampling.qmc import NormalQMCEngine
  from botorch.utils.transforms import unnormalize
  from scipy.spatial import Delaunay, HalfspaceIntersection
  from torch import LongTensor, Tensor
  from torch.quasirandom import SobolEngine
label_desc: Use image node_id 1 to create a new HitAndRunPolytopeSampler object from inherited base classes: PolytopeSampler with example: obj = HitAndRunPolytopeSampler(inequality_constraints, equality_constraints, bounds, interior_point, n_burnin)