Math/CS 466/666

Fall 2019 University of Nevada Reno

466/666 NUMERICAL METHODS I (3+0) 3 credits

Instructor  Course Section                       Time            Room
------------------------------------------------------------------------
Eric Olson  Math/CS 466/666 Numerical Methods I  TR 3:00-4:15pm  DMSC106

Course Information

Instructor:
Eric Olson
email:
ejolson at unr dot edu
Office:
Tuesday and Thursday at 2pm in DMS 238 and by appointment.
Homepage:
http://fractal.math.unr.edu/~ejolson/466/

Required Texts:

R.W. Hamming, Numerical Methods for Scientists and Engineers, Second Edition (online).

Supplemental Texts on Numerical Methods:

Justin Solomon, Numerical Algorithms: Methods for Computer Vision, Machine Learning and Graphics, CRC Press, 2015.

David Kincaid and Ward Cheney, Numerical Analysis: Mathematics of Scientific Computing, 3rd Revised Edition, Pure and Applied Undergraduate Texts, American Mathematical Society, 2002.

Classic Texts on Numerical Methods:

Kendall Atkinson, An Introduction to Numerical Analysis, Second Edition, Wiley, 1989.

Eugene Isaacson, Analysis of Numerical Methods, Revised Edition, Dover Books on Mathematics, 1993.

Supplemental Texts on Computer Programming:

JTC1/SC22/WG14, C99 Programming Standard, ISO/IEC, 2007.

Simon Long, Learn to Code with C, MagPi, 2017.

Richard Smedley, Conquer the Command Line, MagPi, 2016.

Williamt Shots, The Linux Command Line, Creative Commons, 2019.

Classic Texts on Computer Programming:

Brian Kernighan, Dennis Ritchie, C Programming Language, 2nd Edition, Prentice Hall, 1988.

Brian Kernighan, Rob Pike, Unix Programming Environment, Prentice-Hall Software Series, 1984.

Information about Other Software:

Thomas Williams, Colin Kelley, Gnuplot 5.2: An Interactive Plotting Program, official documentation.

The Julia Project, The Julia 1.2 Language, official documentation.

Sample Code

Student Learning Outcomes

Upon completion of this course
  1. Students will be able to implement a numerical method to solve a nonlinear equation using the bisection method and Newton's method.

  2. Students will be able to solve linear systems using direct and iterative methods.

  3. Students will be able to construct interpolating functions.

Announcements

[18-Dec-2019] Final Exam

The final exam is scheduled for Wednesday, December 18 from 2:30-4:30pm in DMSC 106. It will consist of two parts: A written part which is closed book and closed notes followed by a computer part which is open book, open notes and further allows the use of non-interactive electronic resources. The material covered is comprehensive and includes all items from the study guides for the four previous quizzes.

In addition to questions from the previous study guides please be prepared for the written part to answer questions similar to

also know the new theoretical questions from the textbook and for the computer part to create a program that approximates an integral using the composite the Newton-Cotes quadrature formulas. For example, please be able to use Simpsons 3/8 rule as before (see also here), as well as the analogous methods of

[10-Dec-2019] Quiz 4

We will have a computer quiz in class on Tuesday December 10. You must complete two out of three specified computations. For each computation I will provide a program written in C or possibly Julia that is missing some code. Your task is to fill in the missing lines so the program runs correctly. You could also create a new program of your own using C, Julia or a different language. In preparation for the quiz, please know how to compute the following: Note, this quiz is intended to measure whether you've understood how to read and write computer codes that carry out complicated numerical algorithms. As the above tasks are quite standard, there are many good subroutine libraries available which can be used to perform those computations. However, do not use Linpack, Boost or similar libraries to solve these problems with one system call. Similarly, if you use a programming language which has built-in functions for computing the determinant, solving Ax=b or finding interpolating polynomials, you must still include detailed code that performs the same computations in your solution. In particular, it is not sufficient to simply call the built-in determinant function of Julia, Matlab or Octave when answering the second question and so forth.

[25-Nov-2019] Solutions for Project 1

I have posted my solutions to Programming Project 1 here for your reference and to help you prepare your reports for Programming Project 2.

