Sunday, August 28, 2011

Review: Sage Beginner's Guide (Fantastic Book on Sagemath)


Sage Beginner's Guide  is an introductory book for the Sage math software, an open source mathematics system. Sage is a free alternative to Mathematica, Maple, and Matlab. The book does a great job explaining the basics of Sage. Each chapter is well written with my favorite "Time for Action", that allows the reader to explore the software and understand the experiment in depth. It is a great way to explore how things work and completely in line with what the book says "learning by doing: less theory, more results".


The first chapter is a tour of "what can be done with Sage". The second chapter deals with installing Sage across a variety of platforms. Chapter three eases the user into the sage interface, it discusses how to use the CLI, the notebook interface and get help. Chapter four is all about python; the chapter does a great job introducing python: one of the best I've seen in a book. It arms the reader to work with Sage and python.

Chapter five focuses on vectors, matrices and linear algebra. Sage include numpy and the chapter covers numpy in good detail. Chapter six is my favorite. I love plotting graphs, the chapter discusses various types of plots. The chapter does a great job explaining Matplotlib. Chapter seven is all about symbolic mathematics: integrals, differentials, ODE's, solving equations, finding roots, Taylor series and more. Chapter eight is about solving problems numerically and for me this is the best chapter in the book. It covers a variety of topics -- finding roots, maxima and minima of functions, gradients, integration, discrete Fourier transforms, window functions, solving ODE's. linear programming, constrained optimization to probability. Chapters five to eight are the meat of the book and I expect all readers to keep referring back to these chapters time and again.

Chapter nine is about advanced python programming, but I was a little let down based on what I had seen in chapter four. The chapter covers OOP, modules, exception handling and unit testing. What I did not like was the way the code is formatted and occupies a majority of the contents of the chapter. Chapter ten is about my favorite tool, LaTeX, it covers integration of LaTeX and Sage. No mathematical software is complete unless one can build interactive workbooks and the author does a great job explaining how to go about that business with interactive graphics and good typesetting.

Given the capabilities of Sage, the book fails to cover some of the discrete mathematics aspects, like graph theory, combinatorics and cryptography. To be fair, the author does mention in the preface the focus is on calculus, ODE and linear algebra.

Sage is a beast with several projects integrated under a single umbrella. This book meets the goals it sets out to achieve and does so in an incredible manner with clear definition of chapter goals, good summaries and excellent examples. The breadth of coverage of topics is very good for an introductory book on Sage. If there is one book I could recommend on getting started with Sage, it would be this "Sage beginners guide"

Friday, May 13, 2011

Slingers - More Lasit's?

In todays IPL match between Kings XI Punjab verus Kochi Tuskers, the Kochi blowers were seen imitating Lasit (Slinger) Malinga in their bowling action. Surprise, Surprise, is this going to become a trend soon?

Saturday, April 30, 2011

Match fixing (WC 2011)

I wonder if such controversies are created to make people believe that the losing team was too good for the opposition (winning team), but money got in the way.

Somehow, the WC 2011 win does not seem fixed, I remember seeing the joy on Mahela's face and the joy when the Srilankan's got to the half way mark. They thought they had won the match.

Allegations take away from the hard work of the players and glory. It sure is hard on players who are dedicated to the cause of their teams.

ATI driver 11.4 is out

It is here works perfectly well with my Fedora 15, beta system. I hate moving away from the open source driver, but I've got to do so for thermal (probably) and speed reasons (6x). Mesa has some interesting changes, including support for direct3D, but for now it is time for me to experiment with OpenCL :)

Saturday, April 23, 2011

Draft of Enumerative Combinatorics - volume I

Richard P Stanley has the draft of the second edition available at http://www-math.mit.edu/~rstan/ec/ec1/. The book is a classic and highly recommended if you are interested in combinatorics. The book assumes advanced knowledge of mathematics (commutative integral domains, generating functions, etc). I am reading the first chapter and I've been ignoring some of the rigor to get the most from it.



Friday, March 18, 2011

Knuth's Earth Shaking Announcement

I found the video here (http://river-valley.tv/tug-2010/an-earthshaking-announcement). It is quite awesome!! Earth shaking reminds me that I request all readers of this blog  wish Japan all the very best as the country tries to cope with the enormous loss and devastation.

Wednesday, February 23, 2011

Kernel Mode Setting and Resolution

The main pain of upgrading to rawhide on Fedora has always been -- "Hey, what about my proprietary graphics card support?". I've been bitten a few times. When I made the decision to buy a card, I chose ATI so that I can enjoy the benefits of a good open source driver.

Rawhide has moved to gnome 3, and gnome shell requires 3D graphics or falls back to the old style gnome. With kernel mode setting, there is sufficient support in the form of DRI/DRI2 and Mesa 3D to support OpenGL.

My main issue was getting the right resolution. Here is a well known way of solving the problem

Solution

  1. Run the cvt(1) command, specify the resolution and refresh rate, it will output a set of mode lines. See http://www.arachnoid.com/modelines/ for a good tutorial on mode lines (NOTE: You might not need to do this if EDID works fine for you)
  2. Modify /etc/X11/xorg.conf and add the following under the monitor section
  3. Modeline "...." (whatever cvt output)
  4. Option "PreferredMode" "Name of the mode used above"

This should get you going and help you come to the desired resolution

Solutions that did not work

  1. Adding video=... at boot time
  2. Disabling KMS, helps fix the resolution, but the correct 3D driver (mesa DRI) does not load, you are left to Software 3D emulation (that sucks)

Enjoy, I hope someday we'll get an open source driver for openCL :)

Wednesday, January 26, 2011

Distro Hopping

After trying some more distros, I decided to move to debian part-time. I was surprised to see Linux Mint support debian (albeit only the "testing", also known as "Squeeze" release).

I am in love with the combination of mint and debian. The version of the kernel is still 2.6.32, but debian stability and support is rock solid. I'll slowly migrate to the experimental version when "Squeeze" is released.

The rich packaging and stability of debian with the front ending of the very best makes this a lovable distro.

 I am posting some screenshots, enjoy!





Saturday, January 01, 2011

Happy New Year

Here is a hearty wish for a happier 2011, may the new year bring more happiness, health and wealth.

I want to make more resolutions, even if I break them - my new year resolution :)

Ranking and Unranking permutations

I've been a big fan of Skiena's Algorithm Design Manual , I recently found my first edition of the book (although I own the third ed...