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

 


ModuleDet

Returns the determinant of the given module.

Syntax:

det := ModuleDet(M)

module
  M  
ideal
  det  

See also:  ModuleModul

Description:

If the module is represented by a square pseudomatrix, the product of the coefficient ideals multiplied by the determinant of the matrix is computed. Otherwise there are more columns than rows in the representation. In this case the gcd of the determinants of all n-subpseudomatrices of the pseudomatrix is computed. For further information have a look at Hop1. If there are many more columns than rows it would be impractiacal to compute all determinants (because there are exponentially many of them) so this function considers just a few (set PRINTLEVEL(ORDER_MODULE_DET,1) to see how many) determinants and gets a reasonable multiple of the degree minor gcd.


Example:


kash> O := OrderMaximal(Poly(Zx,[1, 5, -6, -53, 3, 206, 244]));;
kash> Ids:=[ Ideal(5, Elt(O,[-27, 1, -2, 1, -3, 15])),
> Ideal(1, Elt(O,[-18, 0, -3, 3, -1, 0]/5)) ];
[ <5, [-27, 1, -2, 1, -3, 15]>, <1, [-18, 0, -3, 3, -1, 0] / 5> ]
kash> M := Module(Ids,Mat(O,[[1,2],[2,1]])/15);
{<5, [-27, 1, -2, 1, -3, 15]><1, [-18, 0, -3, 3, -1, 0] / 5>
[1 / 15 2 / 15]
[2 / 15 1 / 15]
}

kash> ModuleDet(M);
> <
[-5  0  0 -1 -4  0]
[ 0 -5  0 -1 -4  0]
[ 0  0 -5 -2 -1  0]
[ 0  0  0 -1  0  0]
[ 0  0  0  0 -1  0]
[ 0  0  0  0  0 -5]
/375>



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