Post a reply
Username:
Note:If not registered, provide any username. For more comfort, register here.
Subject:
Message body:
Enter your message here, it may contain no more than 60000 characters. 

Smilies
:D :) :( :o :shock: :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:
Font size:
Font colour
Options:
BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON
Disable BBCode
Disable smilies
Do not automatically parse URLs
Confirmation of post
To prevent automated posts the board requires you to enter a confirmation code. The code is displayed in the image you should see below. If you are visually impaired or cannot otherwise read this code please contact the %sBoard Administrator%s.
Confirmation code:
Enter the code exactly as it appears. All letters are case insensitive, there is no zero.
   

Topic review - Riemann-Roch computations in Brill-Noether routines
Author Message
  Post subject:  Re: Riemann-Roch computations in Brill-Noether routines  Reply with quote
Dear colleague,
>
> In the computation of a basis for the Riemann-Roch space
> L(G), and for coding purposes, you can take a divisor G
> supported on any closed point of degree d, not only
> a rational point over the base field.
> It is true though that the sake of generality produces
> a little of confusion in the notation, but I will try to
> explain how to get what you want from the library.
>
> The ring from your example
> > def R=C[1][5];
> contains the "rational points" to evaluate functions,
> once you have extended the base field if necessary,
> so that there you do not have all the possible
> "points" to build the divisor G.
>
> The list of "closed points" C[3] is constructed in the following way:
> each point contains a couple of integers, namely the degree of the
> point and the index of such point in the corresponding "local ring",
> where you can find the coordinates.
>
> I will show you how to pass from C[3] to coordinates an vice versa,
> in your example ...
>
> > C[3];
> >
> > [1]:
> > 6,1
> > [2]:
> > 1,1
> > [3]:
> > 1,2
> > [4]:
> > 1,3
> > [5]:
> > 1,4
> > [6]:
> > 1,5
> > [7]:
> > 1,6
>
> For example the point (place) in position [4] = 1,3
> is a point of degree d=1, so that I have to look at the
> local ring C[5][d][1]=C[5][1][1], and there you have a
> list called POINTS where the point in position 3
> POINTS[3] is the point you look for, i.e. (0,-1,1)
>
> In the opposite way (precisely your question):
> you know the coordinates P=(-1,0,1) and you look
> for the "place" in C[3]. Then you have to look
> the position of such point in the list POINTS
> in C[5][1][1], since it is rational over the prime field
> (in this case, the position in this ring is equal to that
> in C[1][5] as long as you do not extend the base field
> looking for more rational points to evaluate),
> that is position 6.
> Thus, you are considering the sixth point of degree 1,
> which corresponds in the list of places C[3] to the
> place number [7] = 1,6
> This means the divisor you want is
> G=0,0,0,0,0,0,10;
> (10 times the point/place P).
> Now you have to be careful not to evaluate at the
> rational point POINTS[6] in the ring C[1][5],
> which is the same point !
> Note now that the divisor D consists of just rational
> points with coefficient 1, so that you have just to choose
> such points, and the syntax now is different:
> > intvec D=1,2,3,4,5;
> meaning that you choose the rational points number 1 to 5,
> but not the 6th !
>
> I am aware that the notation is confusing, but we did in
> this way for the sake of generality.
>
> I hope I have helped you a little bit.
>
> Best regards,
> J. Ignacio Farran.
Post Posted: Thu Nov 12, 2009 1:36 pm
  Post subject:  Riemann-Roch computations in Brill-Noether routines  Reply with quote
Riemann-Roch computations in Brill-Noether routines (brnoeth.lib)

As this may be of interest for more SINGULAR users, I post this here.
(The answer follows below the request.)

Frank


Hello,
>
> I am interested in computing dimensions of RR spaces with Singular
> (and subsequently Sage). The main problem is how to define divisors on
> a curve when we know the points with certain coordinates. In magma it
> is done by P=C![x,y,z];D=Divisor(P); (where x,y,z are the particular
> coordinates) and from there on everything works easy.
>
> In Singular seems that the way of doing this is using the vector G (as
> in intvec G=(10,-1,0,0,9,0,0,0,0,0,0,0,0,0);). If I understand
> correctly each position in G corresponds to one of the places from the
> output C[3]. I think part of the confusion was that G is NOT
> corresponding to the output of C[1][5]->POINTS.
>
> Here is an example:
> LIB "brnoeth.lib";
> ring s=5,(x,y,z),lp;
> list C = Adj_div(x7+y7+z7);
> C = NSplaces(1,C);
> C = extcurve(1,C);
> C[3];
>
> [1]:
> 6,1
> [2]:
> 1,1
> [3]:
> 1,2
> [4]:
> 1,3
> [5]:
> 1,4
> [6]:
> 1,5
> [7]:
> 1,6
>
> intvec G=(10,-1,0,0,0,3);
> def R = C[1][2];
> setring R;
> list LG = BrillNoether(G,C);
> size(LG);
> 48
>
> This can only make sense if G[0] was the multiplicity of the divisor
> at the place of degree 6. However,
>
> def R=C[1][5];
> setring R;
> print(POINTS);
> [1]:
> [1]:
> -1
> [2]:
> 1
> [3]:
> 0
> [2]:
> [1]:
> -2
> [2]:
> -2
> [3]:
> 1
> [3]:
> [1]:
> 0
> [2]:
> -1
> [3]:
> 1
> [4]:
> [1]:
> 2
> [2]:
> 1
> [3]:
> 1
> [5]:
> [1]:
> 1
> [2]:
> 2
> [3]:
> 1
> [6]:
> [1]:
> -1
> [2]:
> 0
> [3]:
> 1
> Which are only the 6 places of the degree 1. So G cannot be mapping to
> the output of C[1][5]->Points.
>
> Here is my question. Say I want to know the dimension(or basis) for
> the divisor D=10*P where P=(-1,0,1) (on the curve from the example
> above). How should I setup my G to compute that (i.e. what position
> should 10 be at in the intvec)?

============================================
============= ANSWER ========================
============================================

Dear colleague,
>
> In the computation of a basis for the Riemann-Roch space
> L(G), and for coding purposes, you can take a divisor G
> supported on any closed point of degree d, not only
> a rational point over the base field.
> It is true though that the sake of generality produces
> a little of confusion in the notation, but I will try to
> explain how to get what you want from the library.
>
> The ring from your example
> > def R=C[1][5];
> contains the "rational points" to evaluate functions,
> once you have extended the base field if necessary,
> so that there you do not have all the possible
> "points" to build the divisor G.
>
> The list of "closed points" C[3] is constructed in the following way:
> each point contains a couple of integers, namely the degree of the
> point and the index of such point in the corresponding "local ring",
> where you can find the coordinates.
>
> I will show you how to pass from C[3] to coordinates an vice versa,
> in your example ...
>
> > C[3];
> >
> > [1]:
> > 6,1
> > [2]:
> > 1,1
> > [3]:
> > 1,2
> > [4]:
> > 1,3
> > [5]:
> > 1,4
> > [6]:
> > 1,5
> > [7]:
> > 1,6
>
> For example the point (place) in position [4] = 1,3
> is a point of degree d=1, so that I have to look at the
> local ring C[5][d][1]=C[5][1][1], and there you have a
> list called POINTS where the point in position 3
> POINTS[3] is the point you look for, i.e. (0,-1,1)
>
> In the opposite way (precisely your question):
> you know the coordinates P=(-1,0,1) and you look
> for the "place" in C[3]. Then you have to look
> the position of such point in the list POINTS
> in C[5][1][1], since it is rational over the prime field
> (in this case, the position in this ring is equal to that
> in C[1][5] as long as you do not extend the base field
> looking for more rational points to evaluate),
> that is position 6.
> Thus, you are considering the sixth point of degree 1,
> which corresponds in the list of places C[3] to the
> place number [7] = 1,6
> This means the divisor you want is
> G=0,0,0,0,0,0,10;
> (10 times the point/place P).
> Now you have to be careful not to evaluate at the
> rational point POINTS[6] in the ring C[1][5],
> which is the same point !
> Note now that the divisor D consists of just rational
> points with coefficient 1, so that you have just to choose
> such points, and the syntax now is different:
> > intvec D=1,2,3,4,5;
> meaning that you choose the rational points number 1 to 5,
> but not the 6th !
>
> I am aware that the notation is confusing, but we did in
> this way for the sake of generality.
>
> I hope I have helped you a little bit.
>
> Best regards,
> J. Ignacio Farran.
Post Posted: Fri Nov 06, 2009 11:00 am


It is currently Fri May 13, 2022 11:06 am
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group