How to compute a cyclic subgroup of a class group?

asked 7 years ago

anonymous user

Anonymous

updated 7 years ago

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 :

  • Δp=p2ΔK where p is a prime, ΔK=pq and ΔK1 mod 4
  • I computed the class group, C(Δp) in Sage

What I want :

  • Set f=[(p2,p)] in C(Δp) where (p2,p) is the standard representation of an ideal of norm p2
  • Set F=f

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.

Preview: (hide)

Comments

Could you please provide the Sage code you already has ?

tmonteil gravatar imagetmonteil ( 7 years ago )

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.

dan_fulea gravatar imagedan_fulea ( 7 years ago )