"Numerical Mathematics and Computing" by E. Ward Cheney and David R. Kincaid

Recommended edition: 7th edition (2013) ISBN: 1-133-10371-5 Errata |
Acceptable edition: 6th edition (2008) ISBN: 495-11475-8 Errata |
Acceptable edition: 5th edition (2004) ISBN: 0534389937 Errata |

**Note:** This text should not be confused with another text
"Numerical Analysis: Mathematics of Scientific Computing" also by Kincaid and Cheney

A limited number of textbooks are in stock at the SMU Bookstore on the PHYS 3340 shelf. For Fall 2013, this is the same textbook required for CSE 3365 and MATH 3315, so you may be able to find them on shelves for those classes as well.

**Introduction lecture slides****Basics: The Linux OS lecture slides****Basics: Numerical format lecture slides****Basics: Gnuplot lecture slides****Basics: C programming lecture slides****Visualization of solutions of Physics problems lecture slides****Roots of nonlinear functions lecture slides****Systems of linear equations lecture slides****Roots of systems of nonlinear equations lecture slides****Polynomial interpolation lecture slides****Numerical integration lecture slides****Monte Carlo simulation lecture slides****Differential equation integration lecture slides**

**Office Hours**

TuTh 5:00-5:30pm and Fridays 1:30-3:00pm, or at other times by appointment

Room 32A Fondren Science Building (between rooms 41 and 47)

**Homework**

This is a hands-on class where you learn mostly by working on the homework exercises.
Homework assignments will usually be posted on Blackboard by Monday evenings and will
usually be due Friday nights either on a paper submission or by upload into Blackboard.
In fairness to the students who have submitted their assignments on time,
late submissions are eligible for only 50% credit. Then once the solutions have been
posted on Blackboard of course no credit can be awarded for an assignment.

**Programming Tools**

The Linux lab computer systems or your office computer in the Physics department,
with its gcc Gnu C compiler, can be used
to develop numerical analysis programs for assignments in this course.
However, as an alternative if you have a laptop or home computer running Microsoft
Windows you may also install the MinGW gcc package to develop your C programs at
home. The MinGW project home page provides more
details and documentation on the MinGW package. To get started you may download this
Windows binary installer and follow these
step by step installation instructions.

**Plotting Tool**

We'll be making extensive use of the gnuplot plotting program
in this course. Refer to this manual for documentation.
This tool is a standard part of Linux systems, and is available on
the Physics department systems. When working on the machines in our lab room 60,
in order to invoke a special local installation of the most recent version,
copy and paste the following line in your terminal:

export PATH=/usr/local/gnuplot-4.6.0/bin:$PATH

For those working on class assignments at home, gnuplot is also available for the Windows platform, and you may download Windows binary installer and install it as well by following these step by step installation instructions.

**Program editing**

You may use any plain text editor you feel comfortable with when working on
Linux systems, such as gedit, xemacs, nedit, vim, or others,
to compose your numerical programs.
When working on Windows, the native text editor Notepad offers very limited
capability. Two good alternatives for an enhanced editor specifically designed for
program source code are the Programmers File Editor or ViM. You
may download this executable
and install PFE simply by unzipping the contents
of this archive into a convenient directory, such as 'C:\Program Files\PFE',
and creating a shortcut in the Start Menu for the PFE32.EXE executable file.
Or downloading and running this executable will give you
a Windows installer for the ViM editor.

- Linux commands
- bash shell key commands
- less pager key commands
- gnuplot commands
- Hexadecimal digits
- Equivalent path names in Windows and MinGW
- Commonly used math library functions
- gcc compile script

- Linux command tutorial 1
- Linux command tutorial 2
- gnuplot command tutorial
- Numerical C programming tutorial
- Roots of nonlinear functions lab
- Systems of Linear Equations lab
- Roots of systems of nonlinear functions lab
- Polynomial interpolation lab
- Least Squares fitting lab
- Integration lab
- Monte Carlo lab
- Differential Equations lab

- constants.h C include file with physical constants
- drill.tar file for Homework 1
- data.tar file for Linux command tutorial 2, gnuplot tutorial and Homework #2
- superecho.c file for Linux command tutorial 2
- C.tar file for Numerical C tutorial
- roots.tar file for Roots of nonlinear functions lab
- lineq.tar file for Systems of Linear Equations lab
- sysroots.tar file for Roots of systems of nonlinear functions lab
- interpolation.tar file for Polynomial interpolation lab
- fitting.tar file for Least Squares fitting lab
- integration.tar file for Integration lab
- montecarlo.tar file for Monte Carlo lab
- diffeq.tar file for Differential Equations lab

- UNIX Tutorial for Beginners
- Linux Cheat Sheet
- gnuplot tutorial
- C programming tutorial
- C programming tutorial
- C programming tutorial
- C standard library math functions

Back to John Fattaruso's home page