next up previous contents
Next: Bibliography Up: An algorithm for constructing Previous: 3.2 The global homogeneous

4. The algorithm

Here we give the "pseudo"-code of the algorithm.

$M := {\bf iso\_modules}(A,A')$
INPUT: (A,A') - a pair of representation matrices of modules M,M'
OUTPUT: (X0,Y0) - a pair of transformation matrices if M,M' are isomorphic and FALSE otherwise

A := minimize(A)
A' := minimize(A')
IF (size(A)$\not=$size(A')) THEN return FALSE END
M := transformation(A,A')
Mc := constant_part(M)
F := det_of_linear_combination(Mc)
IF (F==0) THEN return FALSE END
P := point_outside_surface(F)
IF ( $P==\emptyset$) THEN return FALSE END
(X0,Y0) := linear_comb(M,P)
return (X0,Y0)

The $constant\_part$ procedure computes the vector space of all constant transformations depending on the ordering as described above. Note, that in case $char\ k=0$ a point P exists whenever $F\not=0$ whereas in $char\ k=p$ this must not be true. It follows the code of the main subprocedure - the other are selfevident.

$M := {\bf transformation}(A,A')$
INPUT: as above
OUTPUT: M - the module of all solutions of XA-A'Y=0, where every column is of dimension m2+n2 and represents a pair of matrices (X,Y)

$\tilde{A}$ := kontra_hom(A)
$\tilde{A'}$ := ko_hom(A')
C := concat( $\tilde{A},-\tilde{A'}$)
M := syz(C)
return M


next up previous contents
Next: Bibliography Up: An algorithm for constructing Previous: 3.2 The global homogeneous
| ZCA Home | Reports |