Ask Your Question

Revision history [back]

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 $(O_K / A)^\times$.

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 $(O_K / A)^\times$ 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)

Yes, what you are looking for is To construct $(O_K / A)^\times$, 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 $(O_K / A)^\times$.

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 $(O_K / A)^\times$ 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.