I'll second the endorsement of Sage; however, for teaching purposes, I would suggest Sage Math Cloud. It is a free, web-based version of Sage, and it does not require you or the students to install any software (besides a new-ish web browser). It also make sharing/collaborative work quite easy as well. I've used this a bit for demos, and it's great. The author William Stein is good at correcting bugs/issues very quickly. 

Sage implements it's own Matrix and Vector classes, and the Vector class has a "column" method that returns a column vector (transpose).

For what it's worth, I agree with others about the benefits of avoiding a Matrix class in Numpy. In my experience, it certainly makes things cleaner in larger projects when I always use NDArray and just call the appropriate linear algebra functions (e.g., etc) when that is context I need. 

Anyway, just my two cents.


On Wed, Jan 7, 2015 at 2:44 PM, cjw <> wrote:
Thanks Alexander,

I'll look at Sage.

Colin W.

On 06-Jan-15 8:38 PM, Alexander Belopolsky wrote:
On Tue, Jan 6, 2015 at 8:20 PM, Nathaniel Smith <> wrote:

Since matrices are now part of some high school curricula, I urge that
be treated appropriately in Numpy.  Further, I suggest that
consideration be
given to establishing V and VT sub-classes, to cover vectors and
The numpy devs don't really have the interest or the skills to create
a great library for pedagogical use in high schools. If you're
interested in an interface like this, then I'd suggest creating a new
package focused specifically on that (which might use numpy
internally). There's really no advantage in glomming this into numpy
Sorry for taking this further off-topic, but I recently discovered an
excellent SAGE package, <>.  While it's targeted
audience includes math graduate students and research mathematicians, parts
of it are accessible to schoolchildren.  SAGE is written in Python and
integrates a number of packages including numpy.

I would highly recommend to anyone interested in using Python for education
to take a look at SAGE.

NumPy-Discussion mailing list

NumPy-Discussion mailing list