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.

Reply via email to