MTH 654
and
MTH 659 (Numerical Analysis)
Large scale scientific computing methods
- Fall 2009
|
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.
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
|
|
|
|