[03-Dec-2019] Quiz 3

We will have a written quiz in class on Tuesday December 3. The following list of topics is under construction and include:

[18-Dec-2019] Combined Programming Homework 2

A combined homework and programming project worth 40 points will be due on the day of the final exam. It is available here so you may begin working on it now.

[13-Nov-2019] Solutions to Homework 1

I have made a solution key for Homework 1 which you may download here. The LaTeX source including C code, gnuplot scripts and a Makefile are also available if you would like to see how I created the pdf file.

[19-Nov-2019] Quiz 2

We will have a computer quiz in class on Tuesday November 19. You must complete two out of three specified computations. For each computation I will provide a program written in C that is missing some code. Your task is to fill in the missing lines so the program runs correctly. You could also create a new program of your own using C or a different language. In preparation for the quiz, please know how to compute the following: Note, this quiz is intended to measure whether you've understood how to read and write computer codes that carry out complicated numerical algorithms. As the above tasks are quite standard, there are many good subroutine libraries available which can be used to perform those computations. However, do not use Linpack, Boost or similar libraries to solve these problems with one system call. Similarly, if you use a programming language which has built-in functions for computing the determinant, solving Ax=b or finding interpolating polynomials, you must still include detailed code that performs the same computations in your solution. In particular, it is not sufficient to simply call the built-in determinant function of Matlab when answering the first question and so forth.

[14-Nov-2019] Programming Project 1

Programming project 1 is available here. It will be due in class on November 14. Please begin it right away so there is time to discuss any problems that come up in class.

[03-Oct-2019] Quiz 1

We will have a quiz in class on Thursday October 3. Please know how to explain the following:

[15-Oct-2019] Homework 1

Homework One consists of the following problems from our text and will be due October 15 in class.

[21-Sep-2019] Command-line Tutorial

On Saturday we went through steps 3 through 6 in this command-line tutorial. If you were unable to come and would like to learn more about how to interact with a computer using words instead of mouse clicks, feel free to go through the tutorial on your own and let me know if you have any difficulties.

[19-Sep-2019] Newton's Method

I have made a handout on Newton's Method that covers what we did on the first day of class.

[05-Sep-2019] UNR Library Online Books

The text for this course is also available as an online book from the UNR Library here and also here.

[01-Sep-2019] Handouts are Available

As discussed at the end of class there are now handouts posted to help get started with your reading.

[28-Aug-2019] Introductory Lecture

The lecture notes for the introductory lecture are now available online as well as all the source code examples used for computing the Euler-Mascheroni constant in the hands-on discussion.

Grading

     Written Quiz 1            20 points
     Computer Quiz 2           20 points
     Written Quiz 3            40 points
     Computer Quiz 4           40 points
     2 Homework Assignments    20 points each
     2 Programming Projects    20 points each
     In-class Lab Work         30 points
     Final Exam               120 points
    ------------------------------------------
                              350 points total
Exams and quizzes will be interpreted according to the following grading scale:
    Grade        Minimum Percentage
      A                 90 %
      B                 80 %
      C                 70 %
      D                 60 %
The instructor reserves the right to give plus or minus grades and higher grades than shown on the scale if he believes they are warranted.

Final Exam

The final exam is scheduled for Wednesday, December 18 from 2:30-4:30pm in DMSC 106.

Equal Opportunity Statement

The Mathematics Department is committed to equal opportunity in education for all students, including those with documented physical disabilities or documented learning disabilities. University policy states that it is the responsibility of students with documented disabilities to contact instructors during the first week of each semester to discuss appropriate accommodations to ensure equity in grading, classroom experiences and outside assignments.

Academic Conduct

Bring your student identification to all exams. Work independently on all exams and quizzes. Behaviors inappropriate to test taking may disturb other students and will be considered cheating. Don't talk or pass notes with other students during an exam. Don't read notes or books while taking exams given in the classroom. You may work on the programming assignments in groups of two if desired. Homework may be discussed freely. If you are unclear as to what constitutes cheating, please consult with me.
Last Updated: Tue Aug 27 12:19:07 PDT 2019