“The book that Stata programmers have been waiting for” is how the Stata Press describes my new book on Mata, the full title of which is

The Mata Book: A Book for Serious Programmers and Those Who Want to Be

The Stata Press took its cue from me in claiming that it this the book you have been waiting for, although I was less presumptuous in the introduction:

This book is for you if you have tried to learn Mata by reading the *Mata Reference Manual* and failed. You are not alone. Though the manual describes the parts of Mata, it never gets around to telling you what Mata is, what is special about Mata, what you might do with Mata, or even how Mata’s parts fit together. This book does that.

I’m excited about the book, but for a while I despaired of ever completing it. I started and stopped four times. I stopped because the drafts were boring. Read more…

For those interested in **how pseudo random number generators work**, I just wrote something on Statalist which you can see in the Statalist archives by clicking the link even if you do not subscribe:

**http://www.stata.com/statalist/archive/2012-10/msg01129.html**

To remind you, I’ve been writing about how to *use* random-number generators in parts **1**, **2**, and **3**, and I still have one more posting I want to write on the subject. What I just wrote on Statalist, however, is about how random-number generators work, and I think you will find it interesting.

To find out more about Statalist, see

**Statalist**

**How to successfully ask a question on Statalist**

I want to start a series on using Stata’s random-number function. Stata in fact has ten random-number functions: Read more…

Last time, I showed you a way to graph and to think about matrices. This time, I want to apply the technique to eigenvalues and eigenvectors. The point is to give you a picture that will guide your intuition, just as it was previously.

Before I go on, several people asked after reading part 1 for the code I used to generate the graphs. Here it is, both for part 1 and part 2: matrixcode.zip. Read more…

I want to show you a way of picturing and thinking about matrices. The topic for today is the square matrix, which we will call **A**. I’m going to show you a way of graphing square matrices, although we will have to limit ourselves to the 2 *x* 2 case. That will be, as they say, without loss of generality. The technique I’m about to show you could be used with 3 *x* 3 matrices if you had a better 3-dimensional monitor, and as will be revealed, it could be used on 3 *x* 2 and 2 *x* 3 matrices, too. If you had more imagination, we could use the technique on 4 *x* 4, 5 *x* 5, and even higher-dimensional matrices. Read more…