Skip to main content
×
Home
    • Aa
    • Aa

Sparse matrix representations in a functional language

  • P. W. Grant (a1), J. A. Sharp (a1), M. F. Webster (a1) and X. Zhang (a1)
Abstract
Abstract

This paper investigates several sparse matrix representation schemes and associated algorithms in Haskell for solving linear systems of equations arising from solving realistic computational fluid dynamics problems using a finite element algorithm. This work complements that of Wainwright and Sexton (1992) in that a Choleski direct solver (with an emphasis on its forward/backward substitution steps) is examined. Experimental evidence comparing time and space efficiency of these matrix representation schemes is reported, together with associated forward/backward substitution implementations. Our results are in general agreement with Wainwright and Sexton's.

Copyright
References
Hide All
Al-Hussany A. F. H., Townsend P. and Webster M. F. (1993) Computer simulation of temperature build-up in the radial filling of disc-shaped cavities. In Proc. Computational Mechanics in UK, pp. 4954. Swansea, UK, January 1993. Association for Computational Mechanics in Engineering, UK.
Augustsson L. (1993) Haskell B user's manual. Department of Computer Sciences, Chalmers University of Technology, Sweden, October.
Cuvelier C., Segal A. and van Steenhoven A. A. (1986) Finite Element Methods and Navier-Stokes Equations. Reidel Publishing Co.
Davie A. J. T. (1992) An Introduction to Functional Programming Systems Usin¨g Haskell. Cambridge University Press.
Ding D., Townsend P. and Webster M. F. (1993) Computer modelling of transient thermal flows of non-Newtonian fluids. J. Non-Newtonian Fluid Mechanism, 47: 239–56.
Duff I. S., Erisman A. M. and Reid J. K. (1986) Direct Methods for Sparse Matrices. Clarendon Press.
Grant P. W., Sharp J. A., Webster M. F. and Zhang X. (1992) A Haskell implementation of a Generalized Envelope method for sparse matrix factorization. In Proc. ATABLE-92, pp. 247260. Montreal, Canada, June.
Grant P. W., Sharp J. A., Webster M. F. and Zhang X. (1993a) Functional programming for a computational fluid dynamics problem. In Proc. Computational Mechanics in UK, pp. 7579. Swansea, UK, January. Association for Computational Mechanics in Engineering, UK.
Grant P. W., Sharp J. A., Webster M. F. and Zhang X. (1993b) Some issues in a functional implementation of a finite element algorithm. In Proc. FPCA '93, pp. 1217. Copenhagen, Denmark, June. ACM SIGPLAN/SIGARCH.
Grant P. W., Sharp J. A., Webster M. F. and Zhang X. (1994) Experiences of parallelising finite element problems in a functional style. Software – Practice and Experience, to appear.
Hageman L. A. and Young D. M. (1981) Applied Iterative Methods. Academic Press.
Hawken D. M., Tamaddon-Jahromi H. R., Townsend P. and Webster M. F. (1990) A Taylor-Galerkin-based algorithm for viscous incompressible flow. Int. J. Num. Meth. Fluids, 10: 327351.
Hudak P., Peyton Jones S. L. and Wadler P., editors (1992) Report on the Programming Language Haskell, A Non-strict Purely Functional Language (Version 1.2). SIGPLAN Notices, May.
Liu J. W. H. (1986) A compact row storage scheme for Choleski factors using elimination trees. ACM Trans. Math. Software, 12: 127148. June.
Liu J. W. H. (1991) A generalized envelope method for sparse factorization by rows. ACM Trans. Math. Software, 17: 112129. March.
Peyton Jones S. L., Launchbury J. and Partain W. (1994) GHC prelude: Types and operations. Technical report, Computing Science Department, Glasgow University.
Peyton Jones S. L. and Wadler P. (1993) Imperative functional programming. In ACM Symposium on Principles of Programming Languages, pp. 7184. Charleston, SC, January.
Runciman C. and Wakeling D. (1993) Heap profiling for lazy functional languages. J. Functional Programming, 3(2): 217245. April.
Sansom P. M. and Peyton Jones S. L. (1992) Pyrofiling lazy functional programs. In Proc. Functional Programming, Glasgow. Workshops in Computing. Springer-Verlag.
Spivey M. (1990) A functional theory of exceptions. Science of Computer Programming, 14(1): 2542. June.
Townsend P. and Webster M. F. (1987) An algorithm for the three-dimensional transient simulation of non-Newtonian fluid flows. In Pande G. N. and Middleton J., editors, Proc. Int. Conf. Num. Meth. Eng.: Theory and Applications, II, pp. T12/111. Swansea, UK. NUMETA, Nijhoff, Dordrecht.
Wainwright R. L. and Sexton M. E. (1992) A study of sparse matrix representations for solving linear systems in a functional language. J. Functional Programming, 2(1): 6172. January.
Wilkinson J. H. and Reinsch C. (1971) Handbook for Automatic Computation, Linear Algebra, vol. II. Springer-Verlag.
Wise D. S. (1992) Matrix algorithms using quadtrees (invited talk). In Proc. ATABLE-92, pp. 1126. Montreal, Canada, June.
Zhang X., Webster M. F., Sharp J. A. and Grant P. W. (1994a) Computational fluid dynamics application. In Runciman and C. Wakeling D., editors, Applied Functional Programming, chap. 9. UCL Press.
Zhang X., Webster M. F., Sharp J. A. and Grant P. W. (1994b) Parallelisation for computational fluid dynamics. In Runciman C. and Wakeling D., editors, Applied Functional Programming, chap. 12. UCL Press.
Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Journal of Functional Programming
  • ISSN: 0956-7968
  • EISSN: 1469-7653
  • URL: /core/journals/journal-of-functional-programming
Please enter your name
Please enter a valid email address
Who would you like to send this to? *
×

Metrics

Full text views

Total number of HTML views: 0
Total number of PDF views: 6 *
Loading metrics...

Abstract views

Total abstract views: 92 *
Loading metrics...

* Views captured on Cambridge Core between September 2016 - 22nd October 2017. This data will be updated every 24 hours.