Karim Belabas on Mon, 06 Jun 2005 09:58:13 +0200

 Re: Lattice intersection

* Mak Trifkovic [2005-06-06 03:16]:
> I have a number field F and I want to intersect an ideal I of O_F with an
> order O.  The manual claims that I can use idealintersect to get an
> intersection of any two Z-modules,

As I understand it, it does not claim that:

idealintersect(nf,x,y):

intersection of the two ideals x and y in the number field nf.  When x
and y are given by Z-bases, this does not depend on nf and can be used to
compute the intersection of any two Z-modules.

If your order is not an ideal (most orders aren't:-), then the above does
not apply.

How would you reword the above text to make it more explicit ?

> but the command seems to convert a lattice to the ideal it generates.

This is the documented behaviour.

> E.g., if F=Q(y) is a quadratic NF, idealintersect(F,[1,0;0,3],[1,0;0,3])
> yields [1,0;0,1], which means that takes [1,0;0,3] to be the ideal
> generated  by 1 and 3y, and not the order Z[3y]?
>
> Am I using this the wrong way?  Is there another way to intersect
> lattices in number fields?

If you have Z-bases, then you are just intersecting Z-modules. Unless
speed is a major concern use

K = matkerint(concat(A,B));

\\ extract first rows in 2.2.* idiom. Replace by Str(1".."length(A)) in 2.1.*
K = vecextract(K, Str(1, "..", #A), "..");

mathnf(K * A)  \\ just to get a canonical answer

Hope this helps,

Karim.
--
Karim Belabas                     Tel: (+33) (0)1 69 15 57 48
Dep. de Mathematiques, Bat. 425   Fax: (+33) (0)1 69 15 60 19
Universite Paris-Sud              http://www.math.u-psud.fr/~belabas/
F-91405 Orsay (France)            http://pari.math.u-bordeaux.fr/  [PARI/GP]