Summary of Course Content
I. Power tools of the trade
- Vector and matrix operation
- Building exploratory environments
- Floating point arithmetic
- Error analysis
II. Data interpolation
- The interpolating polynomial
- Piecewise linear interpolation
- Piecewise cubic Hermite interpolation
- Cubic spline
III. Zeros, roots and optimization
- Bisection
- Newton’s method
- Second method
- Inverse quadratic interpolation
- Quasi-Newton’s method
IV. Quadrature
- Basic quadrature rules
- Adaptive quadrature
V. Least squares data fitting
- Models and data curve fitting
- Norms
- The QR factorization
- Pseudoinverse
VI. Eigenvalues and singular values
- Symmetric and Hermitian matrices
- Eigenvalue and singular value decompositions
- Eigenvalue sensitivity and accuracy
- Singular sensitivity and accuracy
- Principle components
VII. Parallel computing
- Matrix-matrix product
- The Cholesky factorization
Illustrative Reading
Moler, Numerical Computing with MATLAB, SIAM 2004
Potential Course Overlap
Some of mathematical topics of ECS 130 overlap with MAT 128A/B/C, EAD 115/116 and ENG 180, such as interpolation and integration. However, the overlap is only very limited. Some of the ECS 130 topics are normally not treated in these courses, such as recursive and parallel matrix operations, and parallel Cholesky factorization.
ECS 130 is a one-quarter course, as opposed to the two-quarter EAD or three-quarter MAT sequences. ECS 130 is especially designed for undergraduate computer science majors who can benefit from a substantial knowledge of numerical computing, but allot only a limited time for this purpose due to many other complementary course requirements. MAT 128A/B/C, EAD 115/116 and ENG 180 cover wide areas of mathematical problems and numerical methods. In general, the focus of these courses is on the theoretical and mathematical aspects of numerical methods.
ECS 130 will only cover fundamental parts of mathematical problems and numerical methods in scientific computation. Moreover, ECS 130 uses a matrix-vector approach with MATLAB as a problem-solving environment. Students who have taken ENG 6 will have additional background in using MATLAB language, but it is not required for ECS 130. The overlap between ECS 130 and ENG 6 is only on the introduction of MATLAB, thus the overlap is minimal.
In ECS 130, numerical algorithms and analysis, finite precision arithmetic, graphics and matrix-vector manipulation are folded into the course in a way that gets students to appreciate the connection between continuous mathematics and numerical computing, and the subtleties of numerical computing. ECS 130 is for computer science majors to acquire scientific computation skill and tools which will be useful later on in their computational career.