G: Error Propagation in Dense Matrix Factorization

Explore how loss of precision propagates in LU, QR, doubly orthogonalized GS etc.

Create a function to degrade the accuracy of a double precision floating point number.

Degrade the accuracy of a double at various points during standard operations and explore how this degrades the end accuracy of various standard linear algebra operations.

You will need to create your own QR, LU, and  GS code to do this.

F: Block Householder for QR and eigenvalues

Compare the performance of the Block Householder QR algorithm to the non-blocked algorithm for a variety of block sizes.

Create a Blocked householder QR algorithm.

Create a non-blocked householder QR algorithm

L: Block Givens for QR and eigenvalues

Compare the performance of a 4x4 block Givens QR algorithm to the non-blocked algorithm

Create a 4x4 Blocked Givens QR algorithm.

Create a non-blocked Givens QR algorithm

M: Implement Fast Givens Rotations for QR and eigenvalues

Implement,  test, and compare the Fast Givens Rotations reffered to in the footnote 18 on p196.

A: Hyper-power (Schulz) improvement of ILU(0).

Implement and test a hyper-power Schulz algorithm aka Newtons method for (A^(-1)) for computing the pseudo inverse.

Implement and test a ILU(0) decomposition.

Test the combination on a variety of real matrices for potential use as a pre-conditioner for iterative solvers.

B: Sampling Theorem Improvements to condition number estimates

Improve the maximization condition numer estinmate described in the text.

More directions and or Statistical Theory.

D: Householder and Block Householder for reduction to Hessenberg form

Implement a Householder reduction to Hessenberg form

Implement a Block Householder reduction to Block Hessenberg form

Test and compare the methods.

H: FEAST Eigenvalue algorithm http://www.ecs.umass.edu/~polizzi/feast/

Implement the FEAST eigenvalue solver.

Test it and compare it to other solvers.

I: Pivoting

Implement LU no pivoting.

Implement LU Row pivoting

Implement LU Col pivoting

Implement LU Complete pivoting

Implement LU Rook pivoting.  Ref: Journal of Computational and Applied Mathematics 123 (2000) 353{369
The Rook’s pivoting strategym George Poole , Larry Neal

Comparisons of the above stuff using the growth factor.

n=12300;
A= RandomReal[{-1,1},{n,n}];
A= A.Transpose[A];
{Q,R}=QRDecomposition[A];
Zero1=IdentityMatrix[n]-Transpose[Q].Q;
Zero2=IdentityMatrix[n]-Q.Transpose[Q];
Norm[Zero1]
Norm[Zero2]
MatrixPlot[ Log[10,Abs[Zero1]]]
MatrixPlot[ Log[10,Abs[Zero2]]]

Norm[A-Transpose[Q].R]
Norm[Q.A-R]
MatrixPlot[ Log[10,Abs[Q.A-R]]]
MatrixPlot[ Log[10,Abs[A-Transpose[Q].R]]]

Histogram[Flatten[Log[10,Abs[A-Transpose[Q].R]]]]

Histogram[Flatten[Q]]

Histogram[Flatten[Q[[-1]]]]
Histogram[Flatten[Q[[All,-1]]]]