Base class for all number fields#
- class sage.rings.number_field.number_field_base.NumberField#
Bases:
Field
Base class for all number fields.
- OK(*args, **kwds)#
Synonym for
self.maximal_order(...)
.EXAMPLES:
sage: NumberField(x^3 - 2,'a').OK() Maximal Order in Number Field in a with defining polynomial x^3 - 2
- bach_bound()#
Return the Bach bound associated to this number field.
Assuming the General Riemann Hypothesis, this is a bound B so that every integral ideal is equivalent modulo principal fractional ideals to an integral ideal of norm at most B.
See also
OUTPUT:
symbolic expression or the Integer 1
EXAMPLES:
We compute both the Minkowski and Bach bounds for a quadratic field, where the Minkowski bound is much better:
sage: K = QQ[sqrt(5)] sage: K.minkowski_bound() 1/2*sqrt(5) sage: K.minkowski_bound().n() 1.11803398874989 sage: K.bach_bound() 12*log(5)^2 sage: K.bach_bound().n() 31.0834847277628
We compute both the Minkowski and Bach bounds for a bigger degree field, where the Bach bound is much better:
sage: K = CyclotomicField(37) sage: K.minkowski_bound().n() 7.50857335698544e14 sage: K.bach_bound().n() 191669.304126267
- The bound of course also works for the rational numbers:
sage: QQ.minkowski_bound() 1
- degree()#
Return the degree of this number field.
EXAMPLES:
sage: NumberField(x^3 + 9, 'a').degree() 3
- discriminant()#
Return the discriminant of this number field.
EXAMPLES:
sage: NumberField(x^3 + 9, 'a').discriminant() -243
- is_absolute()#
Return True if self is viewed as a single extension over Q.
EXAMPLES:
sage: K.<a> = NumberField(x^3+2) sage: K.is_absolute() True sage: y = polygen(K) sage: L.<b> = NumberField(y^2+1) sage: L.is_absolute() False sage: QQ.is_absolute() True
- maximal_order()#
Return the maximal order, i.e., the ring of integers of this number field.
EXAMPLES:
sage: NumberField(x^3 - 2,'b').maximal_order() Maximal Order in Number Field in b with defining polynomial x^3 - 2
- minkowski_bound()#
Return the Minkowski bound associated to this number field.
This is a bound B so that every integral ideal is equivalent modulo principal fractional ideals to an integral ideal of norm at most B.
See also
OUTPUT:
symbolic expression or Rational
EXAMPLES:
The Minkowski bound for \(\QQ[i]\) tells us that the class number is 1:
sage: K = QQ[I] sage: B = K.minkowski_bound(); B 4/pi sage: B.n() 1.27323954473516
We compute the Minkowski bound for \(\QQ[\sqrt[3]{2}]\):
sage: K = QQ[2^(1/3)] sage: B = K.minkowski_bound(); B 16/3*sqrt(3)/pi sage: B.n() 2.94042077558289 sage: int(B) 2
We compute the Minkowski bound for \(\QQ[\sqrt{10}]\), which has class number 2:
sage: K = QQ[sqrt(10)] sage: B = K.minkowski_bound(); B sqrt(10) sage: int(B) 3 sage: K.class_number() 2
We compute the Minkowski bound for \(\QQ[\sqrt{2}+\sqrt{3}]\):
sage: K.<y,z> = NumberField([x^2-2, x^2-3]) sage: L.<w> = QQ[sqrt(2) + sqrt(3)] sage: B = K.minkowski_bound(); B 9/2 sage: int(B) 4 sage: B == L.minkowski_bound() True sage: K.class_number() 1
The bound of course also works for the rational numbers:
sage: QQ.minkowski_bound() 1
- ring_of_integers(*args, **kwds)#
Synonym for
self.maximal_order(...)
.EXAMPLES:
sage: K.<a> = NumberField(x^2 + 1) sage: K.ring_of_integers() Gaussian Integers in Number Field in a with defining polynomial x^2 + 1
- signature()#
Return (r1, r2), where r1 and r2 are the number of real embeddings and pairs of complex embeddings of this field, respectively.
EXAMPLES:
sage: NumberField(x^3 - 2, 'a').signature() (1, 1)
- sage.rings.number_field.number_field_base.is_NumberField(x)#
Return True if x is of number field type.
EXAMPLES:
sage: from sage.rings.number_field.number_field_base import is_NumberField sage: is_NumberField(NumberField(x^2+1,'a')) True sage: is_NumberField(QuadraticField(-97,'theta')) True sage: is_NumberField(CyclotomicField(97)) True
Note that the rational numbers QQ are a number field.:
sage: is_NumberField(QQ) True sage: is_NumberField(ZZ) False