# COMS 3251, Computational Linear Algebra

This course is an introduction to linear algebra with an emphasis on 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. As the complementary course to COMS 3203, this course will continue emphasizing 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 and utilize properties of linear functions to manipulate and operate on them.
• Perform fundamental matrix operations and understand their interpretation as systems of linear equations and  linear transformations.
• Identify and utilize properties of vector spaces, including bases, norms, projections, and orthogonality.
• Perform decompositions of matrices and their representations, including eigendecomposition, singular value decomposition, and spectral decomposition.
• Formulate and solve example applications in computer science and engineering for which linear algebra is used, such as Markov chains, regression, principal components analysis, and spectral graph theory.
• 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; Calculus II or Calculus III or equivalent strongly recommended
• Programming experience: COMS 1004 or COMS 1007 or equivalent

## List of Topics

1. Vectors, linear functions
2. Matrices and matrix operations
3. Systems of linear equations
4. Gaussian elimination
5. Linear transformations
6. Vector spaces
7. Linear independence, bases
8. Dimension, rank
9. Coordinate systems and transformations
10. Norms, orthogonality
11. Gram-Schmidt, QR factorization
12. Least squares
13. Data fitting
14. Classification
15. Determinants
16. Eigenvalues and eigenvectors
17. Diagonalization
18. Similarity transformations
19. Markov chains, PageRank
20. Discrete dynamical systems
21. Spectral decomposition
22. Singular value decomposition
23. Pseudoinverses
24. Principal component analysis