Commit cb5c5af4 by Peter Bruin

### inline curve_divisor_bilinear_map

parent d465ab3b
 ... ... @@ -110,23 +110,6 @@ curve_divisor_section_as_matrix(GEN X, GEN s, GEN C1, GEN piv2, GEN R2) { return gerepileupto(av, M); } /* Given an effective divisor D on X, three subspaces V_1, V_2, V_3 of space of the form \Gamma(X,{\cal L}^i) such that V_3 is the product of V_1 and V_2, return the induced map on quotient spaces. */ static GEN curve_divisor_bilinear_map(GEN X, GEN C1, GEN C2, GEN piv3, GEN R3) { long i, n = lg(C1) - 1; pari_sp av = avma; GEN mu = cgetg(n + 1, t_VEC); for (i = 1; i <= n; i++) gel(mu, i) = curve_divisor_section_as_matrix(X, gel(C1, i), C2, piv3, R3); return gerepileupto(av, mu); } /* Given a curve X and a divisor D represented as the _two_ subspaces W_D = \Gamma(X,{\cal L}^d(-D)) and ... ... @@ -153,10 +136,10 @@ curve_divisor_algebra (GEN X, GEN W_D, GEN W_2_D, GEN C; GEN algebra, basis; int try_monogenic = 1; /* TODO: useful criterion */ long deg_D = lg(V) - lg(W_D), i; if (try_monogenic) { GEN s, t, M, N, A = NULL, v; long deg_D = lg(V) - lg(W_D), i; int done = 0; while (!done) { if (A == NULL) { ... ... @@ -187,7 +170,10 @@ curve_divisor_algebra (GEN X, GEN W_D, GEN W_2_D, } else { GEN mu, algebra_basis; C = matsmall_complement(V, W_D, p, T); mu = curve_divisor_bilinear_map(X, C, C, piv2, R_2); mu = cgetg(deg_D + 1, t_VEC); for (i = 1; i <= deg_D; i++) gel(mu, i) = curve_divisor_section_as_matrix(X, gel(C, i), C, piv2, R_2); /* Compute the algebra \Gamma(D,\O_D) and its action on \Gamma(D,i^*{\cal L}). ... ...
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!