How to compute a cyclic subgroup of a class group?

asked 2017-07-08 19:52:42 +0200

anonymous user


updated 2018-02-19 16:56:32 +0200

FrédéricC gravatar image

Hello, I am quite new to computing in Sage and I am stuck at this point. Please help me out. I am going to use algebraic number theory notation without explaining them in detail. All computations are in quadratic fields.

What I have :

  • $\Delta_p=p^2\Delta_K$ where $p$ is a prime, $\Delta_K=-pq$ and $\Delta_K\equiv 1$ mod $4$
  • I computed the class group, $C(\Delta_p)$ in Sage

What I want :

  • Set $f=[(p^2,p)]$ in $C(\Delta_p)$ where $(p^2,p)$ is the standard representation of an ideal of norm $p^2$
  • Set $F=\langle f \rangle$

My question is :

  • How to get that cyclic subgroup $F$?

I have been looking at AbelianGroup and ClassGroup in Sage but I am not quite understanding how to use these to actually get what I want.

Any help in this matter would be greatly appreciated.

edit retag flag offensive close merge delete


Could you please provide the Sage code you already has ?

tmonteil gravatar imagetmonteil ( 2017-07-09 10:30:08 +0200 )edit

Let us see if your notation matches the guess of my sage and number theory impressions. The following code initializes the imaginary quadratic number field of discriminant $-pq$, $p$ prime. (And $q$ too in my case.)

sage: p = 17
sage: q = 23
sage: DK = -p*q
sage: DK

We initialize the quadratic field with the above discriminant and some order...

sage: K.<a> = QuadraticField( DK )
sage: K.discriminant()
sage: Order = K.order( p*a )
sage: Order.discriminant().factor()
-1 * 2^2 * 17^3 * 23
sage: p
sage: Order.discriminant() == 4 * p^2 * DK

Well, we've got some factor four. If you do not expect it, please give us some explicit values for $p,q$.

Note: The class group is so far implemented only for the max order.

dan_fulea gravatar imagedan_fulea ( 2017-07-09 13:20:18 +0200 )edit