code: def perm(A, p):
      
      assert isinstance(A,spmatrix), "argument must be a sparse matrix"
      assert A.size[0] == A.size[1], "A must be a square matrix"
      assert A.size[0] == len(p), "length of p must be equal to the order of A"
      return A[p,p]
docs: Symmetric permutation of a symmetric sparse matrix. 
  
      :param A:    :py:class:`spmatrix`
      :param p:    :py:class:`matrix` or :class:`list` of length `A.size[0]`