Se puede hacer lo siguiente en QPA, donde $A$ es algún cociente admisible de un álgebra de caminos. El código siguiente debería funcionar para cualquier cociente admisible de un álgebra de caminos. La última línea de código da el proyectivo indecomponible $A$ -módulos como $T(A)$ -módulos. De hecho, puede introducir cualquier $A$ -Módulo $M$ en el comando
RestrictionViaAlgebraHomomorphism(f,M)
y obtenerlo como $T(A)$ -módulo.
gap> A;
<Rationals[<quiver with 3 vertices and 5 arrows>]/
<two-sided ideal in <Rationals[<quiver with 3 vertices and 5 arrows>]>,
(5 generators)>>
gap> TA := TrivialExtensionOfQuiverAlgebra(A);
<Rationals[<quiver with 3 vertices and 8 arrows>]/
<two-sided ideal in <Rationals[<quiver with 3 vertices and 8 arrows>]>,
(26 generators)>>
gap> Q := QuiverOfPathAlgebra(A);
<quiver with 3 vertices and 5 arrows>
gap> QTA := QuiverOfPathAlgebra(TA);
<quiver with 3 vertices and 8 arrows>
gap> gensA := GeneratorsOfAlgebraWithOne(A);
[ [(1)*v1], [(1)*v2], [(1)*v3], [(1)*a], [(1)*b], [(1)*c], [(1)*d], [(1)*e] ]
gap> gensTA := GeneratorsOfAlgebraWithOne(TA);
[ [(1)*v1], [(1)*v2], [(1)*v3], [(1)*a], [(1)*b], [(1)*c], [(1)*d], [(1)*e],
[(1)*te_a1_1_1], [(1)*te_a1_1_2], [(1)*te_a1_3_3] ]
gap> n := Length(gensTA) - Length(gensA);
3
gap> gensA := ShallowCopy(gensA);
[ [(1)*v1], [(1)*v2], [(1)*v3], [(1)*a], [(1)*b], [(1)*c], [(1)*d], [(1)*e] ]
gap> list := List( [1..n], i -> Zero(A));
[ [<zero> of ...], [<zero> of ...], [<zero> of ...] ]
gap> Append(gensA,list);
gap> gensA;
[ [(1)*v1], [(1)*v2], [(1)*v3], [(1)*a], [(1)*b], [(1)*c], [(1)*d], [(1)*e],
[<zero> of ...], [<zero> of ...], [<zero> of ...] ]
gap> f := AlgebraHomomorphismByImages(TA,A,gensTA,gensA);
[ [(1)*v1], [(1)*v2], [(1)*v3], [(1)*a], [(1)*b], [(1)*c], [(1)*d], [(1)*e],
[(1)*te_a1_1_1], [(1)*te_a1_1_2], [(1)*te_a1_3_3] ] ->
[ [(1)*v1], [(1)*v2], [(1)*v3], [(1)*a], [(1)*b], [(1)*c], [(1)*d], [(1)*e],
[<zero> of ...], [<zero> of ...], [<zero> of ...] ]
gap> f!.generators := gensTA;
[ [(1)*v1], [(1)*v2], [(1)*v3], [(1)*a], [(1)*b], [(1)*c], [(1)*d], [(1)*e],
[(1)*te_a1_1_1], [(1)*te_a1_1_2], [(1)*te_a1_3_3] ]
gap> f!.genimages := gensA;
[ [(1)*v1], [(1)*v2], [(1)*v3], [(1)*a], [(1)*b], [(1)*c], [(1)*d], [(1)*e],
[<zero> of ...], [<zero> of ...], [<zero> of ...] ]
gap> P := IndecProjectiveModules(A);
[ <[ 1, 4, 3 ]>, <[ 0, 2, 2 ]>, <[ 1, 2, 2 ]> ]
gap> test := List( P, p -> RestrictionViaAlgebraHomomorphism(f,p));
[ <[ 1, 4, 3 ]>, <[ 0, 2, 2 ]>, <[ 1, 2, 2 ]> ]