class_docstr: A Permutation Matrix
  
  Parameters
  ==========
  
  perm : Permutation
      The permutation the matrix uses.
  
      The size of the permutation determines the matrix size.
  
      See the documentation of
      :class:`sympy.combinatorics.permutations.Permutation` for
      the further information of how to create a permutation object.
  
  Examples
  ========
  
  >>> from sympy import Matrix, PermutationMatrix
  >>> from sympy.combinatorics import Permutation
  
  Creating a permutation matrix:
  
  >>> p = Permutation(1, 2, 0)
  >>> P = PermutationMatrix(p)
  >>> P = P.as_explicit()
  >>> P
  Matrix([
  [0, 1, 0],
  [0, 0, 1],
  [1, 0, 0]])
  
  Permuting a matrix row and column:
  
  >>> M = Matrix([0, 1, 2])
  >>> Matrix(P*M)
  Matrix([
  [1],
  [2],
  [0]])
  
  >>> Matrix(M.T*P)
  Matrix([[2, 0, 1]])
  
  See Also
  ========
  
  sympy.combinatorics.permutations.Permutation
code: def _eval_determinant(self):
      sign = self.args[0].signature()
      if sign == 1:
          return S.One
      elif sign == -1:
          return S.NegativeOne
      raise NotImplementedError
  
imports: from sympy.core import S
  from sympy.core.sympify import _sympify
  from sympy.functions import KroneckerDelta
  from .matexpr import MatrixExpr
  from .special import ZeroMatrix, Identity, OneMatrix
label_desc: Use image node_id 8 for calling the PermutationMatrix obj's underlying member method code with example usage: obj._eval_determinant() and returns: S, S