Date:02/05/02        SYLLABUS MATH 4660 and CSC 4666: Numerical Analysis II

                                                                   Spring Semester 2002

Professor: Weldon A. Lodwick

Office: CU-Denver Building, Room 622

Telephone: 556‑8462 (office - voice mail), 556‑8442 (secretary), 556-8550 (fax)

Note: If you fax your work, make sure my name appears on the first page, your work has a page number on each page and that your name is on each page.

E-Mail: weldon.lodwick@cudenver.edu

Web Site: http://www-math.cudenver.edu/~wlodwick

Text:       Numerical Analysis 7th Edition by Richard L. Burden and J. Douglas Faires, Brooks/Cole Publishing Company, 2001.

Office Hours:       Wednesdays                        10:30-11:30am        622 CU-Denver Bldg

                                Tuesdays/Thursdays          5:30-6:45pm           130 Science

Other times by arrangement

Students with Disabilities: If you have a disability that requires accommodation in this course, please see me as soon as possible.  I am happy to make appropriate accommodations, provided timely notice is received.

Cell Phones: Please turn off your cell phones prior to entering the classroom.  This is especially important when coming in for an exam.

 

PROPOSED COURSE CONTENT

1.        Chapter 7: Iterative Techniques in Matrix Algebra - sections 7.1-7.5

2.        Chapter 9: Approximating Eigenvalues - sections 9.1- 9.4

3.        Chapter 10: Numerical Solutions of Nonlinear Systems of Equations - sections 10.1-10.5

4.        Chapter 5: Initial-Valued Problems for Ordinary Differential Equations, sections 5.1- 5.9, Taylor Series methods (readings and notes), 5.10, 5.11

5.        Chapter 11: Boundary-Valued Problems for Ordinary Differential Equations - sections 11.1, 11.2

6.        Chapter 8: Approximation Theory – sections 8.1-8.4 (8.5 and 8.6 if time)

 

Note: The proposed course content listed above is a guide to the sequence of topics to be covered in this course and represents my best estimate of the pace that we will be able to achieve.  If we fall behind, the proposed course content will have to be revised.

 

The prerequisites for this class are Math 2411 (or Math 2410), Math 3191, programming experience (such as CSC1401 or Math3250), Math 3200, and Math4560 (CSC 4656).

 

Please bring a scientific (preferable programmable) calculator to class and to all tests/quizzes. For the midterm and final, you are allowed one 8½”x11” “cheat sheet” with as many notes as you wish to cram (front and back allowed).

 

EVALUATION: There are four evaluative criteria: (i) assigned computer projects, (ii) testing and analyzing projects other than your own, (iii) take-home quizzes, and (iv) in-class exams, a midterm and a comprehensive final.  Since evaluation is based on a point system, it is very important that you turn in your projects and complete tests/quizzes as thoroughly as possible rather than taking a zero score. 

 

ASSIGNED COMPUTER PROJECT: Projects are done in teams.  A team consists of several persons that I will assign.  Each team must complete one project from the list of projects given below. Each team must test the projects that they did not develop and write up a formal report on the results.  The criteria and suggested content for each report will be depend on the project.

 

