def test_Domain_field(): assert EX.field == EX assert ZZ.field == QQ assert QQ.field == QQ assert RR.field == RR assert ALG.field == ALG assert ZZ.inject(x).field == ZZ.frac_field(x) assert QQ.inject(x).field == QQ.frac_field(x) assert ZZ.inject(x, y).field == ZZ.frac_field(x, y) assert QQ.inject(x, y).field == QQ.frac_field(x, y)
def test_FractionField(): sT(ZZ.inject('x').field, "FractionField(%s, (Symbol('x'),), " 'LexOrder())' % repr(ZZ)) sT(QQ.frac_field('x', 'y', order=grlex), "FractionField(%s, (Symbol('x'), Symbol('y')), " 'GradedLexOrder())' % repr(QQ)) sT(ZZ.inject('x', 'y', 'z', 't').eject('t').field, "FractionField(PolynomialRing(%s, (Symbol('t'),), LexOrder()), " "(Symbol('x'), Symbol('y'), Symbol('z')), LexOrder())" % repr(ZZ))
def test_FractionField(): sT( ZZ.inject('x').field, f"FractionField({ZZ!r}, (Symbol('x'),), LexOrder())") sT(QQ.frac_field('x', 'y', order=grlex), f"FractionField({QQ!r}, (Symbol('x'), Symbol('y')), GradedLexOrder())") sT( ZZ.inject('x', 'y', 'z', 't').eject('t').field, f"FractionField(UnivarPolynomialRing({ZZ!r}, (Symbol('t'),), LexOrder()), " "(Symbol('x'), Symbol('y'), Symbol('z')), LexOrder())")
def test_cache(): F1 = QQ.frac_field(-sqrt(2)) F2 = QQ.frac_field(-2 * sqrt(2)) assert F1 != F2
def test_FractionField(): assert str(ZZ.inject('x').field) == 'ZZ(x)' assert str(QQ.frac_field('x', 'y', order=grlex)) == 'QQ(x,y)' assert str(ZZ.inject('x', 'y', 'z', 't').eject('t').field) == 'ZZ[t](x,y,z)'