Processing math: 100%
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Yes, what you are looking for is the method ìdealstar.

See the documentation here: http://doc.sagemath.org/html/en/reference/number_fields/sage/rings/number_field/number_field_ideal.html#sage.rings.number_field.number_field_ideal.NumberFieldFractionalIdeal.idealstar

Following the documentation.

Define a number field K and an ideal A.

sage: K.<a> = NumberField(x^3 - 11)
sage: A = K.ideal(5)

The method idealstar gives you (OK/A)×.

sage: G = A.idealstar(); G
Multiplicative Abelian group isomorphic to C24 x C4
sage: G.gens()
(f0, f1)

Using the optional argument flag=2, the generators of (OK/A)× are computed as elements in K.

sage: G = A.idealstar(flag=2)
sage: G.gens()
(f0, f1)
sage: G.gens_values()
(2*a^2 + a - 2, 2*a^2 + 2*a - 2)
click to hide/show revision 2
No.2 Revision

Yes, what you are looking for is To construct (OK/A)×, use the method ìdealstar.

See the documentation here: http://doc.sagemath.org/html/en/reference/number_fields/sage/rings/number_field/number_field_ideal.html#sage.rings.number_field.number_field_ideal.NumberFieldFractionalIdeal.idealstar.

Following the documentation.

Define a number field K and an ideal A.

sage: K.<a> = NumberField(x^3 - 11)
sage: A = K.ideal(5)

The method idealstar gives you (OK/A)×.

sage: G = A.idealstar(); G
Multiplicative Abelian group isomorphic to C24 x C4
sage: G.gens()
(f0, f1)

Using the optional argument flag=2, the generators of (OK/A)× are computed as elements in K.

sage: G = A.idealstar(flag=2)
sage: G.gens()
(f0, f1)
sage: G.gens_values()
(2*a^2 + a - 2, 2*a^2 + 2*a - 2)

To work with characters, use the method dual_group.

See the documentation here: http://doc.sagemath.org/html/en/reference/groups/sage/groups/abelian_gps/dual_abelian_group.html.