The module `quad' is for computations of imaginary quadratic fields.
Return the approximation of the class number 'h' with the given discriminant by the formula: h = w sqrt(|D|)/(2 π) Π(1 - (D/p)(1/p))^{-1} approximated by computing only prime p's less than uprbd.
Return the class number with the given discriminant by counting reduced forms. Not only fundamental discriminant.
Return the class number with the given discriminant using Shanks's Baby-Step Giant-Step Method.
Return the class number and the class group element with the given discriminant by counting reduced forms. Not only fundamental discriminant.
Return the construction of the class group of order p**exp with the given discriminant using Shanks's Baby-Step Giant-Step Method, where 'qin' = [p, exp] and p**exp divides 'classnum'.
Example1:
>>>quad.class_group_bsgs(-1200, 12, [2, 2]) [12, 0, 25], [3, 0, 100]], [[2], [2, 0]]
This means 2*[12, 0, 25] = 1 and 2*[3, 0, 100] = 1, i.e. group of order 4 is direct sum of cyclic groups of order 2. And [12, 0, 25] and [3, 0, 100] are generators of cyclic groups.
Example2:
>>>quad.class_group_bsgs(-120000, 120, [2, 3])
Return the discriminant of the given quadratic form. f = [a[0], a[1], a[2]].
Return the reduced form of composition of the given forms. 'f_1' and 'f_2' are quadratic forms with same disc.
Return the reduced form of the given quadratic form. f = (a[0], a[1], a[2]).
Return the square of the given quadratic form.
Return the powering 'exp' of the given quadratic form.