-
Notifications
You must be signed in to change notification settings - Fork 14
Open
Labels
Description
gap> Q:=Quiver(3,[[1,2,"a"], [2,3,"b"]]);
<quiver with 3 vertices and 2 arrows>
gap> kQ:=PathAlgebra(Rationals, Q);
<Rationals[<quiver with 3 vertices and 2 arrows>]>
gap> M:=RightModuleOverPathAlgebra(kQ, [1,2,1], [["a", [[2,0]]], ["b", [[4],[-1]]]]);
<[ 1, 2, 1 ]>
gap> IsIdenticalObj(RadicalOfModule(M), Source(RadicalOfModuleInclusion(M)));
false
You might not worry about this, but it leads to some very strange behavior once you want to work with elements:
gap> R := RadicalOfModule(M);
<[ 0, 1, 1 ]>
gap> inc := RadicalOfModuleInclusion(M);
<<[ 0, 1, 1 ]> ---> <[ 1, 2, 1 ]>>
gap> v := Basis(R)[1];
[ [ 0 ], [ 1 ], [ 0 ] ]
gap> ImageElm(inc, v);
Error, the element entered is not an element in the source of the map, called from
<function "unknown">( <arguments> )
called from read-eval loop at line 90 of *stdin*
you can 'quit;' to quit to outer loop, or
you can 'return;' to continue
brk>
gap> v in R;
true
gap> v in Source(inc);
false
One easy way to fix this would be to turn RadicalOfModuleInclusion into an attribute. That seems like the most attractive and GAP-like solution to me. But perhaps you don't want it, e.g. for memory conservation reasons.
If you don't want that for some reason, you should then instead probably cache the result of NewFamily in RightModuleOverPathAlgebra in a suitable way.
Reactions are currently unavailable