Assembling sparse matrices in MATLAB

Author (s): Zlotnik, S. and Díez, P.
Journal: Communications in Numerical Methods in Engineering

Volume: 26, Issue 6
Pages: 760 – 769
Date: 2010

Abstract:
The assembly of sparse matrices is a key operation in finite element methods. In this study we analyze
several factors that may have an influence on the efficiency of the assembly procedure.
Different insertion strategies are compared using two metrics: a Cost function (the number of memory
movements) and actual computing time. An improved algorithm implemented in MATLAB is proposed.
It reduces both memory operations and computing time for all tested cases.
The efficiency of the assembly process is found to be highly dependent on node and element numbering.
The effect of the classic reverse Cuthill?McKee algorithm is, in most cases, positive and reduces computation
costs.
Finally, the case where a sparse matrix has to be re-assembled at each time step is studied. The efficiency
of the assembly is improved if the matrix pattern is entirely or partially inherited from previous steps.

  
  

Bibtex:

@article {2010-CNME-ZD,
author = {Zlotnik, S. and Díez, P.},
title = {Assembling sparse matrices in MATLAB},
journal = {International Journal for Numerical Methods in Biomedical Engineering},
volume = {26},
number = {6},
pages = {760--769},
url = {http://dx.doi.org/10.1002/cnm.1174},
doi = {10.1002/cnm.1174},
issn = {2040-7947},
keywords = {sparse matrix, finite elements, assembly},
year = {2010},
}