For notational convenience, set $X = A_m$, and extend the sequence $A_i$ to all $i \in \ZZ$ by setting $A_i = 0$ for $i < 0$, and $A_i = X$ for $i > m$.
The returned couple $M$ is a module for the ring R[e_1,f_1,Degrees=>{{1,-1},{0,2}}]. We describe the module $M$ in every bidegree $(s,t)$. The description depends on the parity of $s$ and $t$.
If $s$ and $t$ are both even, say $(s,t) = (2p, 2q)$, then
$M_{s,t} = Ext^p(W, A_q/A_{q-1})$;
if $s$ and $t$ are both odd, say $(s,t) = (2p-1,2q+1)$, then
$M_{s,t} = Ext^p(W, A_q)$;
and otherwise, if $s$ and $t$ sum to an odd number, then $M_{s,t} = 0$.
The variables $e_1$ and $f_1$ act by the maps in the various long exact sequences
$Ext^p(W, A_{q-1}) \to Ext^p(W, A_q) \to Ext^p(W, A_q / A_{q-1}) \to Ext^{p+1}(W, A_{q-1})$.
Associated spectral sequence
The spectral sequence associated to this couple converges to $Ext^p(W,X)$. The differential on page $r$ has bidegree $(1,-r)$. The first page has
$E^{pq}_1 = Ext^p(W,A_q/A_{q-1})$.
Setting $F^p_q = image(Ext^p(W,A_q) \to Ext^p(W,X))$, the infinity page has
$E^{p,q}_{\infty} = F^p_{q} / F^p_{q-1}$.
i1 : R = QQ[x] o1 = R o1 : PolynomialRing |
i2 : X = R^1 / x^9
o2 = cokernel | x9 |
1
o2 : R-module, quotient of R
|
i3 : submods = apply(5,k->image map(X,,{{x^(8-2*k)}}));
|
i4 : for m in submods do print m; subquotient (| x8 |, | x9 |) subquotient (| x6 |, | x9 |) subquotient (| x4 |, | x9 |) subquotient (| x2 |, | x9 |) subquotient (| 1 |, | x9 |) |
i5 : W = coker map(R^1,,{{x^3}})
o5 = cokernel | x3 |
1
o5 : R-module, quotient of R
|
i6 : couple = prune covariantExtCouple(W,submods)
warning: clearing value of symbol f to allow access to subscripted variables based on it
: debug with expression debug 3406 or with command line option --debug 3406
o6 = cokernel {-1, 1, 8} | x e_1^2 f_1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
{-1, 3, 6} | 0 0 -x2 e_1^2 0 0 0 0 x2e_1 e_1f_1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
{1, 1, 5} | 0 0 0 0 x 0 0 0 0 0 e_1^2 f_1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
{1, 3, 3} | 0 0 0 0 0 -x 0 0 0 0 0 -x2 e_1^2 f_1 0 0 0 0 0 0 0 0 0 0 0 x2e_1 0 0 0 0 |
{1, 5, 1} | 0 0 0 0 0 0 -x 0 0 0 0 0 0 -x2 e_1^2 f_1 0 0 0 0 0 0 0 0 0 0 x2e_1 0 0 0 |
{1, 7, -1} | 0 0 0 0 0 0 0 -x 0 0 0 0 0 0 0 -x2 e_1^2 f_1 0 0 0 0 0 0 0 0 0 x2e_1 0 0 |
{1, 9, -3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -x2 e_1^2 0 0 0 0 0 0 0 0 0 x2e_1 e_1f_1 |
{0, 4, 4} | 0 0 0 0 0 e_1 0 0 0 0 0 0 0 0 0 0 0 0 0 x2 f_1 0 0 0 0 0 0 0 0 0 |
{0, 6, 2} | 0 0 0 0 0 0 e_1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x2 f_1 0 0 0 0 0 0 0 |
{0, 8, 0} | 0 0 0 0 0 0 0 e_1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x2 f_1 0 0 0 0 0 |
10
o6 : R[e , f ]-module, quotient of (R[e , f ])
1 1 1 1
|
i7 : expectExactCouple couple |
i8 : plotPages((-1..2,-1..5,1..3), prune @@ evaluateInDegree, couple)
warning: clearing value of symbol e to allow access to subscripted variables based on it
: debug with expression debug 3903 or with command line option --debug 3903
warning: clearing value of symbol f to allow access to subscripted variables based on it
: debug with expression debug 3406 or with command line option --debug 3406
page 1, with differential of degree {1, -1}:
+----++----+-------------------+--------------------+---+
|q=5 ||0 |0 |0 |0 |
+----++----+-------------------+--------------------+---+
|q=4 ||0 |cokernel | x2 | |cokernel {-3} | x2 ||0 |
+----++----+-------------------+--------------------+---+
|q=3 ||0 |cokernel {2} | x2 ||cokernel {-1} | x2 ||0 |
+----++----+-------------------+--------------------+---+
|q=2 ||0 |cokernel {4} | x2 ||cokernel {1} | x2 | |0 |
+----++----+-------------------+--------------------+---+
|q=1 ||0 |cokernel {6} | x2 ||cokernel {3} | x2 | |0 |
+----++----+-------------------+--------------------+---+
|q=0 ||0 |cokernel {8} | x | |cokernel {5} | x | |0 |
+----++----+-------------------+--------------------+---+
|q=-1||0 |0 |0 |0 |
+----++----+-------------------+--------------------+---+
| ||p=-1|p=0 |p=1 |p=2|
+----++----+-------------------+--------------------+---+
page 2, with differential of degree {1, -2}:
+----++----+-------------------+--------------------+---+
|q=5 ||0 |0 |0 |0 |
+----++----+-------------------+--------------------+---+
|q=4 ||0 |cokernel {1} | x | |cokernel {-3} | x2 ||0 |
+----++----+-------------------+--------------------+---+
|q=3 ||0 |cokernel {3} | x | |cokernel {-1} | x | |0 |
+----++----+-------------------+--------------------+---+
|q=2 ||0 |cokernel {5} | x | |cokernel {1} | x | |0 |
+----++----+-------------------+--------------------+---+
|q=1 ||0 |cokernel {6} | x2 ||cokernel {3} | x | |0 |
+----++----+-------------------+--------------------+---+
|q=0 ||0 |cokernel {8} | x | |cokernel {5} | x | |0 |
+----++----+-------------------+--------------------+---+
|q=-1||0 |0 |0 |0 |
+----++----+-------------------+--------------------+---+
| ||p=-1|p=0 |p=1 |p=2|
+----++----+-------------------+--------------------+---+
page 3, with differential of degree {1, -3}:
+----++----+-------------------+--------------------+---+
|q=5 ||0 |0 |0 |0 |
+----++----+-------------------+--------------------+---+
|q=4 ||0 |0 |cokernel {-3} | x2 ||0 |
+----++----+-------------------+--------------------+---+
|q=3 ||0 |0 |cokernel {-1} | x | |0 |
+----++----+-------------------+--------------------+---+
|q=2 ||0 |0 |0 |0 |
+----++----+-------------------+--------------------+---+
|q=1 ||0 |cokernel {6} | x2 ||0 |0 |
+----++----+-------------------+--------------------+---+
|q=0 ||0 |cokernel {8} | x | |0 |0 |
+----++----+-------------------+--------------------+---+
|q=-1||0 |0 |0 |0 |
+----++----+-------------------+--------------------+---+
| ||p=-1|p=0 |p=1 |p=2|
+----++----+-------------------+--------------------+---+
|
i9 : A = i -> if i < 0 then image(0*id_X) else if i >= #submods then X else submods#i; |
i10 : E1 = (q,p) -> prune Ext^p(W,A(q)/A(q-1)); |
i11 : netList reverse table(5,2,E1)
+-------------------+--------------------+
o11 = |cokernel | x2 | |cokernel {-3} | x2 ||
+-------------------+--------------------+
|cokernel {2} | x2 ||cokernel {-1} | x2 ||
+-------------------+--------------------+
|cokernel {4} | x2 ||cokernel {1} | x2 | |
+-------------------+--------------------+
|cokernel {6} | x2 ||cokernel {3} | x2 | |
+-------------------+--------------------+
|cokernel {8} | x | |cokernel {5} | x | |
+-------------------+--------------------+
|
i12 : inc = q -> inducedMap(X,A(q)); |
i13 : filt = (p,q) -> image Ext^p(W,inc q); |
i14 : Einfty = (q,p) -> prune(filt(p,q)/filt(p,q-1)); |
i15 : netList reverse table(5,2,Einfty)
+-------------------+--------------------+
o15 = |0 |cokernel {-3} | x2 ||
+-------------------+--------------------+
|0 |cokernel {-1} | x | |
+-------------------+--------------------+
|0 |0 |
+-------------------+--------------------+
|cokernel {6} | x2 ||0 |
+-------------------+--------------------+
|cokernel {8} | x | |0 |
+-------------------+--------------------+
|
The object covariantExtCouple is a method function.