Abstract base classes for rings#

class sage.rings.abc.AlgebraicField#

Bases: AlgebraicField_common

Abstract base class for AlgebraicField.

This class is defined for the purpose of isinstance tests. It should not be instantiated.

EXAMPLES:

sage: import sage.rings.abc
sage: isinstance(QQbar, sage.rings.abc.AlgebraicField)                          # needs sage.rings.number_field
True
sage: isinstance(AA, sage.rings.abc.AlgebraicField)                             # needs sage.rings.number_field
False

By design, there is a unique direct subclass:

sage: sage.rings.abc.AlgebraicField.__subclasses__()                            # needs sage.rings.number_field
[<class 'sage.rings.qqbar.AlgebraicField'>]

sage: len(sage.rings.abc.AlgebraicField.__subclasses__()) <= 1
True
class sage.rings.abc.AlgebraicField_common#

Bases: Field

Abstract base class for AlgebraicField_common.

This class is defined for the purpose of isinstance tests. It should not be instantiated.

EXAMPLES:

sage: import sage.rings.abc
sage: isinstance(QQbar, sage.rings.abc.AlgebraicField_common)                   # needs sage.rings.number_field
True
sage: isinstance(AA, sage.rings.abc.AlgebraicField_common)                      # needs sage.rings.number_field
True

By design, other than the abstract subclasses AlgebraicField and AlgebraicRealField, there is only one direct implementation subclass:

sage: sage.rings.abc.AlgebraicField_common.__subclasses__()                     # needs sage.rings.number_field
[<class 'sage.rings.abc.AlgebraicField'>,
 <class 'sage.rings.abc.AlgebraicRealField'>,
 <class 'sage.rings.qqbar.AlgebraicField_common'>]

sage: len(sage.rings.abc.AlgebraicField_common.__subclasses__()) <= 3
True
class sage.rings.abc.AlgebraicRealField#

Bases: AlgebraicField_common

Abstract base class for AlgebraicRealField.

This class is defined for the purpose of isinstance tests. It should not be instantiated.

EXAMPLES:

sage: import sage.rings.abc
sage: isinstance(QQbar, sage.rings.abc.AlgebraicRealField)                      # needs sage.rings.number_field
False
sage: isinstance(AA, sage.rings.abc.AlgebraicRealField)                         # needs sage.rings.number_field
True

By design, there is a unique direct subclass:

sage: sage.rings.abc.AlgebraicRealField.__subclasses__()                        # needs sage.rings.number_field
[<class 'sage.rings.qqbar.AlgebraicRealField'>]

sage: len(sage.rings.abc.AlgebraicRealField.__subclasses__()) <= 1
True
class sage.rings.abc.CallableSymbolicExpressionRing#

Bases: SymbolicRing

Abstract base class for CallableSymbolicExpressionRing_class.

This class is defined for the purpose of isinstance tests. It should not be instantiated.

EXAMPLES:

sage: import sage.rings.abc
sage: f = x.function(x).parent()                                                # needs sage.symbolic
sage: isinstance(f, sage.rings.abc.CallableSymbolicExpressionRing)              # needs sage.symbolic
True

By design, there is a unique direct subclass:

sage: sage.rings.abc.CallableSymbolicExpressionRing.__subclasses__()            # needs sage.symbolic
[<class 'sage.symbolic.callable.CallableSymbolicExpressionRing_class'>]

sage: len(sage.rings.abc.CallableSymbolicExpressionRing.__subclasses__()) <= 1
True
class sage.rings.abc.ComplexBallField#

Bases: Field

Abstract base class for ComplexBallField.

This class is defined for the purpose of isinstance tests. It should not be instantiated.

EXAMPLES:

sage: import sage.rings.abc
sage: isinstance(CBF, sage.rings.abc.ComplexBallField)                          # needs sage.libs.flint
True

By design, there is a unique direct subclass:

sage: sage.rings.abc.ComplexBallField.__subclasses__()                          # needs sage.libs.flint
[<class 'sage.rings.complex_arb.ComplexBallField'>]

sage: len(sage.rings.abc.ComplexBallField.__subclasses__()) <= 1
True
class sage.rings.abc.ComplexDoubleField#

Bases: Field

Abstract base class for ComplexDoubleField_class.

This class is defined for the purpose of isinstance tests. It should not be instantiated.

EXAMPLES:

sage: import sage.rings.abc
sage: isinstance(CDF, sage.rings.abc.ComplexDoubleField)                        # needs sage.rings.complex_double
True

By design, there is a unique direct subclass:

sage: sage.rings.abc.ComplexDoubleField.__subclasses__()                        # needs sage.rings.complex_double
[<class 'sage.rings.complex_double.ComplexDoubleField_class'>]

sage: len(sage.rings.abc.ComplexDoubleField.__subclasses__()) <= 1
True
class sage.rings.abc.ComplexField#

Bases: Field

Abstract base class for ComplexField_class.

This class is defined for the purpose of isinstance tests. It should not be instantiated.

