Ask Your Question

Revision history [back]

This is covered in the documentation on relative number fields, e.g.:

sage: K.<i> = QuadraticField(-1)
sage: R.<x> = PolynomialRing(K)
sage: L.<a> = K.extension(x^2 - 2)
sage: V,from_V,to_V = L.relative_vector_space()
sage: V.base_field() == K
True
sage: V.dimension()
2
sage: W,from_W,to_W = L.absolute_vector_space()
sage: W.base_field() == QQ
True
sage: W.dimension()
4

This is covered in the documentation on relative number fields, e.g.:.

Bottom up construction:

sage: K.<i> = QuadraticField(-1)
sage: R.<x> = PolynomialRing(K)
sage: L.<a> = K.extension(x^2 - 2)
sage: V,from_V,to_V = L.relative_vector_space()
sage: V.base_field() == K
True
sage: V.dimension()
2
sage: W,from_W,to_W = L.absolute_vector_space()
sage: W.base_field() == QQ
True
sage: W.dimension()
4

Top down construction:

sage: L.<i,a> = NumberField([x^2 + 1, x^2 - 2])
sage: L_over_K.<ii,aa> = L.relativize(i)
sage: K = L_over_K.base_field()
sage: V,from_V,to_V = L_over_K.relative_vector_space()
sage: V.base_field() == K
True
sage: V.dimension()
2
sage: W,from_W,to_W = L_over_K.absolute_vector_space()
sage: W.base_field() == QQ
True
sage: W.dimension()
4

This is covered in the documentation on relative number fields.

Bottom up construction:

sage: K.<i> = QuadraticField(-1)
sage: R.<x> = PolynomialRing(K)
sage: L.<a> L_over_K.<a> = K.extension(x^2 - 2)
sage: V,from_V,to_V = L.relative_vector_space()
L_over_K.relative_vector_space()
sage: V.base_field() == K
True
sage: V.dimension()
2
sage: W,from_W,to_W = L.absolute_vector_space()
L_over_K.absolute_vector_space()
sage: W.base_field() == QQ
True
sage: W.dimension()
4

Top down construction:

sage: L.<i,a> = NumberField([x^2 + 1, x^2 - 2])
sage: L_over_K.<ii,aa> = L.relativize(i)
sage: K = L_over_K.base_field()
sage: V,from_V,to_V = L_over_K.relative_vector_space()
sage: V.base_field() == K
True
sage: V.dimension()
2
sage: W,from_W,to_W = L_over_K.absolute_vector_space()
sage: W.base_field() == QQ
True
sage: W.dimension()
4