The solution you proposed worked. What is the explanation for why it worked?
I am now trying to implement Y in SageMath. B2 = (2*G).basis_function_space() R.<y> = Fq[] Q = R.irreducible_element(16) L.<z> = Fq.extension(Q) div = Q(x).divisor() P = None; for place in div.support(): if(place.degree() == 16): P = place Y_matrix = matrix([morph(a).list() for a in [f.evaluate(P) for f in B2]]).transpose() def Y(f): return morph(f.evaluate(P)) def Y_inv(alpha): coeffs = Y_matrix.solve_right(vector(alpha.list())) print(len(coeffs)) #return sum(coeff * b for coeff, b in zip(coeffs, B2)) However, Y_matrix.solve_right() has no solutions. I created the morphism in order to get a result of length 16. My Magma code for Y: m := 16; P := RandomPlace(F, m); Fqm := ResidueClassField(P); Y_matrix := Matrix([Eltseq(a): a in [Evaluate(f, P): f in B2]]); Y := function(f) return Evaluate(f, P); end function; Y_inv := function(alpha) coeffs := Solution(Y_matrix, Vector(Eltseq(alpha))); return &+[coeffs[i] * B2[i]: i in [1..#B2]]; end function; On Thursday, January 2, 2025 at 4:17:34 PM UTC-8 Kwankyu wrote: > X_matrix = matrix([[f.evaluate(p) for p in places] for f in > B1]).transpose() > > will work for you. > > -- You received this message because you are subscribed to the Google Groups "sage-support" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-support+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/sage-support/041dbeed-ea1a-44cb-8fa8-b3829ebbdcadn%40googlegroups.com.