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.

Reply via email to