Ask Your Question

Guided work for sage development.

asked 2010-08-27 14:58:15 +0200

hector1618 gravatar image

updated 2011-05-12 16:35:15 +0200

Kelvin Li gravatar image

I am a postgraduate student of mathematics at IIT-Roorkee. I am interested in number theory,abstract algebra,algorithms. I don't use SAGE in my research work because I am not doing any. But I would like to contribute to sage by developing some programs/scripts. Since most of the things I know are already been coded, is it possible for me to get some guided work to work on?

edit retag flag offensive close merge delete


"scripts" used to have pejorative connotation vs. compiled programs; but now that many languages are hybrid (both interpreted and compiled), just "programs" is sufficient terminology IMHO.

ccanonc gravatar imageccanonc ( 2010-08-27 17:35:24 +0200 )edit

4 Answers

Sort by ยป oldest newest most voted

answered 2010-08-28 13:09:20 +0200

updated 2010-08-28 14:44:51 +0200

As niles pointed out, fixing bugs is a good way to start. There are a lot of tickets on the issue tracker. The ones marked with the beginner keyword are supposed to be more suitable as a starting point.

This will help you learn the development process, i.e., how to

and gain a general familiarity with the general architecture of Sage,

Don't be overwhelmed by all this. Working on a couple of tickets will get you there, you don't need to read all the documentation now. :)

For projects, we still don't have a single reference point. (Putting up such a page on the wiki could be a good starting task.) Here are some relevant links:

Feel free to ask questions if you decide to try something out. The developer list, and now this web site, is quite helpful.

Looking forward to your first patch!

edit flag offensive delete link more

answered 2010-08-28 14:38:05 +0200

mvngu gravatar image

The contributor howto is required reading for any new contributor. You should at least be familiar with that howto.

edit flag offensive delete link more


I ended up in the "Disseminating Code for Sage" section of the developer manual when I was looking for that walkthrough. Thanks for pointing it out. I updated my answer with the correct links now.

burcin gravatar imageburcin ( 2010-08-28 14:46:40 +0200 )edit

answered 2010-08-27 15:45:31 +0200

niles gravatar image

Hi Hector,

It definitely is possible! Before I (and others) start listing projects, I'd like to point out that fixing bugs is another way of contributing to Sage that you may not have considered. That can be easier than writing new code, because you don't have to come up with the major ideas or do a lot of writing. But you do have to figure out how the code works, how it doesn't, and how to fix it. A few problems have come up already on this site (e.g. with numerical integration, or colormaps for certain 3d plots), and there are a good number of further bugs mentioned on the Trac site.

By doing this, you also get experience with a lot of Sage code and hence will have an easier time writing quality code when you need to do so.

(Note that this is my particular opinion, and I'm not a major contributor to Sage. I suspect there may be others who agree, but also a fair number who disagree--they can go ahead and vote this answer down!)

edit flag offensive delete link more


But only if they have enough karma :)

kcrisman gravatar imagekcrisman ( 2010-08-27 16:40:36 +0200 )edit

I would be careful with downvoting - it greatly discourages new users.

Evgeny gravatar imageEvgeny ( 2010-08-27 17:33:01 +0200 )edit

Evgeny: Doesn't downvote subtract just 1 karma point? I agree for new users. I think niles was just curious since he has 220 karma points. :-)

ccanonc gravatar imageccanonc ( 2010-08-27 22:16:27 +0200 )edit

the downvoter loses one, author of the post loses up to two points (karma never goes below 1). Downvotes turn off new users very efficiently, I even think about making the downvote button optional.

Evgeny gravatar imageEvgeny ( 2010-08-27 22:43:15 +0200 )edit

Yeah, I was trying to say that I'm ok with it in this case. I'm curious about the negative effect: do you mean that being downvoted turns off new users, or that seeing others downvoted turns them off too? Maybe it should be that only people with a certain karma score can be downvoted?

niles gravatar imageniles ( 2010-08-28 09:34:38 +0200 )edit

answered 2010-08-27 17:21:48 +0200

niles gravatar image

Another possibility: wrappers in Sage for accessing other programs. Working on something completely separate today, I came across the following note of David Joyner and David Kohel (from 2008) describing how to use GAP from within Sage for group theory computations. Near the end (section 5.6), they note that a number of GAP functions are not accessible from Sage and explain how to write a wrapper which will add this functionality to Sage.

In particular, I was looking for the LieAlgebra GAP functions, which still seem to not be in Sage.

They write:

anyone with time and a basic understanding of group theory and Python/SAGE can do this

They also provide a good warning which deserves to be more than a footnote: _be sure that the functions you add aren't already part of Sage_! Looking through the documentation will give you a good idea of what's already there, and it's recommended to send an e-mail to sage-devel before you start working on something to see if it's already in progress.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2010-08-27 14:58:15 +0200

Seen: 664 times

Last updated: Aug 28 '10