Date:
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.
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
1.
A designated
person (with the email address) who will handle software support.
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
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.
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%)