Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

How are free group homomorphisms implemented?

I see from the documentation that homomorphisms are implemented for matrix groups, symmetric groups, and abelian groups. I would assume that homomorphisms would be implemented for free groups, but I get an error if I do the following:

sage: F.<a,b> = FreeGroup(2)

sage: F.hom([a,b]) # Should be unique homomorphism with a |--> a, b |--> b

TypeError Traceback (most recent call last) ...

TypeError: Unable to coerce x (=[a, b]) to a morphism in Set of Morphisms from Free Group on generators {a, b} to Free Group on generators {a, b} in Category of groups

Do I have the syntax wrong, or are these not implemented?

How are free group homomorphisms implemented?

I see from the documentation that homomorphisms are implemented for matrix groups, symmetric groups, and abelian groups. I would assume that homomorphisms would be implemented for free groups, but I get an error if I do the following:

sage: F.<a,b> = FreeGroup(2)

sage: F.hom([a,b]) # Should be unique homomorphism with a |--> a, b |--> b

TypeError Traceback (most recent call last) ...

TypeError: Unable to coerce x (=[a, b]) to a morphism in Set of Morphisms from Free Group on generators {a, b} to Free Group on generators {a, b} in Category of groups

Do I have the syntax wrong, or are these not implemented?

How are free group homomorphisms implemented?

I see from the documentation that homomorphisms are implemented for matrix groups, symmetric groups, and abelian groups. I would assume that homomorphisms would be implemented for free groups, but I get an error if I do the following:

sage: F.<a,b> = FreeGroup(2)

sage: F.hom([a,b]) # Should be unique homomorphism with a |--> a, b |--> b

TypeError Traceback (most recent call last) ...

TypeError: Unable to coerce x (=[a, b]) to a morphism in Set of Morphisms from Free Group on generators {a, b} to Free Group on generators {a, b} in Category of groups

Do I have the syntax wrong, or are these not implemented?