
/////////////////////////////////////////////////////////////////////
// Places on a nonplane curve (old bug)

PZ5<Z0,Z1,Z2,Z3,Z4> := PolynomialRing(Integers(), 5);
Pr4Z := ProjectiveSpace(PZ5);
XZ := Curve(Pr4Z, [Z3^2+Z1*Z4-Z0^2, Z3^2+Z2*Z4-Z1^2, Z3^2+Z3*Z4-Z2^2]);
XQ := BaseChange(XZ, Rationals());
ptsQ := [XQ | [ 0, -1, 0, -1, 1 ],
              [ 1, -1, -1, 1, 0 ],
              [ 1, 1, -1, 1, 0 ],
              [ -1, -1, -1, 1, 0 ],
              [ -1, 1, -1, 1, 0 ]
        ];
basept := XQ![0,0,0,0,1];
seq := [ -2, -1, 1, -1, 1];
gens := [1*Place(ptsQ[i])-1*Place(basept) : i in [1..#ptsQ]];
D := &+[seq[j]*gens[j] : j in [1..#gens]];
Decomposition(D);

