Beispiel #1
0
    def lift(self):
        """
        If this element lies in a prime finite field, return a lift of this
        element to an integer.

        EXAMPLES::

            sage: k.<t> = GF(next_prime(10^10)^2, impl='pari_mod')
            sage: a = k(17)/k(19)
            sage: b = a.lift(); b
            7894736858
            sage: b.parent()
            Integer Ring
        """
        return integer_ring.IntegerRing()(self.__value.lift().lift())
 def create_object(self, version, order):
     """
     EXAMPLES::
     
         sage: R = Integers(10)
         sage: TestSuite(R).run() # indirect doctest
     """
     category = None
     if isinstance(order, tuple):
         order, category = order
     if order < 0:
         order = -order
     if order == 0:
         return integer_ring.IntegerRing()
     else:
         return IntegerModRing_generic(order, category=category)
Beispiel #3
0
 def lift(self):
     """
     If this element lies in a prime finite field, return a lift of this
     element to an integer.
     
     EXAMPLES::
     
         sage: from sage.rings.finite_rings.finite_field_ext_pari import FiniteField_ext_pari
         sage: k = GF(next_prime(10**10))
         sage: a = k(17)/k(19)
         sage: b = a.lift(); b
         7894736858
         sage: b.parent()
         Integer Ring
     """
     return integer_ring.IntegerRing()(self.__value.lift().lift())
Beispiel #4
0
    def create_object(self, version, order, **kwds):
        """
        EXAMPLES::

            sage: R = Integers(10)
            sage: TestSuite(R).run() # indirect doctest
        """
        if isinstance(order, tuple):
            # this is for unpickling old data
            order, category = order
            kwds.setdefault('category', category)
        if order < 0:
            order = -order
        if order == 0:
            return integer_ring.IntegerRing(**kwds)
        else:
            return IntegerModRing_generic(order, **kwds)
Beispiel #5
0
        True
        sage: is_IntegerModRing(GF(4, 'a'))
        False
        sage: is_IntegerModRing(10)
        False
        sage: is_IntegerModRing(ZZ)
        False
    """
    return isinstance(x, IntegerModRing_generic)


from sage.categories.commutative_rings import CommutativeRings
from sage.categories.finite_enumerated_sets import FiniteEnumeratedSets
from sage.categories.category import JoinCategory
default_category = JoinCategory((CommutativeRings(), FiniteEnumeratedSets()))
ZZ = integer_ring.IntegerRing()


def _unit_gens_primepowercase(p, r):
    r"""
    Return a list of generators for `(\ZZ/p^r\ZZ)^*` and their orders.

    EXAMPLES::

        sage: from sage.rings.finite_rings.integer_mod_ring import _unit_gens_primepowercase
        sage: _unit_gens_primepowercase(2, 3)
        [(7, 2), (5, 2)]
        sage: _unit_gens_primepowercase(17, 1)
        [(3, 16)]
        sage: _unit_gens_primepowercase(3, 3)
        [(2, 18)]