Archive for the ‘Sage’ Category

Graph Theory in Sage

Thursday, November 10th, 2011

Graph Theory in Sage is a presentation by William Stein of some of the graph capabilities of Sage.

I mention it because there has been discussion on the Neo4j mailing list about learning graph theory and this may be helpful in that regard.

There is a Sage worksheet that has all the formulas and values used in the presentation.

You can also download the video.

You will have to experience it for yourself but I thought the help feature on graphs was most impressive.

Sage will help you get your feet on the ground with formal graph theory.


Thursday, November 10th, 2011


Kirk Lowery mentioned Sage to me and with mathematics being fundamental to IR, it seemed like a good resource to mention. Either for research, using one of the course books or satisfying yourself that algorithms operate as advertised.

You don’t have to take someone’s word on algorithms. Use a small enough test case that you will recognize the effects of the algorithm. Or test it against another algorithm said to give similar results.

I saw a sad presentation years ago when a result was described as significant because the manual for the statistics package used said it was significant. Don’t let that be you, either in front of a client or in a presentation to peers.

From the website:

Sage is a free open-source mathematics software system licensed under the GPL. It combines the power of many existing open-source packages into a common Python-based interface.

Mission: Creating a viable free open source alternative to Magma, Maple, Mathematica and Matlab.

From the feature tour:

Sage is built out of nearly 100 open-source packages and features a unified interface. Sage can be used to study elementary and advanced, pure and applied mathematics. This includes a huge range of mathematics, including basic algebra, calculus, elementary to very advanced number theory, cryptography, numerical computation, commutative algebra, group theory, combinatorics, graph theory, exact linear algebra and much more. It combines various software packages and seamlessly integrates their functionality into a common experience. It is well-suited for education and research.

The user interface is a notebook in a web browser or the command line. Using the notebook, Sage connects either locally to your own Sage installation or to a Sage server on the network. Inside the Sage notebook you can create embedded graphics, beautifully typeset mathematical expressions, add and delete input, and share your work across the network.

The following showcase presents some of Sage’s capabilities, screenshots and gives you an overall impression of what Sage is. The examples show the lines of code in Sage on the left side, accompanied by an explanation on the right. They only show the very basic concepts of how Sage works. Please refer to the documentation material for more detailed explanations or visit the library to see Sage in action.

In all fairness to Mathematica, the hobbyist version is only $295 for Mathematica 8. With versions for Windows (XP/Vista/7) Max OS X (Intel) and Linux. There is a reason why people want to be like…some other software. Mathematica has data mining capabilities and a host of other features. I am contemplating a copy of Mathematica as a Christmas present for myself.

Do note that all of the Fortune 50 companies use Mathematica. The hobbyist version allows you to add an important skill set that is relevant to a select clientele. Not to mention various government agencies, etc.

Should a job come along that requires it, I can simply upgrade to a professional license. Why? Well, I expect people to pay my invoices when I submit them. Why shouldn’t I pay for software I use on the jobs that result in those invoices?

Don’t cut corners on software. Same goes for the quality of jobs. It will show. If you don’t know, don’t lie, say you don’t know but will find out. Clients will find simple honesty quite refreshing. (I can’t promise that result for you but it has been the result for me over a variety of professions.)