teste

STRETCH

  • Given a non-commutative monomial written as a string, this function returns a non-commutative monomial, but this is represented without powers, for example

gap>STRETCH("V^3*U^2");

"V*V*V*U*U"

gap>



STRETCH:=function(strg_mon)
local mon, siz_mon, i, j;

mon:=GP2NP( EvalString(strg_mon) );
siz_mon:=Size(mon[1]);

for i in [1..siz_mon] do
    for j in [1..Size(mon[1][i])] do
        mon[1][i][j] := lvar[ mon[1][i][j] ];
    od;
od;

for i in [1..siz_mon] do
    mon[2][i] := Concatenation( "(", String(mon[2][i]), ")" );
od;

mon[1]:= List(mon[1], i-> JoinStringsWithSeparator(i, "*"));
mon:=List([1..siz_mon], i-> Concatenation(mon[2][i], "*", mon[1][i]));



return JoinStringsWithSeparator(mon, "+");

end;