The efficient storage of sparse matrices
Many matrix applications involve sparse matrices, i.e. matrices that have a very large number of rows and columns, but only
a small number of non-zero entries in each row. On a given computer we may only store a finite number of matrix entries.
When working with sparse matrices we usually store only the non-zero entries and their locations. There are several established
techniques for storing sparse matrices. These methods all have individual strengths and weaknesses - some allow efficient
multiplication of sparse matrices by vectors, others allow entries to be modified effectively, while others allow the sparsity
pattern to be modified dynamically. The aim of this project is to investigate these sparse storage methods, and to highlight
the strengths and weaknesses of each approach.