class_docstr: A mapping from multi-dimensional indices to another set of multi-dimensional indices
  
  Parameters
  ----------
  initial_indices : List[Var]
      Variables representing the indices prior to remapping.
  final_indices : List[PrimExpr]
      Expressions defining the indices after remapping.
  inverse_index_map : Union[Callable, Optional[IndexMap]]
      The optional pre-defined inverse index map.
      When this is defined, IndexMap::Inverse will return the pre-defined inverse index map.
      Otherwise, the inverse index map will be computed on the fly.
      It is the user's responsibility to ensure the correctness of the pre-defined inverse
      index map.
class_docstr_tok: ["A","mapping","from","multi-dimensional","indices","to","another","set","of","multi-dimensional","indices","Parameters","--","--","--","--","--","initial_indices",":","List","[","Var","]","Variables","representing","the","indices","prior","to","remapping",".","final_indices",":","List","[","PrimExpr","]","Expressions","defining","the","indices","after","remapping",".","inverse_index_map",":","Union","[","Callable",",","Optional","[","IndexMap","]","]","The","optional","pre-defined","inverse","index","map",".","When","this","is","defined",",","IndexMap",":",":Inverse","will","return","the","pre-defined","inverse","index","map",".","Otherwise",",","the","inverse","index","map","will","be","computed","on","the","fly",".","It","is","the","user","'s","responsibility","to","ensure","the","correctness","of","the","pre-defined","inverse","index","map","."]
docstr: Return if the index maps are equivalent.
  
  Parameters
  ----------
  other_map: IndexMap
  
      The IndexMap to which the comparison should be made.
  
  Returns
  -------
  is_equivalent: bool
  
      True if the two mappings represent the same
      transformation, otherwise False
docstr_tok: ["Return","if","the","index","maps","are","equivalent",".","Parameters","--","--","--","--","--","other_map",":","IndexMap","The","IndexMap","to","which","the","comparison","should","be","made",".","Returns","--","--","--","-","is_equivalent",":","bool","True","if","the","two","mappings","represent","the","same","transformation",",","otherwise","False"]
code: def is_equivalent_to(self, other_map: "IndexMap") -> bool:
      """Return if the index maps are equivalent.
  
      Parameters
      ----------
      other_map: IndexMap
  
          The IndexMap to which the comparison should be made.
  
      Returns
      -------
      is_equivalent: bool
  
          True if the two mappings represent the same
          transformation, otherwise False
      """
      if len(self.initial_indices) != len(other_map.initial_indices):
          return False
      if len(self.final_indices) != len(other_map.final_indices):
          return False
  
      analyzer = tvm.arith.Analyzer()
  
      mapped_other_final_indices = other_map.map_indices(
          self.initial_indices
      )
      for self_index, other_index in zip(
          self.final_indices, mapped_other_final_indices
      ):
          if not analyzer.can_prove_equal(self_index, other_index):
              return False
  
      return True
  
imports: import collections
  import inspect
  from typing import Callable, List, Mapping, Optional, Tuple, Union
  import tvm
  import tvm._ffi
  import tvm.runtime
  from tvm.ir import BaseFunc, Range
  from tvm.runtime import Object, Scriptable
  from ..runtime.ndarray import NDArray
  from .None import _ffi_api
  from .buffer import Buffer
  from .expr import PrimExpr, Var
label_desc: Use image node_id 4 for calling the IndexMap obj's underlying member method code with example usage: obj.is_equivalent_to(other_map) and returns: True, False, False, False