本文整理汇总了Python中sage.rings.all.Integer.gen方法的典型用法代码示例。如果您正苦于以下问题:Python Integer.gen方法的具体用法?Python Integer.gen怎么用?Python Integer.gen使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sage.rings.all.Integer
的用法示例。
在下文中一共展示了Integer.gen方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: check_prime
# 需要导入模块: from sage.rings.all import Integer [as 别名]
# 或者: from sage.rings.all.Integer import gen [as 别名]
def check_prime(K,P):
r"""
Function to check that `P` determines a prime of `K`, and return that ideal.
INPUT:
- ``K`` -- a number field (including `\QQ`).
- ``P`` -- an element of ``K`` or a (fractional) ideal of ``K``.
OUTPUT:
- If ``K`` is `\QQ`: the prime integer equal to or which generates `P`.
- If ``K`` is not `\QQ`: the prime ideal equal to or generated by `P`.
.. note::
If `P` is not a prime and does not generate a prime, a TypeError is raised.
EXAMPLES::
sage: from sage.schemes.elliptic_curves.ell_local_data import check_prime
sage: check_prime(QQ,3)
3
sage: check_prime(QQ,ZZ.ideal(31))
31
sage: K.<a>=NumberField(x^2-5)
sage: check_prime(K,a)
Fractional ideal (a)
sage: check_prime(K,a+1)
Fractional ideal (a + 1)
sage: [check_prime(K,P) for P in K.primes_above(31)]
[Fractional ideal (5/2*a + 1/2), Fractional ideal (5/2*a - 1/2)]
"""
if K is QQ:
if isinstance(P, (int,long,Integer)):
P = Integer(P)
if P.is_prime():
return P
else:
raise TypeError("%s is not prime"%P)
else:
if is_Ideal(P) and P.base_ring() is ZZ and P.is_prime():
return P.gen()
raise TypeError("%s is not a prime ideal of %s"%(P,ZZ))
if not is_NumberField(K):
raise TypeError("%s is not a number field"%K)
if is_NumberFieldFractionalIdeal(P):
if P.is_prime():
return P
else:
raise TypeError("%s is not a prime ideal of %s"%(P,K))
if is_NumberFieldElement(P):
if P in K:
P = K.ideal(P)
else:
raise TypeError("%s is not an element of %s"%(P,K))
if P.is_prime():
return P
else:
raise TypeError("%s is not a prime ideal of %s"%(P,K))
raise TypeError("%s is not a valid prime of %s"%(P,K))
示例2: check_prime
# 需要导入模块: from sage.rings.all import Integer [as 别名]
# 或者: from sage.rings.all.Integer import gen [as 别名]
def check_prime(K,P):
r"""
Function to check that `P` determines a prime of `K`, and return that ideal.
INPUT:
- ``K`` -- a number field (including `\QQ`).
- ``P`` -- an element of ``K`` or a (fractional) ideal of ``K``.
OUTPUT:
- If ``K`` is `\QQ`: the prime integer equal to or which generates `P`.
- If ``K`` is not `\QQ`: the prime ideal equal to or generated by `P`.
.. note::
If `P` is not a prime and does not generate a prime, a TypeError is raised.
EXAMPLES::
sage: from sage.schemes.elliptic_curves.ell_local_data import check_prime
sage: check_prime(QQ,3)
3
sage: check_prime(QQ,QQ(3))
3
sage: check_prime(QQ,ZZ.ideal(31))
31
sage: K.<a>=NumberField(x^2-5)
sage: check_prime(K,a)
Fractional ideal (a)
sage: check_prime(K,a+1)
Fractional ideal (a + 1)
sage: [check_prime(K,P) for P in K.primes_above(31)]
[Fractional ideal (5/2*a + 1/2), Fractional ideal (5/2*a - 1/2)]
sage: L.<b> = NumberField(x^2+3)
sage: check_prime(K, L.ideal(5))
Traceback (most recent call last):
..
TypeError: The ideal Fractional ideal (5) is not a prime ideal of Number Field in a with defining polynomial x^2 - 5
sage: check_prime(K, L.ideal(b))
Traceback (most recent call last):
TypeError: No compatible natural embeddings found for Number Field in a with defining polynomial x^2 - 5 and Number Field in b with defining polynomial x^2 + 3
"""
if K is QQ:
if P in ZZ or isinstance(P, integer_types + (Integer,)):
P = Integer(P)
if P.is_prime():
return P
else:
raise TypeError("The element %s is not prime" % (P,) )
elif P in QQ:
raise TypeError("The element %s is not prime" % (P,) )
elif is_Ideal(P) and P.base_ring() is ZZ:
if P.is_prime():
return P.gen()
else:
raise TypeError("The ideal %s is not a prime ideal of %s" % (P, ZZ))
else:
raise TypeError("%s is neither an element of QQ or an ideal of %s" % (P, ZZ))
if not is_NumberField(K):
raise TypeError("%s is not a number field" % (K,) )
if is_NumberFieldFractionalIdeal(P) or P in K:
# if P is an ideal, making sure it is an fractional ideal of K
P = K.fractional_ideal(P)
if P.is_prime():
return P
else:
raise TypeError("The ideal %s is not a prime ideal of %s" % (P, K))
raise TypeError("%s is not a valid prime of %s" % (P, K))