# COMS 3251, Computational Linear Algebra

This course is an introduction to linear algebra and its usage in computational applications. The study of linear equations, linear functions, and their representations pervades numerous fields of study. Students will learn and practice fundamental ideas of linear algebra and simultaneously be exposed to and work with real-world applications of these ideas. This course emphasizes a rigorous approach to mathematics, which will serve as a foundation for future courses like computer graphics, machine learning, and robotics. The learning and usage of Python and libraries such as NumPy is an essential component of the course, as is the development of basic skills of computational programming.

## Course Objectives

- Identify properties of and perform algebraic operations using vectors and matrices.
- Formulate systems of linear equations and interpret their solutions.
- Identify and utilize representations and properties of vector spaces, including bases, dimension, and orthogonality.
- Formulate and solve least squares problems, particularly in the context of data fitting.
- Solve for and understand the interpretation of eigenvalues and eigenvectors.
- Solve for decompositions of matrices, including diagonalization and singular value decomposition.
- Formulate and solve problems in computer science applications, including 2D transformations, linear regression, Markov chains, and principal components analysis.
- Demonstrate proficiency in Python for elementary programming tasks.
- Demonstrate proficiency in NumPy and related libraries for scientific computational tasks involving real data.

## Prerequisites

- Calculus I; Discrete Math (COMS 3203) and an additional calculus course strongly recommended
- Programming experience: COMS 1004 or COMS 1006 or equivalentÂ

## List of Topics

- Python and NumPy
- Vectors, vector operations
- Matrices, matrix operations
- Systems of linear equations
- Gaussian elimination
- Vector spaces, matrix subspaces
- Linear independence, basis, dimension
- Change of basis
- Linear transformations
- Graphics and homogeneous transformations
- Orthogonality, projections
- Orthonormal bases, Gram-Schmidt
- Least squares
- Determinants
- Eigenvalues and eigenvectors
- Diagonalization
- Dynamical systems, Markov chains
- Symmetric and PSD matrices
- Singular value decomposition
- PCA and SVD applications