Class groups of finite flat algebras

Class groups of finite flat algebras

dual_pairs.class_group.class_group(A, S)

Return the S-class group of A.

This is a version for étale algebras of the method NumberField.S_class_group().

EXAMPLES:

sage: from dual_pairs import FiniteFlatAlgebra
sage: from dual_pairs.class_group import class_group
sage: from dual_pairs.etale_algebra import ideal_generator
sage: R.<x> = QQ[]
sage: A = FiniteFlatAlgebra(QQ, [x, x^2 + 23])
sage: S = [5]
sage: Cl, gens, from_Cl, to_Cl = class_group(A, S)
sage: c = Cl.random_element(); c   # random
f^2
sage: I = from_Cl(c); I            # random
(Fractional ideal (1), Fractional ideal (4, 1/2*a + 3/2))
sage: to_Cl(I) == c
True
sage: ideal_generator(A, S, I^-3)  # random
(1, -3/128*a1 - 7/128)