Raghukul, Currently in Sage the rational point algorithms are rudimentary (except for elliptic curves). So, implementing basically anything will make it better. The couple things I suggested as a place to start are
- sieving modulo primes. i.e., search for points modulo several different primes and use, say the chinese remainder theorem or p-adic lifting, to reconstruct the rational point. - turner's thesis has advanced enumeration algorithms for number fields - Doyle-Krumm's enumeration algorithm (#22771 <https://trac.sagemath.org/ticket/22771>) needs to take into account precision. (These is nearly complete code for #22771, so it is more a matter of finishing what has been started than starting from scratch with this). - subschemes of products of projective space I think has even less functionality. You can always do some google searching for rational point algorithms and see what exists in other systems. You can pretty much assume whatever you find is not in Sage. Further, since you are familiar with computer science, there are some issues with the inheritance of schemes that needs to be addressed. see #23807 <https://trac.sagemath.org/ticket/23807>. Essentially, whether or not UniqueRepresentation should be used for schemes and the resulting mathematical and memory issues. For mathematical background: Basic number theorem is fine for the sieving. Some basic algebraic geometry such as from Cox, Little, O'Shea - Ideals, Varieties, and Algorithms is necessary to understand the basic problems. Turner's thesis, however, requires a much more advanced background in algebraic number theory. Tom Weston's notes on algebraic number theory is a good start. However, you'll either need to be convincing in your proposal that you really do have the background to tackle her thesis algorithms, or not put that in your proposal. If you addressed the more basic algorithms that fit your number theory background and addressed the inheritance issues, that should be plenty to keep you busy this summer. Since #22771 is nearly done, the background there is much less stringent. You need to know the basic definitions of number fields and prime ideals, enough to be able to evaluate the correctness of the current code, rather than enough to implement the algorithm from scratch. General familiarizing yourself with Sage is good. I'd also suggest working on one of the beginner tickets on the trac server (view tickets -> open beginner tickets). It can be something totally trivial, the point is to demonstrate that you can navigate git and the trac system. Best, Ben On Tuesday, February 27, 2018 at 5:47:45 AM UTC-6, Raghukul Raman wrote: > > Hi, > I'm Raghukul Raman, pursuing bachelors in Computer Science at IIT Kanpur, > India. I have done many mathematics courses including Discrete Mathematics, > Abstract Algebra (some Algebraic geometry was also taught in this course), > Complex variables etc, I have also done a reading project titled "Rational > points on elliptic curves". I am academic mentor of 2 mathematics courses > in my institute. I have used python in one of my project on text detection, > and being a sport programmer, I frequently use c++. > > I would like to mention that, I am active member of SCH hobby group in my > college, where we conduct talks on Number theory and related topics :) > Having keen interest in Number theory, I found the project "Rational > Points on Varieties" interesting and would like to work on it. I will setup > sage and would start reading the existing code, but can you please provide > me with the relevant resources to develop the required math? Apart from > algorithms mentioned in Turner's thesis ( https://goo.gl/XE4prs ), what > other algorithms are required to be added? Also, any other suggestion about > what can do to get started? > > With Regards, > Raman > > Relevant links: > python project: https://github.com/tushargr/PclubProject_ImageAnalysis > codeforces profile: http://codeforces.com/profile/1.7.2.9 > -- You received this message because you are subscribed to the Google Groups "sage-gsoc" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/sage-gsoc. For more options, visit https://groups.google.com/d/optout.
