docs: def sympy_expressions_equal(expr1, expr2):
      """
      Compare two sympy expressions that are not necessarily expanded.
      :param expr1: a first expression
      :param expr2: a second expression
      :return: True if the expressions are similar, False otherwise
      """
      # the simplified difference is equal to zero: same expressions
      try:
          difference = sympy.simplify(sympy.expand(expr1 - expr2))
      except SympifyError:
          # Doing sympy.simplify(expr1 - expr2) raises an error if expr1 or expr2 is a matrix (for sympy 0.7.2)
          if isinstance(expr1, sympy.Matrix) or isinstance(expr2, sympy.Matrix):
              return _sympy_matrices_equal(expr1, expr2)
          else:
              raise
  
      # sympy 0.7.4 returns matrix of zeros for equal matrices
      try:
          difference = sum(difference)
      except TypeError:
          pass
  
      return difference == 0