/Linear_Algebra_With_Python

Lecture Notes for Linear Algebra Featuring Python

Primary LanguageJupyter NotebookMIT LicenseMIT

Lectures of Linear Algebra MIT License

These lecture notes are intended for introductory linear algebra courses, suitable for university students, programmers, data analysts, algorithmic traders and etc.

The lectures notes are loosely based on several textbooks:

  1. Linear Algebra and Its Applications by Gilbert Strang
  2. Linear Algebra and Its Applications by David Lay
  3. Introduction to Linear Algebra With Applications by DeFranza & Gagliardi
  4. Linear Algebra With Applications by Gareth Williams

cover-min

However, the crux of the course is not about proving theorems, but to demonstrate the practice and visualize the concepts. Thus we will not engage in strictly precise deduction or notation, rather we aim to clarify the elusive concepts and thanks to Python/MATLAB, the task is much easier now.

Prerequisites

Though the lectures are for beginners, it is beneficial that attendants had certain amount of exposure to a little linear algebra and calculus before.

And also the attendants are expected to have basic knowledge (3 days training would be enough) of

  • Python
  • NumPy
  • Matplotlib
  • SymPy

All the codes are written in an intuitive manner rather than efficient or professional coding style, therefore the codes are exceedingly straightforward, I presume barely anyone would have difficulty in following the codes.

Contents

It is advisable to either open the notebooks in Jupyter nbviewers (links below) or download them, since github has lots of rendering mistakes in LaTeX and sometimes even missing plots.

Lecture 1 - System of Linear Equations
Lecture 2 - Basic Matrix Algebra
Lecture 3 - Determinants
Lecture 4 - LU Decomposition
Lecture 5 - Vector Operations
Lecture 6 - Linear Combination
Lecture 7 - Linear Independence
Lecture 8 - Vector Space and Subspace
Lecture 9 - Basis and Dimension
Lecture 10 - Column, Row and Null Sapce
Lecture 11 - Linear Transformation
Lecture 12 - Eigenvalues and Eigenvectors
Lecture 13 - Diagonalization
Lecture 14 - Application to Dynamic System
Lecture 15 - Inner Product and Orthogonality
Lecture 16 - Gram-Schmidt Process and Decomposition
Lecture 17 - Symmetric Matrices and Quadratic Form
Lecture 18 - Singular Value Decomposition
Lecture 19 - Multivariate Normal Distribution