class_docstr: Matrix Determinant
  
  Represents the determinant of a matrix expression.
  
  Examples
  ========
  
  >>> from sympy import MatrixSymbol, Determinant, eye
  >>> A = MatrixSymbol('A', 3, 3)
  >>> Determinant(A)
  Determinant(A)
  >>> Determinant(eye(3)).doit()
  1
class_docstr_tok: ["Matrix","Determinant","Represents","the","determinant","of","a","matrix","expression",".","Examples","========",">",">",">","from","sympy","import","MatrixSymbol",",","Determinant",",","eye",">",">",">","A","=","MatrixSymbol","(","'","A","'",",","3",",","3",")",">",">",">","Determinant","(","A",")","Determinant","(","A",")",">",">",">","Determinant","(","eye","(","3",")",")",".doit","(",")","1"]
code: def doit(self, **hints):
      arg = self.arg
      if hints.get("deep", True):
          arg = arg.doit(**hints)
  
      result = arg._eval_determinant()
      if result is not None:
          return result
  
      return self
  
imports: from sympy.core.basic import Basic
  from sympy.core.expr import Expr
  from sympy.core.singleton import S
  from sympy.core.sympify import sympify
  from sympy.matrices.exceptions import NonSquareMatrixError
  from sympy.matrices.matrixbase import MatrixBase
  from sympy.assumptions.ask import ask, Q
  from sympy.assumptions.refine import handlers_dict
label_desc: Use image node_id 4 for calling the Determinant obj's underlying member method code with example usage: obj.doit() and returns: self, result