Hi all,
My student proposal which I made with help of mentors Dr. Stefan van Zwam 
and Dr. Rudi Pendavingh. Your suggestions are welcome.

*Personal*:

Jayant Apte

[email protected]

Drexel University, Philadelphia PA

Timezone: ET

*Background*: *What are your technical skills, education, experience, etc. 
Especially make sure to explain with what level of mathematics you are 
comfortable with and on what level you would like to program.*

I am PhD student at Drexel University with research interests in the 
intersection of information theory, algorithms and combinatorics.  I am 
being superwised by *Dr. John Walsh* <http://www.ece.drexel.edu/walsh/web/>. 
I have completed my MS with coursework involving information theory, 
algorithms and optimization. I learnt about several interesting matroid 
theory concepts from my advisor John Walsh and also from *Dr. Rakesh 
Vohra*<http://economics.sas.upenn.edu/faculty/rakesh-vohra>
 via a course titled Submodularity and Discrete Convexity at CIS Dept. of 
University of Pennsylvania.

*Who are you? What makes you the best person to work on this particular 
project? Special motivation?*

My work involves using matroids as abstraction of network codes and 
developing algorithms based on matroid theory to compute fundamental 
information theoretic limits on storage and transfer of information in a 
network.

I use programming languages C/C++  extensively and have worked with 
parallel programming paradigms such as MPI, OpenMP, SSE, CUDA and 
p-threads. (In Fall 2013,  I worked as teaching assistant for Parallel 
Computer Architecture course at Drexel University by *Dr. Naga 
Kandasamy*<http://www.ece.drexel.edu/kandasamy/>). 
Efficient implementation has been one of the themes of my work towards my 
PhD thesis. Additionally, I’m using matroid theory for designing algorithms 
related to my research which gives me natural motivation to explore 
computational aspects of matroid theory.

*What platform and operating-system are you using on your computer? (Sage 
development is done best on Linux and OSX)*

I currently use ubuntu.

*Are you or have you been engaged in other open-source projects?*

I'm working on the *Entropic vectors software project* at 
ASPITRG<http://www.ece.drexel.edu/walsh/aspitrg/home.html>. 
A part of it called *chmlib* which is implementation of polyhedral 
projection algorithm Convex Hull Method was recently released. It uses 
FLINT library for rational arithmetic and qsopt for rational LP solving. 
I'm still in the process of writing documentation and adding some new 
features. The tarball can be found here: My 
Homepage<https://sites.google.com/site/jayantapteshomepage/>

*Do you code on your own pet projects?*

One of my pet projects was to implement sets as bitwise data structures and 
implement set operations as logical AND, OR etc. The tarball can be found 
here: My Homepage <https://sites.google.com/site/jayantapteshomepage/>

*Are you a Sage user, how long do you know Sage?*

I started using sage to learn group theory one and half year ago. Since 
then I have been using it as a learning/experimentation tool.

*Project:* Combinatorics - Matroid Theory

*Title*: Efficient implementation of matroid class membership checks, 
class-specific approaches for enumeration of matroids belonging to specific 
class and matroid visualization

*What is your personal involvement or relationship with your proposed 
project?*

I will be involved as a programmer

*Details**:*

The basic procedures to be implemented(first there will be a review of 
existing procedures, possibly profiling to find bottlenecks) will be as 
follows:

1. Matroid class membership checks: This would involve profiling of 
existing procedures for class membership checks and implementing new 
procedures for classes not supported so far

*Deliverable*: At least 2 new class membership checks(GF2 and GF3 first, 
others will be a nice bonus)

2. Matroid extension: Profiling current procedures and exploring 
possibility of simplifying extension process for specific classes of 
matroids

*Deliverable*: Specialized extension for at least 2 classes of matroids

3. Visualization of matroids: One of the softwares that already has matroid 
visualization is Oid. However, it is written in Java. The low hanging fruit 
here will be to port their code.

*Deliverable*: Procedure to display geometric representation given a matrix 
representation of matroid (potentially other oracles as well)

4. A network coding supplement: Given a small network(basically a directed 
acyclic graph with a set of sources and subsets of it being demanded by 
various sink nodes in the network) find matroids that form optimal codes. 
Connectivity of matroids can be tied to optimality of codes. Essentially, 
this is matroid enumeration subject to network constraints. (Again, I have 
C code for testing a matroid rank vector for constraint satisfaction(These 
are equality constraints stating r(S1)=r(S2) ) for some subsets S1,S2 of 
ground set)

*Deliverable*: Implement atleast scalar code functionality.

*Schedule*:

   1. 
   
   Now--19th May: Background research: Learning Cython, explore potential 
   options for porting Oid's Java code. Reading up on existing procedures to 
   understand details of implementation
   2. 
   
   19th May – 7th June: Class membership checks. Parallely work on 
   visualization Ideas.
   3. 
   
   8th June – 23rd June: Class-specific extension. Parallely work on 
   visualization Ideas.
   4. 
   
   24th June – 27th June: While this is midterm evaluation period, it can 
   be used as buffer for finishing up on leftovers
   5. 
   
   28th June – 5th July: Travel to International Symposium on Information 
   Theory (If paper gets accepted)
   6. 
   
   6th July – 23rd July: Work on visualization ideas developed already.
   7. 
   
   23rd July – 11th August: Work on Network Coding supplement. Will 
   basicallly involve using as much as possible existing C code.
   8. 
   
   11th August-- 18th August: Pencils down, code scrubbing
   
*Risk Management*: It is possible that task 4 might become computationally 
burdensome. If it is not looking very good and there is time left, I would 
rather use this period to enhance tasks 1,2,3 above. e.g. membership 
checks/extension for extra classes of matroids. 

-- 
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 http://groups.google.com/group/sage-gsoc.
For more options, visit https://groups.google.com/d/optout.

Reply via email to