UMD Logo

Course Description - CMSC/AMSC 660, Fall 2012

This course is an introduction to fundamential techniques in scientific computation, including numerical linear algebra, solution algorithms for nonlinear systems of equations, optimization, numerical solution of ordinary differential equations, and Monte Carlo simulation. For each topic, there will be material on theory, computation and software development.

Students are expected to have an undergraduate-level knowledge of numerical analysis, including linear equations, nonlinear equations, integration and interpolation. Programming assignments will be in Matlab.
Outline of Topics Covered

  • Introduction, Computer Arithmetic and Errors
    • Course survey
    • Machine arithmetic
    • Error analysis
    • Stability and conditioning
  • Matrix Factorizations
    • Matrix manipulation
    • Matrix decompositions and their uses:
      LU and QR factorizations, eigendecompositions
      singular value decomposition, updating decompositions,
      software issues
  • Nonlinear Systems
    • Newton's method and variants
    • Continuation
    • Globally convergent methods
  • Optimization
    • Unconstrained optimization:
      line searches and trust regions, Newton-like methods, conjugate gradients
    • Constrained optimization
      barrier method, reduced-variable methods, simulated annealing, the Metropolis algorithm
  • Ordinary Differential Equations
    • Numerical solution of initial value problems
    • Differential-algebraic equations
    • Boundary value problems
  • Monte-Carlo Simulations
    • Basic statistics: random variables, pseudo-random numbers
    • Mean, variance, central limit theorem
    • Basic Monte-Carlo simulation
    • Monte-Carlo integration, convergence
    • Monte-Carlo optimization, convergence
    • Variance reduction, stratified sampling, importance sampling

Recommended Text
Dianne P. O'Leary, Scientific Computing with Case Studies, SIAM Press, 2009.

The book can be ordered directly from SIAM (the Society of Industrial and Applied Mathematics), see
The list price of the book is $95, but SIAM members pay $66.50, a 30% discount. University of Maryland students can get free membership in SIAM, since UMD is an Academic Member of SIAM.

There are many other benefits to membership in SIAM. However, if you prefer not to join, SIAM also offers a 20% discount to students. Contact the instructor for information on obtaining the student discount.

Information about MATLAB can be found at:
Search "Matlab tutorial" for other sources.

For Matlab and computer access on campus: see
Grades will be determined as follows:
  • 4-6 homework assignments: 40%
  • In-class midterm examination: 25%
  • Final project: 35%
Assignments should be handed in at the beginning of class (9:30 AM) on the due date. Late assignments will be accepted within 48 hours of the due date and not later. The value of late assignments will decrease according to the following rule:
  • within 24 (weekday) hours after the due date: 85% of the original value
  • within 48 (weekday) hours after the due date: 70% of the original value
No makeups will be given for the midterm exam. If the exam is missed and a valid medical excuse is provided, then grading will be determined by increasing the weights of the final exam and homework. The final grade will be on a curve. A grade of A is guaranteed with an average of 90% or better, a grade of B with 80% or better, etc.

Plagiarism: You are welcome to discuss assignments in a general way among yourselves, but you may not use other students' written work or programs. Use of external references for your work should be cited. Clear similarities between your work and others will result in a grade reduction for all parties. Flagrant violations will be referred to appropriate university authorities.
        UMCP Code of Academic Integrity

[Last updated August 23, 2012]