Hostname: page-component-586b7cd67f-2plfb Total loading time: 0 Render date: 2024-11-20T11:47:04.387Z Has data issue: false hasContentIssue false

Some lattice-based scientific problems, expressed in Haskell

Published online by Cambridge University Press:  07 November 2008

D. B. Carpenter
Affiliation:
Department of Electronics and Computer Science, University of Southampton, Southampton S017 1BJ, UK
H. Glaser
Affiliation:
Department of Electronics and Computer Science, University of Southampton, Southampton S017 1BJ, UK
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the ‘Save PDF’ action button.

The paper explores the application of a lazy functional language, Haskell, to a series of grid-based scientific problems—solution of the Poisson equation, and Monte Carlo simulation of two theoretical models from statistical and particle physics. The implementations introduce certain abstractions of grid topology, making extensive use of the polymorphic features of Haskell. Updating is expressed naturally through use of infinite lists, exploiting the laziness of the language. Evolution of systems is represented by arrays of interacting streams.

Type
Articles
Copyright
Copyright © Cambridge University Press 1996

References

Aluru, S., Prabhu, G. M. and Gustafson, J. (1992) A random number generator for parallel computers. Parallel Computing 18:839.CrossRefGoogle Scholar
Armstrong, M. A. (1983) Basic Topology. Springer-Verlag.CrossRefGoogle Scholar
Brandt, A. (1977) Multi-level adaptive solutions to boundary-value problems. Mathematics of Computation 31:333.CrossRefGoogle Scholar
Burton, F. W. and Page, R. L. (1992) Distributed random number generation. J. Functional Programming 2(2):203.CrossRefGoogle Scholar
Cann, D. (1993) Retire fortran? a debate rekindled. Comm. ACM 35(8):81.CrossRefGoogle Scholar
Cox, S., Huang, S. Y., Kelly, P., Liu, J. and Taylor, F. (1992) An implementation of static functional process networks. In: Etiemble, D. and Syre, J.-C., editors, PARLE '92: Parallel Architectures and Languages, Europe, p. 497. Springer-Verlag.CrossRefGoogle Scholar
Creutz, M. (1983) Quarks, Gluons and Lattices. Cambridge University Press.Google Scholar
Davie, A. J. T. (1992) An Introduction to Functional Programming Systems Using Haskell. Cambridge University Press.Google Scholar
Feynman, R. P. and Hibbs, A. R. (1965) Quantum Mechanics and Path Integrals. McGraw-Hill.Google Scholar
Flanders, H. (1963) Differential Forms, with Applications to the Physical Sciences. Academic Press.Google Scholar
Grant, P. W., Sharp, J. A., Webster, M. F. and Zhang, X. (1993) Some issues in a functional implementation of a finite element algorithm. Conference on Functional Programming Languages and Computer Architecture (FPCA '93),ACM Press.CrossRefGoogle Scholar
Hudak, P. and Fasel, J. H. (1992) A gentle introduction to haskell. ACM SIGPLAN Notices.CrossRefGoogle Scholar
Hudak, P., Jones, S. P. and Wadler, P. (1992) Report on the programming language haskell, a non-strict purely functional language. ACM SIGPLAN Notices.CrossRefGoogle Scholar
Kogut, J. B. (1979) An introduction to lattice gauge theory and spin systems. Reviews of Modern Physics 51:659.CrossRefGoogle Scholar
Kosterlitz, J. M. and Thouless, D. J. (1973) Ordering, metastability and phase transitions in two-dimensional systems. J. Physics C: Solid State Physics 6:1181.CrossRefGoogle Scholar
Kozato, Y. and Otto, G. P. (1993) Benchmarking real-life image processing programs in lazy functional languages. Conference on Functional Programming Languages and Computer Architecture (FPCA '93),ACM Press.CrossRefGoogle Scholar
Liu, J., Kelly, P. H. J., Cox, S. M. and Taylor, F. S. (1993) Functional programming for scientific computation. Technical Report CSTR 93/15, University of Southampton, Department of Electronics and Computer Science.Google Scholar
Metropolis, N., Rosenbluth, A. W., Rosenbluth, M. N., Teller, A. H. and Teller, E. (1953) Equation of state by fast computing machines. J. Chemical Physics 21:1087.CrossRefGoogle Scholar
Page, R. L. and Moe, B. D. (1993) Experience with a large scientific application in a functional language. Conference on Functional Programming Languages and Computer Architecture (FPCA '93),ACM Press.CrossRefGoogle Scholar
Runciman, C. and Wakeling, D. (1993) Heap profiling of lazy functional programs. J. Functional Programming 3(2):217.CrossRefGoogle Scholar
Vree, W. G. (1987) The grain size of parallel computations in a functional program. In: Chiricozzi, E. and D'Amico, A., editors, Parallel Processing and Applications. Elsevier.Google Scholar
Wilson, K. (1974) Confinement of quarks. Physical Review, D: Particles and Fields 10:2445.CrossRefGoogle Scholar
Submit a response

Discussions

No Discussions have been published for this article.