FLENS - a flexible library for efficient numerical solutions

In this paper we describe the main design and realization principles of our software library FLENS (A Flexible Library for Ecient N umerical Solutions). FLENS is a C++ library allowing easy and straightforward coding while providing a maximum extend of eciency. FLENS is in particular suited as a platform for the realization of fast solvers for dierential equations.

[1]  Todd L. Veldhuizen,et al.  Techniques for Scientific C , 1999 .

[2]  Olaf Schenk,et al.  Solving unsymmetric sparse systems of linear equations with PARDISO , 2002, Future Gener. Comput. Syst..

[3]  Timothy A. Davis,et al.  A column pre-ordering strategy for the unsymmetric-pattern multifrontal method , 2004, TOMS.

[4]  Al Stevens,et al.  C programming , 1990 .

[5]  Timothy A. Davis,et al.  Algorithm 832: UMFPACK V4.3---an unsymmetric-pattern multifrontal method , 2004, TOMS.

[6]  R. Winther,et al.  Introduction to Partial Differential Equations: A Computational Approach , 1998 .

[7]  Dennis Gannon,et al.  Active Libraries: Rethinking the roles of compilers and libraries , 1998, ArXiv.

[8]  Todd L. Veldhuizen,et al.  Using C++ template metaprograms , 1996 .

[9]  Götz Alefeld,et al.  Parallele numerische Verfahren , 2002 .

[10]  Andreas Franz Borchert Zur Erweiterung von Programmiersprachen durch Bibliotheken: Konzeption und Realisierung der Ulmer Oberon-Bibliothek , 1994 .

[11]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[12]  James Demmel,et al.  Using PHiPAC to speed error back-propagation learning , 1997, 1997 IEEE International Conference on Acoustics, Speech, and Signal Processing.

[13]  James Demmel,et al.  The PHiPAC v1.0 Matrix-Multiply Distribution , 1998 .

[14]  Johannes Mayer On quality improvement of scientific software: theory, methods, and application in the GeoStoch development , 2005 .

[15]  Daniel Bauer,et al.  Risk-neutral valuation of participating life insurance contracts in a stochastic interest rate environment , 2008 .

[16]  Timothy A. Davis,et al.  An Unsymmetric-pattern Multifrontal Method for Sparse Lu Factorization , 1993 .

[17]  Nicholas I. M. Gould,et al.  A numerical evaluation of sparse direct solvers for the solution of large sparse symmetric linear systems of equations , 2007, TOMS.

[18]  James Demmel,et al.  A Supernodal Approach to Sparse Partial Pivoting , 1999, SIAM J. Matrix Anal. Appl..

[19]  James Demmel,et al.  Optimizing matrix multiply using PHiPAC: a portable, high-performance, ANSI C coding methodology , 1997, ICS '97.

[20]  Karel Driesen,et al.  The direct cost of virtual function calls in C++ , 1996, OOPSLA '96.

[21]  Richard Barrett,et al.  Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods , 1994, Other Titles in Applied Mathematics.

[22]  Lee R. Nackman,et al.  Scientific and Engineering C , 1995 .

[23]  James Demmel,et al.  An Asynchronous Parallel Supernodal Algorithm for Sparse Gaussian Elimination , 1997, SIAM J. Matrix Anal. Appl..

[24]  H. Rentz-Reichert,et al.  UG – A flexible software toolbox for solving partial differential equations , 1997 .

[25]  James Demmel,et al.  ScaLAPACK: A Linear Algebra Library for Message-Passing Computers , 1997, PPSC.

[26]  C. W. Hirt,et al.  SOLA: a numerical solution algorithm for transient fluid flows , 1975 .

[27]  Michael Lehn Implementation of Linear Algebra Packages in C + + , 2005 .

[28]  Rafael Dueire Lins,et al.  Garbage collection: algorithms for automatic dynamic memory management , 1996 .

[29]  Steven G. Johnson,et al.  The Design and Implementation of FFTW3 , 2005, Proceedings of the IEEE.

[30]  Andreas Dedner,et al.  The Distributed and Unified Numerics Environment (DUNE) , 2006 .

[31]  Jack J. Dongarra,et al.  A set of level 3 basic linear algebra subprograms , 1990, TOMS.

[32]  Andreas Meister,et al.  Numerik linearer Gleichungssysteme , 1999 .

[33]  Peter Deuflhard,et al.  Numerische Mathematik. I , 2002 .

[34]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[35]  Martin Hanke-Bourgeois,et al.  Grundlagen der Numerischen Mathematik und des Wissenschaftlichen Rechnens , 2002 .

[36]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[37]  R. C. Whaley,et al.  Automatically Tuned Linear Algebra Software (ATLAS) , 2011, Encyclopedia of Parallel Computing.

[38]  Lawrence S. Kroll Mathematica--A System for Doing Mathematics by Computer. , 1989 .

[39]  B. S. Garbow,et al.  Matrix Eigensystem Routines — EISPACK Guide , 1974, Lecture Notes in Computer Science.

[40]  V. Klema LINPACK user's guide , 1980 .

[41]  Jack Dongarra,et al.  Preface: Basic Linear Algebra Subprograms Technical (Blast) Forum Standard , 2002 .

[42]  Kunibert G. Siebert,et al.  Design of Adaptive Finite Element Software - The Finite Element Toolbox ALBERTA , 2005, Lecture Notes in Computational Science and Engineering.

[43]  James Demmel,et al.  ScaLAPACK: A Portable Linear Algebra Library for Distributed Memory Computers - Design Issues and Performance , 1995, Proceedings of the 1996 ACM/IEEE Conference on Supercomputing.

[44]  Michael J. Vilot,et al.  Standard template library , 1996 .

[45]  Todd L. Veldhuizen,et al.  Will C++ Be Faster than Fortran? , 1997, ISCOPE.

[46]  Timothy A. Davis,et al.  A combined unifrontal/multifrontal method for unsymmetric sparse matrices , 1999, TOMS.

[47]  James Demmel,et al.  SuperLU_DIST: A scalable distributed-memory sparse direct solver for unsymmetric linear systems , 2003, TOMS.

[48]  Stephen F. McCormick,et al.  Multilevel adaptive methods for partial differential equations , 1989, Frontiers in applied mathematics.

[49]  Todd L. Veldhuizen,et al.  Expression templates , 1996 .

[50]  P. Knabner,et al.  Numerical Methods for Elliptic and Parabolic Partial Differential Equations , 2003, Texts in Applied Mathematics.

[51]  C. Fletcher Computational Galerkin Methods , 1983 .

[52]  Carsten Carstensen,et al.  Remarks around 50 lines of Matlab: short finite element implementation , 1999, Numerical Algorithms.

[53]  Jack J. Dongarra,et al.  Automatically Tuned Linear Algebra Software , 1998, Proceedings of the IEEE/ACM SC98 Conference.

[54]  Jack J. Dongarra,et al.  An extended set of FORTRAN basic linear algebra subprograms , 1988, TOMS.

[55]  Douglas Gregor,et al.  Concepts for C++0x , 2005 .

[56]  Douglas Gregor,et al.  C++ Templates: The Complete Guide , 2002 .

[57]  Jack Dongarra,et al.  Templates for the Solution of Algebraic Eigenvalue Problems , 2000, Software, environments, tools.

[58]  Karsten Urban,et al.  Wavelet Methods for Elliptic Partial Differential Equations , 2008 .