Hello,
my name is Michele Borassi, and I am a 2nd year PhD student at IMT 
Institute for Advanced Studies, Lucca, Italy.
I am interested in the Google Summer of Code program, and I would like to 
present a project that meets my research interests: algorithms and graphs. 
I have checked the graph library in SageMath, and in your documentation, 
you write "Sage graphs are actually NetworkX graphs, wrapped in a Sage 
class.". Although this implementation is very simple and user-friendly, it 
is not very fast (http://graph-tool.skewed.de/performance). For this 
reason, I would like to propose a project developing a more 
efficiency-oriented implementation, that might be preferred by some users: 
not only researchers that analyze very big graphs in the field of Complex 
Networks (millions or billions of nodes), but also people who work in the 
algorithm design field, where efficiency is very important.

I will base this new implementation on state-of-the-art libraries written 
in other languages (for instance, the C library iGraph, 
http://igraph.org/redirect.html, which is already wrapped in Python). I 
could also exploit the Java Webgraph library 
(http://webgraph.di.unimi.it/), that allows to work with big graphs stored 
on the hard disk, without loading them in RAM: this library solves all 
memory problems, at the price of a small loss in efficiency and that the 
graph is immutable.

However, before writing a project on this topic, I would like to ask you 
some questions.
1) Are you interested in a project like this, since none of your example 
project deals with Sage graph library?
2) In case, do you have any preference on how to choose the language to use 
for the implementation? I see that many parts of Sage are written in C or 
C++, but none in Java: is it possible to embed Java code in Sage? 
Otherwise, I should only focus on C/C++.
3) Is there any performance bottleneck I should be aware of, before 
starting a project like this? For instance, does the notebook interface 
impact performances?
4) Do you have any other suggestion?

Waiting for your answer, I thank you in advance,
Michele Borassi

-- 
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