Skip to main content

Aspect-oriented programming of sparse matrix code

  • Conference paper
  • First Online:
Book cover Scientific Computing in Object-Oriented Parallel Environments (ISCOPE 1997)

Abstract

The expressiveness conferred by high-level and object-oriented languages is often impaired by concerns that cross-cut a program's basic functionality. Execution time, data representation, and numerical stability are three such concerns that are of great interest to numerical analysts. Using aspect-oriented programming we have created AML, a system for sparse matrix computation that deals with these concerns separately and explicitly while preserving the expressiveness of the original functional language. The resulting code maintains the efficiency of highly tuned low-level code, yet is ten times shorter.

The work of this author was partially supported by DARPA under contract DABT63-95-C0087.

3333 Coyote Hill Road, Palo Alto, CA 94304, USA.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Kiczales, G., et al., Aspect Oriented Programming. 1996, Xerox PARC: http://www.parc.xerox.com/spl/projects/aop/position.htm.

    Google Scholar 

  2. Kiczales, G., et al. Aspect-Oriented Programming. in European Conference on Object-Oriented Programming. 1997. Finland: Springer-Verlag.

    Book  Google Scholar 

  3. Saad, Y., Iterative Methods for Sparse Linear Systems. 1996, Boston: PWS Publishing Company.

    MATH  Google Scholar 

  4. Mathworks, MATLAB User's Guide. 1992, The Mathworks Inc.

    Google Scholar 

  5. Gilbert, J.R., C. Moler, and R. Schreiber, Sparse Matrices in MATLAB: Design and Implementation. SLAM J. Matrix Anal. Appl., 1992. 13: p. 333–356.

    Article  MATH  MathSciNet  Google Scholar 

  6. George, A. and J.W. Liu, Computer Solution of Large Sparse Positive Definite Systems. 1981: Prentice-Hall.

    Google Scholar 

  7. Shewchuk, J.R. and D.R. O'Hallaron, Archimedes. 1996: http://www.cs.cmu.edu/-quake/archimedes.html.

    Google Scholar 

  8. Pothen, A. and C.-J. Fan, Computing the block triangular form of a sparse matrix. toms, 1990. 16: p. 303–324.

    MATH  MathSciNet  Google Scholar 

  9. Duff, I.S. and G. Meurant, The effect of ordering on preconditioned conjugate gradients. BIT, 1989. 29: p. 685–657.

    Article  MathSciNet  Google Scholar 

  10. Gilbert, J.R. and T. Peierls, Sparse Partial Pivoting in Time Proportional to Arithmetic Operations. SIAM J. Sci. Statist. Comput., 1988. 9: p. 862–874.

    Article  MATH  MathSciNet  Google Scholar 

  11. Demmel, J.W., et al. A Supernodal Approach to Sparse Partial Pivoting. in ILAY Workshop on Direct Methods. 1995. Toulouse, France.

    Google Scholar 

  12. Henry, S. and D. Kafura, Software Structure Metrics Based on Information Flow. IEEE Transactions on Software Engineering, 1981. SE-7: p. 509–518.

    Google Scholar 

  13. Duff, I.S., R.D. Grimes, and J.G. Lewis, Sparse Matrix Test Problems. ACM Transactions on Mathematical Software, 1989. 15: p. 1–14.

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Yutaka Ishikawa Rodney R. Oldehoeft John V. W. Reynders Marydell Tholburn

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag

About this paper

Cite this paper

Irwin, J. et al. (1997). Aspect-oriented programming of sparse matrix code. In: Ishikawa, Y., Oldehoeft, R.R., Reynders, J.V.W., Tholburn, M. (eds) Scientific Computing in Object-Oriented Parallel Environments. ISCOPE 1997. Lecture Notes in Computer Science, vol 1343. Springer, Berlin, Heidelberg . https://doi.org/10.1007/3-540-63827-X_68

Download citation

  • DOI: https://doi.org/10.1007/3-540-63827-X_68

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-63827-8

  • Online ISBN: 978-3-540-69656-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics