subquotient -- make a subquotient module
subquotient(g,r) -- given matrices g and r with the same target,
produces a new module representing the image of g in the cokernel
of r.
The columns of g are called the generators, and the columns of
r are the relations.
Functions:
This is the general form in which modules are represented, and
subquotient modules are often returned as values of computations.
i1 : R = ZZ/101[a..d]
o1 = R
o1 : PolynomialRing |
i2 : M = kernel vars R ++ cokernel vars R
o2 = subquotient ({1} | 0 0 0 -b -c -d 0 |, {1} | 0 0 0 0 |)
{1} | 0 -c -d a 0 0 0 | {1} | 0 0 0 0 |
{1} | -d b 0 0 a 0 0 | {1} | 0 0 0 0 |
{1} | c 0 b 0 0 a 0 | {1} | 0 0 0 0 |
{0} | 0 0 0 0 0 0 1 | {0} | a b c d |
5
o2 : R-module, subquotient of R |
i3 : generators M
o3 = {1} | 0 0 0 -b -c -d 0 |
{1} | 0 -c -d a 0 0 0 |
{1} | -d b 0 0 a 0 0 |
{1} | c 0 b 0 0 a 0 |
{0} | 0 0 0 0 0 0 1 |
5 7
o3 : Matrix R <--- R |
i4 : relations M
o4 = {1} | 0 0 0 0 |
{1} | 0 0 0 0 |
{1} | 0 0 0 0 |
{1} | 0 0 0 0 |
{0} | a b c d |
5 4
o4 : Matrix R <--- R |
i5 : prune M
o5 = cokernel {2} | 0 0 0 0 0 0 -b -c |
{2} | 0 0 0 0 0 -b 0 d |
{2} | 0 0 0 0 0 c d 0 |
{2} | 0 0 0 0 -c 0 a 0 |
{2} | 0 0 0 0 d a 0 0 |
{2} | 0 0 0 0 b 0 0 a |
{0} | d c b a 0 0 0 0 |
7
o5 : R-module, quotient of R |
See also:
Class of returned value: Module -- the class of all modulesWays to use subquotient :