diff --git a/as_covers/as_polyforms.sage b/as_covers/as_polyforms.sage index c0d279b..4f7396c 100644 --- a/as_covers/as_polyforms.sage +++ b/as_covers/as_polyforms.sage @@ -50,14 +50,8 @@ def as_symmetric_power_basis(AS, n, threshold = 8): indices_nonrepeating += [i] result = [] for i in indices_nonrepeating: - tensor_form = [as_function(AS, B0[i[j]].form) for j in range(n)] - tensor_form2 = [B0[i[j]] for j in range(n)] - print(hash(tuple(tensor_form))) - print([tensor_form], tuple(tensor_form)) - aux_dict = {} - aux_dict[tuple(list(tensor_form))] = 1 - print(aux_dict) - result += [as_symmetric_product_forms([tensor_form], aux_dict)] + tensor_form = [B0[i[j]] for j in range(n)] + result += [tensor_form] print(binomial(g + n - 1, n), len(result)) return result @@ -222,4 +216,15 @@ class as_symmetric_product_forms: return as_tensor_product_forms(pairs_of_forms2, self.coeffs) def non_decreasing(L): - return all(x<=y for x, y in zip(L, L[1:])) \ No newline at end of file + return all(x<=y for x, y in zip(L, L[1:])) + +def as_multiply_forms(list_of_forms): + n = len(list_of_forms) + AS = list_of_forms[0].curve + RxyzQ, Rxyz, x, y, z = AS.fct_field + aux_product = Rxyz(1) + for fct in list_of_forms: + aux_product = aux_product * fct.form + aux_product = as_function(AS, aux_product) + aux_product = as_polyform(aux_product, n) + return aux_product \ No newline at end of file