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 $(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)
2 | No.2 Revision |
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.