Re: [sage-nt] NT Project/Research Interest Gsoc 2013

53 views
Skip to first unread message

David Roe

unread,
Apr 15, 2013, 6:50:29 PM4/15/13
to sag...@googlegroups.com
Hi Ahmad,
I'm glad to hear you're interested in working on number theory in Sage.  You mention having taken two number theory classes; what topics did you cover?  I would suggest looking at the following files and folders within the Sage library and describing how familiar you are with the underlying mathematics (my guess is that much of it will be unfamiliar; that's not a problem):
sage/schemes/elliptic_curves/
sage/modular/
sage/rings/finite_rings/
sage/rings/number_fields/
sage/rings/padics/
sage/rings/function_field/
sage/rings/factorint.pyx
sage/rings/arith.py
sage/rings/fast_arith.pyx
sage/rings/fraction_field_FpT.pyx

I think people may have an easier time suggesting direction for you if we know what kind of number theory you know: it's a big subject!
David


On Sat, Apr 13, 2013 at 9:35 PM, Ahmad Soliman <ahmad...@gmail.com> wrote:
Hello Sage,

I am not sure to whom exactly am I supposed to send this email, but i thought here is a good start.

My name is Ahmad Soliman, I am 3rd year Computer Science student at the German University in Cairo, Egypt. I am willing to join the google summer of code program for 2013.

I have already checked the ideas page for Gsoc, but I have noticed that there was not a separate project related to Number Theory. I loved all the topics available, but I have a certain interest in Number Theory.

I was wondering, if there is an ongoing project, or any plans/ideas to develop or to improve in Sage Number Theory library, and if there is someone who would be interested to be my mentor in Gsoc through such a project that I would love to be part of. Also, I would be interested in a research project.

------------------------------------------------------------------

If someone is interested, let me introduce myself:

I have been studying Number Theory for two semesters, I have a good experience in implementing number theory algorithms using C/C++ and python. I have been deeply into Competitive Programming for two years, constantly competing in TopCoder, Codeforces, Google Code Jam, and ACM competitions. Which lead me to increase my knowledge in NT and to implement very optimized versions of NT algorithms.

Regarding my programming experience, I started programming 7 years ago. I have a long experience using Java, C/C++. Also a good experience with Python, Perl, Haskell, Prolog, .Net C#, Ruby. I would send you my complete CV if you are interested.

I am very sorry for this long email. And Thank you for your interest.

Best Regards,
Ahmad Soliman

--
You received this message because you are subscribed to the Google Groups "sage-nt" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-nt+u...@googlegroups.com.
To post to this group, send an email to sag...@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-nt?hl=en-GB.
For more options, visit https://groups.google.com/groups/opt_out.



Ahmad Soliman

unread,
Apr 16, 2013, 2:04:23 PM4/16/13
to sag...@googlegroups.com
Hi David,

Thank you for your reply and concern.

Okie regarding my background in Number Theory, It includes elemantary subjects like Euclidean algs, modular arithmetic, congruences, euler's phi, CRT, factorizations, Fermat theorems, primality checks, Diophantine eqns, and also Group Theory, RSA, and Encryption Algs. I had a linear algebra course as well, going through matrices, transformations, transpose, cramer's rule, eigen values, and vectors.

Regarding the topics you mentioned I can see that it is a big subject of course, I looked around the folders and files and probably yes, most of it is unfamiliar. But i would love to get more into it. I do not know where to start but to study any of these subjects and to try implementing such algorithms would be a challenge that I really want to take.

A chance to implement missing functions or improve current implemented ones either by improving the used algorithms or using more efficient ones, would be a good start I think. So please tell me what do you think. Thank you.

Best Regards,
Ahmad Soliman 
Reply all
Reply to author
Forward
0 new messages