Dear GAP Forum,

On Dec 21, 2006, at 8:23 PM, Dmytro Savchuk wrote:

I have a question about the function AssocWordByLetterRep. Here is a
code:

gap> f:=FreeGroup(2);
<free group on the generators [ f1, f2 ]>

gap> w:=AssocWordByLetterRep(FamilyObj(f.1),[1,-1]);
f1^0

gap> IsOne(w);
false

Should it be like that or it should return <identity ...>?
No. AssocWordByLetterRep simply creates a word with the internal representation given. It is the lowest level function to create words and does minimal checking of the argument to be fast. No cancellation takes place (so one could argue that it is an element in the monoid on X and X^-1). The user (or the code that creates words) must take care of this.

I suppose you have code that creates free group elements as lists. Unless your interface is extremely time critical I would just use a small `for' loop to multiply together generators of f according to the values in the list, then the internal multiplication routine (written in the kernel) takes care of cancellation.

If you feel there should be a rountine analogous to `AssocWordByLetterRep' which *does* cancellation please let me know and I'll look at it for future releases.

All the best and Merry Christmas!

    Alexander Hulpke


-- Colorado State University, Department of Mathematics,
Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA
email: [EMAIL PROTECTED], Phone: ++1-970-4914288
http://www.math.colostate.edu/~hulpke


_______________________________________________
Forum mailing list
Forum@mail.gap-system.org
http://mail.gap-system.org/mailman/listinfo/forum

Reply via email to