Three approaches to parallelizing important components of the mathemat
ical software package ELLPACK are considered: an explicit approach usi
ng compiler directives available only on the target machine, an automa
tic approach using an optimizing and parallelizing precompiler, and a
two-level approach based on extensive use of a set of low level comput
ational kernels. The focus is on shared memory architectures. Each app
roach to parallelization is described in detail, along with a discussi
on of the effort involved. Performance on a test problem, using up to
sixteen processors of a Sequent Symmetry S81, is reported and discusse
d. Implications for the parallelization of a broad class of mathematic
al software are drawn.