EXAMPLES:

sage: import sage.rings.abc
sage: isinstance(CC, sage.rings.abc.ComplexField)                               # needs sage.rings.real_mpfr
True

By design, there is a unique direct subclass:

sage: sage.rings.abc.ComplexField.__subclasses__()                              # needs sage.rings.real_mpfr
[<class 'sage.rings.complex_mpfr.ComplexField_class'>]

sage: len(sage.rings.abc.ComplexField.__subclasses__()) <= 1
True
class sage.rings.abc.ComplexIntervalField#

Bases: Field

Abstract base class for ComplexIntervalField_class.

This class is defined for the purpose of isinstance tests. It should not be instantiated.

EXAMPLES:

sage: import sage.rings.abc
sage: isinstance(CIF, sage.rings.abc.ComplexIntervalField)                      # needs sage.rings.complex_interval_field
True

By design, there is a unique direct subclass:

sage: sage.rings.abc.ComplexIntervalField.__subclasses__()                      # needs sage.rings.complex_interval_field
[<class 'sage.rings.complex_interval_field.ComplexIntervalField_class'>]

sage: len(sage.rings.abc.ComplexIntervalField.__subclasses__()) <= 1
True
class sage.rings.abc.IntegerModRing#

Bases: object

Abstract base class for IntegerModRing_generic.

This class is defined for the purpose of isinstance tests. It should not be instantiated.

EXAMPLES:

sage: import sage.rings.abc
sage: isinstance(Integers(7), sage.rings.abc.IntegerModRing)
True

By design, there is a unique direct subclass:

sage: sage.rings.abc.IntegerModRing.__subclasses__()
[<class 'sage.rings.finite_rings.integer_mod_ring.IntegerModRing_generic'>]

sage: len(sage.rings.abc.IntegerModRing.__subclasses__()) <= 1
True
class sage.rings.abc.NumberField_cyclotomic#

Bases: Field

Abstract base class for NumberField_cyclotomic.

This class is defined for the purpose of isinstance tests. It should not be instantiated.

EXAMPLES:

sage: import sage.rings.abc
sage: K.<zeta> = CyclotomicField(15)                                            # needs sage.rings.number_field
sage: isinstance(K, sage.rings.abc.NumberField_cyclotomic)                      # needs sage.rings.number_field
True

By design, there is a unique direct subclass:

sage: sage.rings.abc.NumberField_cyclotomic.__subclasses__()                    # needs sage.rings.number_field
[<class 'sage.rings.number_field.number_field.NumberField_cyclotomic'>]

sage: len(sage.rings.abc.NumberField_cyclotomic.__subclasses__()) <= 1
True
class sage.rings.abc.NumberField_quadratic#

Bases: Field

Abstract base class for NumberField_quadratic.

This class is defined for the purpose of isinstance tests. It should not be instantiated.

EXAMPLES:

sage: import sage.rings.abc
sage: K.<sqrt2> = QuadraticField(2)                                             # needs sage.rings.number_field
sage: isinstance(K, sage.rings.abc.NumberField_quadratic)                       # needs sage.rings.number_field
True

By design, there is a unique direct subclass:

sage: sage.rings.abc.NumberField_quadratic.__subclasses__()                     # needs sage.rings.number_field
[<class 'sage.rings.number_field.number_field.NumberField_quadratic'>]

sage: len(sage.rings.abc.NumberField_quadratic.__subclasses__()) <= 1
True
class sage.rings.abc.Order#

Bases: object

Abstract base class for Order.

This class is defined for the purpose of isinstance tests. It should not be instantiated.

EXAMPLES:

sage: import sage.rings.abc
sage: x = polygen(ZZ, 'x')
sage: K.<a> = NumberField(x^2 + 1); O = K.order(2*a)                            # needs sage.rings.number_field
sage: isinstance(O, sage.rings.abc.Order)                                       # needs sage.rings.number_field
True

By design, there is a unique direct subclass:

sage: sage.rings.abc.Order.__subclasses__()                                     # needs sage.rings.number_field
[<class 'sage.rings.number_field.order.Order'>]

sage: len(sage.rings.abc.Order.__subclasses__()) <= 1
True
class sage.rings.abc.RealBallField#

Bases: Field

Abstract base class for RealBallField.

This class is defined for the purpose of isinstance tests. It should not be instantiated.

EXAMPLES:

sage: import sage.rings.abc
sage: isinstance(RBF, sage.rings.abc.RealBallField)                             # needs sage.libs.flint
True

By design, there is a unique direct subclass:

sage: sage.rings.abc.RealBallField.__subclasses__()                             # needs sage.libs.flint
[<class 'sage.rings.real_arb.RealBallField'>]

sage: len(sage.rings.abc.RealBallField.__subclasses__()) <= 1
True
class sage.rings.abc.RealDoubleField#

Bases: Field

Abstract base class for RealDoubleField_class.

This class is defined for the purpose of isinstance tests. It should not be instantiated.

