class_docstr: Base class for samplers that sample points from a polytope.
  
  :meta private:
class_docstr_tok: ["Base","class","for","samplers","that","sample","points","from","a","polytope",".",":","meta","private",":"]
docstr: Find an interior point of the polytope.
  
  Returns:
      A `d x 1`-dim Tensor representing a point contained in the polytope.
      This function will raise a ValueError if there is no such point.
docstr_tok: ["Find","an","interior","point","of","the","polytope",".","Returns",":","A","`","d","x","1","`","-dim","Tensor","representing","a","point","contained","in","the","polytope",".","This","function","will","raise","a","ValueError","if","there","is","no","such","point","."]
code: def find_interior_point(self) -> Tensor:
      r"""Find an interior point of the polytope.
  
      Returns:
          A `d x 1`-dim Tensor representing a point contained in the polytope.
          This function will raise a ValueError if there is no such point.
      """
      if self.equality_constraints:
          # equality constraints: A_eq * (x, s) = b_eq
          A_eq = np.zeros((self.C.size(0), self.C.size(-1) + 1))
          A_eq[:, :-1] = self.C.cpu().numpy()
          b_eq = self.d.cpu().numpy()
      else:
          A_eq = None
          b_eq = None
      x0 = find_interior_point(
          A=self.A.cpu().numpy(),
          b=self.b.cpu().numpy(),
          A_eq=A_eq,
          b_eq=b_eq,
      )
      return torch.from_numpy(x0).to(self.A).unsqueeze(-1)
  
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 3 for calling the PolytopeSampler obj's underlying member method code with example usage: obj.find_interior_point() and returns: torch