Injective hulls, and injective resolutions of a module are computed by
taking the projective cover or projective resolution of the dual module
over the opposite algebra and then again taking the dual to retrieve
modules or complexes over the original algebra. If the opposite algebra
of the module has not been computed then it will be created in the evaluation
of any of the injective module functions.
We create the basic algebra of a quiver over a field with 8 elements. The
quiver has two nodes and three arrows, going from node 1 to node 2, from
2 to 1 and from 1 to 1. The relations are given in the sequence cs{rrr}.
> ff := GF(8);
> FA<e1,e2,a,b,c> := FreeAlgebra(ff,5);
> rrr := [a*b*a*b*a, c*c*c*c, a*b*c - c*a*b];
> B := BasicAlgebra(FA,rrr,2,[<1,2>,<2,1>,<1,1>]);
> B;
Basic algebra of dimension 41 over GF(2^3)
Number of projective modules: 2
Number of generators: 5
> DimensionsOfProjectiveModules(B);
[ 20, 21 ]
> DimensionsOfInjectiveModules(B);
[ 24, 17 ]
> P1 := ProjectiveModule(B,1);
> Socle(P1);
AModule of dimension 1 over GF(2^3)
We consider the injective resolution of the first projective module.
> time in1 := CompactInjectiveResolution(P1,10);
reverse trees
Time: 3.850
Note that part of the time was required to create the opposite algebra
of cs{B}.
> SimpleCohomologyDimensions(P1);
[
[ 1, 0 ],
[ 0, 4 ],
[ 4, 0 ],
[ 4, 0 ],
[ 4, 0 ],
[ 4, 0 ],
[ 4, 0 ],
[ 4, 0 ],
[ 4, 0 ],
[ 4, 0 ]
]
The injective resolution appears to be periodic. Now we look at a module
constructed from the resolution.
> M := InjectiveSyzygyModule(P1,6);
> M;
AModule M of dimension 64 over GF(2^3)
Consider the space of endomorphisms of M.
> hh := AHom(M,M);
> hh;
KMatrixSpace of 64 by 64 matrices and dimension 128 over GF(2^3)
> [Rank(hh.i): i in [1 .. Dimension(hh)]];
[ 16, 16, 16, 16, 12, 12, 12, 12, 8, 8, 8, 8, 8, 8, 8, 8, 6, 6, 6, 6, 4, 4, 4,
4, 4, 4, 4, 4, 2, 2, 2, 2, 4, 8, 12, 16, 16, 12, 8, 4, 8, 4, 12, 16, 4, 8, 12,
16, 16, 16, 16, 16, 2, 4, 6, 8, 8, 6, 4, 2, 4, 2, 6, 8, 2, 4, 6, 8, 12, 12, 12,
12, 8, 8, 8, 8, 8, 8, 8, 8, 6, 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 16,
16, 16, 16, 12, 12, 12, 12, 8, 8, 8, 8, 8, 8, 8, 8, 6, 6, 6, 6, 4, 4, 4, 4, 4,
4, 4, 4, 2, 2, 2, 2 ]
Note that no generator of the endomorphism ring has rank more than 16.
This would
indicate that the module is decomposable since the identity map must be a sum
of homomorphisms of smaller rank.
How can we produce a decomposition? One method is the following.
> vv := Random(hh);
> Rank(vv);
64
> vv*vv eq vv;
false
> [Rank(vv*vv-u*vv):u in ff];
[ 60, 64, 64, 64, 64, 64, 64, 64 ]
> [u:u in ff];
[ 1, ff.1, ff.1^2, ff.1^3, ff.1^4, ff.1^5, ff.1^6, 0 ]
> Rank(vv*vv - vv);
60
> U := vv*vv - vv;
> Rank(U);
60
> Rank(U*U);
56
> Rank(U*U*U);
52
> Rank(U*U*U*U);
48
> Rank(U*U*U*U*U);
48
> Rank(U*U*U*U*U*U);
48
> T := U*U*U*U;
> N1 := Kernel(T);
> N2 := Image(T);
> Dimension(N1);
16
> Dimension(N2);
48
> Dimension(N1+N2);
64
So the sum of cs{N1} and cs{N2} must be all of cs{M} and by counting
dimensions, it must be a direct sum.
[Next][Prev] [Right] [Left] [Up] [Index] [Root]