docstr: Returns a new Interval constraint that is the intersection of this one and another specified one.
  
  Args:
      other (Interval): Interval constraint to intersect with
  
  Returns:
      Interval: intersection if this interval with the other one.
code: def intersect(self, other: Interval) -> Interval:
      """
      Returns a new Interval constraint that is the intersection of this one and another specified one.
  
      Args:
          other (Interval): Interval constraint to intersect with
  
      Returns:
          Interval: intersection if this interval with the other one.
      """
      if self.transform != other.transform:
          raise RuntimeError(
              "Cant intersect Interval constraints with conflicting transforms!"
          )
  
      lower_bound = torch.max(self.lower_bound, other.lower_bound)
      upper_bound = torch.min(self.upper_bound, other.upper_bound)
      return Interval(lower_bound, upper_bound)
  
imports: from __future__ import annotations
  import math
  from typing import Optional
  import torch
  from torch import sigmoid, Tensor
  from torch.nn import Module
  from ..utils.transforms import _get_inv_param_transform, inv_sigmoid, inv_softplus
label_desc: Use image node_id 7 for calling the Interval obj's underlying member method code with example usage: obj.intersect(other) and returns: Interval