本文整理汇总了Python中sage.rings.all.ZZ.is_subring方法的典型用法代码示例。如果您正苦于以下问题:Python ZZ.is_subring方法的具体用法?Python ZZ.is_subring怎么用?Python ZZ.is_subring使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sage.rings.all.ZZ
的用法示例。
在下文中一共展示了ZZ.is_subring方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: gcd
# 需要导入模块: from sage.rings.all import ZZ [as 别名]
# 或者: from sage.rings.all.ZZ import is_subring [as 别名]
def gcd(self,other):
"""
Greatest common divisor.
NOTE:
Since we are in a field and the greatest common divisor is
only determined up to a unit, it is correct to either return
zero or one. Note that fraction fields of unique factorization
domains provide a more sophisticated gcd.
EXAMPLES::
sage: GF(5)(1).gcd(GF(5)(1))
1
sage: GF(5)(1).gcd(GF(5)(0))
1
sage: GF(5)(0).gcd(GF(5)(0))
0
For fields of characteristic zero (i.e., containing the
integers as a sub-ring), evaluation in the integer ring is
attempted. This is for backwards compatibility::
sage: gcd(6.0,8); gcd(6.0,8).parent()
2
Integer Ring
If this fails, we resort to the default we see above::
sage: gcd(6.0*CC.0,8*CC.0); gcd(6.0*CC.0,8*CC.0).parent()
1.00000000000000
Complex Field with 53 bits of precision
AUTHOR:
- Simon King (2011-02): Trac ticket #10771
"""
P = self.parent()
try:
other = P(other)
except (TypeError, ValueError):
raise ArithmeticError("The second argument can not be interpreted in the parent of the first argument. Can't compute the gcd")
from sage.rings.integer_ring import ZZ
if ZZ.is_subring(P):
try:
return ZZ(self).gcd(ZZ(other))
except TypeError:
pass
# there is no custom gcd, so, we resort to something that always exists
# (that's new behaviour)
if self==0 and other==0:
return P.zero()
return P.one()
示例2: lcm
# 需要导入模块: from sage.rings.all import ZZ [as 别名]
# 或者: from sage.rings.all.ZZ import is_subring [as 别名]
def lcm(self,other):
"""
Least common multiple.
NOTE:
Since we are in a field and the least common multiple is
only determined up to a unit, it is correct to either return
zero or one. Note that fraction fields of unique factorization
domains provide a more sophisticated lcm.
EXAMPLES::
sage: GF(2)(1).lcm(GF(2)(0))
0
sage: GF(2)(1).lcm(GF(2)(1))
1
If the field contains the integer ring, it is first
attempted to compute the gcd there::
sage: lcm(15.0,12.0); lcm(15.0,12.0).parent()
60
Integer Ring
If this fails, we resort to the default we see above::
sage: lcm(6.0*CC.0,8*CC.0); lcm(6.0*CC.0,8*CC.0).parent()
1.00000000000000
Complex Field with 53 bits of precision
sage: lcm(15.2,12.0)
1.00000000000000
AUTHOR:
- Simon King (2011-02): Trac ticket #10771
"""
P = self.parent()
try:
other = P(other)
except (TypeError, ValueError):
raise ArithmeticError("The second argument can not be interpreted in the parent of the first argument. Can't compute the lcm")
from sage.rings.integer_ring import ZZ
if ZZ.is_subring(P):
try:
return ZZ(self).lcm(ZZ(other))
except TypeError:
pass
# there is no custom lcm, so, we resort to something that always exists
if self==0 or other==0:
return P.zero()
return P.one()