class_docstr: Linear Elliptical Slice Sampler.
  
  Ideas:
  - Add batch support, broadcasting over parallel chains.
  - Optimize computations if possible, potentially with torch.compile.
  - Extend fixed features constraint to general linear equality constraints.
class_docstr_tok: ["Linear","Elliptical","Slice","Sampler",".","Ideas",":","-","Add","batch","support",",","broadcasting","over","parallel","chains",".","-","Optimize","computations","if","possible",",","potentially","with","torch.compile",".","-","Extend","fixed","features","constraint","to","general","linear","equality","constraints","."]
docstr: Returns a Boolean tensor indicating whether the `points` are feasible,
  i.e. they satisfy `A @ points <= b`, where `(A, b)` are the tensors passed
  as the `inequality_constraints` to the constructor of the sampler.
  
  Args:
      points: A `d x M`-dim tensor of points.
      transformed: Wether points are assumed to be transformed by a change of
          basis, which means feasibility should be computed based on the
          transformed constraint system (_Az, _bz), instead of (A, b).
  
  Returns:
      An `M`-dim binary tensor where `True` indicates that the associated
      point is feasible.
docstr_tok: ["Returns","a","Boolean","tensor","indicating","whether","the","`","points","`","are","feasible",",","i.e",".","they","satisfy","`","A","@","points","<","=","b","`",",","where","`","(","A",",","b",")","`","are","the","tensors","passed","as","the","`","inequality_constraints","`","to","the","constructor","of","the","sampler",".","Args",":","points",":","A","`","d","x","M","`","-dim","tensor","of","points",".","transformed",":","Wether","points","are","assumed","to","be","transformed","by","a","change","of","basis",",","which","means","feasibility","should","be","computed","based","on","the","transformed","constraint","system","(","_Az",",","_bz",")",",","instead","of","(","A",",","b",")",".","Returns",":","An","`","M","`","-dim","binary","tensor","where","`","True","`","indicates","that","the","associated","point","is","feasible","."]
code: def _is_feasible(
      self, points: Tensor, transformed: bool = False
  ) -> Tensor:
      r"""Returns a Boolean tensor indicating whether the `points` are feasible,
      i.e. they satisfy `A @ points <= b`, where `(A, b)` are the tensors passed
      as the `inequality_constraints` to the constructor of the sampler.
  
      Args:
          points: A `d x M`-dim tensor of points.
          transformed: Wether points are assumed to be transformed by a change of
              basis, which means feasibility should be computed based on the
              transformed constraint system (_Az, _bz), instead of (A, b).
  
      Returns:
          An `M`-dim binary tensor where `True` indicates that the associated
          point is feasible.
      """
      A, b = (self._Az, self._bz) if transformed else (self.A, self.b)
      return (A @ points <= b).all(dim=0)
  
imports: from __future__ import annotations
  import math
  from typing import List, Optional, Tuple, Union
  import torch
  from botorch.utils.sampling import PolytopeSampler
  from torch import Tensor
label_desc: Use image node_id 13 for calling the LinearEllipticalSliceSampler obj's underlying member method code with example usage: obj._is_feasible(points, transformed) and returns: unknown