|
D.5.1.1 RiemannRochBN
Procedure from library brillnoether.lib (see brillnoether_lib).
- Usage:
- RiemannRochBN(C,I,J); ideal C, ideal I, ideal J
- Assume:
- C is a homogeneous ideal defining a projective curve.
If C is a non-planar curve, then C is assumed to be
nonsingular. This assumption is not checked.
The ideals I and J represent a
a divisor D on C.
- Return:
- A vector space basis of the Riemann-Roch space of D,
stored in a list RRBasis. The list RRBasis contains a
list IH and a form F. The vector space basis of L(D)
consists of all rational functions G/F, where G is an
element of IH.
Example:
| LIB "brillnoether.lib";
ring R = 0,(x,y,z),dp;
poly f = y^2+x^2-1;
f = homog(f,z);
ideal C = f;
ideal P1 = x,y-z;
ideal P2 = x^2+y^2,z;
ideal I = intersect(P1^3,P2^2);
ideal P3 = x+z,y;
ideal J = P3^2;
RiemannRochBN(C,I,J);
==> [1]:
==> _[1]=65y2z2-81xz3-81z4
==> _[2]=65xyz2+63xz3+65yz3+63z4
==> _[3]=65y3z-81xyz2-81yz3
==> _[4]=65xy2z-81x2z2-81xz3
==> _[5]=65y4-81xy2z-81y2z2
==> _[6]=65xy3-81x2yz-81xyz2
==> [2]:
==> 8xyz2-y2z2-8xz3+2yz3-z4
|
|