Kernel: SageMath 10.4
#Case g+4: s_1^2, s_2^2, s_1s_2, s_1u + s_1ju, s_2u + s_2ju, s_1u′ + s_1ju′, s_2u′ + s_2ju are linear indep. reset()
var('l1,l2,l3,l4, l5, l6, l7, s2p, up, jup, vp, jvp, s1q, uq, juq, vq, jvq, s1x, s2x, ux, vx, jux, jvx, s1y, s2y, uy, vy, juy, jvy, s1m, s2m, um, vm, jum, jvn, s1n, s2n, un, vn, jun, jvn, s1t, s2t, ut, jut, vt, jvt') Eqs=[l2*s2p^2+l5*(s2p*up+s2p*jup)+l7*(s2p*vp+s2p*jvp)==0, l1*s1q^2+l4*(s1q*uq+s1q*juq)+l6*(s1q*vq+s1q*jvq)==0, l1*s1x^2+l2*s2x^2+l3*s1x*s2x+l6*(s1x*vx+s1x*jvx)+l7*(s2x*vx+s2x*jvx)==0, l1*s1y^2+l2*s2y^2+l3*s1y*s2y+l6*(s1y*vy+s1y*jvy)+l7*(s1y*vy+s1y*jvy)==0, l1*s1m^2+l2*s2m^2+l3*s1m*s2m+l4*(s1m*um+s1m*jum)+l5*(s2m*um+s2m*jum)==0, l1*s1n^2+l2*s2n^2+l3*s1n*s2n+l4*(s1n*un+s1n*jun)+l5*(s2n*un+s2n*jun)==0, l1*s1t^2+l2*s2t^2+ l3*s1t*s2t+ l4*(s1t*ut+s1t*jut)+l5*(s2t*ut+s2t*jut)+l6*(s1t*vt+s1t*jvt)+l5*(s2t*vt+s2t*jvt)==0 ]
unks = [l1,l2,l3,l4, l5, l6, l7] m = matrix([[lhs.coefficient(u) for u in unks] for eq in Eqs for lhs in [eq.lhs()]]) v = vector([eq.rhs() for eq in Eqs])
m
[ 0 s2p^2 0 0 jup*s2p + s2p*up 0 jvp*s2p + s2p*vp] [ s1q^2 0 0 juq*s1q + s1q*uq 0 jvq*s1q + s1q*vq 0] [ s1x^2 s2x^2 s1x*s2x 0 0 jvx*s1x + s1x*vx jvx*s2x + s2x*vx] [ s1y^2 s2y^2 s1y*s2y 0 0 jvy*s1y + s1y*vy jvy*s1y + s1y*vy] [ s1m^2 s2m^2 s1m*s2m jum*s1m + s1m*um jum*s2m + s2m*um 0 0] [ s1n^2 s2n^2 s1n*s2n jun*s1n + s1n*un jun*s2n + s2n*un 0 0] [ s1t^2 s2t^2 s1t*s2t jut*s1t + s1t*ut jut*s2t + jvt*s2t + s2t*ut + s2t*vt jvt*s1t + s1t*vt 0]
v
(0, 0, 0, 0, 0, 0, 0)
m.rank()
7
#Case g=3. s_1^2, s_2^2, s_1s_2 and s1u+s1ju, s2u+s2ju are linear indep reset()
var('l1,l2,l3,l4, l5, s2p, up, jup, vp, jvp, s1q, uq, juq, vq, jvq, s1x, s2x, ux, vx, jux, jvx, s1y, s2y, uy, vy, juy, jvy, s1m, s2m, um, vm, jum, jvn, s1n, s2n, un, vn, jun, jvn, s1t, s2t, ut, jut, vt, jvt') Eqs=[l2*s2p^2+l5*(s2p*up+s2p*jup)==0, l1*s1q^2+l4*(s1q*uq+s1q*juq)==0, l1*s1x^2+l2*s2x^2+l3*s1x*s2x==0, l1*s1y^2+l2*s2y^2+l3*s1y*s2y==0, l1*s1t^2+l2*s2t^2+ l3*s1t*s2t+ l4*(s1t*ut+s1t*jut)+l5*(s2t*ut+s2t*jut)==0 ]
unks = [l1,l2,l3,l4, l5] m = matrix([[lhs.coefficient(u) for u in unks] for eq in Eqs for lhs in [eq.lhs()]]) v = vector([eq.rhs() for eq in Eqs])
m
[ 0 s2p^2 0 0 jup*s2p + s2p*up] [ s1q^2 0 0 juq*s1q + s1q*uq 0] [ s1x^2 s2x^2 s1x*s2x 0 0] [ s1y^2 s2y^2 s1y*s2y 0 0] [ s1t^2 s2t^2 s1t*s2t jut*s1t + s1t*ut jut*s2t + s2t*ut]
v
(0, 0, 0, 0, 0)
m.rank()
5
S=solve(Eqs, l1,l2,l3,l4, l5) S
[[l1 == 0, l2 == 0, l3 == 0, l4 == 0, l5 == 0]]