CSCI2830

CS 2830 Linear Algebra for Computer Science

Fall 2008

The course Linear algebra is the study of the quantititative relationships among arrays of numbers. Since many features of the world can be described by such arrays, linear algebra becomes relevant whenever we want a quantitative understanding of these features. In computer science linear algebra is used in graphics, in machine learning, in text retrieval, in data mining and many other areas. In this course we will focus on aspects of linear algebra with useful applications, particularly in areas of computer science.

Approach
This is a mathematical course, but our focus will be understanding useful concepts and techniques. You will not be expected to learn proofs of theorems, but some derivations will be done in class. In addition to lectures, we will have assignments approximately weekly. Some special assignments will get more deeply involved in specific applications.

Basic details.

  • Class meetings: Tuesday and Thursday, 11:00-12:15, in ECCR 1B51
  • Textbook: Linear Algebra and its Applications by David Lay, 3rd edition.
  • Instructor: Richard Byrd, richard@cs.colorado.edu, ECOT 620.
  • Office hours: Monday 2-3; Wednesday, 10-12; or whenever I am free

    Requirements and grading
    The final grade will be based on assignments (about 20%) and exams(80%). There will homework assignments about every week. Most of these are simple exercises based on the text, sometimes with some programming. Some assignments will get more deeply involved in specific applications. I accept late assignments if you really can't do one on time, but I will will count off a lot for each day late. You are encouraged to work together on assignments, but what you hand in must written by yourself with no copying. There will be two exams during the semester, as well as a final.

    Language and Machines
    Many of our computer assignments will be designed for use with MATLAB. This is an interpreted language designed for linear algebra applications. It also has graphics capabilities. If you wish to use a compiled language like C++ of Fortran, you may on some assignments. However, unless I indicate otherwise, the assignments will be easier to do in MATLAB. You may do computing assignments on any machine thta has MATLAB. All the machines in the undergraduate lab ahve MATLAB installed. To do well: Introductory linear algebra is a cumulative. You should make sure you understand what has been covered before we move on to the next topic. Doing the assignments is an essential part of learning the subject. If you can't do an assignment you probably don't understand the material. If you don't understand an assignment, please ask me about it, in class or in office hours.

    Topics to be covered

    We will cover most of chapters 1 through 6 of our textbook. This will include:
  • Systems of linear equations. row operations, row echelon form, existence and uniqueness
  • Vectors and matrices. linear independence, linear transormations
  • Matrix Algebra. products, inverses, factorizations
  • Determinants.
  • Vector spaces. subspaces, null spaces, column spaces, bases, dimension, rank
  • Eigenvalues and eigenvectors.
  • Inner products. orthogonality, least squares


     

    Matlab Tutorial Information  is in:   Elements of Matlab.ps  a postscript file, or    Elements of Matlab.pdf  in pdf
    Assignments (pdf)

    Assignment 1 . due September 4

    Assignment 2 . due September 11

    Assignment 3 . due September 18

    Assignment 4 . due September 25

    Assignment 5 . due October 9

    Assignment 6 . due October 16

    Assignment 7 . due October 23

    Assignment 8 . due October 30

    Assignment 9 . due November 6

    Assignment 10 . due November 13

    Assignment 11 . due December 4

    Assignment 12 . due December 11