[Math] Reviews/comparison of Python vs Matlab for teaching Linear Algebra

educationlinear algebramath-software

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:

  1. NumPy vs Matlab A comparison of language features.

  2. A Review from StackOverFlow, but not specific to teaching linear algebra.

  3. A review from a research point of view.

  4. A text on scientific computing with Python.

  5. A course and its Lab Manual on linear algebra.

Best Answer

If you are going to teach your students linear algebra, then you should limit yourself to teaching linear algebra.

If you absolutely have to use computers (which is itself an unnecessary and harmful distraction in the process of teaching mathematics), I believe that you should use software that is easy to use and allows your students to concentrate on learning mathematics.

If you will decide to use some fancy programming language, then you should keep in mind that your students will be struggling with both learning linear algebra, and learning new programming environment.

So imho:

1)Best solution: do not use computers!!! People will really learn something only when they will do all calculations by hand. This is the only way to understand all basic concepts of linear algebra. There is no king's road to mathematics.

2)Poor solution: use some user-friendly and easy-to-learn CAS (or numeric program), like Matlab or Mathematica or Octave. At least people will learn something about linear algebra.

3)Educational disaster: use some fancy programming language, like Python. People will learn almost nothing about linear algebra and almost nothing about programming. Moreover: they will associate linear algebra with programming, mixing concepts from both fields.

Related Question