I am wondering about advantages of using Python for teaching introductory linear algebra. I have been using Matlab and I became interested in Python mainly because of several resources, e.g., text 1 and video course 1 that use it, as well as the popularity of Sage. However, I have not used Python myself. If you have used Python for teaching linear algebra and especially if you have also used Matlab, how would you compare them.
I am aware that Scilab is free and similar to Matlab. So price consideration is not the main issue here.
Related:
NumPy vs Matlab A comparison of language features.
A Review from StackOverFlow, but not specific to teaching linear algebra.
A review from a research point of view.
A text on scientific computing with Python.
A course and its Lab Manual on linear algebra.
I would choose MATLAB over Python for the following reason: MATLAB is explicitly designed around matrix computations and can be used out of the box without any difficulty. Python has great libraries, but one must still understand Python syntax and language structure. There is an unnecessary, but small, learning curve when using Python.
MATLAB is also used far more frequently in industry for doing these such computations. While Python finds frequent use in the academic and research world, your students are by and large not going to be academics or researchers. They might, however, find utility in being able to claim "MATLAB experience" on a resume.
I've used both environments extensively; my first research publication involved doing FEM computations with Python. However, I find MATLAB to be far more "to the point."
If I want to solve $Ax = b$ in MATLAB, I simply type
A\band get the result immediately, no need to output to the console, import packages, or anything else.