Abstract
In this paper a concept for structured mathematical programming within an object-oriented language is presented. It leads to better readable, more natural and more compact code in typical linear algebra applications and provides options for optimized implementation. We also discuss the realization of this concept as an extension of the programming language Active Oberon.
We define new built-in array types that provide a slight modification of classical arrays in Oberon. By introducing range-valued indices as array designators, we permit the use of regular sub-domains of arrays as parameters of operators and procedures. The built-in types are complemented by custom array structured object types. The latter can be specified by the programmer and are designed to be syntactically compatible with the former. They provide the needed flexibility for the language.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Whaley, R.C., Petitet, A.: Minimizing development and maintenance costs in supporting persistently optimized BLAS. Software: Practice and Experience 35(2), 101–121 (2005)
Whaley, R.C., Petitet, A., Dongarra, J.J.: Automated empirical optimizations of software and the ATLAS project. Parallel Computing 27(1–2), 3–35 (2001)
Chamberlain, B.L., Snyder, L.: Array language support for parallel sparse computation. In: Proceedings of the 15th international conference on Supercomputing, Sorrento, Italy, pp. 133–145. ACM Press, New York (2001)
Specification of the Programming language Chapel, from: http://chapel.cs.washington.edu/
Chamberlain, B.L.: The Design and Implementation of a Region-Based Parallel Language, Ph.D thesis, University of Washington (2001)
Silva, M., Wait, R.: Cache Aware Data Layouts. In: IITC 2000, Colombo (January 2001)
Silva, M., Wait, R.: Go for Both types of Data Locality! HPCAsia, Bangalore (December 2002)
Silva, A.: Sparse matrix storage revisited. In: Proceedings of the 2nd conference on Computing frontiers, Ischia, Italy, pp. 230–235 (2005)
MATLAB documentation web site, http://www.mathworks.com/access/helpdesk/help/techdoc/
R Language Definition and Introduction on: http://www.r-project.org
Januschke, P.: Oberon-XSC – Eine Programmiersprache und Arithmetikbibliothek für das Wissenschaftliche Rechnen, Ph.D Thesis, Universität Karlsruhe (1998)
Griesemer, R.: A Programming Language for Vector Computers, Ph.D Thesis, ETH Zürich (1993)
Mösli, B.: A Comparison of C++, FORTRAN 90 and Oberon-2 for Scientific Programming. In: Huber-Wäschle, F., Schauer, H., Widmayer, P. (eds.) GISI 1995, pp. 740–748. Springer, Heidelberg (1995)
Baumgartner, M.: Erweiterung des Active Oberon Compilers und Software Entwicklungssystems im Hinblick auf die Ausnutzung der Intel SSE2 Vektoroperationen für mathematische Anwendungen, Diploma Thesis, ETH Zürich (2003)
Morelli, R.: Integration of OberonX in Oberon, Diploma Thesis, ETH Zürich (1997)
Sawitzki, G.: Extensible Statistical Software: On a Voyage to Oberon. J. Computational and Graphical Statistics 5(3), 263–283 (1996)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Friedrich, F., Gutknecht, J. (2006). Array-Structured Object Types for Mathematical Programming. In: Lightfoot, D.E., Szyperski, C. (eds) Modular Programming Languages. JMLC 2006. Lecture Notes in Computer Science, vol 4228. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11860990_13
Download citation
DOI: https://doi.org/10.1007/11860990_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-40927-4
Online ISBN: 978-3-540-40928-1
eBook Packages: Computer ScienceComputer Science (R0)