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

 


IdealMakeInvCoprime

Subroutine of OrderRelNfColl

Syntax:

a := IdealMakeInvCoprime(I1,I2);

ideals
  A, B  
must be integral
algebraic number
  a  

See also:  IdealMakeCoprime

Description:

Let \a, \b be integral ideals. The procedure finds an algebraic number c so that {c*\a}^{-1} is an integral ideal coprime to \b.


Example:


kash> O := OrderMaximal(Order(Poly(Zx,[1,-2,57,-56,602])));
   F[1]
    |
   F[2]
  /
 /
Q
F  [ 1]     Given by transformation matrix
F  [ 2]     x^4 - 2*x^3 + 57*x^2 - 56*x + 602
Discriminant: 529984 

kash> LP := List(Factor(210*O), x->x[1]);
[ <2, [0, 1, 0, 0]>, <2, [1, 1, 0, 0]>, <3, [1, 0, 1, 0]>, <3, [2, 1, 1, 0]>, 
  <5, [3, 0, 1, 0]>, <5, [4, 3, 1, 0]>, <7, [0, 1, 0, 0]>, <7, [6, 1, 0, 0]> ]
kash> A := LP[1]^2*LP[3]*LP[6];
<
[30  0  4 17]
[ 0 30 18  2]
[ 0  0  1  0]
[ 0  0  0  1]
>

kash> B := LP[1]^2*LP[4]*LP[5];
<
[30  0  8 17]
[ 0 30 10 28]
[ 0  0  1  0]
[ 0  0  0  1]
>

kash> c := IdealMakeInvCoprime(A,B);
[-195, -206, 11, -7]
kash> D := c/A;
<
[-195 -382  -67  -26]
[-206 -442  -88 -103]
[  11 -555   99  -92]
[  -7  724 -376   -9]
>

kash> IdealIdempotents([D,B]);
> [ 1623181771, -1623181770 ]


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