# How to compute a cyclic subgroup of a class group? Anonymous 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 close merge delete

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
-391


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

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


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.