Schedule for the semester.
The current dates are estimated dates.
The schedule will be updated as the semester progresses with a notation such as
Updated on xx-yy-zzzz. Please keep track of the
most recent version.
Matlab code for Gaussian elimination with tournament pivoting:
getp.m solves Ax = b using tournament pivoting,
getp_block.m does an LU factorization of A using tournament pivoting,
tslu.m does a "tall skinny" LU factorization using tournament pivoting (called by
getp_block.m), and genp.m which does Gaussian elimination with no pivoting. This
genp is an update to
item 16C. The current version of genp allows A to be rectangular which is needed in tournament pivoting.
Tournament pivoting is a communication
avoiding pivoting scheme in the sense that the communication (between processors in a parallel processing
environment or between fast and slow memory in environments with memory heirachy) is, within a modest factor,
the mininum communication possible. Communication avoiding algorithms will be of increasing importance as
the use of parallel processing expands. Parallel processing will soon be ubiquitous for scientific (and other)
computing systems. The first article discussing tournament pivoting is from 2011: the method is very new!
(a) genp_block.m : Matlab code for block Gaussian elimination without pivoting. The code calls genp.m,
which is in item 24 above.
(b) an example illustrating block GE without pivoting and (c)
gepp_block.m : Matlab code for block GE with partial pivoting.
See item 24D discussion of the block algorithm. Also see homework problem 8 in item 21 and the example in item 24b..
24a,b,c updated on 10-5-2013.
Computing assignment: -
Try your own pivoting scheme . (the current version is the modified version for Fall 2013) The files
in item 24 are required for the assignment. Also, as an extra credit option, you can use the Matlab Mex utility.
Here are some files
that illustrate how to use Matlab's Mex utility: gecp.m (describe use of the
three files), gecp.c (a Mex gateway function), and
gecpf.c (a C function implementing Gaussian elimination with complete pivoting). P.S.
ignore any reference to f2c.h in the above material.
Project on Krylov Subspace Iterative Methods Description
. This file has been updated for Fall 2013 (latest updates 11-15-2013, 9 am with minor changes and two
significant changes: on page 4 0.02 was corrrect to 0.2 and on page 7 UFweb - a very useful tool -
is mentioned). Please read the updated file.
These routines have been updated for Fall 2013 (latest updates to compare_methods.m
and compare_methods_stats done on 11-18-2013, 1:30 pm). Please download the files and
try them out. The 11-18-13 update allows for using restart in gmres. The routine
compare_methods.m allows you to
compare two iterative methods on a set of many matrices. Please also download the associated files:
UFcondest.mat , and
UFkinds.mat . You will also need to install UFget so
that it accessible from the same folder. After downloading compare_methods, move to the folder that contains compare_methods and type
"help compare_methods" to see how to use the program. Also the MS Word file in item 47 discusses compare_methods and includes an
example of its use.
On 11-27-2013 the routines
compare_methods_stats.m have been updated.
Also two new routines
show_convergence_plots.m are now available. The routine show_convergence_plots allows one to conveniently redisplay
all the converge plots for a run of compare_methods. The routine iter_stats compares the iteration counts from a run of
compare_methods using a paired sample t-test. The new routines will only work with data from a run of the updated
compare_methods. I recommend that you download these updated and new files.
mat_init.m is helpful if you download matrices in Matlab format (rather than Matrix Market)
format from the UF website. mat_init.m initializes variables in a convenient manner.
downloading compare_methods.m or mat_init.m, from Matlab, type "help compare_methods" or "help mat_init"
for more information.