Math 470/570
Numerical Analysis

Instructor

Ernest Boyd, Wissink 273, 389-1452
Office Hours:

Textbook

Numerical Analysis by Burden and Faires, 8th ed.

Course Content

This course presents the mathematical algorithms for computer programs to solve linear and nonlinear systems of equations, to interpolate data and approximate it with a function, and to differentiate and integrate functions numerically. We will also analyze the algorithms for convergence and computational error. We will cover topics in Chapters 1, 2, 3, 4, 6, 8 and 10 in the textbook. This section will be taught in the computer lab using Mathematica and C++. No prior experience with Mathematica or C++ is assumed. Prerequisites for Math 470/570 are calculus, linear algebra and some experience in computer programming.

Schedule

9:00 - 9:50 am, Monday, Tuesday, Friday in Wissink Academic Computer Center Room 116, and Thursday in Armstrong Hall Room 304
No classes on Sep. 5th, Oct. 21st, and Nov. 24th-25th.

Tests

Three hour tests to be arranged in Sep., Oct. and Nov.

Final exam

Thursday, Dec. 15th, 8 - 10 am.

Grading Policy

Each test will be graded on its own scale normalized to 100%. The final will also be graded on a scale normalized to 100%. All of the homework and quizzes collected will be totaled and graded as one test. At the end of the semester the five grades will be averaged and compared to the average of the scales. Grading will reflect the mathematical correctness of the answer and the quality of the presentation in terms of completeness and organization. Late assignments will be penalized. Active participation in the class discussions will also be factored into the evaluations. Make-up tests will be given only in special cases, when an excused absence has been prearranged. Incompletes will follow the university's policy as expressed in the student bulletins and the faculty handbook. No incomplete will be given to repeat the entire course.

MSU provides students with disabilities reasonable accommodation to participate in educational programs, activities or services. Students with disabilities requiring accommodation to participate in class activities or meet course requirements should first register with the Office of Disability Services, located in 0132 Memorial Library, telephone 389-2825, TDD 711 and then contact me as soon as possible.


Computer Supplements

  1. Finding Roots of f(x) = 0 using Mathematica
  2. Bisection Method using C++
  3. Fixed-Point Iteration
  4. Newton's Method in Two Dimensions
  5. Lagrange Interpolating Polynomial
  6. Numerical Differentiation
  7. Numerical Integration
  8. Error Analysis for Runge-Kutta Method
  9. Writing to output file in C++
  10. Example of Numerical Differential Equation Solver
  11. Example of LU Decomposition
  12. Discrete Least Squares Approximation
  13. Orthogonal Polynomials
  14. Power Method for Eigenvalues

Homework Assignments

  1. Page 52 #19. Hand in this problem in both Mathematica and C++ on Tuesday, Sep. 6.
  2. Page 61 #1, 2. Hand in these problems on Tuesday, Sep. 13. For #2 use C++.
  3. Page 71 #6a and 8a. Hand in these problems using C++ on Tuesday, Sep. 20.
  4. Page 613 #1a.
  5. Graduate Students hand in the following problems on Friday, Sep. 30.
    1. The cubic polynomial y = x3 - 3.3x2 + 5.324 has a zero of multiplicity two somewhere in the interval 0 < x < 3. Show how to modify Newton's method for this function to maintain quadratic convergence.
    2. Explain how to solve ex = x-2 using the fixed-point iteration method. Find an interval a < x < b which will guarantee convergence of the method when the initial value is in that interval. Prove it converges.
  6. Page 178 #22
  7. Write a C++ program for trapezoid rule and Simpson's rule with n = 10, 100, 1000 to numerically integrate the following four integrals. Write the program subroutines to accept a general function and then call the subroutine four times from main(). Hand in this program on Friday, Oct. 14.
  8. Page 195 #16. Hand in this problem on Friday, Oct. 14.
  9. Graduate Students hand in the following problem on Friday, Oct. 14.
    If f(x) has continuous derivatives of all orders, let g(h) = (f(x+h)-f(x-h)/(2h). Show that f '(x) = g(h) + O(h2). Then use Richardson extrapolation to approximate f '(x) by a formula with accuracy O(h4).
  10. Determine the unknown parameters in the following Runge-Kutta method so that it will have accumulated error of order h3. Hand in this problem on Monday, Oct. 24.
    k1 = hf(t, w)
    k2 = hf(t + a2h, w + b21k1)
    k3 = hf(t + a3h, w + b31k1 + b32k2)
    wi+1 = wi + c1k1 + c2k2 + c3k
  11. Write a C++ program to compute the solution of y' = 0.4y(1 - y/3000) with y(0) = 100 on the time scale of 0 < t < 20 with time step h = 0.1. Use the Runge-Kutta fourth order method developed in class and write the output data in t and y for import into Mathematica. When you have the data file created, contact me and I will show you how to graph it in Mathematica. Complete this problem by Friday, Oct. 28.
  12. Graduate students hand in the supplement for Choleski's method on Friday, Nov. 11.
  13. Page 450 #6c, 8c. Hand in the C++ program for these two problems on Friday, Nov. 18.
  14. Find the quadratic least-squares approximation for the data points {{1, 1}, {3, 2}, {4, 4}, {5, -1}}. Hand in this problem on Friday, Dec. 2.
  15. Page 502 #1e, 2f, 12d. Hand in these three problems on Friday, Dec. 2.
  16. Page 512 #1.
  17. Page 571 #1a, 3a.
  18. Graduate students hand in the following problem on Thursday, Dec. 15.
    Set up the system of equations required to find the natural quadratic spline interpolating the data {{-1, 3}, {1, 0}, {3, 1}}. Do not solve the equations, but explain how the solution would be used to compute the interpolated value at x = 0.


Use this link to go to Ernest Boyd's Home Page.

E-mail Ernest Boyd