class_docstr: A prime ideal in a ring of algebraic integers.
docstr: Reduce a :py:class:`~.PowerBasisElement` to a "small representative"
  modulo this prime ideal.
  
  Parameters
  ==========
  
  elt : :py:class:`~.PowerBasisElement`
      The element to be reduced.
  
  Returns
  =======
  
  :py:class:`~.PowerBasisElement`
      The reduced element.
  
  See Also
  ========
  
  reduce_ANP
  reduce_alg_num
  .Submodule.reduce_element
code: def reduce_element(self, elt):
      """
      Reduce a :py:class:`~.PowerBasisElement` to a "small representative"
      modulo this prime ideal.
  
      Parameters
      ==========
  
      elt : :py:class:`~.PowerBasisElement`
          The element to be reduced.
  
      Returns
      =======
  
      :py:class:`~.PowerBasisElement`
          The reduced element.
  
      See Also
      ========
  
      reduce_ANP
      reduce_alg_num
      .Submodule.reduce_element
  
      """
      return self.as_submodule().reduce_element(elt)
  
imports: from sympy.polys.polytools import Poly
  from sympy.polys.domains.finitefield import FF
  from sympy.polys.domains.rationalfield import QQ
  from sympy.polys.domains.integerring import ZZ
  from sympy.polys.matrices.domainmatrix import DomainMatrix
  from sympy.polys.polyerrors import CoercionFailed
  from sympy.polys.polyutils import IntegerPowerable
  from sympy.utilities.decorator import public
  from .basis import round_two, nilradical_mod_p
  from .exceptions import StructureError
  from .modules import ModuleEndomorphism, find_min_poly
  from .utilities import coeff_search, supplement_a_subspace
label_desc: Use image node_id 14 for calling the PrimeIdeal obj's underlying member method code with example usage: obj.reduce_element(elt) and returns: self