as_symmetric_product_forms - before change

This commit is contained in:
jgarnek 2024-01-22 16:37:04 +00:00
parent f37c3a4ede
commit 9376f28100

View File

@ -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:]))
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