M128SYLL.TXT 24 Sept. 2007 The Syllabus for Math. 128 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ by Prof. W. Kahan Currently Math. 128A is prerequisite for Math. 128B. I shall offer hereunder my reasons to keep this requirement in force. Math. 128A conveys three essential prerequisites for Math. 128B: <> An acquaintance if not proficiency with MATLAB programming. <> The notion that Processes rather than Formulas can Construct acceptable solutions for some kinds of mathematical problems. <> An awareness that many kinds of "errors" (not mistakes), like roundoff, discretization, uncertain data & models, ..., may interfere with an otherwise neat process in ways that can be more difficult to assess than will be covered in 128A. Crucial illustrations are . . . [] Polynomial evaluation by recurrence and how roundoff affects it. [] Implicit Functions: Solve f(x, y) = 0 for scalar y = Y(x) . [] Gaussian Elimination interpreted as Triangular Factorization supplies a "solution" X = A^(-1)*B with no explicit inverse. (Supposedly covered in Math. 54 & 110, review is needed here.) [] Interpolation: Infer a function aproximately from some samples. [] Quadrature: Integrate despite lack of closed-form formulas. [] Ordinary Differential Equations: Numerical Stability differs from the (in)stability of differential equation's solutions in ways that were routinely misunderstood until the mid 1950s. Exemplified by Runge-Kutta and two apt multi-step methods. In short Math. 128A instills more an awareness of numerical analysis, its possibilities and limitations, than a proficiency. And for many students who have yet (if ever) to take a Computer Science course, Math. 128A is their first exposure to algorithms or, if you prefer, to mathematical constructions that approximate the continuum as closely as you like if you work at them long enough. It is a practicable way to appreciate the concept of "Limit" used so glibly in Math. 104. The undergrads who take 128A major preponderantly in Applied Math. and in Computational Science & Engineering. This course would be good for majors in Statistics, Physics, Chemistry and a few Engineering departments, but they fry their own fish. I wish it were taken by all L.&S. Computer Sci. majors; too many are refugees from the continuum. ....................................................................... For no other Math. course is Math. 128B prerequisite, though it or its equivalent should perhaps be prerequisite for 221, 228A/B & 273. Math. 128B offers its student a chance to achieve a modest proficiency in some small branch of numerical computation. Each semester a few students do achieve that modest proficiency. I see no way for them to do so without having first taken Math. 128A or its equivalent. ... continued ... Almost all the undergrads who take 128B are seniors majoring mostly in Applied Math., several with actuarial careers in mind, and in Computational Science & Engineering. Several graduate students attend too, most of them in engineering, who expect their theses to involve numerical computation, though it will most likely end up performed by packaged software like MATLAB and its toolboxes, NASTRAN, MAXWELL, etc. When I have taught the class it has always voted for credit by project rather than by final exam despite being warned that a project is much more onerous than an exam. The criteria by which their project will be judged are posted on my class web page at Some past projects have been incorporated into the student's thesis and a few published in a journal. A day during finals week is assigned for students to make brief oral presentations of their projects to the rest of the class. However, repeated nagging in class for progress reports well before the semester's end cannot always prevent procrastination from turning a student's project into a last-minute ordeal or, worse, nothing accomplished. The syllabus for 128B is influenced by the needs students express in a resume each one hands in during the first week of class. Topics are chosen from a menu that includes (among other things) ... <> Summing a slowly convergent series (to review roundoff). <> Adaptive curve-plotting (to review divided differences). <> Some zeros of a polynomial (MATLAB's zeros(...) can be poor). <> Solving a small nonlinear system of algebraic equations (to review linear system solving and learn criteria for convegence). <> Failure modes of MATLAB's \ and lu(...), and their near cure by iterative refinement; the value of extra-precise residuals. <> Symmetric matrix eigenvalues and -vectors in more than one way. <> Non-symmetric matrix eigenvalues and -vectors using MATLAB's eig(...) to learn how to cope with some of its failure modes by using my iterative refinement program refineig(...). <> Least-squares, and the SVD to cope with redundant models. <> Splines used to estimate df/dx from a tabulated f(x) . <> MATLAB's ode-solvers (reviewed to explore error-estimation) and solutions of boundary-value problems via bvp4c(...) etc. <> Simplest elliptic and parabolic PDEs mainly to explore a few iterative schemes and to justify implicit methods' extra work. <> The Simplex method for linear programming and its need to refresh accumulated updates periodically. Not everything in the foregoing menu gets covered in a semester; not everything posted on my Math128 web page gets assigned to the class.