# Programming and computation-focused textbook for introductory linear algebra

tl;dr I am looking for references which cover introductory abstract Linear Algebra but with a programming / computational approach. The only one I found is the Jupyter guide to Linear Algebra

Long version: I am currently teaching Linear Algebra for STEM at a "industry-focused" department for second-term students. We have 7 undergraduate engineering and one "Bachelor of Science and Technology" programs. The general topics which are covered in this course are:

1. Abstract vector spaces, subspaces, bases etc.
2. Linear maps
3. Inner product spaces
4. Eigenvalues and diagonalization

(Matrix operations, general linear systems and Gaussian elimination were already covered in a pre-requisite course.)

In my department, this Linear Algebra course (which is common to all programs) has a long problematic history, with high rates of failure, and is seen as quite displaced from the other courses as it is much more abstract. Even as the instructor, teaching it is quite monotonous.

When I took Linear Algebra, as a Mathematics student, it was mostly theorem-proving, which was just right for my goals of becoming a pure mathematician. This has not worked very well for this course.

Considering this (and a few other changes of perspective which I had in the last couple of years), I am trying to incorporate more programming into this course. I adapted some of the more constructive proofs to algorithms, and created a large-ish question bank with questions which necessitate a bit of "engineering" and can be solved programmatically.

This approach has been relatively successful, however I cannot find good references which are appropriate for this approach. Most Linear Algebra references I know either move to Numerical Analysis, focus only on solving linear systems, or are theorem/proof-based.

The only references I have found which move in this direction are:

• Practical Linear Algebra for Data Science: From Core Concepts to Applications Using Python, by Mike X Cohen

However, this book focuses on matrices, whereas I am required to follow the syllabus, including introducing the abstract concepts.

• Jupyter Guide to Linear Algebra, by Ben Vanderlei

This seems to cover most of what the course requires.

I would like to get more references similar to the ones above (specially the second one), preferably books with physical copies by known scientific publishing companies. References with applications are also welcome (although a bit tangential).

You may be interested in Application-Inspired Linear Algebra by Heather Moon, Thomas Asaki, and Marie Snipes. It covers all of the general topics you’ve listed, and there are exploratory programming tasks. The book is designed for MATLAB/Octave, however, not for Python. It still presents theorems and proofs, and I wouldn’t say there is a heavy programming emphasis. Additional resources and code are available on the authors’ website.

Advanced Linear Algebra for Engineers with MATLAB by Sohail Dianat and Eli Saber has a stronger programming emphasis, but abstract vector spaces and linear transformations don’t get introduced until halfway through.

A non-commercial textbook that might be useful is Sean Fitzpatrick’s Linear Algebra: A second course, featuring proofs and Python. There are also accompanying Jupyter notebooks available. Similar to Application-Inspired Linear Algebra, the programming serves mainly to motivate and facilitate the mathematical ideas.

I don't know if any of what I do will be helpful information for you, but maybe?

I teach at a community college, and most of my students certainly aren't into proof. But that feels like an important aspect of the course. I've left out the more tedious proofs (determinants, argh) and focus more on helping them learn to prove. We use an older edition of David Lay's Linear Algebra and its Applications. (And bought a class set for the library to loan out for the whole semester.) I use a lot of the true-false problems there, and ask the students to prove or disprove. I do workshops with them on this.

I found some projects which definitely help the students see the linear transformation aspect more clearly and deeply. There are created by a group working on Inquiry-Oriented Linear Algebra. I love these projects.

I made a list of OER textbooks, with my comments, which you can find here. The first one on the list, by David Austin, has a section on programming in Sage, and has blocks of Sage code throughout the text.