If you wish your grade, please send me an email and I will
reply with your final exam score and your semester grade. Please
note there may be a slight security risk in having your grade
sent by email. Unless you're a rock star hounded by tabloids,
or you have nosy relatives/neighbors that are expert hackers,
I don't think it could be much of an issue. Nevertheless I will
assume that if you ask me to email your grade, then you are willing
to assume this risk.
Your exam paper is yours to have, if you wish it. I'll probably
toss them out around January 2004, maybe sooner.
The University of Colorado
Boulder, Colorado
Mathematics 4650, Spring 2003
Intermediate numerical analysis
- Location: ECCR 118
- Schedule: MWF 2:00PM-2:50PM
- Professor: Walter Taylor
- Email address:
walter.taylor@colorado.edu
- Office Phone:
(303)
492-8344 (Please email if at all possible)
- Office :
Mathematics Building 255
- Office hours:
- Regular hours: (none -- semester over)
- Or please email me; I almost always can find a time to see
you, or possibly I can answer your question directly on email.
- Attendance: To be considered properly enrolled
in the course, you must have this hour
free on all MWF-days. At no time will I accommodate anyone
who has registered for the class with a schedule conflict,
academic or otherwise, or anyone who attempts to do so.
You are expected to be in class every day. On the other hand,
if you need to miss one class, on a day when there is no exam,
just do it. (In such a case, permission from me is irrelevant.)
I am happy to tell you in general terms what we covered in a
class you missed. Nevertheless, I really cannot begin to recreate
a class situation for you, since much of the material is
spontaneous, and depends on student participation.
- Class decorum: No eating. No drinking. No reading of newspapers,
etc. No conversation or talking, except with the prof.
No headphones. No use of laptops or any other electronic
gadgetry. Cell phones and pagers off. No exceptions. If you need to do
any of these things, please leave the room; I will not be offended.
(The one exception is if a calculation is before the class and
you wish to work out the answer on a hand calculator; this however
will never be required.)
- Computer decorum:
All work must be submitted along with source code and with
a signed statement that it is your own work (or with collaborative
efforts clearly identified). This is true even though I usually
don't grade code as such,
and do not always read it in detail (unless I am helping you
to locate a problem). Moreover I consider you responsible for
taking reasonable care in assuring that your work is not
used by anyone else. (In practice this means taking some care in
erasing your source when you walk away from a shared PC -- while
retaining it on a diskette, of course -- discarding source printout
away from the lab, and so on.)
This page pertains only to Professor Taylor's section of
Mathematics 4650, for the spring semester of 2003. As far as I know,
this is the only section occurring this semester. For other sections
or other semesters, other details and regulations will no doubt apply.
An attempt will be made to keep this page up-to-date, but this
is not guaranteed. Students are responsible for every assignment made
in class, whether or not it ultimately appears on this page.
Prerequisites
- Mathematical
- Calculus -- three semesters is about right, although those
three semesters surely covered more than we need for 4270. We do
differentiate and integrate, but extreme prowess is not at issue.
- Linear Algebra -- one semester (or possibly part of
a combined calculus-linear-algebra course). The general idea
of a matrix and how it represents a linear transformation.
The necessary material will be reviewed, but not in depth.
- Computing This is not a computation-intensive class, nor
a class about computing per se. Some principles of numerical analysis
will be illustrated by small sample programs, which the students will
write more or less from scratch. Although it is a small part of the
class, it is an important part, and one should enter the class
ready to compute. The
following are definitely pre-requisites; the professor will not
engage in any systematic remediation of deficiencies in these areas.
- General -- a basic understanding of files, printing,
web, and so on. This should include adequate familiarity
with some system that is available to you -- such as computer
labs on campus, or with a unix system (also available on
campus), or your own personal system.
- Programming -- Basic, but current, reliable, and reasonably
fluent, knowledge of a programming
language. (If you occasionally look up
a fine point of syntax, that is fine; if you really
don't know what to write next, this is not fine.)
I recommend C (or C++), for the following reasons: the
most thoroughly available language on campus is C, both
through various unix versions and through Borland C++; I am
really fluent only in C, and my
illustrative examples (if any) will be in C.
However, if you want to use a closely-related language like
fortran, this is possible, so long as a compiler exists
on rtt. We are not
concerned with fancy or sophisticated styles of programming.
- Implementation and equipment -
A working knowledge of compiling (when necessary)
and running programs in your chosen language. You can use any
machine you like, but there are two
reasons to recommend using university machines:
- On a random basis your submitted code will be test-driven
on one of the compilers on rintintin, or (in the case of
Matlab) on the PC's in Math 217. Your program must run properly
on one of these machines with no further editing.
- No allowance will be made
for any breakdowns or malperformance of systems other than
rintintin or the computers in Math 217.
- Personal computing equipment - None required, except
perhaps a diskette, or zip-disk, or whatever, to hold your programs.
Computing Resources
Experience in a structured programming language is highly desirable. I prefe
r
helping you in C, just because I am more familiar
Generally speaking, the computing part of this course will not go beyond
the abilities of any student with university-level computing experience.
Your main programming work can take place either on a university
unix machine, such as rintintin,
or on a PC (your own, or the university's).
To use any university machine, unix or PC, you will need an
identikey . (See
this page). Here you can also set up an account on rintintin.
The unix machine
rintintin (also abbreviated rtt) is a remote-access machine, which
can be accessed from almost any
computer on campus (using ssh). It can also
be contacted from your home PC, if you have a modem and an available
phone line. rtt has several compilers, and all the tools you need.
If you elect to use unix machines, it is imperative
to make sure that you have noclobber set at all times. (Ask
me what this means.) On a unix account, your work is theoretically
saved for your next login. (Accidents do happen - most frequently
user mistakes, much less often system breakdowns. I would make
copies of your precious files on disk or on other machines, or
something!)
On
the ITS page about printing,, and on
a second ITS page about printing, you can find out about
printing from a unix machine such as rtt.
You may use your own PC, or a university PC, but the
code you submit must compile and run, with no editing,
on one of the compilers on rintintin. (I will ask
for the "math library, -lm", but beyond that it must run
with no further assistance.)
There are many PC-labs on campus. According to the
ITS computer lab list, the following rooms in Engineering
have PC's with Borland C++: ECCH 107,
ECCR 235, ECCR 239, ECCR 252, ECME 107.
Remember that when you use your identikey to access
a PC on campus, from the operating
system's point of view you are only a temporary guest, and
none of your work is protected against deletion by another user .
(In fact, to protect class security, you are asked to delete
at least your source-code before leaving a shared machine on campus.)
Therefore, it is imperative to save your work on diskette at the
end of every session.
If you have Borland at home, you can of course carry work back
and forth between home and CU on a diskette.
Textbook
Numerical Analysis, by Burden and Faires, Brooks-Cole, seventh edition, 2001.
(It is essential to have the seventh edition.)
ISBN 0-534-38216-9
To see the cover of the text, click
here .
The book comes with
a CD that contains various computational materials. We will not use
this CD, although you might gain something by browsing through it and playing
with it a bit. (In any case, the CD files
are available here, if you're missing the CD.)
About homework
More later; for now only this:
When homework involves computing, you will submit results of calculation
in writing (computer output fine), and will submit code by email.
Please send it as ordinary text, no fancy encodings. Both should
include a statement of your sole authorship of the material. Code
submitted will be subjected, on a random basis, both to performance
testing and to scrutiny to see that it really looks like it's doing
the right thing. So please keep it simple. All of our problems will have
simple solutions. A few more things will be said in class.
Exams
- You must be present at all exams.
- No books, calculators, cards or other aids.
- The final examination will be
Monday, May 5th, 1:30pm - 4:00pm.
You must keep this
time free for the exam. Unless announced otherwise, the final
is to be in the regular classroom.
- Hour exams are in the usual classroom, at the usual class time,
and are limited to the usual fifty-minute hour.
- First Hour Exam: Wednesday, February 19
- Second Hour Exam: Wednesday, March 19
- Third Hour Exam: Wednesday, April 23
- Final Exam: Monday, May 5th, 1:30pm-4:00pm, (as
announced in the course schedule (corrected version)).
Due to storm-induced compression of the semester, the
final exam has been made completely optional. The
optional final will allow two and a half hours for
completion. A good calculator will be necessary.
If you wish your grade, please send me an email and I will
reply with your final exam score and your semester grade. Please
note there may be a slight security risk in having your grade
sent by email. Unless you're a rock star hounded by tabloids,
or you have nosy relatives/neighbors that are expert hackers,
I don't think it could be much of an issue. Nevertheless I will
assume that if you ask me to email your grade, then you are willing
to assume this risk.
Your exam paper is yours to have, if you wish it. I'll probably
toss them out around January 2004, maybe sooner.
Homework.
Due at the start of class on the indicated day.
- Exercises 1, Due Wednesday, January 22
- Run this program sufficiently often
(varying the parameters N, LARGER, SMALLER),
to observe overflow and underflow in your computer.
Write a brief report asserting that you have done this
and summarizing your findings. Keep it short, please.
- Exercise set 2, Due Wednesday, January 29
- 2.1, p. 53 -- 11, 10, 13
- 2.2, p. 64 -- 4, 9, 10, 11ab
- 2.3, p. 74 -- 6a, 12
- Program 1, Due Wednesday, January 29
- Write and submit a program that implements Newton's method.
Generally, you will have to hand-enter both the function and
its derivative. Use your program to solve xx = 100 and
x + x20 = 1.9. Submit printed code, whose first page is a report
that summarizes what the code does and gives the output for
the two test problems. (List the various approximate solutions
obtained.)
- Exercise set 3, Due Wednesday, February 5
- 2.3, p 74 -- 13, 16, 19
- 2.4, p 85 -- 1, 2, 3, 4, 8
- 2.5, p 90 -- 9
-
The function g(x) = 2x - x2 has 1 as a fixed point, and
one can easily see that, for certain starting values, the iteration
method pn+1 = g(pn) will approach 1. Show that this convergence
is quadratic.
- Program 2, Due Monday, February 10 -- extended to 2/12
- Exercise set 4, Due Wednesday, February 12
- 3.1, p 119 -- 3ac, 4ac, 7ac, 15a
- 3.2, p 131 -- 1a, 2b, 4
- Exercise set 5, Due Wednesday, February 26
- Exercise set 6, Due Wednesday, March 5
- 4.1, p. 175 -- 3b, 4b, 5a
- 4.3, p. 194 -- 1cd, 2cd, 3cd, 4cd, 5cd, 6cd
- Program 3, Due Monday, March 10 -- calculation of spline
curves. Your program should use the method of the handout.
(If you need another copy of the handout, it can be found
here.)
You should have subroutines for f, g and h. Then there
should be subroutines for f0, f1,
and so on. Finally you
should accept seven values as input and be able to calculate
function values that interpolate these seven values. I'd
like to see graphic output of the following:
- Exercise set 7, Due Wednesday, March 12
- 4.4, p. 203 -- 1c
- 4.5, p. 211 -- 1b
- Exercise set 8, Due Wednesday, April 2
- 4.6, p. 219 -- 1ab, 2ab, 6
- Exercise set 9, Due Wednesday, April 9
- 5.2, p. 263 -- 1cd, 2cd, 3a, 4a
- 5.3, p. 271 -- 1a
- 5.4, p. 280 -- 1a, 3a, 4a
- 6.2, p. 368 -- 3c
- 6.3, p. 378 -- 1f
- Exercise set 10, Due Wednesday, April 16
- 6.4, p. 386 -- 1cd
- 6.5, p. 396 -- 3a
- 7.1, p. 428 -- 1, 2a, 4c
- 7.2, p. 436 -- 1gh, 11
- Exercise set 11, Due Wednesday, April 30
- 7.3, p. 451 -- 1a
- 8.1, p. 493 -- 3, 8
- 8.2, p. 506 -- 1bd, 2bd, 7, 9bd, 10bd