Each student will have an account on linus (one of the math department's networked computers) since it has MATLAB, a software package that you may use but are not required to use.  MATLAB is an interpretive software package that may facilitate the completion of your projects and testing.  Regardless of whether you use C, C++ or MATLAB, the projects that are developed must run on linus and it is from linus that all testing will take place.  That is, you are free to develop the software required by each project in any language and on any computer you wish as long as its execution works on linus.  My suggestion is to use MATLAB, since it can link C++ (or other executable files), it has graphics already built in and it is an interpretive language originally developed to handle mathematical problems.

 

QUIZZES: There will be 6 take-home quizzes corresponding to the six chapters that we will cover.  They are due on the following dates: 2/12 (chapter 7), 2/26 (chapter 9), 3/12 (chapter 10), 4/23 (chapter 5), 4/30 (chapter 11), and 5/10 (chapter 8).   Each quiz problem is worth 5 points so that you have many extra points.

 

 EXAMINATIONS:  There will be one midterm and one final exam.  The midterm will be Wednesday March 19th worth 200 points.  The first exam will be over the sections chapters 7, 9, and 10 we have covered.  The comprehensive final exam will be given on the week of May 13th (precise date/time to be given when Auraria schedules come out) and is worth 300 points.  The final is weighted roughly 35% from chapters 7, 9 and 10 and 65% chapters 5, 8 and 11.  Reminder: When writing down solutions on exams, write down all the digits that are given by your calculator unless otherwise specified.  Moreover, on exams, quizzes and projects, you must show enough work so that I can see how your solutions were obtained. 

 

Note about asking me questions during an exam.  I will NOT answer questions about the exam.  Understanding what the problem is asking is part of the problem.  It may be the case that for a problem, there will be someone for whom the problem is not clear.  Everyone must work with the problems as stated.  If you think the problem is in error, please correct the error and state precisely what was in error and how you corrected it.  Then continue with the problem.  If you are correct, you will receive full credit and perhaps a bonus if it is more than a typo.  If you were to come up and ask for help on a problem, you disturb others.  A colleague and I take the exam prior to your taking the exam.  Thus, the exam will have been “debugged” and tested to the best of our ability.

 

Point Distribution

Midterm                 200

Final                       300

Quizzes                  150

Project                    150

Project testing      200

----

Total                       1000 points

 

The following distribution of grades is guaranteed.  However, the final distribution could be "curved" downward.

 

              A+ 97‑100%, A 93‑96.9%, A‑ 90‑92.9%

              B+ 87‑89.9%, B 83‑86.9%, B‑ 80‑82.9%

              C+ 77‑79.9%, C 73‑76.9%, C‑ 70‑72.9%

              D+ 67‑69.9%, D 63‑66.9%, D‑ 60‑62.9%

<![if !su

·         Chapter 9 9.1/1d,2a,3a,3b,9; 9.2/1a,b,3a,3b

·         Chapter 10 10.1/5a,5b; 10.2/1c,1d; 10.3/1c,1d; 10.4/1b,1c-only two steps, 10.5/1b,3a

·         Chapter 5 5.1/1c, 2b; 5.2/3b-only two steps; 5.3/1b,2b; 5.4/10b-only two steps, automatic generation of Taylor series coefficients (hand-out), 5.6/1a (two steps), 5.9/1a (two steps), 5.10/5, 5.11/1a

·         Chapter 11 11.1/2a; 11.2/2

·         Chapter 8 8.1/2, 4; 8.2/2, 4; 8.3/2, 5a; 8.4/2, 4

The actual due-dates will depend on the sections that we have covered and will be announced.  Problems associated with special topics for which readings and notes are to be given out will be handed out separately.  When writing up the problems, write down all the digits your calculator or computer system has displayed up to its precision.  If you do your problems on the computer (sometimes better to do this way), turn in your source code (cleaned up) along with your (neatly formatted) output/solution.

 

General advice: Keep all materials that I turn back in case you think I have not credited you with the points you earned.  I can only correct your score if you have what I have turned back to you. It is a good idea to xerox anything that you turn in just in case I lose what you turn in.  Please check to make sure that the points you earned are the points I have recorded.  The statistics that I have read about correctness of professors grading and recording grades state that there is a 6% error rate.  Please make sure that I have correctly graded and recorded your points.

 

Advice on exam taking: If the class average is significantly 75%, I will curve the exam so that the average is 75%.  Thus, it is wise if not imperative that you take exams as follows.  Do all the problems you can do first concentrating on obtaining the most number of points per unit of time.  Don't waste too much time on making sure that you have done your arithmetic correctly since arithmetic mistakes are usually discounted at half a point per mistake unless your arithmetic mistake totally trivializes the problem in which case the deduction will be severe.

 

Policies

 

Drops and incomplete grades: See Schedule of Courses for the relevant dates with respect to dropping this course.  The incomplete policy of the Mathematics Department and the College of Liberal Arts and Sciences is strictly enforced.  Incomplete grades are given only in situations in which a student who has been in good standing all semester, is prevented from completing a course assignment (for example the final exam) due to circumstances beyond her/his control (for example, hospitalization, jury duty, revised job assignments, death in the family).

 

Late Projects: A penalty of 25% of the total points associated with the project per class period that a project or testing/analysis is late will be assessed.

 

Late Take-home Quizzes: Since there are amble extra points for take-home quizzes, there will be no late quizzes accepted.  If you miss several weeks because of legitimate reasons (illness, for example), take-home quiz points can be made-up.

 

Instructions for Projects

 

There are three major components to a project: software development, testing and analysis.

 

Software Development (150 points): Project development consists of four parts: code, execution, output and use.

 

1.        Code - the actual computer implementation of the project.  Since this is not a coding class, I will not, in general, give points for average cleverness in implementation or penalize for mildly inefficient performance.  When the coding is clearly superior or clearly inferior, then points will be involved.  Note: The development team is responsible for having all test problems coded up for the testing/analysis teams.  Thus, the code that is developed must have been run on all the test problems given (see below for the specifications).  Robustness (see below) means that the development team allows for the input of other problems (beyond the test problems).  These other problems need not be coded up but are the responsibility of the testing/analysis teams.

2.        Execution (65/150 points) - the algorithm as run must correctly perform what it was designed to do.

3.        Output (25/150 points) - relevant, clear display of solution (tables and graphs; that is visuals) and information associated with the solution (errors, iteration count, flops, accuracy, time/efficiency measures).   If there are graphs or tables as output, how clear do the graphics/tables display the information required?

4.        Use (60/150 points) - the software is to be used by the class and by me.  Use consists of five parts: user support, ease (user-friendliness), robustness, documentation and a project report.

a.        User support (20/60) – Responsiveness to correcting incorrect code or confusing output that users find.

b.       Ease (20/60) - How easy is it to use your software?  How easy is it for the user to give the software input and to obtain output?

c.        Robustness (10/60) - A software system is more robust if it solves a wider range of problems than another system designed to solve the same types of problems.  For example, does the software package, as it's designed, solve just the test problems or is it general enough to solve any problem of which the test problems are simply an instance?  If the software can solve a class of problems rather than just the specific test problems, then the software package in this latter case is more robust than one that just solves the test problems.

d.       Documentation (10/60) - For each project, an oral presentation with handouts on how to use the software must be given.  In addition, a read-me file is to be made and accessible for users in the testing the software.

e.        Project report - A project report consists of the project proposal, the source code, a description of the software features and a comparison of the software system results and that from MATLAB.  The specifics are given below.

 

Testing and Analysis: There are 75 points for each of the three projects tested/analyzed.  Thus you have 25 extra points and only a maximum of 200 points count toward your grade. Testing consists of executing the given program and there are no points associated with the execution; that is, testing simply consists of running the software developed on the test problems given.  Results from the test problems are to be kept in a file and with a hard copy of the output handed in (as an appendix).  In general, the teams that develop the software are to output results in tables and graphs in such a way that the results are displayed so that it facilitates the understanding of associated solution to the class of problems that the software was designed to solve.  Thus, in the analysis of the performance associated with the test problems, direct reference to tables and graphs generated by the software will be made.  In the process of testing the software, email the team's user-support person about any problems or fantastically clever/useful features that you have found with an electronic copy to me.

 

The software development team must at least supply the user with error (absolute and relative error) associated with the test problems when relevant.  Moreover, such factors as iteration counts, flops, and/or execution times, when these are relevant, must be supplied to the user by the development teams.  These factors are used directly in the analysis.  Therefore, it is to be expected that in the testing, these factors are part of the output.

 

The purpose of an analysis is to get you to critically evaluate the results obtained from the software as it was run on the test problems.  An analysis requires you to carefully look at the results.  What is the error?  What explains the error - the test problem itself, the precision used, the step-size used, the numerical method, or the implementation (the way the code was written)?  Is it some of the above reasons or all of them?  If you ask the computer to solve a (real) problem it is because you don't know the solution.  If you knew the solution, you would not have a problem.  So how do you know that the solution to your problem is the solution that the computer software has obtained? 

 

An analysis consists of three parts: summary tables and/or graphs associated with the output (visuals), a textual part, and appendices.

1.        Summary Tables and/or Graphs (25/75) maximum 3 pages - Usually the software development team will supply tables and graphs.  If this is not the case, a way to summarize the information must be found.  The form for the summary is usually in the form of a table and/or graph.  A summary is a condensation of a lot of information, the software’s output.  Your summary table will refer to the appendix.  The appendix contains the (raw) software output. Your team must decide how best to summarize and graph the information associated with the raw output.

2.         Text (50/75) maximum 4 pages - The textual part must address the questions listed above.  Note: A description of the output is not an analysis.  There are at least three parts to an analysis into which the 50 points are broken down.  In particular you must address the following.

a.        Compare and contrast (15/50 points) - In most (all) cases there will be several algorithms that solve the same class of problems. You must discuss the similarities/differences among the algorithms or approaches, results, test problem types.  Explain why these occurred. 

b.       Error (15/50 points) - By the very nature of numerical methods there are associated errors.  What are the sources of the errors?  What explains the errors?

c.        Efficiency (10/50) - Discuss the efficiency of each algorithm/method.  Make sure you define and justify the efficiency criterion  that is being used by your team (as given by the development team).  What is the time efficiency?  What is the storage efficiency?

d.       Critique (10/50 points) - Evaluate the software that you tested.  What is good/bad about the software?  What were the salient/useful/compelling features?  What were the flaws in and difficulties with the software?

3.        Appendix – the raw output from the software.  This will usually be a readable computer file to whose directory you list.  You can attach a hardcopy of it to the report.

 

Be careful when using words like "faster," "more efficient," "it is clear," "accurate."  Be specific.  What are meant by these words?  Don't assume that this term is clear.  Your team must clarify terms such as these.  Back up your words with acceptable mathematical evidence.  Moreover, directly relate words to the results (output).  For example, if you say that Newton's method is "faster" than the bisection method, this is not specific nor is it very meaningful.  On the other hand suppose you wrote, "For test problem 1, 2, 3 and 5, Newton's method, on average, took 0.05 units of efficiency while bisection method took 2.5 units of efficiency (where you have defined and justified “efficiency”) and on test problem 4, both methods failed.  Therefore, Newton's method is faster than bisection method."   These sentences convey clear, meaningful and precise information.  Here, "fast" means “units of efficiency.”  If you use "fast" to describe a mathematical algorithm, you must define "fast."  That is, you must specify how you are measuring the efficiency of the algorithm being used.  If one specifies seven digits of accuracy for all solution of test problems, then one might use execution time as a way to measure efficiency.  However, if for one test problem, the accuracy is 4 digits and on another the accuracy is12 digits, then execution time does not measure how fast the algorithm obtains a solution.  What is a solution?  How many digits of your solution are accurate?  How would you know if you were not given the solution?  Is there a pattern in the error?  If there is, why does this pattern occur?  What is causing the error (input data, truncation error, algorithmic implementation, a blunder)?

 

 

 

Procedures for Turning in Projects and Testing/Analysis

 

1.        Each project requires a formal project proposal that, at least, contains the following items:

a.        Title of the project

b.       Scope of the project - what the project will cover and its component parts

c.        Component parts of the project - milestones and division of labor

d.       Output

2.        One hard-copy report per team with the results is to be submitted.

3.        The team whose project is being tested must have software documentation that explains how to run the software.  The team that creates the software does not have to submit a testing/analysis report.  However, each software development team must submit documentation and a short report the contents of which are listed below.

 

Note:  The following are suggestions for the testing and analysis report.

1.        There is one analysis for the whole project.  A project may consist of several software components and numerical methods.  There is a single analysis for the all components.  The analysis is the first part of the report.

2.        The textual part of a report should not be more than 3 pages long.

3.        Summarize and synthesize all the information.  Use summary tables, graphs, and charts.  These are “visuals.”  Visuals are means by which information about the results are synthesized in a readily apprehended way.

4.        Compare

a.        Across methods

b.       Across test problems

c.        Across initial conditions

d.       Across step-sizes

5.        If the method(s) fail on particular problems, explain why.

6.        Display and report all digits of precision that the computer gives you.  Of course you must include in your report how many digits are accurate of the ones that are displayed.  This is usually reported in the associated absolute and relative errors.

 

Projects

There will be four projects that will need to be completed by the class in teams.  Each team is responsible for developing the software for one project and testing/analyzing three projects developed by other teams.  All four project must be done so the teams will need to choose and negotiate in such a way to insure that at least one team covers each of the four project.

 

Note: Software, requisite user’s instructions and project report are due at the beginning of class on the Thursday listed below.  Testing/analysis reports are due by 11:59:59PM on the Fridays listed.

 

                                                                Topic                                                                      Date Due

Project 1: Software                               Chap 7,Iterative Matrix Techniques  Thursday 2/14

                    Testing/Analysis                                                                                             Friday    2/22

Project 2: Software                               Chap 9,Eigenvalues, Eigenvectors    Thursday 2/28

                     Testing/Analysis                                                                                            Friday    3/8

Project 3: Software                               Chap 10, Nonlinear Equations           Thursday 3/21

                     Testing/Analysis                                                                                            Friday    4/5

Project 4: Software                               Chap 5, Differential Equations           Thursday 4/25

                     Testing/Analysis                                                                                            Friday    5/3

 

 

 

 

General Project Software Development Instructions – Each project software system must provide the users/class with the following.

1.        A designated person (with the email address) who will handle software support.

  1. A written software “manual” that will instruct the users on how to run the software.  Make sure there is also a help file that users can consult.
  2. A set of test problems.  Make sure the software is tested on these problems and also accepts other problems that the user would want to input.
  3. The exact and relative errors for the solutions generated by the software.  These should be accumulated and given to the testing/analysis teams in the form of a table that they can use to generate their report and/or input into a spreadsheet.
  4. Iteration count when relevant accumulated in a table.
  5. Flops, digit of accuracy, and/or efficiency measures accumulated in a table.
  6. If solutions are not given to test problems (these would be found in the text), use MATLAB’s double precision solution as the exact solution.  Please let the user know what is being used as a solution and where it was obtained.  Below are the specific algorithms that will be included in each project.  There may some extra test problems and perhaps modifications to the ones listed below.  If this occurs, it will be announced and made explicit.

 

Project 1: Algorithm 7.1 – page 440, 7.2 – page 442, 7.3 – page 450, and 7.4 – page 460.

Test Algorithms 7.1-7.3 on 5/451-452 with w = 0.00, 0.25, …,2.00

Test Algorithm 7.4 on examples 3, 4 on pages 458, 461.

 

Project 2: Algorithm 9.1 – page 562, 9.2 – page 565, 9.3 – page 568, 9.4 – page 573, 9.5 – page 585 and 9.6 – page 592.

Test Algorithms 9.1-9.4 on 1-9,15/575-576

Test 9.5 on 2/585

Test 9.6 on 2/595

 

Project 3: Algorithm 10.1 – page 613, 10.2 – page 623, and 10.3 – page 632.

Test algorithms 10.1-10.3 on 1, 2/633 (10-7 accuracy) - more test problems will be given.

 

Project 4: Algorithm 5.1 – page 257, 5.2 – page 278, 5.3 – page 285, 5.4 – page 298, 5.5 – page 303, 5.7 – page 315.

Test algorithms 5.1-5.5 on 1, 2, 3/306

Test algorithm 5.7 on 1, 2/322

Algorithm - Equation (5.17) page 267 and automatic generation of Taylor coefficients that will be developed from in-class notes.  Test automatic generation of Taylor coefficients on 1, 2, 3/306

 

Project Report: A report will have a maximum of two pages (10 point font or larger) and will be due on the testing/analysis due date.  The contents are the following. 

  1. The file name and location of the computer source code.
  2. A description of the features of the software.  Highlight the unique and innovative features as well as the compromises that your team has made.
  3. The results of the comparison of your software’s solutions on the test problems and MATLAB’s solution on the same set of problems.  You do not have to analyze the differences, just report on the results.

 

 

 

Tentative SCHEDULE of material

Section                                  Target date to complete                      Completed

7.1, 7.2                                                    1/24

7.3                                                                                         1/31

7.4, 7.5                                                    2/7

9.1-9.3                                                     2/14

9.4, 10.1                                                  2/21

10.2, 10.3                                                2/28

10.4, 10.5                                                3/7

5.1-5.3                                                     3/14

Midterm (chaps 7, 9, 10)                      3/19

Auto-gen. of Taylor series                 3/21

Spring break                                          3/24-3/29

5.4-5.6                                                     4/4

5.7, 5.9                                                    4/11

5.10, 5.11, 11.1                                       4/18

11.2, 8.1                                                  4/25

8.2, 8.3                                                    5/2

8.4-8.6                                                     5/9

Final                                                       week of 5/13 (to be assigned by Auraria)

(chaps 7, 9, 10 about 35%, chaps 5, 8, 11 about 65%)