Using Python for large scale linear algebra applications

  • Authors:
  • Oliver Bröker;Oscar Chinellato;Roman Geus

  • Affiliations:
  • Computational Laboratory (CoLab), Hirschengraben 84, ETH, Zurich 8092, Switzerland;Institute of Computational Science (ICoS), ETH, Zurich, Switzerland;Paul-Scherrer-Institute (PSI), 5232 Villingen, Switzerland

  • Venue:
  • Future Generation Computer Systems - Special section: Complex problem-solving environments for grid computing
  • Year:
  • 2005

Quantified Score

Hi-index 0.01

Visualization

Abstract

Software used in scientific computing is traditionally developed using compiled languages for the sake of maximal performance. However, for most applications, the time-critical portion of the code that requires the efficiency of a compiled language, is confined to a small set of well-defined functions. Implementing the remaining part of the application using an interactive and interpreted high-level language offers many advantages without a big performance degradation tradeoff. This paper describes the Pythonic approach, a mixed language approach combining the Python programming language with near operating-system level languages. We demonstrate the effectiveness of the Pythonic approach by showing a few small examples and fragments of two large scale linear algebra applications. Essential advantages of the Pythonic mixed language approach is the combination of flexible, readable, shorter, and most importantly less error-prone syntax with performance similar to pure Fortran or C/C++ implementations.