EXAMPLES:

sage: import sage.rings.abc
sage: isinstance(RDF, sage.rings.abc.RealDoubleField)
True

By design, there is a unique direct subclass:

sage: sage.rings.abc.RealDoubleField.__subclasses__()
[<class 'sage.rings.real_double.RealDoubleField_class'>]

sage: len(sage.rings.abc.RealDoubleField.__subclasses__()) <= 1
True
class sage.rings.abc.RealField#

Bases: Field

Abstract base class for RealField_class.

This class is defined for the purpose of isinstance tests. It should not be instantiated.

EXAMPLES:

sage: import sage.rings.abc
sage: isinstance(RR, sage.rings.abc.RealField)                                  # needs sage.rings.real_mpfr
True

By design, there is a unique direct subclass:

sage: sage.rings.abc.RealField.__subclasses__()                                 # needs sage.rings.real_mpfr
[<class 'sage.rings.real_mpfr.RealField_class'>]

sage: len(sage.rings.abc.RealField.__subclasses__()) <= 1
True
class sage.rings.abc.RealIntervalField#

Bases: Field

Abstract base class for RealIntervalField_class.

This class is defined for the purpose of isinstance tests. It should not be instantiated.

EXAMPLES:

sage: import sage.rings.abc
sage: isinstance(RIF, sage.rings.abc.RealIntervalField)                         # needs sage.rings.real_interval_field
True

By design, there is a unique direct subclass:

sage: sage.rings.abc.RealIntervalField.__subclasses__()                         # needs sage.rings.real_interval_field
[<class 'sage.rings.real_mpfi.RealIntervalField_class'>]

sage: len(sage.rings.abc.RealIntervalField.__subclasses__()) <= 1
True
class sage.rings.abc.SymbolicRing#

Bases: CommutativeRing

Abstract base class for SymbolicRing.

This class is defined for the purpose of isinstance tests. It should not be instantiated.

EXAMPLES:

sage: import sage.rings.abc
sage: isinstance(SR, sage.rings.abc.SymbolicRing)                               # needs sage.symbolic
True

By design, other than the abstract subclass CallableSymbolicExpressionRing, there is only one direct implementation subclass:

sage: sage.rings.abc.SymbolicRing.__subclasses__()                              # needs sage.symbolic
[<class 'sage.rings.abc.CallableSymbolicExpressionRing'>,
 <class 'sage.symbolic.ring.SymbolicRing'>]

sage: len(sage.rings.abc.SymbolicRing.__subclasses__()) <= 2
True
class sage.rings.abc.UniversalCyclotomicField#

Bases: Field

Abstract base class for UniversalCyclotomicField.

This class is defined for the purpose of isinstance() tests. It should not be instantiated.

EXAMPLES:

sage: import sage.rings.abc
sage: K = UniversalCyclotomicField()                                            # needs sage.libs.gap sage.rings.number_field
sage: isinstance(K, sage.rings.abc.UniversalCyclotomicField)                    # needs sage.libs.gap sage.rings.number_field
True

By design, there is a unique direct subclass:

sage: sage.rings.abc.UniversalCyclotomicField.__subclasses__()                  # needs sage.libs.gap sage.rings.number_field
[<class 'sage.rings.universal_cyclotomic_field.UniversalCyclotomicField'>]

sage: len(sage.rings.abc.NumberField_cyclotomic.__subclasses__()) <= 1
True
class sage.rings.abc.pAdicField#

Bases: Field

Abstract base class for pAdicFieldGeneric.

This class is defined for the purpose of isinstance tests. It should not be instantiated.

EXAMPLES:

sage: import sage.rings.abc
sage: isinstance(Zp(5), sage.rings.abc.pAdicField)                              # needs sage.rings.padics
False
sage: isinstance(Qp(5), sage.rings.abc.pAdicField)                              # needs sage.rings.padics
True

By design, there is a unique direct subclass:

sage: sage.rings.abc.pAdicField.__subclasses__()                                # needs sage.rings.padics
[<class 'sage.rings.padics.generic_nodes.pAdicFieldGeneric'>]

sage: len(sage.rings.abc.pAdicField.__subclasses__()) <= 1
True
class sage.rings.abc.pAdicRing#

Bases: IntegralDomain

Abstract base class for pAdicRingGeneric.

This class is defined for the purpose of isinstance tests. It should not be instantiated.

EXAMPLES:

sage: import sage.rings.abc
sage: isinstance(Zp(5), sage.rings.abc.pAdicRing)                               # needs sage.rings.padics
True
sage: isinstance(Qp(5), sage.rings.abc.pAdicRing)                               # needs sage.rings.padics
False

By design, there is a unique direct subclass:

sage: sage.rings.abc.pAdicRing.__subclasses__()                                 # needs sage.rings.padics
[<class 'sage.rings.padics.generic_nodes.pAdicRingGeneric'>]

sage: len(sage.rings.abc.pAdicRing.__subclasses__()) <= 1
True