An Object-Oriented Approach to the Design of a User Interface for a Sparse Matrix Package

  • Authors:
  • Alan George;Joseph Liu

  • Affiliations:
  • -;-

  • Venue:
  • SIAM Journal on Matrix Analysis and Applications
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

The authors designed and implemented a sparse matrix package called Sparspak in the late 1970s. One of the important features of that package is an interface which shields the user from the complicated calling sequences common to most sparse matrix software. The implementation of the package was challenging because the relatively primitive but widely available Fortran 66 language was used. Modern programming languages such as Fortran-90 and C++ have important features which facilitate the design of flexible and ``user-friendly'' interfaces for software packages. These features include dynamic storage allocation, function name overloading, user-defined data types, and the ability to hide functions and data from the user. This article describes the redesign of the Sparspak user interface using Fortran-90 and C++, outlining the reasons for its various features and highlighting similarities and differences in the features and capabilities of the two languages. The two new implementations of Sparspak have been named Sparspak-90 and Sparspak++.