_factor`.

However, in order to be added and multiplied by other ideals or
rational numbers, it must first be converted into a
:py:class:`~.Submodule`, which is a class that supports these
operations.

In many cases, the user need not perform this conversion deliberately,
since it is automatically performed by the arithmetic operator methods
:py:meth:`~.PrimeIdeal.__add__` and :py:meth:`~.PrimeIdeal.__mul__`.

Raising a :py:class:`~.PrimeIdeal` to a non-negative integer power is
also supported.

Examples
========

>>> from sympy import Poly, cyclotomic_poly, prime_decomp
>>> T = Poly(cyclotomic_poly(7))
>>> P0 = prime_decomp(7, T)[0]
>>> print(P0**6 == 7*P0.ZK)
True

Note that, on both sides of the equation above, we had a
:py:class:`~.Submodule`. In the next equation we recall that adding
ideals yields their GCD. This time, we need a deliberate conversion
to :py:class:`~.Submodule` on the right:

>>> print(P0 + 7*P0.ZK == P0.as_submodule())
True

Returns
=======

:py:class:`~.Submodule`
    Will be equal to ``self.p * self.ZK + self.alpha * self.ZK``.

See Also
========

__add__
__mul__

FT)