MTH 654 and MTH 659 (Numerical Analysis)
Large scale scientific computing methods - Fall 2009
Links
General information
Course announcement
Textbook and resources
Assignments
Lab notes/solutions

Lab Notes/solutions, some from students in this class
LAB 1
  • Project 1: all limits were easy except perhaps iii): should be 1 (take the limit of both sides, assumin it exists, and solve for it). Convergence is i)linear, ii)superlinear, iii)quadratic (this is actually Newton's method), iv) linear.
  • Project 2: convergence is linear. You can determine the efficiency of the method(s) of the sum in the array in many different ways, a result may look like this graph

  • Project 3: try to find the interval of (quadratic) convergence using analysis such as in class and numerical experiments.
LAB 2
  • Project 1: Computing the L2 norm does not need the extra abs(). Also, computing x^2 by using a power is a "crime": use multiplication !
  • Project 5: when choosing between FI and NI, take into account i) flops necessary to evaluate the function and its derivative, ii) convergence interval (how to find an initial guess), iii) number of iterations AND computational time that it takes to solve the system.
    Here are figures of methane temperature: (what do you think can we say about whether FI or NI based on this figure ?)

LAB 3
  • Choose DPBSV instead of DGESV

  • Example of solving Burgers; equation fully implicitly

  • Example of how chord method works. If initial guess is too far from the true solution, the chord method may have trouble converging. Overall, it may require more iterations than the Newton method to converge.

LAB 5 Project 1: when using jacobi (or any other iterative solver) for various discretizations related to the number N, the question arises about what is the appropriate tolerance criterium.
This of course depends on your application but you should think of scaling it as O(h^2). This is the order of approximation error of the numerical solution to the PDE you are solving (unless you are solving something else) so it makes sense to NOT oversolve and to NOT undersolve.
  • SOR

  • Richardson


In project 3 (inexact Newton-CG, Newton-Krylov) it makes sense to tie the tolerance of linear solver to the size of current residual. This helps to not oversolve the problems.

LAB 7
  • Computing pi: must have a large number of subintervals to observe scalability.

    One can also consider the notion of scaled scalability.

  • Solving -u''=f using block Jacobi method ... results should be essentially the same regardless how many procesors you use, if low tolerance is used.

  • Scalability of block jacobi is better with more unknowns

  • CUDA projects