[back] [prev] [next] [index] [root]

 


AbelianGroupIsAut

Tests whether a function is a group automorphism.

Syntax:

L := AbelianGroupIsAut(hom [, check]);

homomorphism
  hom  
boolean
  check  
list
  L  

Description:

Tests whether the function hom is an automorphism. AbelianGroupIsAut returns the list [true, hom^{-1]} iff hom is an automorphism, and the list [false] otherwise. If the second (optional) parameter check is false then there is no check, whether hom is an endomorphism.


Example:


kash> g := AbelianGroupCreate(Mat(Z, [[2,2], [1,3]]));;
kash> mat := Mat(Z, [[0,2],[0,2]]);;
kash> hom := AbelianGroupHomCreate(g, g, mat, true);;
kash> AbelianGroupIsAut(hom);
[ false ]



Example:

Further information:

kash> AbelianGroupPrintLevel := 1;;
kash> AbelianGroupIsAut(hom);
homomorphism is not surjective
[ false ]
kash> AbelianGroupPrintLevel := 0;;



Example:

Compute the inverse homomorphism:

kash> mat := Mat(Z, [[-1,2],[3,2]]);;
kash> hom := AbelianGroupHomCreate(g, g, mat, true);;
kash> hominv := hom^-1;
> HomMatrix =
[  0 1/5]
[  0 1/5] 
from Group with relations:
[2 2]
[1 3] 
to Group with relations:
[2 2]
[1 3]



<- back[back] [prev] [next] [index] [root]