Assembling sparse matrices in MATLAB
Rights accessRestricted access - publisher's policy
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.
CitationZlotnik, S.; Díez, P. Assembling sparse matrices in MATLAB. "Communications in numerical methods in engineering", 2010, vol. 26, p. 760-769.