Quotients of finite rank free modules over a field.

class sage.modules.quotient_module.FreeModule_ambient_field_quotient(domain, sub, quotient_matrix, lift_matrix, inner_product_matrix=None)

Bases: sage.modules.free_module.FreeModule_ambient_field

A quotient \(V/W\) of two vector spaces as a vector space.

To obtain \(V\) or \(W\) use self.V() and self.W().

EXAMPLES:

sage: k.<i> = QuadraticField(-1)
sage: A = k^3; V = A.span([[1,0,i], [2,i,0]])
sage: W = A.span([[3,i,i]])
sage: U = V/W; U
Vector space quotient V/W of dimension 1 over Number Field in i with defining polynomial x^2 + 1 where
V: Vector space of degree 3 and dimension 2 over Number Field in i with defining polynomial x^2 + 1
Basis matrix:
[ 1  0  i]
[ 0  1 -2]
W: Vector space of degree 3 and dimension 1 over Number Field in i with defining polynomial x^2 + 1
Basis matrix:
[    1 1/3*i 1/3*i]
sage: U.V()
Vector space of degree 3 and dimension 2 over Number Field in i with defining polynomial x^2 + 1
Basis matrix:
[ 1  0  i]
[ 0  1 -2]
sage: U.W()
Vector space of degree 3 and dimension 1 over Number Field in i with defining polynomial x^2 + 1
Basis matrix:
[    1 1/3*i 1/3*i]
sage: U.quotient_map()
Vector space morphism represented by the matrix:
[  1]
[3*i]
Domain: Vector space of degree 3 and dimension 2 over Number Field in i with defining polynomial x^2 + 1
Basis matrix:
[ 1  0  i]
[ 0  1 -2]
Codomain: Vector space quotient V/W of dimension 1 over Number Field in i with defining polynomial x^2 + 1 where
V: Vector space of degree 3 and dimension 2 over Number Field in i with defining polynomial x^2 + 1
Basis matrix:
[ 1  0  i]
[ 0  1 -2]
W: Vector space of degree 3 and dimension 1 over Number Field in i with defining polynomial x^2 + 1
Basis matrix:
[    1 1/3*i 1/3*i]
sage: Z = V.quotient(W)
sage: Z == U
True

We create three quotient spaces and compare them:

sage: A = QQ^2
sage: V = A.span_of_basis([[1,0], [1,1]])
sage: W0 = V.span([V.1, V.0])
sage: W1 = V.span([V.1])
sage: W2 = V.span([V.1])
sage: Q0 = V/W0
sage: Q1 = V/W1
sage: Q2 = V/W2

sage: Q0 == Q1
False
sage: Q1 == Q2
True
V()

Given this quotient space \(Q = V/W\), return \(V\).

EXAMPLES:

sage: M = QQ^10 / [list(range(10)), list(range(2,12))]
sage: M.V()
Vector space of dimension 10 over Rational Field
W()

Given this quotient space \(Q = V/W\), return \(W\).

EXAMPLES:

sage: M = QQ^10 / [list(range(10)), list(range(2,12))]
sage: M.W()
Vector space of degree 10 and dimension 2 over Rational Field
Basis matrix:
[ 1  0 -1 -2 -3 -4 -5 -6 -7 -8]
[ 0  1  2  3  4  5  6  7  8  9]
cover()

Given this quotient space \(Q = V/W\), return \(V\).

This is the same as V().

EXAMPLES:

sage: M = QQ^10 / [list(range(10)), list(range(2,12))]
sage: M.cover()
Vector space of dimension 10 over Rational Field
lift(x)

Lift element of this quotient \(V / W\) to \(V\) by applying the fixed lift homomorphism.

The lift is a fixed homomorphism.

EXAMPLES:

sage: M = QQ^3 / [[1,2,3]]
sage: M.lift(M.0)
(1, 0, 0)
sage: M.lift(M.1)
(0, 1, 0)
sage: M.lift(M.0 - 2*M.1)
(1, -2, 0)
lift_map()

Given this quotient space \(Q = V / W\), return a fixed choice of linear homomorphism (a section) from \(Q\) to \(V\).

EXAMPLES:

sage: M = QQ^3 / [[1,2,3]]
sage: M.lift_map()
Vector space morphism represented by the matrix:
[1 0 0]
[0 1 0]
Domain: Vector space quotient V/W of dimension 2 over Rational Field where
V: Vector space of dimension 3 over Rational Field
W: Vector space of degree 3 and dimension 1 over Rational Field
Basis matrix:
[1 2 3]
Codomain: Vector space of dimension 3 over Rational Field
quotient_map()

Given this quotient space \(Q = V / W\), return the natural quotient map from \(V\) to \(Q\).

EXAMPLES:

sage: M = QQ^3 / [[1,2,3]]
sage: M.quotient_map()
Vector space morphism represented by the matrix:
[   1    0]
[   0    1]
[-1/3 -2/3]
Domain: Vector space of dimension 3 over Rational Field
Codomain: Vector space quotient V/W of dimension 2 over Rational Field where
V: Vector space of dimension 3 over Rational Field
W: Vector space of degree 3 and dimension 1 over Rational Field
Basis matrix:
[1 2 3]

sage: M.quotient_map()( (QQ^3)([1,2,3]) )
(0, 0)
relations()

Given this quotient space \(Q = V/W\), return \(W\).

This is the same as W().

EXAMPLES:

sage: M = QQ^10 / [list(range(10)), list(range(2,12))]
sage: M.relations()
Vector space of degree 10 and dimension 2 over Rational Field
Basis matrix:
[ 1  0 -1 -2 -3 -4 -5 -6 -7 -8]
[ 0  1  2  3  4  5  6  7  8  9]